Axis

Axis Used to position, orientate and scale complete subtrees with common properties such as position, rotation and scaling.
Get World Used to retrieve the World, View and Projection matrix at a position in three scene hierarchy.
Set World Used to position, orientate and scale complete subtrees with a 4x4 matrix.
Billboard Used to orientate objects so that they always face the camera.

Axis

Unlike most 3D modelling programs, an object such as a mesh or light source does not have a position or orientation itself. Instead, one inserts Axis nodes to transform the space opposed to transforming the object itself (see use of the World Matrix in Rasterization). So if an Axis has a rotation of 90 degrees, the whole coordinate system of its subtree is rotated and therefore the transformation affects all objects underneath the axis. This is similar to an animation rig where moving the upper arm of a model will also affect the elbow, lower arm and hand but the hand can be transformed independently.

The majority of Ventuz users prefer to edit the Axis properties manually to exactly position objects. However, Ventuz 3 also introduced a way to this directly in the renderer window via a Transformation Gizmo. If an object does not have an axis, the Gizmo will be rendered gray and as soon as the user picks the Gizmo, an axis will automatically be inserted.

Most properties of the Axis node should be self-explanatory. The rotation order is something most users will not have to worry about: When expressing a rotation by three Euler angles, there is a degree of freedom in which order the individual rotations are applied. Since the default order is different from application to application, Ventuz offers this as a property so that meshes coming from other applications as well as their animations can be imported correctly.

Please try to avoid using Default-Axis just for grouping Hierarchy Nodes. A Default-Axis (or Indentity-Axis) is an Axis or World node with all its input properties set to their default values. Use a Group Node instead.


Get/Set World

The Get World node provides the World, View and Projection matrix values at its position in the scene hierarchy. If a Get World node is used in a subtree that is linked at multiple places in the scene hierarchy, the outputs will represent the values at the first use of that subtree.

Due to technical reasons, the output values of the Get World node have a delay of one frame!


The Set World node is similar to the Axis but uses a 4x4 matrix as often found in computer graphics instead of semantic values like rotation angles or units of translation. It is designed for situations where a transformation is transmitted to Ventuz from a Script node, another device or application. For example, certain tracking systems output the position and orientation of an object in one matrix instead of separate parameters.

Billboard

The Billboard node is a specialized version of Axis that aligns the coordinate system of its subtree to the camera. The Billboard node tries to calculate a rotation that will align the x axis with the horizontal, the y axis with the vertical and the z axis with the viewing direction. By unchecking one of the input properties, that axis will not be used to compensate the rotation of the camera. Imagine a user that manually tries to use the three rotation properties of the standard Axis to align the coordinate system. Unchecked axes are forbidden to be changed by that user. If the ScreenOrientated property is checked, the 'billboarded' object always points in direction of the camera view vector. In this mode a rectangle would have the same orientation as the screen; the other properties do not have any effect then and are hidden.