# Reverse perspective rendering

**URL:** <https://blenderartists.org/t/reverse-perspective-rendering/1213342>\
**Category:** Technical Support\
**Created:** [March 16, 2020, 4:50pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342 "2020-03-16T16:50:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![brothermechanic](https://blenderartists.org/user_avatar/blenderartists.org/brothermechanic/32/12458_2.png) [@brothermechanic](https://blenderartists.org/u/brothermechanic)\
**Post date:** [March 16, 2020, 4:50pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/1 "2020-03-16T16:50:48Z")

</div>

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

 ![](https://blenderartists.org/uploads/default/original/4X/6/c/c/6cc92b7be1e032512eaf9b0a04b46c0b55d09885.jpeg)  
I think it somehow can be possibly implemented through a osl shader with a projection matrix

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [May 24, 2020, 3:23pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/2 "2020-05-24T15:23:44Z")

</div>

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.

 ![2020-05-24-181056_3436x1438_scrot](https://blenderartists.org/uploads/default/original/4X/0/6/8/068d65a21299ff5c3b4e951ae835ddaec97d0375.jpeg)

---

<div class="post-metadata">

**Author:** ![samdraws](https://blenderartists.org/user_avatar/blenderartists.org/samdraws/32/689926_2.png) [@samdraws](https://blenderartists.org/u/samdraws)\
**Post date:** [May 29, 2020, 11:06am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/3 "2020-05-29T11:06:50Z")

</div>

Hi @anon20675008 — 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!

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [May 30, 2020, 6:30am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/4 "2020-05-30T06:30:08Z")

</div>

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 [sungreen@ya.ru](mailto:sungreen@ya.ru) to show that the “reverse perspective” effect works quite well.

---

<div class="post-metadata">

**Author:** ![moony](https://blenderartists.org/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@moony](https://blenderartists.org/u/moony)\
**Post date:** [June 6, 2020, 12:17pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/6 "2020-06-06T12:17:56Z")

</div>

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

![](https://blenderartists.org/uploads/default/original/4X/3/5/e/35e620a9aeb9448b65188346e46226dddd649828.jpeg)

> **[Hypercentric lens](https://en.wikipedia.org/wiki/Hypercentric_lens)**
>
> A hypercentric or pericentric lens is a lens system where the entrance pupil is located in front of the lens, in the space where an object could be located. This has the result that, in a certain region, objects that are farther away from the lens produce larger images than objects that are closer to the lens, in stark contrast to the behavior of the human eye or any ordinary camera (both entocentric lenses), where farther-away objects always appear smaller.
> The geometry of a hypercentric lens c...

---

<div class="post-metadata">

**Author:** ![samdraws](https://blenderartists.org/user_avatar/blenderartists.org/samdraws/32/689926_2.png) [@samdraws](https://blenderartists.org/u/samdraws)\
**Post date:** [June 6, 2020, 12:39pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/7 "2020-06-06T12:39:32Z")

</div>

Sorry @anon20675008 — 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?

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [June 6, 2020, 5:13pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/8 "2020-06-06T17:13:22Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [June 8, 2020, 6:22pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/9 "2020-06-08T18:22:26Z")

</div>

Hi!  
Link to demo builds for linux [https://drive.google.com/file/d/1LA2kHUWxUZssDQll\_43k0ZUs9oCcAJly/view?usp=sharing](https://drive.google.com/file/d/1LA2kHUWxUZssDQll_43k0ZUs9oCcAJly/view?usp=sharing)  
Demo video [https://youtu.be/6ri9og\_RtbU](https://youtu.be/6ri9og_RtbU)  
Examples:

1. dace  

2. teapot

---

<div class="post-metadata">

**Author:** ![samdraws](https://blenderartists.org/user_avatar/blenderartists.org/samdraws/32/689926_2.png) [@samdraws](https://blenderartists.org/u/samdraws)\
**Post date:** [June 8, 2020, 8:33pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/10 "2020-06-08T20:33:46Z")

</div>

Hi @anon20675008 — 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!

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [June 9, 2020, 3:44am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/11 "2020-06-09T03:44:45Z")

</div>

Read [Building Blender for macOS](https://wiki.blender.org/wiki/Building_Blender/Mac)

1. Download Sources and Libraries - OK
2. Building - OK
3. Run Blender - OK
4. [Download patch from github](https://github.com/sungreen/rcam/blob/master/rcam_20200608_01.diff) - ?
5. Save file rcam\_20200608\_01.diff to blender-git/blender - ?
6. cd blender-git/blender - ?
7. [patch](https://man7.org/linux/man-pages/man1/patch.1.html) -p1 \< rcam\_20200608\_01.diff - ?
8. Rebuild Blender - ?
9. Run Blender with patch - ?

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [June 19, 2020, 12:14am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/12 "2020-06-19T00:14:36Z")

</div>

Camera-\>Lens-\>Type: Orthographic  
Camera factor: -1 to 1  
ScreenShot:  
[https://drive.google.com/file/d/1AhqcWkSZquWPcc\_TYO4p0cTnKnqP5AlL/view?usp=sharing](https://drive.google.com/file/d/1AhqcWkSZquWPcc_TYO4p0cTnKnqP5AlL/view?usp=sharing)

Test camera factor video:  
[https://www.youtube.com/watch?v=Dq106R-CUwA](https://www.youtube.com/watch?v=Dq106R-CUwA)

Demo builds for linux:  
[https://drive.google.com/file/d/1w6YiHvLzoZAiuJ3EtlSEvlkvx0kytcGd/view?usp=sharing](https://drive.google.com/file/d/1w6YiHvLzoZAiuJ3EtlSEvlkvx0kytcGd/view?usp=sharing)

Blend file with animation camera factor:  
[https://drive.google.com/file/d/1m7UVflDn9kI50pJHsT-\_UeWHvQU5qHZH/view?usp=sharing](https://drive.google.com/file/d/1m7UVflDn9kI50pJHsT-_UeWHvQU5qHZH/view?usp=sharing)

---

<div class="post-metadata">

**Author:** ![Felix\_Kutt](https://blenderartists.org/user_avatar/blenderartists.org/felix_kutt/32/1905_2.png) [@Felix\_Kutt](https://blenderartists.org/u/Felix_Kutt)\
**Post date:** [June 19, 2020, 6:22am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/13 "2020-06-19T06:22:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [June 19, 2020, 4:00pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/14 "2020-06-19T16:00:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Paul\_Bourke](https://blenderartists.org/user_avatar/blenderartists.org/paul_bourke/32/701677_2.png) [@Paul\_Bourke](https://blenderartists.org/u/Paul_Bourke)\
**Post date:** [June 30, 2020, 10:48am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/15 "2020-06-30T10:48:13Z")

</div>

Here’s the real world version  
[https://www.youtube.com/watch?v=iJ4yL6kaV1A&feature=youtu.be](https://www.youtube.com/watch?v=iJ4yL6kaV1A&feature=youtu.be)

---

<div class="post-metadata">

**Author:** ![Paul\_Bourke](https://blenderartists.org/user_avatar/blenderartists.org/paul_bourke/32/701677_2.png) [@Paul\_Bourke](https://blenderartists.org/u/Paul_Bourke)\
**Post date:** [July 5, 2020, 12:51am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/16 "2020-07-05T00:51:39Z")

</div>

And a writeup with examples  
[http://paulbourke.net/miscellaneous/reverseperspective/](http://paulbourke.net/miscellaneous/reverseperspective/)

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [July 5, 2020, 4:26am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/17 "2020-07-05T04:26:39Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [July 27, 2020, 7:30am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/18 "2020-07-27T07:30:00Z")

</div>

I tried to fix it.

[![]( " - YouTube") ](https://www.youtube.com/watch?v=m_MwVKfjaUI)

---

<div class="post-metadata">

**Author:** ![Felix\_Kutt](https://blenderartists.org/user_avatar/blenderartists.org/felix_kutt/32/1905_2.png) [@Felix\_Kutt](https://blenderartists.org/u/Felix_Kutt)\
**Post date:** [July 27, 2020, 5:58pm UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/19 "2020-07-27T17:58:07Z")

</div>

Seems to be behaving.

---

<div class="post-metadata">

**Author:** ![sozap](https://blenderartists.org/user_avatar/blenderartists.org/sozap/32/443872_2.png) [@sozap](https://blenderartists.org/u/sozap)\
**Post date:** [February 2, 2021, 10:36am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/20 "2021-02-02T10:36:32Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anon20675008](https://blenderartists.org/letter_avatar_proxy/v4/letter/a/c68b51/32.png) [@anon20675008](https://blenderartists.org/u/anon20675008)\
**Post date:** [March 7, 2021, 8:21am UTC](https://blenderartists.org/t/reverse-perspective-rendering/1213342/21 "2021-03-07T08:21:40Z")

</div>

new test:

[![]( " - YouTube") ](https://www.youtube.com/watch?v=ERLDrmVfEKA)

github patch for 2.92: [https://github.com/sungreen/rcam/blob/master/rcam3\_292\_20210101.diff](https://github.com/sungreen/rcam/blob/master/rcam3_292_20210101.diff)

[Next page](https://blenderartists.org/t/reverse-perspective-rendering/1213342.md?page=2)
