public enum MaterialFeatureStageWhen a feature has to run, relative to the features that read what it writes.
Remarks
The chain has exactly one ordering rule and this is it. Every feature in the library but one reads d.uv and writes a channel, so the order those run in is the author's business and nothing here has an opinion — CompositeSurface calls its eight slots in the order MaterialCompiler filled them, which is the order the material's Features list happens to be in.
⚠ A feature that writes the coordinate inverts that, and the failure is a plausible frame. Parallax occlusion reads d.uv and writes it back displaced; placed third, it displaces the coordinate the two features before it already sampled at, so half the material is parallaxed and half is not — no device reports anything, and the surface merely looks wrong in a way that gets blamed on the map. See #1065, which is the feature this was written ahead of.
Written before the first feature that needs it, deliberately. A rule added after the feature is a rule the feature was already shipped without.
Fields and properties (2)
CoordinateRewrites the coordinate the rest of the chain samples at, so it runs before them.
SurfaceContributes to the surface at the coordinate it was handed. Every feature today.
Used by (8)
- DisplaceFeatureVixen.Rendering.Tests
- IMaterialFeatureVixen.Rendering
- MaterialBaseSurfaceTestsVixen.Rendering.Tests
- MaterialCompilerVixen.Rendering
- MaterialFeatureOrderTestsVixen.Rendering.Tests
- ParallaxOcclusionFeatureVixen.Rendering
- TileFeatureVixen.Rendering.Tests
- TypeRegistrationVixen.Rendering