Occluder Class |
Namespace: DigitalRune.Graphics
The Occluder type exposes the following members.
Name | Description | |
---|---|---|
Occluder(Vector3F, Int16) |
Initializes a new instance of the Occluder class. (CLS-compliant constructor.
If possible use Occluder(Vector3F, UInt16))
| |
Occluder(Vector3F, Int32) |
Initializes a new instance of the Occluder class. (CLS-compliant constructor.
If possible use Occluder(Vector3F, UInt16))
| |
Occluder(Vector3F, UInt16) |
Initializes a new instance of the Occluder class. (Recommended constructor.)
|
Name | Description | |
---|---|---|
Equals | (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
GetVolume |
Gets the enclosed volume of a triangle mesh.
(Defined by GeometryHelper.) |
Name | Description | |
---|---|---|
ITriangleMeshGetTriangle |
Gets the triangle with the given index.
| |
ITriangleMeshNumberOfTriangles |
Gets the number of triangles.
|
Occlusion culling is the process of determining which scene nodes are hidden from a certain viewpoint. This is achieved by testing the scene nodes against a set of occluders. An occluder is an object within a scene that obscures the view and prevents objects behind it from being seen. In theory, any opaque object within a scene acts as occluder. However, most scene nodes (e.g. meshes) are too complex to be considered as occluders during occlusion culling.
Occlusion Proxies:
The class Occluder defines a triangle mesh that acts as an occluder for
occlusion culling. An Occluder is usually a lightweight representations of more
complex scene node. Example: An Occluder storing a simple quad (2 triangles) can
be used to approximate a complex wall (mesh with many triangles).
An occluder can be assigned to a Mesh (property Occluder) or can be added directly to a scene using an OccluderNode. The OccluderNode is often attached as child node to the scene node that it represents. This ensures that the occluder is updated automatically when the parent scene node is moved.
The occluder geometry needs to be conservative, i.e. the triangle mesh needs to fit inside the object that it represents. Otherwise it may prevent visible objects from being rendered.