This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::ObjectTerrain Class

Header:#include <UnigineObjects.h>
Inherits:Object

This class is used to create terrains. The terrain is rendered using grid-based surfaces, each of which has has a unique set of textures. The following textures are created automatically:

ObjectTerrain Class

Members


static ObjectTerrainPtr create()

Constructor. Creates a new terrain object with default properties.

static ObjectTerrainPtr create(const char * name)

Constructor. Creates a new terrain object from a given file.

Arguments

  • const char * name - Name of the terrain file.

Ptr<ObjectTerrain> cast(const Ptr<Node> & node)

Arguments

  • const Ptr<Node> & node

Ptr<ObjectTerrain> cast(const Ptr<Object> & base)

Arguments

  • const Ptr<Object> & base

Ptr<Texture> getAlbedoTexture()

Ptr<Texture> getAlbedoTextureArray()

void setAlbedoTextureArrayName(const char * name)

Arguments

  • const char * name

const char * getAlbedoTextureArrayName()

int setAlbedoTextureImage(const Ptr<Image> & image)

Arguments

  • const Ptr<Image> & image

int getAlbedoTextureImage(const Ptr<Image> & image)

Arguments

  • const Ptr<Image> & image

void setAlbedoTextureName(const char * name)

Arguments

  • const char * name

const char * getAlbedoTextureName()

void setHeight(int x, int y, float height)

Sets a new height for a given terrain point.

Arguments

  • int x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • int y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.
  • float height - Height, in units.

float getHeight(float x, float y)

Returns a height of a given terrain point.

Arguments

  • float x - X coordinate of the point. Can be either int (exact grid point) or float (interpolated height value between two points).
  • float y - Y coordinate of the point. Can be either int (exact grid point) or float (interpolated height value between two points).

Return value

Height.

float getHeight(float x, float y)

Arguments

  • float x
  • float y

int setHeights(int x, int y, const Ptr<Image> & image, float scale = 1.0f)

Imports a new height map for the terrain.

Arguments

  • int x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • int y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.
  • const Ptr<Image> & image - Height map. The following formats are acceptable: R8, RG8, RGB8, R16, R16F, R32F.
  • float scale - Height map scale.

Return value

Returns 1 if the height map is imported successfully; otherwise, 0.

int getHeights(int x, int y, int width, int height, const Ptr<Image> & image, int format, float scale = 1.0f)

Exports a height map into the R16 image. The sum of the X coordinate of the point on the terrain grid and the width of the exported image must be less than or equal to the maximum terrain width. The sum of the Y coordinate of the point on the terrain grid and the height of the exported image must be less than or equal to the maximum terrain length.

Arguments

  • int x - X coordinate of the point on the terrain grid.
  • int y - Y coordinate of the point on the terrain grid.
  • int width - Width of the exported image, in grid points.
  • int height - Height of the exported image, in grid points.
  • const Ptr<Image> & image - Image to export a height map into.
  • int format - Image format. The following formats are acceptable: R8, RG8, RGB8, R16, R16F, R32F.
  • float scale - Height map scale.

Return value

1 if the height map is exported successfully; otherwise, 0.

Ptr<Texture> getHeightTextureArray()

void setHeightTextureArrayName(const char * name)

Arguments

  • const char * name

const char * getHeightTextureArrayName()

void setHole(int x, int y, int hole)

Adds or removes a hole at a given terrain point.

Arguments

  • int x - X coordinate of the point on the terrain grid.
  • int y - Y coordinate of the point on the terrain grid.
  • int hole - 1 to add a hole; 0 to remove a hole.

int getHole(float x, float y)

Returns a value indicating if there is a hole at a given point.

Arguments

  • float x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • float y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.

Return value

1 if there is a hole at a given point; otherwise, 0.

int getHole(int x, int y)

Returns a value indicating if there is a hole at a given point.

Arguments

  • int x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • int y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.

Return value

1 if there is a hole at a given point; otherwise, 0.

int setHoles(int x, int y, const Ptr<Image> & image)

Imports a holes texture for the terrain.

Arguments

  • int x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • int y - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.
  • const Ptr<Image> & image - Holes texture. Only R8 format is acceptable.

Return value

1 if the holes texture is imported successfully; otherwise, 0.

int getHoles(int x, int y, int width, int height, const Ptr<Image> & image)

Exports a holes texture into the R8 image. The sum of the X coordinate of the point on the terrain grid and the width of the exported image must be less than or equal to the maximum terrain width. The sum of the Y coordinate of the point on the terrain grid and the height of the exported image must be less than or equal to the maximum terrain length.

Arguments

  • int x - X coordinate of the point on the terrain grid.
  • int y - Y coordinate of the point on the terrain grid.
  • int width - Width of the exported image, in grid points.
  • int height - Height of the exported image, in grid points.
  • const Ptr<Image> & image - Image to export a holes texture into.

Return value

1 if the holes texture is exported successfully; otherwise, 0.

int getIntersection(const Math::vec3 & p0, const Math::vec3 & p1, Math::vec3 * ret_point, Math::vec3 * ret_normal, Math::vec4 * ret_texcoord, int surface, int holes)

Performs the search for the intersection of the given terrain surface with the given traced line. Terrain local space coordinates are used for this function.

Arguments

  • const Math::vec3 & p0 - Start point coordinates.
  • const Math::vec3 & p1 - End point coordinates.
  • Math::vec3 * ret_point - Return array to write the intersection point coordinates into.
  • Math::vec3 * ret_normal - Return array to write the intersection point normal into.
  • Math::vec4 * ret_texcoord - Return array to write the intersection point texture coordinates into.
  • int surface - Number of the surface.
  • int holes - 0 is to return the intersection with a terrain even if it hits the hole; otherwise, 1.

Return value

1 if the intersection is found; otherwise - 0.

void setLayerEnabled(int layer, int enable)

Arguments

  • int layer
  • int enable

int getLayerEnabled(int layer)

Arguments

  • int layer

void setLayerName(int layer, const char * name)

Arguments

  • int layer
  • const char * name

const char * getLayerName(int layer)

Arguments

  • int layer

int isLoaded()

Returns a value indicating whether the terrain is loaded or not.

Return value

1 if the terrain is loaded successfully; otherwise, 0.

Math::vec3 getLocalPoint(const Math::Vec3 & position)

Arguments

  • const Math::Vec3 & position

void setLodDistance(float distance)

Sets the distance to the first level of detail. The default value is 2.0.

Arguments

  • float distance - Distance to the first LOD.

float getLodDistance()

Returns the distance to the first level of detail.

Return value

Distance to the first LOD.

void setLodProgression(float progression)

Sets the level of detail progression.

Arguments

  • float progression - LOD progression.

float getLodProgression()

Returns the level of detail progression.

Return value

LOD progression.

void setLodTerrainBottom(const Ptr<ObjectTerrain> & bottom)

Sets the new bottom LOD for the current terrain.

Arguments

  • const Ptr<ObjectTerrain> & bottom - Bottom LOD.

Ptr<ObjectTerrain> getLodTerrainBottom()

Returns the bottom LOD of the current terrain.

Return value

Bottom LOD.

void setLodTerrainLeft(const Ptr<ObjectTerrain> & left)

Sets the new left LOD for the current terrain.

Arguments

  • const Ptr<ObjectTerrain> & left - Left LOD.

Ptr<ObjectTerrain> getLodTerrainLeft()

Returns the left LOD of the current terrain.

Return value

Left LOD.

void setLodTerrainRight(const Ptr<ObjectTerrain> & right)

Sets the new right LOD for the current terrain.

Arguments

  • const Ptr<ObjectTerrain> & right - Right LOD.

Ptr<ObjectTerrain> getLodTerrainRight()

Returns the right LOD of the current terrain.

Return value

Right LOD.

void setLodTerrainTop(const Ptr<ObjectTerrain> & top)

Sets the new top LOD for the current terrain.

Arguments

  • const Ptr<ObjectTerrain> & top - Top LOD.

Ptr<ObjectTerrain> getLodTerrainTop()

Returns the top LOD of the current terrain.

Return value

Top LOD.

void setLodThreshold(float threshold, int force = 0)

Sets the level of detail height threshold.

Arguments

  • float threshold - LOD height threshold.
  • int force - Force flag. Terrain will load all height maps into the memory and will perform height map relaxation for the smooth LOD transition for the given threshold level.

float getLodThreshold()

Returns the level of detail height threshold.

Return value

LOD height threshold.

Ptr<Texture> getMaskTexture()

Returns the terrain mask texture.

Return value

Mask texture.

int setMaskTextureImage(const Ptr<Image> & image)

Sets a new terrain mask texture from a given image.

Arguments

  • const Ptr<Image> & image - Image.

Return value

1 if the texture has been set successfully; otherwise, 0.

int getMaskTextureImage(const Ptr<Image> & image)

Writes the current terrain mask texture into the given buffer.

Arguments

  • const Ptr<Image> & image - Image buffer to write a texture into.

Return value

1 if the texture has been successfully written into the buffer; otherwise, 0.

void setMaskTextureName(const char * name)

Sets the name of the terrain mask texture.

Arguments

  • const char * name - Texture name (path).

const char * getMaskTextureName()

Returns the name of the current terrain mask texture.

Return value

Texture name (path).

void setMaterialAlbedoColor(int layer, int material, const Math::vec4 & color)

Arguments

  • int layer
  • int material
  • const Math::vec4 & color

Math::vec4 getMaterialAlbedoColor(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialAlbedoScale(int layer, int material, float scale)

Arguments

  • int layer
  • int material
  • float scale

float getMaterialAlbedoScale(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialAlbedoTextureName(int layer, int material, const char * name)

Arguments

  • int layer
  • int material
  • const char * name

const char * getMaterialAlbedoTextureName(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialDetail(int layer, int material, int detail)

Arguments

  • int layer
  • int material
  • int detail

int getMaterialDetail(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialEnabled(int layer, int material, int enable)

Arguments

  • int layer
  • int material
  • int enable

int getMaterialEnabled(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialHeightTextureName(int layer, int material, const char * name)

Arguments

  • int layer
  • int material
  • const char * name

const char * getMaterialHeightTextureName(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialLayer(int layer, int material, int layer_target)

Arguments

  • int layer
  • int material
  • int layer_target

int getMaterialLayer(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialMaskThreshold(int layer, int material, float threshold)

Arguments

  • int layer
  • int material
  • float threshold

float getMaterialMaskThreshold(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialMaskValue(int layer, int material, float value)

Arguments

  • int layer
  • int material
  • float value

float getMaterialMaskValue(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialMaskWidth(int layer, int material, float width)

Arguments

  • int layer
  • int material
  • float width

float getMaterialMaskWidth(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialName(int layer, int material, const char * name)

Arguments

  • int layer
  • int material
  • const char * name

const char * getMaterialName(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialNormalScale(int layer, int material, float scale)

Arguments

  • int layer
  • int material
  • float scale

float getMaterialNormalScale(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialNormalTextureName(int layer, int material, const char * name)

Arguments

  • int layer
  • int material
  • const char * name

const char * getMaterialNormalTextureName(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialOverlap(int layer, int material, int overlap)

Arguments

  • int layer
  • int material
  • int overlap

int getMaterialOverlap(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialRoughness(int layer, int material, float roughness)

Arguments

  • int layer
  • int material
  • float roughness

float getMaterialRoughness(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialRoughnessScale(int layer, int material, float scale)

Arguments

  • int layer
  • int material
  • float scale

float getMaterialRoughnessScale(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialRoughnessTextureName(int layer, int material, const char * name)

Arguments

  • int layer
  • int material
  • const char * name

const char * getMaterialRoughnessTextureName(int layer, int material)

Arguments

  • int layer
  • int material

void setMaterialTransform(int layer, int material, const Math::vec4 & transform)

Arguments

  • int layer
  • int material
  • const Math::vec4 & transform

Math::vec4 getMaterialTransform(int layer, int material)

Arguments

  • int layer
  • int material

Math::vec3 getNormal(float x, float y)

Returns a normal vector for a given terrain point.

Arguments

  • float x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • float y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.

Return value

Normal vector.

Math::vec3 getNormal(int x, int y)

Returns a normal vector for a given terrain point.

Arguments

  • int x - X coordinate of the point on the terrain grid in range from 0 to the maximum terrain width.
  • int y - Y coordinate of the point on the terrain grid in range from 0 to the maximum terrain length.

Return value

Normal vector.

int getNormals(int x, int y, int width, int height, const Ptr<Image> & image)

Exports a normal map into the RG8 image. The sum of the X coordinate of the point on the terrain grid and the width of the exported image must be less than or equal to the maximum terrain width. The sum of the Y coordinate of the point on the terrain grid and the height of the exported image must be less than or equal to the maximum terrain length.

Arguments

  • int x - X coordinate of the point on the terrain grid.
  • int y - Y coordinate of the point on the terrain grid.
  • int width - Width of the exported image, in grid points.
  • int height - Height of the exported image, in grid points.
  • const Ptr<Image> & image - Image to export a normal map into.

Return value

1 if the normal map is exported successfully; otherwise, 0.

Ptr<Texture> getNormalTexture()

Returns the terrain normal texture.

Return value

Normal texture.

Ptr<Texture> getNormalTextureArray()

Returns the normal textures array.

Return value

Normal textures array.

void setNormalTextureArrayName(const char * name)

Sets the new name of the normal textures array.

Arguments

  • const char * name - Name of the array.

const char * getNormalTextureArrayName()

Returns the name of the normal textures array.

Return value

Name of the array.

int setNormalTextureImage(const Ptr<Image> & image)

Sets a new terrain normal texture from a given image.

Arguments

  • const Ptr<Image> & image - Image.

Return value

1 if the texture has been set successfully; otherwise, 0.

int getNormalTextureImage(const Ptr<Image> & image)

Writes the current terrain normal texture into the given buffer.

Arguments

  • const Ptr<Image> & image - Image buffer to write a texture into.

Return value

1 if the texture has been successfully written into the buffer; otherwise, 0.

void setNormalTextureName(const char * name)

Sets the name of the terrain normal texture.

Arguments

  • const char * name - Texture name (path).

const char * getNormalTextureName()

Returns the name of the current terrain normal texture.

Return value

Texture name (path).

int getNumAllMaterials()

int getNumLayers()

int getNumMaterials(int layer)

Returns the total number of materials assigned to the terrain.

Arguments

  • int layer

Return value

Number of materials.

void setShadowDistance(float distance)

Sets the distance up to which the terrain relief casts shadows.

Arguments

  • float distance - Shadow distance, in units.

float getShadowDistance()

Returns the distance up to which the terrain relief casts shadows.

Return value

Shadow distance, in units.

void setShadowRadius(float radius)

Sets the distance to draw additional terrain polygons outside the view frustum. This option allows to eliminate popping of shadows at the edges of the screen when the camera is turning. The default is 0.

Arguments

  • float radius - Shadow radius, in units. If a negative value is provided, 0 will be used instead.

float getShadowRadius()

Returns the distance to draw additional terrain polygons outside the view frustum. This option allows to eliminate popping of shadows at the edges of the screen when the camera is turning.

Return value

Shadow radius, in units.

int getSizeX()

Returns the terrain width along the X axis, in grid cells.

Return value

Terrain width.

int getSizeY()

Returns the terrain length along the Y axis, in grid cells.

Return value

Terrain length.

float getStep()

Returns the linear size of a grid cell, in units.

Return value

Cell size.

Ptr<Texture> getSurfaceAlbedoTexture(int x, int y)

Arguments

  • int x
  • int y

int setSurfaceAlbedoTextureImage(int x, int y, const Ptr<Image> & image)

Arguments

  • int x
  • int y
  • const Ptr<Image> & image

int getSurfaceAlbedoTextureImage(int x, int y, const Ptr<Image> & image)

Arguments

  • int x
  • int y
  • const Ptr<Image> & image

void setSurfaceAlbedoTextureName(int x, int y, const char * name)

Arguments

  • int x
  • int y
  • const char * name

const char * getSurfaceAlbedoTextureName(int x, int y)

Arguments

  • int x
  • int y

BoundBox getSurfaceBoundBox(int x, int y)

Returns the bounding box of the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Bounding box.

BoundSphere getSurfaceBoundSphere(int x, int y)

Returns the bounding sphere of the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Bounding sphere.

void setSurfaceCastShadow(int x, int y, int cast_shadow)

Sets a value indicating whether terrain geometry across the current surface should cast shadows (from all types of light sources).

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • int cast_shadow - Cast shadow flag. 1 to cast shadows; 0 not to cast shadows.

int isSurfaceCastShadow(int x, int y)

Returns a value indicating whether terrain geometry across the current surface should cast shadows (from all types of light sources).

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

1 if the surface casts shadows; otherwise, 0.

void setSurfaceEnabled(int x, int y, int enabled)

Sets a value indicating whether a specified surface is enabled or disabled for rendering.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • int enabled - Enabled flag. 1 to enable the surface; 0 to disable it.

int isSurfaceEnabled(int x, int y)

Returns a value indicating whether a specified surface is enabled or disabled for rendering.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

1 if the surface is enabled; otherwise, 0.

void setSurfaceLodThreshold(int x, int y, float threshold, int force = 0)

Sets the height threshold value for the LOD of the given surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • float threshold - Threshold value of the surface LOD.
  • int force - Force flag. The terrain will load all height maps into the memory and will perform a height map relaxation for the smooth LOD transition for the given threshold level.

float getSurfaceLodThreshold(int x, int y)

Returns the height threshold value for the LOD of the given surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Threshold value.

Ptr<Texture> getSurfaceMaskTexture(int x, int y)

Returns the mask texture of the surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Mask texture.

int setSurfaceMaskTextureImage(int x, int y, const Ptr<Image> & image)

Imports a mask texture for the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const Ptr<Image> & image - Mask texture.

Return value

1 if the surface mask texture was successfully set; otherwise, 0.

int getSurfaceMaskTextureImage(int x, int y, const Ptr<Image> & image)

Exports a mask texture of the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const Ptr<Image> & image - Image to export the texture into.

Return value

1 if the export was successful; otherwise, 0.

void setSurfaceMaskTextureName(int x, int y, const char * name)

Sets a mask texture name for the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const char * name - Texture name (path).

const char * getSurfaceMaskTextureName(int x, int y)

Returns a name of the mask texture for the given surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Texture name (path).

Ptr<Texture> getSurfaceNormalTexture(int x, int y)

Returns the normal texture of the surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Normal texture.

int setSurfaceNormalTextureImage(int x, int y, const Ptr<Image> & image)

Imports a normal texture for the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const Ptr<Image> & image - Normal texture.

Return value

1 if the surface normal map was successfully set; otherwise, 0.

int getSurfaceNormalTextureImage(int x, int y, const Ptr<Image> & image)

Exports a normal texture of the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const Ptr<Image> & image - Image to export a texture into.

Return value

1 if the export was successful; otherwise, 0.

void setSurfaceNormalTextureName(int x, int y, const char * name)

Sets a normal texture name for the specified surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.
  • const char * name - Texture name (path).

const char * getSurfaceNormalTextureName(int x, int y)

Returns a name of the normal texture for the given surface.

Arguments

  • int x - Number of the surface along the X axis.
  • int y - Number of the surface along the Y axis.

Return value

Texture name (path).

int getSurfacesX()

Returns the number of surfaces along the X axis.

Return value

Number of surfaces.

int getSurfacesY()

Returns the number of surfaces along the Y axis.

Return value

Number of surfaces.

void setTerrainName(const char * name)

Sets the new terrain name.

Arguments

  • const char * name - Terrain name (path to the .TER file).

const char * getTerrainName()

Returns the current terrain name.

Return value

Terrain name (path to the .TER file).

int getTopologyData(float x, float y, Math::vec3 & point, Math::vec3 & normal, Math::vec3 & up, int force = 0)

Arguments

  • float x
  • float y
  • Math::vec3 & point
  • Math::vec3 & normal
  • Math::vec3 & up
  • int force

void setVisibleDistance(float distance)

Sets the distance up to which terrain is rendered.

Arguments

  • float distance - Visibility distance, in units.

float getVisibleDistance()

Returns the distance up to which terrain is rendered.

Return value

Visibility distance, in units.

float getWorldHeight(const Math::Vec3 & position)

Arguments

  • const Math::Vec3 & position

int addLayer(const char * name)

Arguments

  • const char * name

int addMaterial(int layer, const char * name)

Arguments

  • int layer
  • const char * name

void allocateLayers(int num)

Arguments

  • int num

void allocateMaterials(int layer, int num)

Arguments

  • int layer
  • int num

int cloneLayer(int layer)

Arguments

  • int layer

int cloneMaterial(int layer, int material)

Arguments

  • int layer
  • int material

int create(int size_x, int size_y, float step)

Creates a new terrain with the specified step from a loaded height map.

Arguments

  • int size_x - Terrain width in grid cells along the X axis in range [257;32679], in units.
  • int size_y - Terrain length in grid cells along the Y axis in range [257;32679], in units.
  • float step - Step of terrain grid cell in units.

Return value

Returns 1 if the terrain is created successfully; otherwise, 0.

int create(const Ptr<Image> & image, float step, float scale = 1.0f)

Creates a new terrain with the specified step from a loaded height map.

Arguments

  • const Ptr<Image> & image - Pointer to a height map.
  • float step - A step of the terrain grid cell, in units.
  • float scale - The maximum height value, in units.

Return value

Returns 1 if the terrain is created successfully; otherwise, 0.

int loadHeights(const BoundSphere & bs, const BoundBox & bb, int force = 0)

Sets a diffuse texture name for the specified layer.

Arguments

  • const BoundSphere & bs - Bounding sphere (terrain-relative coordinate system).
  • const BoundBox & bb - Bounding box (terrain-relative coordinate system).
  • int force - Force data loading with possible stall.

int loadTerrain(const char * name)

Loads a terrain from a file.

Arguments

  • const char * name - Path to the terrain file (*.ter).

Return value

1 if the terrain is loaded successfully; otherwise, 0.

void removeLayer(int layer)

Arguments

  • int layer

void removeMaterial(int layer, int material)

Arguments

  • int layer
  • int material

int saveTerrain(const char * name, int force = 0)

Saves the terrain.

Arguments

  • const char * name - Path to the terrain file (*.ter).
  • int force - Force flag. Use 1 to save the terrain file in any case or 0 to save the terrain file if changes were made.

Return value

1 if the terrain is saved successfully; otherwise, 0.

void swapLayer(int layer_0, int layer_1)

Arguments

  • int layer_0
  • int layer_1

void swapMaterial(int layer_0, int material_0, int layer_1, int material_1)

Arguments

  • int layer_0
  • int material_0
  • int layer_1
  • int material_1

int type()

Last update: 2017-07-03
Build: ()