Click or drag to resize
Ab4d.SharpEngine logo

SceneDirtyFlags Enumeration

SceneDirtyFlags enum defines flags that describe what changes have occur in the Scene from last time the scene was rendered.

Namespace: Ab4d.SharpEngine.Common
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 2.0.8956+4c7684e186ca1be74e7a284fbe739d9a1b843d3c
Syntax
C#
[FlagsAttribute]
public enum SceneDirtyFlags
Members
Member nameValueDescription
None0 None
MaterialBufferChanged1 MaterialBufferChanged is used for simple material changes where only material buffer is updated. This does not require updating SceneNode, rendering layer regeneration and new recording of command buffers.
MaterialChanged2 MaterialChanged is used for material changes that require new recording of the command buffers. For example, this is used when LineThickness is changed and lines are not rendered by geometry shader.
MaterialComplexChange4 MaterialComplexChange is used when the material change requires regeneration of rendering layers and a new recording of the command buffers. For example, this is used when HasTransparency or VertexColorMaterial's buffer is changed.
MaterialIndexChanged8 MaterialIndex is used when the RenderingItem.MaterialIndex is changed. This requires new recording of the command buffers.
EffectsChanged16 EffectsChanged is used when Effect property is changed on the Material object. This requires regeneration of rendering layers and a new recording of the command buffers.
SceneNodesWorldMatrixChanged32 SceneNodesWorldMatrixChanged is used when SceneNode's WorldMatrix is changed. This does not require any rendering layers regeneration or new recording of command buffers.
SceneNodesMatrixIndexChanged64 MatrixIndex is used when RenderingItem.MatrixIndex is changed. This requires new recording of the command buffers.
MeshDataChanged128 MeshChanged is used when the data in the vertex or index buffer are changed. This does not require rendering layers regeneration, but requires new recording of command buffers.
MeshChanged256 MeshChanged is used when the vertex or index buffer are changed. This requires new recording of the command buffers.
SceneNodesVisibilityChanged512 SceneNodesVisibilityChanged is used when the visibility of a SceneNode is changed. This requires new recording of the command buffers.
SceneNodesCountChanged1,024 SceneNodesCountChanged is used when new SceneNodes are added to the scene or existing Scene nodes are removed from the scene.
OtherSceneNodesPropertiesChanged2,048 OtherSceneNodesPropertiesChanged is used when other SceneNode properties are changed. This requires regeneration of rendering layers and a new recording of the command buffers.
SceneBoundingBoxChanged4,096 SceneBoundingBoxChanged is used when scene bounding box is changed.
LightPropertiesChanged8,192 LightPropertiesChanged is used when properties of lights are changed.
LightsCountChanged16,384 LightsCountChanged is used when number of lights is changed.
RenderingLayerSorted32,768 RenderingLayerSorted is used when the order of RenderingItems in a sorted RenderingLayer is changed.
RenderingLayersRecreated65,536 RenderingLayersRecreated is used when all the RenderingLayers are created again.
SpritesChanged131,072 SpritesChanged is used to indicate that sprites have been changed.
MeshDisposed262,144 MeshDisposed is used to indicate that a mesh or any of its buffers was disposed by a user. This will check if all assigned meshes are still valid.
CoordinateSystemChanged524,288 CoordinateSystemChanged is used to indicate that the Scene's coordinate system has changed.
MaterialDisposed1,048,576 MaterialDisposed is used to indicate that a material or any of its buffers or images was disposed by a user. This will check if all assigned materials are still valid.
All2,097,151 All
OtherChange2,097,152 OtherChange
See Also