TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

interface IHeightmapBuffer in Tinman.Terrain.Heightmaps

interface IHeightmapBuffer extends IHeightmapLayers
  base of HeightmapRegion
  HeightmapSamples

Attributes

LayerMask

The mask of heightmap layers this object uses.

property LayerMask { get }
type HeightmapLayer
value Bitwise combination of HeightmapLayer values.
inherited IHeightmapLayers.LayerMask

Remarks:

These heightmap layers store actual terrain data:

Missing data is represented with the Coverage layer. It describes how much information is present in a stored heightmap sample. The semantics of coverage with heightmap samples is the same as premultiplied alpha with texture samples. A LayerMask without Coverage means that all samples are fully solid. If a LayerMask contains the Coverage layer but no others, the coverage values are used to represent 'holes' in the terrain (e.g. creating holes for caves, tunnels, etc.).

Methods

AddLayers

Adds the given heightmap layers this buffer.

method AddLayers (HeightmapLayer layers)
params layers The set of heightmap layers this buffer shall be able to store.

GetAt

Returns a single heightmap sample.

[Pure]
method GetAt (int32 offset)
type HeightmapSample
params offset [>=0] The heightmap sample offset.
returns The heightmap sample value.

Remarks:

The maximum valid sample offset is defined by the implementing class.

SetAt

Sets a single heightmap sample.

method SetAt (int32 offset, HeightmapSample sample, HeightmapLayer layers = HeightmapLayer.All)
params offset [>=0] The heightmap sample offset.
  sample The heightmap sample value.
  layers The heightmap layers to set. Defaults to All.

Remarks:

Passing a heightmap sample with partial coverage to a buffer that does not contain the Coverage layer will result in that layer being added to this buffer via a call to AddLayers.

The maximum valid sample offset is defined by the implementing class.