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
-
RootRenderFeature
- 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
logicalGroupName
stringName of the logical group to bind to.
renderView
RenderViewresource
GraphicsResource
ComputeDataArrayExpectedSize(DataType)
protected virtual int ComputeDataArrayExpectedSize(DataType type)
Parameters
type
DataType
Returns
CreateViewObjectNode(RenderView, RenderObject)
Creates a view object node during Extract phase.
public ViewObjectNodeReference CreateViewObjectNode(RenderView view, RenderObject renderObject)
Parameters
view
RenderViewrenderObject
RenderObject
Returns
- ViewObjectNodeReference
The view object node reference.
GetObjectNode(ObjectNodeReference)
Gets the object node from its reference.
public ObjectNode GetObjectNode(ObjectNodeReference reference)
Parameters
reference
ObjectNodeReference
Returns
- ObjectNode
The object node.
GetRenderNode(RenderNodeReference)
Gets the render node from its reference.
public RenderNode GetRenderNode(RenderNodeReference reference)
Parameters
reference
RenderNodeReference
Returns
- RenderNode
The render node.
GetViewObjectNode(ViewObjectNodeReference)
Gets the view object node from its reference.
public ViewObjectNode GetViewObjectNode(ViewObjectNodeReference reference)
Parameters
reference
ViewObjectNodeReference
Returns
- ViewObjectNode
The view object node.
OnAddRenderObject(RenderObject)
Called when a render object is added.
protected virtual void OnAddRenderObject(RenderObject renderObject)
Parameters
renderObject
RenderObject
OnRemoveRenderObject(RenderObject)
Called when a render object is removed.
protected virtual void OnRemoveRenderObject(RenderObject renderObject)
Parameters
renderObject
RenderObjectThe render object.
PrepareDataArrays()
public void PrepareDataArrays()
Reset()
public virtual void Reset()
Unload()
public override void Unload()