Class InstancingMeshProcessor
Struct that represents a mesh to render.
Inherited Members
Namespace: Evergine.Framework.Graphics.Instancing
Assembly: Evergine.Framework.dll
Syntax
public class InstancingMeshProcessor : MeshProcessor
Constructors
InstancingMeshProcessor()
Initializes a new instance of the InstancingMeshProcessor class.
Declaration
public InstancingMeshProcessor()
Fields
BufferDirty
Indicates whether the buffer is dirty.
Declaration
public bool BufferDirty
Field Value
Type | Description |
---|---|
bool |
worldTransformCount
The count of world transforms.
Declaration
public int worldTransformCount
Field Value
Type | Description |
---|---|
int |
worldTransforms
The world transformation array.
Declaration
public Matrix4x4[] worldTransforms
Field Value
Type | Description |
---|---|
Matrix4x4[] |
Properties
Priority
Gets the priority of this processor. Processors with higher values are executed earlier.
Declaration
public override float Priority { get; }
Property Value
Type | Description |
---|---|
float |
Overrides
Methods
Collect()
Collects batches to be rendered.
Declaration
public override void Collect()
Overrides
CouldBatch(RenderObjectInfo, RenderObjectInfo)
Compares whether this processor can batch these two meshes.
Declaration
public override bool CouldBatch(RenderObjectInfo objectInfo1, RenderObjectInfo objectInfo2)
Parameters
Type | Name | Description |
---|---|---|
RenderObjectInfo | objectInfo1 | |
RenderObjectInfo | objectInfo2 |
Returns
Type | Description |
---|---|
bool | True if the batch is possible. |
Overrides
CouldRenderObject(RenderObjectInfo)
Can render a single render object.
Declaration
public override bool CouldRenderObject(RenderObjectInfo renderObjectInfo)
Parameters
Type | Name | Description |
---|---|---|
RenderObjectInfo | renderObjectInfo | The render object info. |
Returns
Type | Description |
---|---|
bool | True if this mesh processor can render an object. |
Overrides
Destroy()
Destroys this instance.
Declaration
protected override void Destroy()
Overrides
EmitBatch(int, int, DrawContext, RenderObjectInfoAccessor)
Emit a render batch.
Declaration
public override RenderUnit EmitBatch(int startIndex, int elementCount, DrawContext drawContext, MeshProcessor.RenderObjectInfoAccessor renderObjectInfoAccessor)
Parameters
Type | Name | Description |
---|---|---|
int | startIndex | Start mesh index. |
int | elementCount | Number of elements in this batch. |
DrawContext | drawContext | The draw context. |
MeshProcessor.RenderObjectInfoAccessor | renderObjectInfoAccessor | Function to obtain the renderObjectInfo by its index. |
Returns
Type | Description |
---|---|
RenderUnit | Id of this batch inside the mesh processor. |
Overrides
Reset()
Resets processors to be ready for batch processing.
Declaration
public override void Reset()