This page has been translated automatically.
UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Materials
Unigine Material Library
Tutorials
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::Ffp Class

Interface for fixed function pipeline. This interface allows to render basic geometric primitives. For example, it can be used to draw a project watermark.

To use this class, include the UnigineFfp.h file.

Related classes:
Unigine::Ffp::Vertex

Unigine::Ffp Class

Members


virtual ~Ffp ()

Virtual destructor.

static Ffp * get ()

Return a pointer to the existing Ffp.

Return value

Pointer to the existing ffp.

virtual void setMode (int mode) const =0

Set current Ffp mode.

Arguments

  • int mode - Current Ffp mode.

virtual int getMode () const =0

Set current Ffp mode.

Return value

Current Ffp mode.

virtual int isEnabled () const =0

Return a value indicating if the Ffp is enabled.

Return value

Return 1 if the Ffp is enabled; otherwise, 0 is returned.

virtual void enable (int mode) const =0

Enable Ffp rendering.

Arguments

  • int mode - Ffp mode.

virtual void disable () const =0

Disable Ffp rendering.

virtual void setOrtho (int width, int height) const =0

Set orthographic projection to render the primitive.

Arguments

  • int width - Primitive width.
  • int height - Primitive height.

virtual void setTransform (const float * transform) const =0

Set transformation matrix for the rendered primitive.

Arguments

  • const float * transform - Pointer to the transformation matrix.

virtual void getTransform (float * transform) const =0

Get transformation matrix of the rendered primitive.

Arguments

  • float * transform - Pointer to the transformation matrix.

virtual void beginLines () const =0

Begin rendering of lines. Specify a list of vertex or index data between beginLines() and endLines().

virtual void endLines () const =0

End rendering of lines (i.e. draw the specified lines).

virtual void beginTriangles () const =0

Begin rendering of triangles. Specify a list of primitives and vertex data between beginTriangles() and endTriangles().

virtual void endTriangles () const =0

End rendering of triangles (i.e. draw the specified triangles).

virtual int getNumVertex () const =0

Get the number of vertices in the current primitive batch.

Return value

The number of vertices.

virtual void addVertex (const Vertex & vertex) const =0

Add a vertex.

Arguments

  • const Vertex & vertex - Vertex.

virtual void addVertex (const Vertex * vertex, int num_vertex) const =0

Add a vertices array.

Arguments

  • const Vertex * vertex - Vertices array pointer.
  • int num_vertex - The number of vertices.

virtual void addVertex (float x, float y, float z) const =0

Add a vertex.

Arguments

  • float x - X coordinate of the vertex.
  • float y - Y coordinate of the vertex.
  • float z - Z coordinate of the vertex.

virtual void setTexCoord (float x, float y, float z, float w) const =0

Set texture coordinates for the last added vertex.

Arguments

  • float x - X texture coordinate.
  • float y - Y texture coordinate.
  • float z - Z texture coordinate.
  • float w - W texture coordinate.

virtual void setColor (float r, float g, float b, float a) const =0

Set rendering color for the last added vertex.

Arguments

  • float r - Red color component.
  • float g - Green color component.
  • float b - Blue color component.
  • float a - Alpha color component.

virtual void setColor (unsigned int color) const =0

Set rendering color for the last added vertex.

Arguments

  • unsigned int color - Color in ARGB8 format: (a << 24) | (r << 16) | (g << 8) | b.

virtual int getNumIndices () const =0

Get the number of indices in the current primitive batch.

Return value

The number of indices.

virtual void addIndex (int index) const =0

Add an index.

Arguments

  • int index - Index of a vertex.

virtual void addIndices (int i0, int i1) const =0

Add two indices.

Arguments

  • int i0 - The first index.
  • int i1 - The second index.

virtual void addIndices (int i0, int i1, int i2) const =0

Add three indices.

Arguments

  • int i0 - The first index.
  • int i1 - The second index.
  • int i2 - The third index.

virtual void addIndices (int i0, int i1, int i2, int i3) const =0

Add four indices.

Arguments

  • int i0 - The first index.
  • int i1 - The second index.
  • int i2 - The third index.
  • int i3 - The fourth index.

virtual void addIndices (const unsigned short * indices, int num_indices) const =0

Add indices array.

Arguments

  • const unsigned short * indices - Indices array pointer.
  • int num_indices - The number of indices.

virtual void addIndices (const unsigned short * indices, int num_indices, int vertex_offset) const =0

Add indices array.

Arguments

  • const unsigned short * indices - Indices array pointer.
  • int num_indices - The number of indices.
  • int vertex_offset - The vertex index offset.

virtual void addLines (int num) const =0

Add a specified number of lines. This method does not add vertices; instead, it allocates indices, for which vertices should be then created with addVertex(). Indices will point to vertices starting from the last added vertex.

Arguments

  • int num - The number of lines.

virtual void addTriangles (int num) const =0

Add a specified number of triangles. This method does not add vertices; instead, it allocates indices, for which vertices should be then created with addVertex(). Indices will point to vertices starting from the last added vertex.

Arguments

  • int num - The number of triangles.

virtual void addQuads (int num) const =0

Add a specified number of quads. This method does not add vertices; instead, it allocates indices, for which vertices should be then created with addVertex(). Indices will point to vertices starting from the last added vertex.

Arguments

  • int num - The number of quads.

Unigine::Ffp::anonymous_5 Enumeration

MODE_DEFAULT = 0
MODE_MULTISAMPLE_2
MODE_MULTISAMPLE_4
MODE_MULTISAMPLE_8
MODE_MULTISAMPLE_16
MODE_SHADOW
MODE_SPLASH
MODE_SOLID
MODE_CUBE
MODE_GRAD
MODE_SRGB
MODE_YUV
Last update: 2017-07-03
Build: ()