Vixen
02b45cc4
csharp
public interface IPermutationSubFeature

A sub-feature that decides part of which shader variant its objects need.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Skinning and instancing are not material settings — a mesh is skinned because it has a skeleton, not because an artist ticked a box — yet both change which shader has to be compiled. This is how a sub-feature says so without MaterialRenderFeature knowing that either exists.

Booleans only, and that is a real limit rather than an oversight: a permutation with more than two states multiplies the cache by more than two, and every case that has come up so far — skinned, instanced, shadow-receiving — is a flag. An integer permutation like a light-count bucket belongs on the material, where a human chose it.

Fields and properties (1)

  • IReadOnlyList<PermutationKey<bool>> PermutationKeys

    The permutation keys this sub-feature decides.

Methods (1)

Used by (5)

  • ForwardLightingRenderFeatureVixen.Rendering
  • InstancingRenderFeatureVixen.Rendering
  • MaterialRenderFeatureVixen.Rendering
  • SkinningRenderFeatureVixen.Rendering
  • TransformRenderFeatureVixen.Rendering