UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
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
CIGI Client Plugin

Unigine::MeshDynamic Class

Header:#include <UnigineMesh.h>

This class is used to procedurally create dynamic meshes (i.e. triangles, lines or points) and modify them at run time.

MeshDynamic Class

Members


void * getMeshDynamic()

Ptr<MeshDynamic> create(int flags)

Creates a new dynamic mesh instance in accordance with the specified flags.

Arguments

Return value

MeshDynamic smart pointer.

void setFlags(int flags)

Sets the flags of the dynamic mesh.

Arguments

int getFlags()

Returns the current set of flags of the dynamic mesh.

Return value

Current set of flags. A combination of IMMUTABLE_*, DYNAMIC_* and FLUSH_* flags.

void bind()

Binds dynamic mesh data (index and vertex buffers) to the input assembler stage.

void unbind()

Unbinds dynamic mesh data (index and vertex buffers).

void flushVertex()

Flushes the vertex buffer and sends all data to GPU. This method is called automatically, if the length of the vertex buffer changes. If you change the contents of the vertex buffer, you should call this method.

void flushIndices()

Flushes the index buffer and sends all data to GPU. This method is called automatically, if the length of the index buffer changes. If you change the contents of the index buffers, you should call this method.

int renderSurface(int mode)

Renders the surface.

Arguments

  • int mode - Rendering mode. One of the MODE_* variables.

Return value

Number of primitives rendered. Primitive tyme is determined by the rendering mode.

int renderInstancedSurface(int mode, int num)

Renders the specified number of instances of the surface.

Arguments

  • int mode - Rendering mode. One of the MODE_* variables.
  • int num - Number of instances to be rendered.

Return value

Number of primitives rendered. Primitive tyme is determined by the rendering mode.

int renderSurface(int mode, int base, int begin, int end)

Renders the surface specified by begin and end indices.

Arguments

  • int mode - Rendering mode. One of the MODE_* variables.
  • int base - A value added to each index before reading a vertex from the vertex buffer.
  • int begin - First index of the surface to be read by the GPU from the index buffer.
  • int end - Last index of the surface to be read by the GPU from the index buffer.

Return value

Number of primitives rendered. Primitive tyme is determined by the rendering mode.

int renderInstancedSurface(int mode, int base, int begin, int end, int num)

Renders the specified number of instances of the surface specified by begin and end indices.

Arguments

  • int mode - Rendering mode. One of the MODE_* variables.
  • int base - A value added to each index before reading a vertex from the vertex buffer.
  • int begin - First index of the surface to be read by the GPU from the index buffer.
  • int end - Last index of the surface to be read by the GPU from the index buffer.
  • int num - Number of instances to be rendered.

Return value

Number of primitives rendered. Primitive tyme is determined by the rendering mode.

int render(int mode, int flush)

Renders the dynamic mesh with the specified flags and mode.

Arguments

  • int mode - Rendering mode. One of the MODE_* variables.
  • int flush - Flush flag. One of the FLUSH_* variables.

Return value

Number of triangles rendered.

long long getSystemMemoryUsage()

Returns the current amount of system memory used by the dynamic mesh, in bytes.

Return value

System memory amount used by the dynamic mesh, in bytes.

long long getVideoMemoryUsage()

Returns the current amount of video memory used by the dynamic mesh.

Return value

Video memory amount used by the dynamic mesh, in bytes.

void setVertexFormat(const MeshDynamic::Attribute[] & attributes)

Sets vertex format to be used by the dynamic mesh.

Arguments

  • const MeshDynamic::Attribute[] & attributes - Array of attributes to be used for vertex format.

int getVertexSize()

Returns vertex size of the dynamic mesh.

Return value

Vertex size.

int getNumAttributes()

Returns the number of vertex attributes of the dynamic mesh.

void clearVertex()

Removes all dynamic mesh vertices.

void allocateVertex(int num)

Allocates a given number of vertices in the vertex buffer. With this function, memory can be allocated once rather than in chunks, making the creation faster.

Arguments

  • int num - Number of vertices for which memory is to be allocated.

void removeVertex(int num, int size)

Removes the specified number of elements starting from the specified one from the vertex buffer of the dynamic mesh.

Arguments

  • int num - Number of the first vertex to be removed.
  • int size - Number of vertices to be removed.

void setNumVertex(int num)

Arguments

  • int num - New number of vertices.

int getNumVertex()

Returns the total number of vertices for the dynamic mesh.

void addVertexArray(const void * vertex, int num_vertex)

Adds a set of new elements to the vertex buffer of the dynamic mesh at once.

Arguments

  • const void * vertex - Array of vertices to be added.
  • int num_vertex - Number of vertices to add.

void setVertexArray(const void * vertex, int num_vertex)

Replaces the current vertex buffer of the dynamic mesh with the specified array of vertices.

Arguments

  • const void * vertex - Array of vertices to be added.
  • int num_vertex - Number of vertices to add.

void addVertexHalf1(int attribute, float x)

Adds a new vertex with a single half coordinate to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void addVertexHalf2(int attribute, float x, float y)

Adds a new vertex with 2 half coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void addVertexHalf3(int attribute, float x, float y, float z)

Adds a new vertex with 3 half coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void addVertexHalf4(int attribute, float x, float y, float z, float w)

Adds a new vertex with 4 half coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void addVertexFloat(int attribute, float[] value)

Arguments

  • int attribute - Attribute to be set.
  • float[] value

void addVertexFloat1(int attribute, float x)

Adds a new vertex with a single float coordinate to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void addVertexFloat2(int attribute, float x, float y)

Adds a new vertex with 2 float coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void addVertexFloat3(int attribute, float x, float y, float z)

Adds a new vertex with 3 float coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void addVertexFloat4(int attribute, float x, float y, float z, float w)

Adds a new vertex with 4 float coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void addVertexDouble(int attribute, double[] value)

Arguments

  • int attribute - Attribute to be set.
  • double[] value

void addVertexDouble1(int attribute, double x)

Adds a new vertex with a single double coordinate to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.

void addVertexDouble2(int attribute, double x, double y)

Adds a new vertex with 2 double coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.

void addVertexDouble3(int attribute, double x, double y, double z)

Adds a new vertex with 2 double coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.

void addVertexDouble4(int attribute, double x, double y, double z, double w)

Adds a new vertex with 4 double coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.
  • double w - W coordinate of the vertex.

void addVertexUChar(int attribute, uchar[] value)

Arguments

  • int attribute - Attribute to be set.
  • uchar[] value

void addVertexUChar1(int attribute, unsigned char x)

Adds a new vertex with a single unsigned char coordinate to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.

void addVertexUChar2(int attribute, unsigned char x, unsigned char y)

Adds a new vertex with 2 unsigned char coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.

void addVertexUChar3(int attribute, unsigned char x, unsigned char y, unsigned char z)

Adds a new vertex with 3 unsigned char coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.

void addVertexUChar4(int attribute, unsigned char x, unsigned char y, unsigned char z, unsigned char w)

Adds a new vertex with 4 unsigned char coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.
  • unsigned char w - W coordinate of the vertex.

void addVertexUShort(int attribute, ushort[] value)

Arguments

  • int attribute - Attribute to be set.
  • ushort[] value

void addVertexUShort1(int attribute, unsigned short x)

Adds a new vertex with a single unsigned short coordinate to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.

void addVertexUShort2(int attribute, unsigned short x, unsigned short y)

Adds a new vertex with 2 unsigned short coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.

void addVertexUShort3(int attribute, unsigned short x, unsigned short y, unsigned short z)

Adds a new vertex with 3 unsigned short coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.

void addVertexUShort4(int attribute, unsigned short x, unsigned short y, unsigned short z, unsigned short w)

Adds a new vertex with 4 unsigned short coordinates to the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.
  • unsigned short w - W coordinate of the vertex.

void setVertexHalf1(int attribute, float x)

Sets half-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void setVertexHalf2(int attribute, float x, float y)

Sets half-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void setVertexHalf3(int attribute, float x, float y, float z)

Sets half-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void setVertexHalf4(int attribute, float x, float y, float z, float w)

Sets half-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void setVertexFloat(int attribute, float[] value)

Sets float-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float[] value - Float-type coordinates to be set.

void setVertexFloat1(int attribute, float x)

Sets float-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void setVertexFloat2(int attribute, float x, float y)

Sets float-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void setVertexFloat3(int attribute, float x, float y, float z)

Sets float-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void setVertexFloat4(int attribute, float x, float y, float z, float w)

Sets float-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void setVertexDouble(int attribute, double[] value)

Sets double-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double[] value - Double-type coordinates to be set.

void setVertexDouble1(int attribute, double x)

Sets double-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.

void setVertexDouble2(int attribute, double x, double y)

Sets double-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.

void setVertexDouble3(int attribute, double x, double y, double z)

Sets double-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.

void setVertexDouble4(int attribute, double x, double y, double z, double w)

Sets double-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.
  • double w - W coordinate of the vertex.

void setVertexUChar(int attribute, uchar[] value)

Sets uchar-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • uchar[] value - Uchar-type coordinates to be set.

void setVertexUChar1(int attribute, unsigned char x)

Sets uchar-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.

void setVertexUChar2(int attribute, unsigned char x, unsigned char y)

Sets uchar-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.

void setVertexUChar3(int attribute, unsigned char x, unsigned char y, unsigned char z)

Sets uchar-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.

void setVertexUChar4(int attribute, unsigned char x, unsigned char y, unsigned char z, unsigned char w)

Sets uchar-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.
  • unsigned char w - W coordinate of the vertex.

void setVertexUShort(int attribute, ushort[] value)

Sets ushort-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • ushort[] value - Ushort-type coordinates to be set.

void setVertexUShort1(int attribute, unsigned short x)

Sets ushort-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.

void setVertexUShort2(int attribute, unsigned short x, unsigned short y)

Sets ushort-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.

void setVertexUShort3(int attribute, unsigned short x, unsigned short y, unsigned short z)

Sets ushort-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.

void setVertexUShort4(int attribute, unsigned short x, unsigned short y, unsigned short z, unsigned short w)

Sets ushort-type coordinates and specified attribute for the last vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.
  • unsigned short w - W coordinate of the vertex.

void setVertexHalf1(int vertex, int attribute, float x)

Sets half-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void setVertexHalf2(int vertex, int attribute, float x, float y)

Sets half-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void setVertexHalf3(int vertex, int attribute, float x, float y, float z)

Sets half-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void setVertexHalf4(int vertex, int attribute, float x, float y, float z, float w)

Sets half-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void setVertexFloat(int vertex, int attribute, float[] value)

Sets float-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float[] value - Float-type coordinates to be set.

void setVertexFloat1(int vertex, int attribute, float x)

Sets float-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.

void setVertexFloat2(int vertex, int attribute, float x, float y)

Sets float-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.

void setVertexFloat3(int vertex, int attribute, float x, float y, float z)

Sets float-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

void setVertexFloat4(int vertex, int attribute, float x, float y, float z, float w)

Sets float-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.
  • float w - W coordinate of the vertex.

void setVertexDouble(int vertex, int attribute, double[] value)

Sets double-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • double[] value - Double-type coordinates to be set.

void setVertexDouble1(int vertex, int attribute, double x)

Sets double-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.

void setVertexDouble2(int vertex, int attribute, double x, double y)

Sets double-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.

void setVertexDouble3(int vertex, int attribute, double x, double y, double z)

Sets double-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.

void setVertexDouble4(int vertex, int attribute, double x, double y, double z, double w)

Sets double-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • double x - X coordinate of the vertex.
  • double y - Y coordinate of the vertex.
  • double z - Z coordinate of the vertex.
  • double w - W coordinate of the vertex.

void setVertexUChar(int vertex, int attribute, uchar[] value)

Sets uchar-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • uchar[] value - Uchar-type coordinates to be set.

void setVertexUChar1(int vertex, int attribute, unsigned char x)

Sets uchar-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.

void setVertexUChar2(int vertex, int attribute, unsigned char x, unsigned char y)

Sets uchar-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.

void setVertexUChar3(int vertex, int attribute, unsigned char x, unsigned char y, unsigned char z)

Sets uchar-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.

void setVertexUChar4(int vertex, int attribute, unsigned char x, unsigned char y, unsigned char z, unsigned char w)

Sets uchar-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned char x - X coordinate of the vertex.
  • unsigned char y - Y coordinate of the vertex.
  • unsigned char z - Z coordinate of the vertex.
  • unsigned char w - W coordinate of the vertex.

void setVertexUShort(int vertex, int attribute, ushort[] value)

Sets ushort-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • ushort[] value - Ushort-type coordinates to be set.

void setVertexUShort1(int vertex, int attribute, unsigned short x)

Sets ushort-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.

void setVertexUShort2(int vertex, int attribute, unsigned short x, unsigned short y)

Sets ushort-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.

void setVertexUShort3(int vertex, int attribute, unsigned short x, unsigned short y, unsigned short z)

Sets ushort-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.

void setVertexUShort4(int vertex, int attribute, unsigned short x, unsigned short y, unsigned short z, unsigned short w)

Sets ushort-type coordinates and specified attribute for the specified vertex in the vertex buffer of the dynamic mesh.

Arguments

  • int vertex - Vertex number.
  • int attribute - Attribute to be set.
  • unsigned short x - X coordinate of the vertex.
  • unsigned short y - Y coordinate of the vertex.
  • unsigned short z - Z coordinate of the vertex.
  • unsigned short w - W coordinate of the vertex.

void clearIndices()

Removes all indices of the dynamic mesh.

void allocateIndices(int num)

Allocates a given number of vertex indices in the index buffer. With this function, memory can be allocated once rather than in chunks, making the creation faster.

Arguments

  • int num - Number of indices for which memory is to be allocated.

void removeIndices(int num, int size)

Removes the specified number of indices starting from the specified one from the index buffer of the dynamic mesh.

Arguments

  • int num - Number of the first index to be removed.
  • int size - Number of indices to be removed.

void setNumIndices(int num)

Sets the total number of indices for the dynamic mesh.

Arguments

  • int num - New number of indices.

int getNumIndices()

Returns the total number of indices for the dynamic mesh.

Return value

Number of indices.

void addIndex(int index)

Adds a new index to the index buffer of the dynamic mesh.

Arguments

  • int index - Index to be added.

void addIndexFast(int index)

Adds a new index to the index buffer of the dynamic mesh.

Arguments

  • int index - Index to be added.

void addIndices(int i0, int i1)

Adds two new indices to the index buffer of the dynamic mesh at once. This method can be used to add indices for a line strips via a single function call.

Arguments

  • int i0 - First index to be added.
  • int i1 - Second index to be added.

void addIndices(int i0, int i1, int i2)

Adds three new indices to the index buffer of the dynamic mesh at once. This method can be used to add indices for a triangle via a single function call.

Arguments

  • int i0 - First index to be added.
  • int i1 - Second index to be added.
  • int i2 - Third index to be added.

void addIndices(int i0, int i1, int i2, int i3)

Adds four new indices to the index buffer of the dynamic mesh at once. This method can be used to add indices for a quad via a single function call.

Arguments

  • int i0 - First index to be added.
  • int i1 - Second index to be added.
  • int i2 - Third index to be added.
  • int i3 - Fourth index to be added.

void addIndicesArray(int[] indices)

Adds a set of new elements to the index buffer of the dynamic mesh at once.

Arguments

  • int[] indices - Array of indices to be added.

void setIndicesArray(int[] indices)

Replaces the current index buffer of the dynamic mesh with the specified array of indices.

Arguments

  • int[] indices - Array of indices to be added.

Vector< int > getIndicesArray()

Returns the index buffer of the dynamic mesh.

Return value

Vector containing the index buffer of the dynamic mesh.

void addPoints(int num_points)

Adds the specified number of points to the dynamic mesh.

Arguments

  • int num_points - Number of points to be added.

void addLineStrip(int num_vertex)

Adds a line strip to the dynamic mesh. This method does not add vertices, rather it allocates indices, for which vertices should be then created with one of the addVertex*() methods. Indices will point to vertices starting from the current last vertex in the vertex buffer.

Arguments

  • int num_vertex - Number of vertices comprising the strip.

void addTriangles(int num_triangles)

Adds the specified number of triangles to the dynamic mesh.

Arguments

  • int num_triangles - Number of triangles to be added.

void addTriangleFan(int num_vertex)

Adds a triangle fan to the dynamic mesh. This method does not add vertices, rather it allocates indices, for which vertices should be then created with one of the addVertex*() methods. Indices will point to vertices starting from the current last vertex in the vertex buffer.

Arguments

  • int num_vertex - Number of vertices comprising the fan.

void addTriangleStrip(int num_vertex)

Adds a triangle strip to the dynamic mesh. This method does not add vertices, rather it allocates indices, for which vertices should be then created with one of the addVertex*() methods. Indices will point to vertices starting from the current last vertex in the vertex buffer.

Arguments

  • int num_vertex - Number of vertices comprising the strip.

void addTriangleQuads(int num_quads)

Adds a given number of quadrilaterals to the dynamic mesh. This method does not add vertices, rather it allocates indices, for which vertices should be then created with one of the addVertex*() methods. Indices will point to vertices starting from the current last vertex in the vertex buffer.

Arguments

  • int num_quads - Number of quadrilaterals to be added.

int saveState(const Ptr<Stream> & stream)

Arguments

  • const Ptr<Stream> & stream

int restoreState(const Ptr<Stream> & stream)

Arguments

  • const Ptr<Stream> & stream

int IMMUTABLE_VERTEX

int IMMUTABLE_INDICES

int IMMUTABLE_ALL

int DYNAMIC_VERTEX

int DYNAMIC_INDICES

int DYNAMIC_ALL

int FLUSH_VERTEX

int FLUSH_INDICES

int FLUSH_ALL

int TYPE_HALF

int TYPE_FLOAT

int TYPE_DOUBLE

int TYPE_UCHAR

int TYPE_USHORT

int NUM_TYPES

int MODE_POINTS

int MODE_LINES

int MODE_TRIANGLES

int MODE_TRIANGLE_PATCHES

int MODE_QUAD_PATCHES

int NUM_MODES

Last update: 04.06.2018