Search Results for

    Show / Hide Table of Contents

    Class InstancingMeshProcessor

    Struct that represents a mesh to render.

    Inheritance
    object
    MeshProcessor
    InstancingMeshProcessor
    Inherited Members
    MeshProcessor.GraphicsContext
    MeshProcessor.RenderManager
    MeshProcessor.IsActivated
    MeshProcessor.Initialize()
    MeshProcessor.Dispose()
    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
    MeshProcessor.Priority

    Methods

    Collect()

    Collects batches to be rendered.

    Declaration
    public override void Collect()
    Overrides
    MeshProcessor.Collect()

    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
    MeshProcessor.CouldBatch(RenderObjectInfo, RenderObjectInfo)

    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
    MeshProcessor.CouldRenderObject(RenderObjectInfo)

    Destroy()

    Destroys this instance.

    Declaration
    protected override void Destroy()
    Overrides
    MeshProcessor.Destroy()

    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
    MeshProcessor.EmitBatch(int, int, DrawContext, MeshProcessor.RenderObjectInfoAccessor)

    Reset()

    Resets processors to be ready for batch processing.

    Declaration
    public override void Reset()
    Overrides
    MeshProcessor.Reset()

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX