Class RenderPath
Logical element that groups every Drawable component which shares a same feature/s. It establishes a drawing order, where every component from a same layer is rendered within the same batch.
Implements
Inherited Members
Namespace: Evergine.Framework.Graphics
Assembly: Evergine.Framework.dll
Syntax
public abstract class RenderPath : DisposableObject, IDisposable
Constructors
RenderPath(RenderManager)
Initializes a new instance of the RenderPath class.
Declaration
public RenderPath(RenderManager renderManager)
Parameters
Type | Name | Description |
---|---|---|
RenderManager | renderManager | The render manager. |
Fields
passes
The render passes.
Declaration
protected RenderPass[] passes
Field Value
Type | Description |
---|---|
RenderPass[] |
passesToRender
The pass to render count.
Declaration
protected int passesToRender
Field Value
Type | Description |
---|---|
int |
Properties
AdditionalEffectDirectives
Gets the additional effects directives specified by this pipeline.
Declaration
public virtual string[] AdditionalEffectDirectives { get; }
Property Value
Type | Description |
---|---|
string[] |
DefaultPathId
Gets the default path Id. Every RenderPath should define a default pass.
Declaration
public virtual int DefaultPathId { get; }
Property Value
Type | Description |
---|---|
int |
GraphicsContext
Gets the graphics context.
Declaration
public GraphicsContext GraphicsContext { get; }
Property Value
Type | Description |
---|---|
GraphicsContext |
GraphicsPresenter
Gets the graphics resources.
Declaration
public GraphicsPresenter GraphicsPresenter { get; }
Property Value
Type | Description |
---|---|
GraphicsPresenter |
Passes
Gets or sets the render passes.
Declaration
public RenderPass[] Passes { get; protected set; }
Property Value
Type | Description |
---|---|
RenderPass[] |
PassesToRender
Gets or sets the render passes.
Declaration
public int PassesToRender { get; set; }
Property Value
Type | Description |
---|---|
int |
RenderManager
Gets the render manager.
Declaration
public RenderManager RenderManager { get; }
Property Value
Type | Description |
---|---|
RenderManager |
RenderPipeline
Gets the render pipeline.
Declaration
public RenderPipeline RenderPipeline { get; }
Property Value
Type | Description |
---|---|
RenderPipeline |
Methods
Collect(DrawContext)
Collect data to perform draw.
Declaration
public virtual void Collect(DrawContext drawContext)
Parameters
Type | Name | Description |
---|---|---|
DrawContext | drawContext | The context to draw. |
Destroy()
Destroy all resources of this instance.
Declaration
protected override void Destroy()
Overrides
Render(DrawContext, CommandBuffer)
Render all batches collected by the specified DrawContext.
Declaration
public abstract void Render(DrawContext drawContext, CommandBuffer commandBuffer)
Parameters
Type | Name | Description |
---|---|---|
DrawContext | drawContext | The DrawContext. |
CommandBuffer | commandBuffer | The command buffer used to render this context. |
RenderPasses(DrawContext, CommandBuffer)
Base method to render all passes.
Declaration
protected void RenderPasses(DrawContext drawContext, CommandBuffer commandBuffer)
Parameters
Type | Name | Description |
---|---|---|
DrawContext | drawContext | The draw context. |
CommandBuffer | commandBuffer | The command buffer. |
RenderPassesInternal(DrawContext, CommandBuffer)
Render all passes.
Declaration
protected virtual void RenderPassesInternal(DrawContext drawContext, CommandBuffer commandBuffer)
Parameters
Type | Name | Description |
---|---|---|
DrawContext | drawContext | The draw context. |
CommandBuffer | commandBuffer | The command buffer. |