public abstract class SubRenderFeatureOne aspect of a root feature's objects: transforms, skinning, instancing, materials.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The structural point of the whole arrangement. A sub-feature registers its own RenderDataHolder array and fills it, so adding skinning does not modify the mesh feature, does not add a field to RenderObject, and costs an object that is not skinned one unused slot rather than a branch.
This is extension by composition where most renderers use inheritance, and the difference shows when two aspects are wanted at once: a skinned, instanced, shadow-casting mesh is three sub-features over one object, where an inheritance hierarchy would need a class for the combination.
Fields and properties (2)
public abstract string NameThe sub-feature's name, for logging and profiling.
public RootRenderFeature? ParentThe root feature this contributes to.
Methods (4)
protected internal virtual void Initialize(RenderSystem system)Registers this sub-feature's per-object data. Called once.
protected internal virtual void Extract(RenderSystem system)Pulls this sub-feature's share of the scene into its arrays.
protected internal virtual void Prepare(RenderSystem system)Fills this sub-feature's data for the visible objects.
public override string ToString()Returns a string that represents the current object.
Used by (14)
- CompositorBuilderVixen.Rendering
- CountingSubFeatureVixen.Rendering.Tests
- ForwardLightingRenderFeatureVixen.Rendering
- InstancingRenderFeatureVixen.Rendering
- LodRenderFeatureVixen.Rendering
- MaterialRenderFeatureVixen.Rendering
- MeshRenderFeatureVixen.Rendering
- MotionVectorRenderFeatureVixen.Rendering
- RenderSystemVixen.Rendering
- RenderSystemTestsVixen.Rendering.Tests
- RootRenderFeatureVixen.Rendering
- SkinningRenderFeatureVixen.Rendering
- SpriteRenderFeatureVixen.Rendering
- TransformRenderFeatureVixen.Rendering