TerrainBufferFlags
Public / Constants
Coverage
Use coverage to create holes in the terrain surface?
When this flag is omitted, the terrain heightmap is assumed to have full coverage everywhere. If present, heightmap samples with HeightmapLayer.Coverage values less than 50% will be treated as HeightmapSample.Void, which creates holes in the terrain surface (i.e. missing geometry). All other heightmap samples will be scaled to 100% coverage.
Coordinates
Enable per-vertex heightmap coordinates?
When this flag is present, GPU vertex data will include heightmap coordinates in low- or high-precision (see Precision), which is required for terrain decals (see TerrainDecal) and texture layers (see TerrainLayerType.Texture).
LevelOfDetail
Enable per-vertex level-of-detail computations?
This flag will enable per-vertex blending on the GPU based on the screen-space level-of-detail (e.g. to remove normal vector artefacts) and the light-based error metric for mesh refinement (see ScreenVisibleCheck.LightScale).
Occlusion
Enable per-vertex ambient occlusion?
This flag will enable computation of ambient occlusion values, which will be put into the alpha channel of each vertex in the GPU vertex buffer.
Precision
Need high-precision vertex positions and heightmap coordinates?
As a rule of thumb, high-precision is required for terrain meshes that have a heightmap size of 2^24+1=16777217
, or greater.
Deterministic
This is a helper for enabling deterministic mode for CLOD mesh refinement.
When this flag is present, the MeshBuffer.CycleLimit method will be called (passing 0) once, right after creation of the MeshBuffer object.