This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
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::FieldShoreline Class

Header:#include <UnigineFields.h>
Inherits:Field

This class is used to create and modify a field shoreline. The field is applied to global water and helps to create swashes near the shores and applies the wetness effect on objects near the shoreline.

Notice
A field shoreline object will affect water only if the FieldShoreline interaction option is enabled on the States tab of the water_global_base material.

Creating a Shoreline Field

Notice
When creating a FieldShoreline object you should specify a shoreline texture for as this object doesn't have any default texture.
Source code (C++)
// create a new instance of the FieldShoreline class and set its transformation
FieldShorelinePtr shoreline = FieldShoreline::create();
shoreline->setTransform(Mat4(1));
// set the size of the field 
shoreline->setSize(vec3(4096.0f, 4096.0f, 512.0f));
// set the path to the shoreline texture
shoreline->setImageTextureName("unigine_project/textures/shorelines/shoreline_0.dds");
To add the FieldShoreline object to UnigineEditor, add the following code:
Source code (C++)
// release class ownership of the FieldShoreline
shoreline->release();
// add the FieldShoreline to the list of editor nodes
Editor *editor = Editor::get();
editor->addNode(shoreline->getNode());

FieldShoreline Class

Members


static FieldShorelinePtr create()

Default constructor. Creates a FieldShoreline instance with the default size vec3(512.0f, 512.0f, 512.0f).
Notice
By default, a shoreline texture is empty. Specify it after creating the FieldShoreline by using an apropriate function.

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

Casts the FieldShoreline out of the Node instance.

Arguments

  • const Ptr<Node> & node - Node smart pointer.

Return value

FieldShoreline smart pointer.

Ptr<FieldShoreline> cast(const Ptr<Field> & base)

Casts the FieldShoreline out of the Field instance.

Arguments

  • const Ptr<Field> & base - Field smart pointer.

Return value

FieldShoreline smart pointer.

void setImageTexture(const Ptr<Texture> & texture)

Sets the given texture from the Texture instance for the FieldShoreline.

Arguments

  • const Ptr<Texture> & texture - Texture instance.

Ptr<Texture> getImageTexture()

Returns the shoreline texture (from GPU) and saves it into the given Texture instance.

Return value

Shoreline texture.

int setImageTextureImage(const Ptr<Image> & image)

Sets the given image as the shoreline texture of the FieldShoreline

Arguments

  • const Ptr<Image> & image - Image instance with a shoreline texture for the FieldShoreline.

int getImageTextureImage(const Ptr<Image> & image)

Grabs the texture for the FieldShoreline (already loaded to GPU) and saves it into the given Image instance.

Arguments

  • const Ptr<Image> & image - Image instance into which the texture will be saved.

Return value

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

void setImageTextureName(const char * name)

Sets the path to the FieldShoreline's shoreline texture.

Arguments

  • const char * name - Path to the shoreline texture.

const char * getImageTextureName()

Returns the path to the FieldShoreline's shoreline texture.

Return value

Path to the shoreline texture.

void setSize(const Math::vec3 & size)

Sets the vec3 size vector of the FieldShoreline.

The default value is (512.0f, 512.0f, 512.0f).

Arguments

  • const Math::vec3 & size - Size vector (x,y,z), where:
    • x value is length of the FieldShoreline along X axis (in units),
    • y value is length of the FieldShoreline along Y axis (in units),
    • z value is length of the FieldShoreline along Z axis (in units).

Math::vec3 getSize()

Returns the vec3 size vector of the FieldShoreline.

The default value is (512.0f, 512.0f, 512.0f).

Return value

Size vector (x,y,z), where:
  • x value is length of the FieldShoreline along X axis (in units),
  • y value is length of the FieldShoreline along Y axis (in units),
  • z value is length of the FieldShoreline along Z axis (in units).

int createShorelineDistanceField(const Ptr<Image> & image, int shoreline_radius, int blur_radius, int downsample_resolution)

Arguments

  • const Ptr<Image> & image
  • int shoreline_radius
  • int blur_radius
  • int downsample_resolution

int type()

Returns the type of the object.

Return value

FieldShoreline type identifier.
Last update: 2017-07-03
Build: ()