Projection | This node projects the 3D scene on a 2D viewport. Works like a camera lens. | |
Field of View | This node provides a field of view projection with a fixed vanishing point. | |
Orthogonal | This node provides a orthogonal projection. | |
Perspective | This node provides a perspective projection with a customizable vanishing point. |
During Rasterization, the Projection Matrix is responsible for simulating the effects of perspective shortening. In conjunction with the View Node, it expresses the characteristics of a virtual camera. The Projection Node takes a 4x4 matrix and applies it to the rendering pipeline for all children in its subtree of the scene Hierarchy. In contrast to similar programs, there is no explicit camera object in Ventuz and there are no restrictions where in the scene hierarchy a Projection Node can be used. So within a subtree rendered with one field of view, there can be a subtree containing a totally different field of view position and orientation for its respective children.
When dragging the Projection Node to the Hierarchy Editor, a dialog opens that offers possible matrix provider for this node. By pressing the Esc key,this dialog can be canceled. Otherwise the selected provider will be added to the Content Editor and bound to the Projection Node.
All projection matrix providers have Center input properties that can be used to shift the center of the projection. The projection also specifies the Depth Range, which defines the Z value of the closest and farthest point that is still rendered as part of the view frustum. For more information on choosing a suitable Depth Range, see the section on the Z-Buffer in Introduction to Realtime Rendering.
There are three nodes that can be used to generate common projection matrix cases. The Field of View node defines the camera viewing field by the angle between two opposite sides of the viewing frustum. The FovAxis input property specifies if those are the left and right (horizontal) or the top and bottom (vertical) side. The angle between the other two sides is automatically calculated based on the Aspect and AspectRelation properties:
If there is no projection node in the scene, Ventuz will use a default projection which is the equivalent of a 45 degrees Field of View projection with the aspect ratio implied by the output resolution set in the Project Properties.
The Perspective node is similar to the Field of View node and also defines a viewing frustum but instead of using a viewing angle and aspect ratio, the Perspective Node directly takes the height and width of the near plane. Most users prefer to use the Field of View Node as the concept of a viewing angle more closely relates to photography.
An orthogonal projection is a special projection that has no perspective shortening at all. It is often used for schematic views or other situations where perspective shortening would be confusing.
The Input Properties Width and Height define the width and height of a 3D space volume that will be displayed in the render output. The orthogonal projection basically cuts out this volume straight out of the World/View space and flattens it along the Z-axis. The Z-Shift properties can be used to shear the view frustum along the X- and Y-axis.