Vixen
02b45cc4
csharp
public interface ITerrainTextures

What turns a layer's texture reference into something the splat loop can sample.

Read the guide page for this →

Remarks

[docs/plan/31 § T4]'s owed seam. A .vxlayer names its albedo, its normal and its surface map as strings, because a layer is content and a reference in content is a name. Turning a name into a TextureViewHandle is the asset database's job, and a renderer that did it would need one in a class whose job is a draw call — the same division FoliageDraw makes for meshes.

⚠ It answers with a handle or with nothing, and never blocks. A layer's texture is resolved during Upload, which is on the frame's critical path; a source that loaded from disk on demand would make the first frame after a layer was assigned drop whatever the load took. Returning for something not yet resident is what lets the renderer bind its own default and try again next frame.

⚠ And it is asked again whenever the layer list changes, not once. A layer's texture is assigned in a panel, and a source that was consulted at construction would show the default for ever.

Methods (1)

  • TextureViewHandle Resolve(string reference)

    The view a reference names, or if there is not one.

Used by (3)

  • AssetTerrainTexturesVixen.Engine.Renderer
  • SourceVixen.Rendering.Terrain.Tests
  • TerrainRendererVixen.Rendering.Terrain