Vixen
02b45cc4
csharp
public abstract class SubRenderFeature

One 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 Name

    The sub-feature's name, for logging and profiling.

  • public RootRenderFeature? Parent

    The 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