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()