Vixen
02b45cc4
csharp
public sealed class AssetTerrainTextures

A terrain's layer textures, out of the asset system.

Read the guide page for this →

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 Unparsed

    How 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.