Click or drag to resize
Ab4d.SharpEngine logo

SceneNodeDirtyFlags Enumeration

SceneNodeDirtyFlags enum defines the flags that are used to mark which part of the SceneNode was changed (is dirty).

Namespace: Ab4d.SharpEngine.Common
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
[FlagsAttribute]
public enum SceneNodeDirtyFlags
Members
Member nameValueDescription
None0 None
ParentChanged1 ParentChanged
ChildAdded2 ChildAdded
ChildRemoved4 ChildRemoved
ChildChanged8 ChildChanged
IsVisibleChanged16 IsVisibleChanged
TransformChanged32 Used when Transform on this SceneNode is changed. This should not be confused with WorldMatrixChanged that is changed also if the parent's transform is changed.
ParentWorldMatrixChanged64 Used when WorldMatrix on a parent SceneNode has changed (usually after a transformation on parent SceneNode is changed). This indicates that child SceneNodes needs to update their world bounds.
WorldMatrixChanged128 Used when Transform on this or one of the parent SceneNodes is changed. This should not be confused with TransformChanged that is used only when Transform is changed on this SceneNode. WorldMatrixChanged should not be set from NotifyChange but only from UpdateWorldMatrix method.
LocalBoundingBoxChanged256 The LocalBoundingBox property has changed.
WorldBoundingBoxChanged512 The WorldBoundingBox property has changed.
ChildBoundingBoxChanged1,024 BoundingBox of a child node was changed - the BoundingBox of this SceneNode need to be updated accordingly.
MaterialChanged2,048 MaterialChanged is used when material instance is changed. When only simple material property is changed, use the MaterialPropertiesChanged.
MaterialPropertiesChanged4,096 MaterialPropertiesChanged is used to notify that only simple material properties are changed and the there is not need to recollect rendering primitives. To recollect rendering primitives use the MaterialChanged value.
MeshVertexBufferDataChanged8,192 Used when data in VertexBuffer has changed. This change does not require to recollect rendering primitives in RenderingLayers and therefore requires that the VertexBuffer on the used RenderingPrimitive is updated.
MeshIndexBufferDataChanged16,384 Used when data in IndexBuffer has changed or when StartIndexLocation or IndexCount has changed. This change does not require to recollect rendering primitives in RenderingLayers and therefore requires that the VertexBuffer on the used RenderingPrimitive is updated.
MeshChanged32,768 Used when the whole mesh needs to be recreated. This flag recollects the rendering primitives in RenderingLayers.
RenderingLayerChanged65,536 Used when the rendering layer has been changed
OtherChange131,072 OtherChange
MeshDirty262,144 Usually used after a property is changed and the mesh should be regenerated. This is usually done in the update phase. There a new mesh is generated and flag is cleared and MeshChanged flag is set. To manually update the mesh after changing the property value call the Update method.
All524,287 The SceneNode is newly created or everything was changed
See Also