SoLevelOfDetail

InventorModule
genre InventorNodesAutomatic
author Silicon Graphics Inc
package MeVisLab/Standard
definition inventor.def

Purpose

The children of the node SoLevelOfDetail typically represent the same object or objects at varying levels of detail, ranging from highest to lowest detail. The size of the objects, when projected into the viewport, determines which version to use (i.e., which child to traverse).

The size is computed as the area of the screen rectangle that encloses the projection of the 3D bounding box surrounding all of the children. During rendering, this size is compared to the values in the screenArea field. If the size exceeds the first value, child 0 is traversed. If it is smaller than the first but greater than the second, child 1 is traversed, and so on. If there are fewer children than required by this rule, the last child is traversed. The screenArea field contains just 0 by default, ensuring that the first child is always traversed.

The size calculation considers the current complexity. If the complexity is 0 or of type BOUNDING_BOX, the last child is always traversed. If the complexity is less than 0.5, the computed size is scaled down to potentially use a less detailed representation. Conversely, if the complexity is greater than 0.5, the size is scaled up. At a complexity of 1, the first child is always used.

Note that the SoLOD node is similar to SoLevelOfDetail, except that the switching between levels in the SoLOD node is based on distance from the camera, which is faster than using screen area.

Input Fields

child

name: child, type: SoNode

Output Fields

self

name: self, type: SoNode

Parameter Fields

Hidden Fields

screenArea

name: screenArea, type: DoubleList, default: 0

Sets the areas to use for comparison.