Class InstancingMeshProcessor
Struct that represent a mesh to render.
Implements
Inherited Members
Namespace: Evergine.Framework.Graphics.Instancing
Assembly: Evergine.Framework.dll
Syntax
public class InstancingMeshProcessor : MeshProcessor, IDisposable
Constructors
InstancingMeshProcessor()
Initializes a new instance of the InstancingMeshProcessor class.
Declaration
public InstancingMeshProcessor()
Fields
BufferDirty
Indicates if the buffer is dirty.
Declaration
public bool BufferDirty
Field Value
Type | Description |
---|---|
bool |
worldTransformCount
The world transform count.
Declaration
public int worldTransformCount
Field Value
Type | Description |
---|---|
int |
worldTransforms
The world transform array.
Declaration
public Matrix4x4[] worldTransforms
Field Value
Type | Description |
---|---|
Matrix4x4[] |
Properties
Priority
Gets the priority of this processor. Processors with higher values will be executed earlier.
Declaration
public override float Priority { get; }
Property Value
Type | Description |
---|---|
float |
Overrides
Methods
Collect()
Collect batches to be rendered.
Declaration
public override void Collect()
Overrides
CouldBatch(RenderObjectInfo, RenderObjectInfo)
Compare if this processor could 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)
Could 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 could render an object. |
Overrides
Destroy()
Destroy 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 of this batch. |
DrawContext | drawContext | The draw context. |
MeshProcessor.RenderObjectInfoAccessor | renderObjectInfoAccessor | Function to obtain the a renderObjectInfo by its index. |
Returns
Type | Description |
---|---|
RenderUnit | Id of this batch inside mesh processor. |
Overrides
Reset()
Reset processors to be ready for batch collecting.
Declaration
public override void Reset()