Reverse Perspective

The reverse perspective is a rather experimental feature. In a standard camera model the rays originate from a single point and then spread out according to the field of view. This behavior is normal for us. For example we expect that an object that is far away will look smaller then the same object if it is close. This is however only do to the spread of the rays.

Normal spread of rays

We now turn this concept around by having the rays originate from an image plane and then having a focal point to which they all point. If this focal point lies behind the object that we want to render this means that the rays up to this point only traveled inwards, so the distance between the rays decreased. As a result we will now see this object now bigger if it is further away from us (as long as it is not behind the focal point).

Reverse ray convergence

Through this camera model we can generate funny looking pictures, but It may also be interesting for some sketches as this perspective allows us to see a cube from five sides simultaneosly, which gives you the opportunity to showcase a product from multiple angles at the same time. The hardest thing to get this working was actually verifying the feature as you have to define a sensible focal point and image plane to see this effect working. To make this easier the focal point is given as an input, as using a field of view in this setting would be rather confusing.

Reverse Off Reverse On

The non reverse looks very odd in this case but this is because there is a plane that we are looking along but all rays hit in the blue area of that plane.

The planes texture is just a basic stripe pattern from Viscious-Speed found on pixaby.

To implement this feature in lightwave we extended the camera class with a reverseperspective class in which we implemented the above described deterministic sampling method.