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 RenderData
Field Value
RenderObjects
List of RenderObject initialized with this root render feature.
public List<RenderObject> RenderObjects
Field 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
logicalGroupNamestringName of the logical group to bind to.
renderViewRenderViewresourceGraphicsResource
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
viewRenderViewrenderObjectRenderObject
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
renderObjectRenderObjectThe render object.
PrepareDataArrays()
public void PrepareDataArrays()
Reset()
public virtual void Reset()
Unload()
public override void Unload()