Reverse perspective rendering

wanted to ask for any advice
how do i make a reverse perspective effect in a blender
like this

I think it somehow can be possibly implemented through a osl shader with a projection matrix

1 Like

Hello! Here are the results of my experiments with a reverse perspective camera. This is a patch for code. It is still very raw code, but managed to make a preview in the 3DView window and visualization for EEVEE. For a reverse perspective camera, the settings are the same as for a simple camera, but the “Reverse” flag has been added.


Hi @sungreen — I got here via googling ‘reverse perspective’ and this seems to be the first thing I’ve seen that actually does it.

I can’t quite figure out your reply though — did you write some code to implement the ‘reverse perspective’ checkbox? If you could shed some light on exactly how you got there that’d be amazing!

1 Like

There is program code in my builds.
The picture shows the interfaces of my assembly.
I plan to publish the source code and build it under Linux soon.
I now need models to test before publishing.
Now my builds doing visualization in EEVEE, but there are some developments for Cycles too.
Yours models can be sent to [email protected] to show that the “reverse perspective” effect works quite well.

I think the real world example of this is the hypercentric lens.


Sorry @sungreen — I have to edit this post because I can’t reply more than 3 times!

I don’t any experience compiling blender with patches — so I’m happy to wait a bit longer for the Cycles version. How would I install the code for eevee?

I can publish the code for eevee now, but I could not make the partable blender build static_libs so soon. Can you compile blender with the patch yourself?

1 Like

Link to demo builds for linux
Demo video

  1. dace

    dice_reverce.blend (716.7 KB) ![teapot_demo|690x420]

  2. teapot

    teapot_reverse.blend (1.1 MB)


Hi @sungreen — that’s amazing! Thanks so much for sharing it. Do you have any advice on building / combining in a way that would work for mac? I appreciate how much you’ve done already so no worries if not!

Also I think I can only reply three times to this post so I may not be able to reply after this!

Read Building Blender for macOS

  1. Download Sources and Libraries - OK
  2. Building - OK
  3. Run Blender - OK
  4. Download patch from github - ?
  5. Save file rcam_20200608_01.diff to blender-git/blender - ?
  6. cd blender-git/blender - ?
  7. patch -p1 < rcam_20200608_01.diff - ?
  8. Rebuild Blender - ?
  9. Run Blender with patch - ?

Camera->Lens->Type: Orthographic
Camera factor: -1 to 1

Test camera factor video:

Demo builds for linux:

Blend file with animation camera factor:


Cool stuff, but I notice there’s some problems with shadows.

1 Like

I notice it too. I started to study and fix this problem.

1 Like

Here’s the real world version


And a writeup with examples


Thank you very much. This is a very useful and detailed writeup.

I tried to fix it.


Seems to be behaving.

I just found that post. It’s an awesome feature that I hope will find it’s way to master ! Congrats @sungreen !

new test:

github patch for 2.92: