public sealed class AssetTerrainTexturesA terrain's layer textures, out of the asset system.
Remarks
ITerrainTextures's implementation, which the interface has been waiting for. A .vxlayer names its albedo and its surface map as vx: references; AssetTextureSource already knows how to turn one of those into a resident view, decoding off the frame's thread and answering nothing until the bytes are there. All this adds is the parse.
⚠ A reference that does not parse is answered with nothing rather than thrown on. Every layer of every terrain is resolved during Upload, which is inside the frame; a layer somebody typed a path into instead of dropping an asset onto would take the level down. What it does instead is draw as the renderer's white default, which is the same thing a layer with no texture yet looks like — and the layer list in the panel is where the reference is visible.
⚠ The same source as the materials, not one of its own. A terrain layer and a mesh material naming the same rock texture must be one upload; two sources would be two copies of every ground texture in the level, which on a terrain with sixteen layers is the largest avoidable allocation in a frame.
Fields and properties (1)
public int UnparsedHow many references have been asked for that did not parse.
Methods (2)
public AssetTerrainTextures(AssetTextureSource source)Resolves layer references through a texture source.
public TextureViewHandle Resolve(string reference)The view a reference names, or if there is not one.