Class RootRenderFeature
A top-level renderer that work on a specific kind of RenderObject, such as Mesh, Particle, Sprite, etc...
public abstract class RootRenderFeature : RenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable- Inheritance
- 
      objectRootRenderFeature
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
RootRenderFeature()
protected RootRenderFeature()Fields
RenderData
public RenderDataHolder RenderDataField Value
RenderObjects
List of RenderObject initialized with this root render feature.
public List<RenderObject> RenderObjectsField Value
Properties
Index
public int Index { get; }Property Value
ObjectNodeReferences
Object nodes to process this frame.
public ConcurrentCollector<ObjectNodeReference> ObjectNodeReferences { get; }Property Value
RenderNodes
List of render nodes for this specific root render feature.
public ConcurrentCollector<RenderNode> RenderNodes { get; }Property Value
RenderStageSelectors
Overrides that allow defining which render stages are enabled for a specific RenderObject.
[DataMember]
public FastTrackingCollection<RenderStageSelector> RenderStageSelectors { get; }Property Value
SortKey
Sort key used during rendering.
public byte SortKey { get; protected set; }Property Value
SupportedRenderObjectType
Gets the type of render object supported by this RootRenderFeature.
public abstract Type SupportedRenderObjectType { get; }Property Value
Methods
BindPerViewShaderResource(string, RenderView, GraphicsResource)
Allows the renderer to inject per view resources such as depth buffer and opaque pass output.
public virtual void BindPerViewShaderResource(string logicalGroupName, RenderView renderView, GraphicsResource resource)Parameters
- logicalGroupNamestring
- Name of the logical group to bind to. 
- renderViewRenderView
- resourceGraphicsResource
ComputeDataArrayExpectedSize(DataType)
protected virtual int ComputeDataArrayExpectedSize(DataType type)Parameters
- typeDataType
Returns
CreateViewObjectNode(RenderView, RenderObject)
Creates a view object node during Extract phase.
public ViewObjectNodeReference CreateViewObjectNode(RenderView view, RenderObject renderObject)Parameters
- viewRenderView
- renderObjectRenderObject
Returns
- ViewObjectNodeReference
- The view object node reference. 
GetObjectNode(ObjectNodeReference)
Gets the object node from its reference.
public ObjectNode GetObjectNode(ObjectNodeReference reference)Parameters
- referenceObjectNodeReference
Returns
- ObjectNode
- The object node. 
GetRenderNode(RenderNodeReference)
Gets the render node from its reference.
public RenderNode GetRenderNode(RenderNodeReference reference)Parameters
- referenceRenderNodeReference
Returns
- RenderNode
- The render node. 
GetViewObjectNode(ViewObjectNodeReference)
Gets the view object node from its reference.
public ViewObjectNode GetViewObjectNode(ViewObjectNodeReference reference)Parameters
- referenceViewObjectNodeReference
Returns
- ViewObjectNode
- The view object node. 
OnAddRenderObject(RenderObject)
Called when a render object is added.
protected virtual void OnAddRenderObject(RenderObject renderObject)Parameters
- renderObjectRenderObject
OnRemoveRenderObject(RenderObject)
Called when a render object is removed.
protected virtual void OnRemoveRenderObject(RenderObject renderObject)Parameters
- renderObjectRenderObject
- The render object. 
PrepareDataArrays()
public void PrepareDataArrays()Reset()
public virtual void Reset()Unload()
public override void Unload()