cemsinaçetin

reverse perspective

Reverse TreeFor my Graduation Project, we worked on a mobile guide application. Our aim was to find a way to embed miniature aesthetics to the application. Miniatures have a distinctive set of rules and most of them defy the basic principles of physics, like having multiple perspective points, or further objects being larger than the ones nearer; especially when they are something of great importance (like an emperor or a palace).

This reversal of perspective is also called “the God Perspective” or “the Byzantine Perspective”, because it is said to be found in many Byzantine miniatures, depicting holy events. It is said that, the events are drawn as seen by the god; Since the further objects get larger, this solves the occlusion problem and helps the viewer see everything – like god.

One of the things I did for the project was to implement an API for rendering in this manner. I re-implemented some of the transformation functions, a camera class, basic shapes and an object loader. All this was done by rendering in orthogonal projection by OpenGL and transforming each vertex, according to their relative position to the camera and the strength of perspective deformation. Using a single strength variable made it possible to change the effect of perspective – a negative number for reverse perspective, a positive number for regular perspective and zero for orthogonal projection.

Following is an example of a cube with three different perspective strengths. Notice how both left and right sides of the cube are visible at once. if the camera is placed properly (and without the grid below), it is possible to see 5 sides of the cube from a single point of view.


YouTube