public interface ITerrainTexturesWhat turns a layer's texture reference into something the splat loop can sample.
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