SoOcclusionCulling Class |
Note: This API is now obsolete.
Group node derived from SoRenderList that performs an OpenGL-based occlusion culling test on its list of render objects.
Namespace: OIV.Inventor.Nodes
The SoOcclusionCulling type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoOcclusionCulling | Constructor. |
Name | Description | |
---|---|---|
![]() | AddChild | Adds a child as last one in group. |
![]() | AddRenderObjectName | Adds a new name to the search list. |
![]() | AddRenderObjectType | Adds a new type to the search list. |
![]() | AffectsState | (Inherited from SoSeparator.) |
![]() | Callback | (Inherited from SoSeparator.) |
![]() | ClearCacheList | (Inherited from SoSeparator.) |
![]() | Copy | Calls Copy(false). (Inherited from SoNode.) |
![]() | Copy(Boolean) | Creates and returns an exact copy of the node. |
![]() | CopyFieldValues(SoFieldContainer) | Calls CopyFieldValues(fc, false). (Inherited from SoFieldContainer.) |
![]() | CopyFieldValues(SoFieldContainer, Boolean) | Copies the contents of fc's fields into this object's fields. |
![]() | Dispose |
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.) |
![]() | Distribute | (Inherited from SoSeparator.) |
![]() | DoAction | (Inherited from SoSeparator.) |
![]() | EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). |
![]() | Equals | (Inherited from Object.) |
![]() | FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. |
![]() | FindChild | Finds index of given child within group. |
![]() | Get | Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. |
![]() | GetAllFields | Returns a list of fields, including the eventIn's and eventOut's. |
![]() | GetAlternateRep | This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type). |
![]() | GetBoundingBox | (Overrides SoSeparatorGetBoundingBox(SoGetBoundingBoxAction).) |
![]() | GetChild | Returns pointer the child node with the given index. |
![]() | GetEventIn | Returns a the eventIn with the given name. |
![]() | GetEventOut | Returns the eventOut with the given name. |
![]() | GetField | Returns a the field of this object whose name is fieldName. |
![]() | GetFieldName | Returns the name of the given field in the fieldName argument. |
![]() | GetFields | Appends references to all of this object's fields to resultList, and returns the number of fields appended. |
![]() | GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) |
![]() | GetMatrix | (Inherited from SoSeparator.) |
![]() | GetName | Returns the name of an instance. |
![]() | GetNumChildren | Returns number of children. |
![]() | GetNumFrame | Returns the number of frames between recalculation of the list of occluders when approximate occlusion is On. |
![]() | GetNumRenderObjectNames | Returns number of names in the search list. |
![]() | GetNumRenderObjectTypes | Returns number of types in the search list. |
![]() | GetPrimitiveCount | (Overrides SoSeparatorGetPrimitiveCount(SoGetPrimitiveCountAction).) |
![]() | GetRenderObjectName | Returns the i th name of the search list. |
![]() | GetRenderObjectType | Returns the i th type of the search list. |
![]() | GetRenderUnitID | (Inherited from SoNode.) |
![]() | GetStringName | (Inherited from SoBase.) |
![]() | GetThreshold | Returns the pixel threshold. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetUseHPExtension | Returns true if the GL_HP_occlusion_test test is used instead of GL_NV_occlusion_query test. |
![]() | GLRender | (Inherited from SoSeparator.) |
![]() | GLRenderBelowPath | (Overrides SoSeparatorGLRenderBelowPath(SoGLRenderAction).) |
![]() | GLRenderInPath | (Inherited from SoSeparator.) |
![]() | GLRenderOffPath | (Inherited from SoSeparator.) |
![]() | GrabEventsCleanup | (Inherited from SoNode.) |
![]() | GrabEventsSetup | (Inherited from SoNode.) |
![]() | HandleEvent | (Inherited from SoSeparator.) |
![]() | HasDefaultValues | Returns true if all of the object's fields have their default values. |
![]() | InsertChild | Adds a child so that it becomes the one with the given index. |
![]() | IsApproximateOcclusion | Returns true if approximate occlusion is On. |
![]() | IsBoundingBoxIgnoring | Used by BoundingBoxAction to known if bounding box computation should be ignored or not. |
![]() | IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. |
![]() | IsOverride | Returns the state of the override flag. |
![]() | IsSynchronizable | Gets the ScaleViz synchronizable state of this object. |
![]() | Pick | (Inherited from SoGroup.) |
![]() | RayPick | (Overrides SoSeparatorRayPick(SoRayPickAction).) |
![]() | RemoveAllChildren | Removes all children from group. |
![]() | RemoveAllRenderObjectNames | Clears all names from the search list. |
![]() | RemoveChild(Int32) | Removes child with given index from group. |
![]() | RemoveChild(SoNode) | Removes first instance of given child from group. |
![]() | RemoveRenderObjectName | Removes a name from the search list. |
![]() | RemoveRenderObjectType | Removes a type from the search list. |
![]() | ReplaceChild(Int32, SoNode) | Replaces child with given index with new child. |
![]() | ReplaceChild(SoNode, SoNode) | Replaces first instance of given child with new child. |
![]() | Search | (Inherited from SoSeparator.) |
![]() | Set | Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. |
![]() | SetApproximateOcclusion | Enabling this option may speed up rendering. |
![]() | SetName | (Inherited from SoBase.) |
![]() | SetNumFrame | When approximate occlusion is On, after num frames, the list of occluders will be recalculated. |
![]() | SetOverride | Turns the override flag on or off. |
![]() | SetSynchronizable | Sets this to be a ScaleViz synchronizable object. |
![]() | SetThreshold | Specifies the number of pixels below which the object will be culled. |
![]() | SetToDefaults | Sets all fields in this object to their default values. |
![]() | SetUseHPExtension | By default, and if the hardware supports it, during the n-1 frames where occluders are not retested, occluded objects are tested with a more efficient test using the GL_NV_occlusion_query extension. |
![]() | ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) |
![]() | Touch | Marks an instance as modified, simulating a change to it. |
![]() | Write | (Inherited from SoGroup.) |
Name | Description | |
---|---|---|
![]() | boundingBoxCaching | Whether to cache during bounding box traversal. |
![]() | boundingBoxIgnoring | Whether to ignore this node during bounding box traversal. |
![]() | directVizCaching | Whether to cache during OpenRTRT rendering traversal. |
![]() | fastEditing | Specifies the fast edit mode of the separator node. |
![]() | IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) |
![]() | isHead | Normally each culling node maintains its own render list. |
![]() | pickCulling | Whether to cull during picking traversal. |
![]() | renderCaching | Whether to cache during rendering traversal. |
![]() | renderCulling | Whether to cull during rendering traversal. |
![]() | renderUnitId | Used during the ScaleViz depth compositing process, this field specifies which render unit (OIRU) will render the sub scene graph below this separator. |
![]() ![]() | ReportCallback | This callback can be used to get render statistics: the number of objects actually rendered versus the number of objects that would have been rendered without the occlusion culling node. |
![]() | UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
The SoOcclusionCulling node uses the functionality from SoRenderList to create a list of paths to the shapes beneath it. It then reorganizes the list of shapes from front to back to perform an OpenGL-based occlusion culling test. The result is that render objects completely hidden by another visible object are not rendered. For instance, if the camera is inside an object, only the object containing the camera will be drawn (because that's the only object that the camera can see).
<font color="#0000FF">NOTE:</font> This class does not exist in Open Inventor 10.0 and later.
The SoOcclusionCulling node depends on the graphics board having support for the OpenGL GL_HP_occlusion_test extension. If this OpenGL extension is not supported, the SoOcclusionCulling node will have no effect on the display of the scene graph.
If the occlusionCulling node is below another culling node (for instance, an octree and an occlusion culling node) then it will use the renderObject list computed by the RenderList above it (the octree). In this particular case, the isHead field (from SoRenderList) must be initialized to false. Otherwise the node will create its own renderObject list, which is unnecessary and time consuming at scene graph creation time.
OcclusionCulling {
renderCaching | AUTO |
boundingBoxCaching | AUTO |
renderCulling | AUTO |
pickCulling | AUTO |
fastEditing | DISABLE |
isHead | true |
Actions use standard SoSeparator traversal.