TerrainBufferFlags

Description

[Flags]
enum Tinman.Engine.Components.TerrainBufferFlags

Enumeration of terrain buffer flags.

Public / Constants

None

public constant None → (0:int32)

No terrain buffer flag.

Coverage

public constant Coverage → (1:int32)

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

public constant Coordinates → (2:int32)

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

public constant LevelOfDetail → (4:int32)

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

public constant Occlusion → (8:int32)

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.

Planting

public constant Planting → (16:int32)

Enable dynamic planting of geometry on terrain meshes?

See also

TerrainPlanting

Precision

public constant Precision → (32:int32)

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

public constant Deterministic → (64:int32)

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.

Default

public constant Default → (46:int32)

Default terrain buffer flags.

All

public constant All → (127:int32)

All terrain buffer flags.