Decaling
Description
- Derived from
-
BatchRendererBase<DecalingBatch> abstract
IMeshBoundMinSize
The Decaling class traverses the filtered mesh (see IMeshFilters.FilterIn), generates zero or more DecalingBatch values for each mesh sector that intersects with a decal texture, and puts an explicit mark on it (see MeshTree.SectorMark), if it has at least one batch.
Use DecalAdd, DecalRemove and DecalRemoveAll to manage the list of IDecal objects that are processed by the Decaling object. During processing of each IDecal object, zero or more DecalingBatch values are produced.
The following vertex data semantics are used by this class:
-
required : Semantic.HeightmapCoords
-
required : Semantic.Position
-
required : Semantic.Area
Public / Methods
DecalAdd
Adds the given decal texture.
The given decal in will be added to the end of the decal texture list. To define the order in which decal textures are processed, the calling code should not rely on the list ordering, but should make use of IDecal.Priority instead.
DecalDirty
Marks the given decal texture as dirty, to force re-computation.
The Decaling class detects changes automatically by querying the following members:
This method should only be called if a change has occurred that cannot be detected by comparing the above values, for example modifying the parameters of a CoordinateOperation in a custom CoordinateSystem.
Public / Attributes
Decals
Returns the list of decal textures.
Use the DecalFace.Decal field of DecalingBatch.Mapping as index into this list in order to find the IDecal object for a given DecalingBatch.