Search Results for

    Show / Hide Table of Contents

    Class MeshProcessor

    Struct that represents a mesh to render.

    Inheritance
    object
    MeshProcessor
    BatcherMeshProcessor
    BillboardMeshProcessor
    DefaultMeshProcessor
    InstancingMeshProcessor
    LineBatchMeshProcessor
    PostProcessingGraphProcessor
    Namespace: Evergine.Framework.Graphics
    Assembly: Evergine.Framework.dll
    Syntax
    public abstract class MeshProcessor

    Constructors

    MeshProcessor()

    Initializes a new instance of the MeshProcessor class.

    Declaration
    public MeshProcessor()

    Fields

    GraphicsContext

    Represents the graphics context.

    Declaration
    protected GraphicsContext GraphicsContext
    Field Value
    Type Description
    GraphicsContext

    IsActivated

    Indicates if this mesh processor is active.

    Declaration
    public bool IsActivated
    Field Value
    Type Description
    bool

    RenderManager

    The rendering manager.

    Declaration
    protected RenderManager RenderManager
    Field Value
    Type Description
    RenderManager

    Properties

    Priority

    Gets the priority of this processor. Processors with higher values are executed earlier.

    Declaration
    public abstract float Priority { get; }
    Property Value
    Type Description
    float

    Methods

    Collect()

    Collects batches to be rendered.

    Declaration
    public virtual void Collect()

    CouldBatch(RenderObjectInfo, RenderObjectInfo)

    Compares whether this processor can batch these two meshes.

    Declaration
    public abstract bool CouldBatch(RenderObjectInfo renderObjectInfo1, RenderObjectInfo renderObjectInfo2)
    Parameters
    Type Name Description
    RenderObjectInfo renderObjectInfo1

    The first object.

    RenderObjectInfo renderObjectInfo2

    The second object.

    Returns
    Type Description
    bool

    True if the batch is possible.

    CouldRenderObject(RenderObjectInfo)

    Can render a single render object.

    Declaration
    public abstract 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.

    Destroy()

    Destroys this instance.

    Declaration
    protected virtual void Destroy()

    Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

    Declaration
    public void Dispose()

    EmitBatch(int, int, DrawContext, RenderObjectInfoAccessor)

    Emit a render batch.

    Declaration
    public abstract 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.

    ~MeshProcessor()

    Finalizes an instance of the MeshProcessor class.

    Declaration
    protected ~MeshProcessor()

    Initialize()

    Initializes this mesh processor.

    Declaration
    protected virtual void Initialize()

    Reset()

    Resets processors to be ready for batch processing.

    Declaration
    public virtual void Reset()

    Extension Methods

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