Click or drag to resize
AB4D logo

InstancedMeshGeometry3DNode Properties

The InstancedMeshGeometry3DNode type exposes the following members.

Properties
 NameDescription
Public propertyDXMesh Gets a DXMeshGeometry3D that is created from the WPF's MeshGeometry3D.
Public propertyInstancesCount Gets or sets number of rendered instances. This value is automatically set from the SetInstanceData method to the length of the InstancesData array. But user can change the value to render just part of the instances. When the value is changed it is recommended to set the MeshIndexBufferDataChanged and BoundsChanged flags with calling NotifySceneNodeChange(SceneNodeSceneNodeDirtyFlags) method.
Public propertyIsBackFaceMaterial Gets or sets a Boolean that specifies if front faces (true) or back faces (false) are rendered.
Public propertyIsCastingShadow Gets or sets a Boolean that specifies if this SceneNode is casing shadow. This means that if IsCastingShadow is true, then 3D objects rendered with this SceneNode will create shadow; if false shadow will not be created. This works for VarianceShadowRenderingProvider and PlanarShadowRenderingProvider but not for ScreenSpaceAmbientOcclusionRenderingProvider.
Public propertyIsPreMultipliedAlphaColor When IsPreMultipliedAlphaColor is true (false by default) and Alpha is less then 1, then the instance colors components are already multiplied with alpha value to produce pre-multiplied colors. When false, then non-pre-multiplied color is converted in pre-multiplied color when this is required by the shader.
Public propertyIsSolidColorMaterial Gets or sets a Boolean that specifies if instanced objects are rendered with a solid color (without any shading based on lighting calculations). Default value is false.
Public propertyIsUpdatingBounds Gets or sets a Boolean that specifies if this SceneNode3D is automatically updating its Bounds value. Default value is true.
Public propertyMeshGeometry3D Gets a MeshGeometry3D that represents the mesh definition of each instance.
Public propertyOverrideEffect Gets or sets a DXEngine's Effect that is used to render this object. When OverrideEffect is null, the InstancedObjectsEffect is used.
Public propertySpecularMaterial Gets a SpecularMaterial that is used by all instances. After changing this property the UpdateMaterial must be called.
Public propertyStartInstanceIndex StartInstanceIndex can be set to an index that will render only instances from the specified start index on. When the value is changed it is recommended to set the MeshIndexBufferDataChanged and BoundsChanged flags with calling NotifySceneNodeChange(SceneNodeSceneNodeDirtyFlags) method.
Public propertyTextureAlphaClipThreshold TextureAlphaClipThreshold can be set when TextureShaderResourceView is set. When its value is above 0 then pixels in texture with alpha color values below this value will be clipped (not rendered and their depth will not be written to depth buffer). Expected values are between 0 and 1. When 0 (by default) then alpha clipping is disabled - this means that also pixels with alpha value 0 are fully processed (they are not visible but its depth value is still written so objects that are rendered afterwards and are behind the pixel will not be visible).
Public propertyTextureBlendState Gets or sets a BlendState that is used to render the texture. If null then Opaque or PremultipliedAlphaBlend (for transparent materials) will be used.
Public propertyTextureShaderResourceView When TextureShaderResourceView is set to a ShaderResourceView, then this texture is used for all instances of the mesh.
Public propertyUseAlphaBlend Gets or sets a Boolean that specifies if alpha blending is used when rendering model instances. This can be used to render semi-transparent objects. Default value is false. This property is used only when instance color is used (not when UseSingleObjectColor(Color4) is called).
Public propertyUseDynamicInstanceBuffer Gets or sets a Boolean that specifies if dynamic instance buffer is created instead of immutable instance buffer. Dynamic instance buffer has better performance when instance data is changed often. On the other side the immutable buffer is better when the instance data is not changed or changed only a few times. Default value is false - use immutable buffer.
Public propertyUseInstanceIdColor When true (false by default) then the color of each instance is defined by the id (index) of each instance. The lowest 8 bits of the instance id number are written to the blue color, then to the green color, then to the red color and the highest byte (when more the 16M instances) is written to the alpha color (for example, instanceId = 1: RGB: 0x000001; instanceId 257: RGB: 0x000102).
Public propertyUseScreenSpaceScaling When true (false by default) then each instance is scaled in the shader so that the value specified in matrix's M11 defines the size of the rendered object on screen (when the size of the mesh is 1).
Top
See Also