ObjectTerrain Class
Interface for object terrain handling. See also the UnigineScript analog.
To use this class, include the UnigineObjectTerrain.h file.
ObjectTerrain Class
Members
ObjectTerrain ()
Constructor. Creates a new terrain object with default properties.ObjectTerrain (const char * name)
Constructor. Creates a new terrain object from a given file.Arguments
- const char * name - Name of the terrain file.
int getSurfaceIndexTextureImage (int x, int y, const Ptr<Image> & image)
Exports an index 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 setShadowDistance (float distance)
Sets the distance up to which the terrain relief casts shadows.Arguments
- float distance - Shadow distance, in units.
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.void setMaterialDiffuseScale (int num, float scale)
Sets the visibility scale of a diffuse texture assigned to the specified detail material. The default is 0.5.Arguments
- int num - Material number.
- float scale - Visibility scale value. The provided value is saturated in range [0.0;1.0].
int setSurfaceIndexTextureImage (int x, int y, const Ptr<Image> & image)
Imports an index 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 - Index texture.
Return value
1 if the texture has been set successfully; otherwise - 0.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 setMaterialSpecularScale (int num, float scale)
Sets the visibility scale of a specular texture assigned to the specified detail material. The default is 0.5.Arguments
- int num - Material number.
- float scale - Visibility scale value. The provided value is saturated in range [0.0;1.0].
float getMaterialSpecularScale (int num)
Returns the visibility scale of a specular texture assigned to the specified detail material.Arguments
- int num - Material number.
Return value
Visibility scale value.void setLodTerrainTop (const Ptr<ObjectTerrain> & top)
Sets the new top LOD for the current terrain.Arguments
- const Ptr<ObjectTerrain> & top - Top LOD.
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.Ptr<ObjectTerrain> getLodTerrainLeft ()
Returns the left LOD of the current terrain.Return value
Left LOD.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.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.void setSurfaceIndexTextureName (int x, int y, const char * name)
Sets a name of the index 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 char * name - Texture name (path).
float getLodProgression ()
Returns the level of detail progression.Return value
LOD progression.const char * getSpecularTextureArrayName ()
Returns the name of the specular textures array.Return value
Name of the array.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.float getLodThreshold ()
Returns the level of detail height threshold.Return value
LOD height threshold.void setMaterialSpecularTextureName (int num, const char * name)
Sets a specular texture name for the specified detail material.Arguments
- int num - Material number.
- const char * name - Specular texture name (path).
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 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.
void setTerrainName (const char * name)
Sets the new terrain name.Arguments
- const char * name - Terrain name (path to the .TER file).
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.Ptr<ObjectTerrain> getLodTerrainRight ()
Returns the right LOD of the current terrain.Return value
Right LOD.void setDiffuseTextureName (const char * name)
Sets the name of the terrain diffuse texture.Arguments
- const char * name - Texture name (path).
const char * getSurfaceIndexTextureName (int x, int y)
Returns a name of the index 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).void removeMaterial (int num)
Removes the specified detail material.Arguments
- int num - Material number.
const char * getNormalTextureName ()
Returns the name of the current terrain normal texture.Return value
Texture name (path).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.void setNormalTextureName (const char * name)
Sets the name of the terrain normal texture.Arguments
- const char * name - Texture name (path).
void setIndexTextureName (const char * name)
Sets the name of the terrain index texture.Arguments
- const char * name - Texture name (path).
void setSurfaceDiffuseTextureName (int x, int y, const char * name)
Sets a diffuse 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).
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 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.void setVisibleDistance (float distance)
Sets the distance up to which terrain is rendered.Arguments
- float distance - Visibility distance, in units.
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.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.Ptr<ObjectTerrain> getLodTerrainBottom ()
Returns the bottom LOD of the current terrain.Return value
Bottom LOD.float getShadowDistance ()
Returns the distance up to which the terrain relief casts shadows.Return value
Shadow distance, in units.Ptr<ObjectTerrain> getLodTerrainTop ()
Returns the top LOD of the current terrain.Return value
Top LOD.Ptr<Texture> getNormalTextureArray ()
Returns the normal textures array.Return value
Normal textures array.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 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.
float getLodDistance ()
Returns the distance to the first level of detail.Return value
Distance to the first LOD.Ptr<Texture> getNormalTexture ()
Returns the terrain normal texture.Return value
Normal texture.int getSurfaceDiffuseTextureImage (int x, int y, const Ptr<Image> & image)
Exports a diffuse 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.int setSurfaceDiffuseTextureImage (int x, int y, const Ptr<Image> & image)
Imports a diffuse 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 - Diffuse texture.
Return value
1 if the surface diffuse texture was successfully set; otherwise, 0.void setMaterialNormalTextureName (int num, const char * name)
Sets a normal map name for the specified detail material.Arguments
- int num - Material number.
- const char * name - Normal map name (path).
void setMaterialMaskValue (int num, float value)
Sets the new spread of a detail material in accordance with the mask. By 0 the material is rendered everywhere; by 1, it is not rendered.Arguments
- int num - Material number.
- float value - Spread value.
float getMaterialMaskValue (int num)
Returns the spread of a detail material according to the mask. By 0 the material is rendered everywhere; by 1, it is not rendered. The default is 0.5.Arguments
- int num - Material number.
Return value
Spread value.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).
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 setIndexTextureImage (const Ptr<Image> & image)
Sets a new terrain index texture from a given image.Arguments
- const Ptr<Image> & image - Image.
Return value
1 if the texture has been set successfully; otherwise, 0.void setLodProgression (float progression)
Sets the level of detail progression.Arguments
- float progression - LOD progression.
void setMaterialMaskWidth (int num, float width)
Sets the new width of a detail material in accordance with the mask.Arguments
- int num - Material number.
- float width - Width value.
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.float getMaterialMaskWidth (int num)
Returns the width of a detail material according to the mask.Arguments
- int num - Material number.
Return value
Width value.float getMaterialMaskThreshold (int num)
Returns the blending threshold that controls the smoothness of blending for detail material edges. By 0 there is no blending at all; by 1, the blended area is at its maximum size. The default is 0.5.Arguments
- int num - Material number.
Return value
Threshold value.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 getDiffuseTextureImage (const Ptr<Image> & image)
Writes the current terrain diffuse texture into the given buffer.Arguments
- const Ptr<Image> & image - Image.
Return value
1 if the texture has been successfully written into the buffer; 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.Ptr<Texture> getIndexTexture ()
Returns the terrain index texture.Return value
Index texture.Math::vec4 getMaterialTransform (int num)
Returns the texture coordinate transformations for detail material textures.Arguments
- int num - Material number.
Return value
Texture coordinates transformation of material textures (tile and offset).Ptr<Texture> getDiffuseTextureArray ()
Returns the diffuse textures array.Return value
Diffuse textures array.float getHeight (int x, int y)
Returns the current height of 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
Height, in units.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.const char * getNormalTextureArrayName ()
Returns the name of the normal textures array.Return value
Name of the array.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.const char * getDiffuseTextureName ()
Returns the name of the current terrain diffuse texture.Return value
Texture name (path).void setDiffuseTextureArrayName (const char * name)
Sets the new name of the diffuse textures array.Arguments
- const char * name - Name of the array.
int create (const Ptr<Image> & image, float step, float scale = 1.0f)
ObjectTerrain constructor.Arguments
- const Ptr<Image> & image - Terrain width in grid cells along the X axis in range [257;32679], in units.
- float step - Terrain length in grid cells along the Y axis in range [257;32679], in units.
- float scale - Step of the terrain grid cell, in units.
Return value
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.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.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.float getVisibleDistance ()
Returns the distance up to which terrain is rendered.Return value
Visibility distance, in units.void setLodTerrainLeft (const Ptr<ObjectTerrain> & left)
Sets the new left LOD for the current terrain.Arguments
- const Ptr<ObjectTerrain> & left - Left LOD.
int create (int size_x, int size_y, float step)
ObjectTerrain constructor.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 the terrain grid cell, in units.
Return value
Ptr<Texture> getSurfaceIndexTexture (int x, int y)
Returns the index 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
Index texture.const char * getMaterialSpecularTextureName (int num)
Returns the specular texture name of the specified detail material.Arguments
- int num - Material number.
Return value
Specular 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.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.
int getMaterialParent (int num)
Returns the number of a parent material.Arguments
- int num - Material number.
Return value
Parent material number.int addMaterial (const char * name)
Adds a material to the terrain.Arguments
- const char * name - Material name.
Return value
Number of the added material.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.const char * getMaterialNormalTextureName (int num)
Returns the normal map name of the specified detail material.Arguments
- int num - Material number.
Return value
Normal map name (path).void setMaterialMaskBase (int num, int base)
Sets the mask base parameter.Arguments
- int num - Material number.
- int base - Mask base parameter.
const char * getMaterialDiffuseTextureName (int num)
Returns the name of the diffuse texture of the specified detail material.Arguments
- int num - Material number.
Return value
Diffuse texture name (path).int getSizeY ()
Returns the terrain length along the Y axis, in grid cells.Return value
Terrain length.int getPoint (float x, float y, float & height, Math::vec3 & normal)
Searches for a given point on the terrain grid.Arguments
- float x - X coordinate of the point on the terrain grid.
- float y - Y coordinate of the point on the terrain grid.
- float & height - Height of the point.
- Math::vec3 & normal - Normal vector.
Return value
1 if the point is found; 0 if the given point is a hole or it is out of the terrain.int getSurfacesX ()
Returns the number of surfaces along the X axis.Return value
Number of surfaces.const char * getSurfaceDiffuseTextureName (int x, int y)
Returns a name of the diffuse 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).float getStep ()
Returns the linear size of a grid cell, in units.Return value
Cell size.float getMaterialDiffuseScale (int num)
Returns the visibility scale of a diffuse texture assigned to the specified detail material.Arguments
- int num - Material number.
Return value
Visibility scale value.const char * getMaskTextureName ()
Returns the name of the current terrain mask texture.Return value
Texture name (path).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.
void setMaterialOverlap (int num, int overlap)
Sets the new overlap detail material for the given material.Arguments
- int num - Material number.
- int overlap - Overlap detail material number.
int getSurfacesY ()
Returns the number of surfaces along the Y axis.Return value
Number of surfaces.void setMaterialParent (int num, int parent)
Sets the new parent material for the given material.Arguments
- int num - Material number.
- int parent - Parent material number.
void setLodTerrainBottom (const Ptr<ObjectTerrain> & bottom)
Sets the new bottom LOD for the current terrain.Arguments
- const Ptr<ObjectTerrain> & bottom - Bottom LOD.
Ptr<Texture> getSurfaceDiffuseTexture (int x, int y)
Returns the diffuse 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
Diffuse texture.void setSpecularTextureArrayName (const char * name)
Sets the new name of the specular textures array.Arguments
- const char * name - Name of the array.
int getMaterialOverlap (int num)
Returns the number indicating if the Overlap mode is enabled for the given material.Arguments
- int num - Material number.
Return value
1 if the Overlap mode is enabled, otherwise - 0.const char * getMaterialName (int num)
Returns the name of the specified material.Arguments
- int num - Material number.
Return value
Material name.float getMaterialNormalScale (int num)
Returns the normal map name of the specified detail material.Arguments
- int num - Material number.
Return value
Visibility scale.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.Ptr<Texture> getSpecularTextureArray ()
Returns the specular textures array.Return value
Specular textures array.int getNumMaterials ()
Returns the total number of materials assigned to the terrain.Return value
Number of materials.void setMaterialMaskThreshold (int num, float threshold)
Sets the new blending threshold that controls the smoothness of blending for detail material edges. By 0 there is no blending at all; by 1, the blended area is at its maximum size.Arguments
- int num - Material number.
- float threshold - Threshold value.
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).void setMaterialTransform (int num, const Math::vec4 & transform)
Sets the texture coordinate transformations for detail material textures.Arguments
- int num - Material number.
- const Math::vec4 & transform - Texture coordinates transformation (tile and offset).
const char * getTerrainName ()
Returns the current terrain name.Return value
Terrain name (path to the .TER file).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.int loadHeights (const BoundSphere & bs, const BoundBox & bb, int force = 0)
Loads the specified terrain region into the memory.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.
Return value
void setMaterialDiffuseTextureName (int num, const char * name)
Sets a diffuse texture name for the specified detail material.Arguments
- int num - Material number.
- const char * name - Diffuse texture name (path).
const char * getDiffuseTextureArrayName ()
Returns the name of the diffuse textures array.Return value
Name of the array.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.
void setNumMaterials (int materials)
Adds the specified number of materials to the terrain.Arguments
- int materials - Material number.
int setDiffuseTextureImage (const Ptr<Image> & image)
Sets a new terrain diffuse texture from a given image.Arguments
- const Ptr<Image> & image - Image buffer to write a texture into.
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 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).
Ptr<Texture> getDiffuseTexture ()
Returns the terrain diffuse texture.Return value
Diffuse texture.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 getHeight (float x, float y)
Returns the current height of 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
Height, in units.int getSizeX ()
Returns the terrain width along the X axis, in grid cells.Return value
Terrain width.void setMaskTextureName (const char * name)
Sets the name of the terrain mask texture.Arguments
- const char * name - Texture name (path).
void setMaterialName (int num, const char * name)
Sets a new name for the material.Arguments
- int num - Material number.
- const char * name - Material name.
const char * getIndexTextureName ()
Returns the name of the current terrain index texture.Return value
Texture name (path).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.
int getMaterialMaskBase (int num)
Returns the mask base parameter.Arguments
- int num - Material number.
Return value
Mask base parameter.Ptr<Texture> getMaskTexture ()
Returns the terrain mask texture.Return value
Mask texture.int isLoaded ()
Returns a value indicating whether the terrain is loaded or not.Return value
1 if the terrain is loaded successfully; otherwise, 0.void setLodTerrainRight (const Ptr<ObjectTerrain> & right)
Sets the new right LOD for the current terrain.Arguments
- const Ptr<ObjectTerrain> & right - Right LOD.
void setNormalTextureArrayName (const char * name)
Sets the new name of the normal textures array.Arguments
- const char * name - Name of the array.
void setMaterialNormalScale (int num, float scale)
Sets the visibility scale of a normal map assigned to the specified detail material. The provided value is saturated in range [0.0;1.0]. The default is 0.5.Arguments
- int num - Material number.
- float scale - Visibility scale.
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 getIndexTextureImage (const Ptr<Image> & image)
Writes the current terrain index 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.Last update: 03.07.2017
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter