Click or drag to resize
DigitalRuneOccluder Class
Defines an occluder represented as an indexed triangle mesh.
Inheritance Hierarchy
SystemObject
  DigitalRune.GraphicsOccluder

Namespace: DigitalRune.Graphics
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.2.0.0 (1.2.1.14562)
Syntax
public class Occluder : ITriangleMesh

The Occluder type exposes the following members.

Constructors
  NameDescription
Public methodOccluder(Vector3F, Int16)
Public methodOccluder(Vector3F, Int32)
Public methodOccluder(Vector3F, UInt16)
Initializes a new instance of the Occluder class. (Recommended constructor.)
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
  NameDescription
Public Extension MethodGetVolume
Gets the enclosed volume of a triangle mesh.
(Defined by GeometryHelper.)
Top
Explicit Interface Implementations
Remarks

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.

See Also