public interface IPermutationSubFeatureA 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>> PermutationKeysThe permutation keys this sub-feature decides.
Methods (1)
bool ValueOf(RenderSystem system, RenderObjectId id, int index)This sub-feature's value for one object and one of its keys.
Used by (5)
- ForwardLightingRenderFeatureVixen.Rendering
- InstancingRenderFeatureVixen.Rendering
- MaterialRenderFeatureVixen.Rendering
- SkinningRenderFeatureVixen.Rendering
- TransformRenderFeatureVixen.Rendering