SoComplexity¶
-
InventorModule
¶ genre InventorNodesAutomatic
author Silicon Graphics Inc
package MeVisLab/Standard
definition inventor.def
Purpose¶
The node SoComplexity
sets the current shape complexity value. This heuristic value provides a hint regarding the geometric complexity at which to render shape nodes. Values range from 0 to 1, where 0 indicates minimum complexity and 1 indicates maximum complexity. Each shape node interprets complexity in its own way.
Shape complexity always affects rendering and primitive generation for the SoCallbackAction. For certain shapes, it also affects picking.
There are three ways to interpret shape complexity, depending on the :field:type field. BOUNDING_BOX complexity ignores the Value
field and renders all shapes as bounding boxes, using the current material, drawing style, and other parameters. The other two types use the Value
to determine the tessellation of shapes into polygons. OBJECT_SPACE complexity uses the Value
field directly to dictate the tessellation. SCREEN_SPACE complexity relies on the Value
field and the projected size of the shape on the screen; a value of 0 produces the minimum tessellation for a shape, while a value of 1 generates a tessellation fine enough that each edge of a polygon is about one or two pixels in length. Since the projected size depends on the camera position, objects may be tessellated differently each frame if the camera is moving. Note that this may adversely affect render caching in SoSeparator
nodes.
Additionally, the SoComplexity
node sets a hint for the quality of textures applied to shapes, based on the value of the Texture Quality
field. The texture quality will take effect at the next SoTexture2
node; previously traversed SoTexture2
nodes will not be affected.
Parameter Fields¶
Visible Fields¶
Type¶
-
name:
type
, type:
Enum
, default:
OBJECT_SPACE
¶ Defines how shape complexity is interpreted.
Values:
Title | Name | Description |
---|---|---|
Object Space | OBJECT_SPACE | Sets complexity independent of screen size |
Screen Space | SCREEN_SPACE | Sets complexity based on screen size |
Bounding Box | BOUNDING_BOX | Draws all shapes as bounding boxes |