abstract class Tinman.Demo.Tutorials._1_LowLevel.Tutorial_10_Tinman

Derived from

Tutorial abstract

Extended by


Full source code is included in the Tinman 3D SDK download.

Tinman 3D tutorial #10 : Tinman

This is the base class for tutorials that demonstrate how to use the Low-level Terrain API.

Protected / Methods


protected virtual method CreateGeometry → ()

returns → IGeometry

The terrain geometry to use or null to create one automatically, based on the metadata in the terrain heightmap.

Creates the terrain geometry.

The geometry object is responsible for computing terrain-space positions and vectors, based on heightmap coordinates and elevation values.


[EmptyBody] [OwnerReturn]
protected virtual method CreateGravity → ()

returns → IHeightmap

The gravity-model or null if none.

Creates the gravity-model to use for terrain elevation values.


protected virtual method CreateHeightmap → ()

returns → IHeightmap

The created heightmap.

Creates the terrain heightmap.

The heightmap provides the input terrain data that is used to generate the terrain mesh. It may also contain additional metadata, which is used to construct other objects like IGeometry and Geocentric automatically.


If an I/O error has occurred.


protected virtual method CreateModifier → ()

returns → IMeshModifier

The mesh modifier or null for none.

Creates the terrain mesh modifier.

A mesh modifier can be used to alter the terrain mesh vertices, for example to perform procedural displacement.


[EmptyBody] [OwnerReturn]
protected virtual method CreateStructureUpdater → ()

returns → IMeshStructureUpdater

The updater or null for none.

Creates the mesh structure updater.


protected abstract method CreateVertexArrays → ()

returns → VertexArrays

The vertex data arrays.

Creates the vertex data arrays.

The vertex data arrays store per-vertex data that is used by the CPU to build the terrain mesh and for performing spatial queries (e.g. picking).


[EmptyBody] [OwnerReturn]
protected virtual method CreateVertexUpdater → ()

returns → IVertexUpdater

The updater or null for none.

Creates the vertex data updater.


protected abstract method CreateVisibleCheck → ()

returns → IVisibleCheck

The visibility check.

Creates the per-vertex visibility check that is used for continuous level-of-detail refinement of the terrain mesh.


protected virtual method TriangulateTerrain → ()

Performs triangulation of the terrain.

When this method returns, the triangulationBuffer holds the result of the triangulation, possibly with an overflow (see TriangulationBuffer.HasOverflow).

The default implementation triangulates the whole terrain.

Protected / Attributes


protected attribute geocentric → (Geocentric)

The geocentric coordinate computations helper object.


protected attribute gravity → (IHeightmap)

The gravity model of the terrain data or null.


protected attribute mesh → (IMeshDynamic)

The terrain mesh.


protected attribute meshBuffer → (MeshBuffer)

The headless mesh buffer (no GPU resources).


protected attribute triangulationBuffer → (TriangulationBuffer)

The triangulation buffer.

Triangle batches for terrain mesh sectors can be extracted from the triangulation buffer, for example when exporting mesh data to 3rd party libraries.