public sealed class TerrainFactoryBuilds the terrain node kinds a compositor document names.
Remarks
PostEffectFactory's arrangement, for the ground. CompositorBuilder cannot switch on a type downstream of it, so a document naming !Terrain needs this registered on GraphicsOptions.Factories — in Game.OnConfigure, because the compositor is built before OnInitialise runs. Registering it is the whole installation: the host recognises the factory and wires Scene to the world's extraction bridge itself.
And the transformer that splices the caster. A document holding a !Terrain node and a !ShadowMap writing the atlas it samples gets a TerrainCasterRenderer inserted directly after the shadow node — the one place in the frame where the cascades are drawn and nothing has sampled them yet. Registered after PostEffectFactory, necessarily: transformers run in registration order, and this one has to see the expanded frame the !StandardFrame transform produced, not the preset that stands for it.
⚠ Vegetation is where a quality tier reaches the vegetation. The waterfall's asset lives in Vixen.Rendering.PostFx, which this project must not reference, so what crosses is plain numbers: a host that resolved a tier fills them, a document scalar out-votes them per field, and a host that fills nothing runs the defaults. AppGraphics performs that fill for a registered factory, which is what makes the budgets tier-driven in a shipped game rather than only in a test.
Fields and properties (2)
public TerrainSceneSource? SceneWhere the frame's terrains come from — the extraction bridge's list.
public TerrainVegetationQuality VegetationThe vegetation numbers the host's tier resolved to, for nodes that do not say.
Methods (2)
public GraphicsCompositorAsset Transform(GraphicsCompositorAsset document, CompositorBuilder builder)public SceneRenderer? Create(ISceneRendererAsset declared, CompositorBuilder builder)Builds the node for an asset, or null when this factory does not recognise it.
Used by (11)
- FrameDocumentTestsThirdPersonShooter.Frame.Tests
- FrameDocumentTestsPbrShowcase.Frame.Tests
- PbrShowcaseGamePbrShowcase
- ThirdPersonShooterGameThirdPersonShooter
- AppGraphicsVixen.App.Hosting
- TerrainCasterTestsVixen.Rendering.Terrain.Tests
- TerrainNodeTestsVixen.Rendering.Terrain.Tests
- TerrainVelocityTestsVixen.Rendering.Terrain.Tests
- AuthoredFrameGameVixen.App.Tests
- GroundGameVixen.App.Tests
- HostedRendererTestsVixen.App.Tests