Vixen
caa30e12
csharp
public sealed class TerrainFactory

Builds the terrain node kinds a compositor document names.

Read the guide page for this →

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? Scene

    Where the frame's terrains come from — the extraction bridge's list.

  • public TerrainVegetationQuality Vegetation

    The vegetation numbers the host's tier resolved to, for nodes that do not say.

Methods (2)

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