This page has been translated automatically.
编程
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
应用程序接口
Containers
Common Functionality
Controls-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
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

Unigine::Visualizer Class

Header:#include <UnigineVisualizer.h>

Controls visualizer-related settings. The visualizer is used to render mesh wireframe, object bounding boxes, and all sorts of visual helpers (such as physical collision shapes, joints, etc.).

Usage Example

To render a world origin, do the following:

Source code (C++)
// AppWorldLogic.cpp
#include "AppWorldLogic.h"
#include "UnigineVisualizer.h"

using namespace Unigine;
using namespace Math;

int AppWorldLogic::init() {
	/* ... */
	// enable the visualizer
	Visualizer::get()->setEnabled(1);

	return 1;
}

int AppWorldLogic::update() {
	// render world origin
	Visualizer::get()->renderVector(Vec3(0.0f,0.0f,0.1f), Vec3(1.0f,0.0f,0.1f), vec4(1.0f,0.0f,0.0f,1.0f));
	Visualizer::get()->renderVector(Vec3(0.0f,0.0f,0.1f), Vec3(0.0f,1.0f,0.1f), vec4(0.0f,1.0f,0.0f,1.0f));
	Visualizer::get()->renderVector(Vec3(0.0f,0.0f,0.1f), Vec3(0.0f,0.0f,1.1f), vec4(0.0f,0.0f,1.0f,1.0f));

	return 1;
}

Visualizer Class

Members


Visualizer * get()

Returns a pointer to the existing Visualizer instance.

Return value

A pointer to the Visualizer instance.

void setEnabled(int enabled)

Enables or disables the visualizer.

Arguments

  • int enabled - 1 to enable the visualizer, 0 to disable it.

int isEnabled()

Returns a value indicating if the visualizer is enabled.

Return value

1 if the visualizer is enabled; otherwise, 0.

void setSize(int size)

Updates the current size of the handler. All handlers have the same size.

Arguments

  • int size - A new handler size in pixels.

int getSize()

Returns the handler size. All handlers have the same size.

Return value

The current size of the handler in pixels.

void setTextureName(const char * name)

Updates the current name of the texture.

Arguments

  • const char * name - A new name of the texture.

const char * getTextureName()

Returns the string with the name of the texture.

Return value

The name of the texture.

void renderBillboard3D(const Math::Vec3 & arg1, float arg2, const Math::vec4 & arg3, int screen_space = 0)

Renders a 3D billboard of the specified size.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the billboard.
  • float arg2 - The billboard size.
  • const Math::vec4 & arg3 - The billboard texture coordinates.
  • int screen_space - A flag indicating the type of dimensions to be used:
    • 0 - use the world space dimensions
    • 1 - use the screen space dimensions

void renderBoundBox(const BoundBox & bb, const Math::Mat4 & transform, const Math::vec4 & color)

Renders the bounding box in a given color.

Arguments

  • const BoundBox & bb - The bounding box.
  • const Math::Mat4 & transform - Transformation matrix for the bounding box.
  • const Math::vec4 & color - Color, in which the box will be rendered.

void renderBoundSphere(const BoundSphere & bs, const Math::Mat4 & transform, const Math::vec4 & color)

Renders the bounding sphere in a given color.

Arguments

  • const BoundSphere & bs - The bounding sphere.
  • const Math::Mat4 & transform - Transformation matrix for the bounding sphere.
  • const Math::vec4 & color - Color, in which the sphere will be rendered.

void renderBox(const Math::vec3 & arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a wireframe box of a given color.

Arguments

  • const Math::vec3 & arg1 - Dimensions of the box.
  • const Math::Mat4 & arg2 - Transformation matrix, which is used to position the box.
  • const Math::vec4 & arg3 - Box color.

void renderBoxHandler(const Ptr<Node> & node, const Math::vec3 & arg2, const Math::vec4 & arg3)

Renders a handler in a form of a box.

Arguments

  • const Ptr<Node> & node - Pointer to the node, for which the handler is rendered.
  • const Math::vec3 & arg2 - Dimensions of the box (length of one face of the box).
  • const Math::vec4 & arg3 - Box color.

void renderCapsule(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a wireframe capsule (capped cylinder) of a given color.

Arguments

  • float arg1 - Radius of the capsule.
  • float arg2 - Height of the capsule.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the capsule.
  • const Math::vec4 & arg4 - Capsule color.

void renderCircle(float arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a wireframe circle of a given color.

Arguments

  • float arg1 - Radius of the circle.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the circle.
  • const Math::vec4 & arg3 - Circle color.

void renderCone(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a wireframe cone of a given color.

Arguments

  • float arg1 - Radius of the cone.
  • float arg2 - Angle of the cone.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the cone.
  • const Math::vec4 & arg4 - Cone color.

void renderCylinder(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a wireframe cylinder of a given color.

Arguments

  • float arg1 - Radius of the cylinder.
  • float arg2 - Height of the cylinder.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the cylinder.
  • const Math::vec4 & arg4 - Cylinder color.

void renderDirection(const Math::Vec3 & arg1, const Math::vec3 & arg2, const Math::vec4 & arg3, float arrow_size = 0.25f, int screen_space = 0)

Renders a direction vector of a given color.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the vector origin.
  • const Math::vec3 & arg2 - Target vector direction.
  • const Math::vec4 & arg3 - Vector color.
  • float arrow_size - Arrow size.
  • int screen_space - A flag indicating the type of dimensions to be used:
    • 0 - use the world space dimensions
    • 1 - use the screen space dimensions

void renderEllipse(const Math::vec3 & arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a wireframe ellipse of a given color.

Arguments

  • const Math::vec3 & arg1 - Ellipse radius values along three axes.
  • const Math::Mat4 & arg2 - Transformation matrix for the ellipse.
  • const Math::vec4 & arg3 - Ellipse color.

void renderFrustum(const Math::mat4 & arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a wireframe frustum of a given color.

Arguments

  • const Math::mat4 & arg1 - Projection matrix used to transform the coordinates.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the frustum.
  • const Math::vec4 & arg3 - Frustum color.

void renderLine2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const Math::vec3 & arg3, const Math::vec3 & arg4, const Math::vec4 & arg5)

Renders a 2D line of a given color by using 2 points. 2D lines are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner — (1; 1).

Arguments

  • const Math::vec3 & arg1 - Coordinates of the starting point of the line.
  • const Math::vec3 & arg2 - Coordinates of the first intermediate point of the line.
  • const Math::vec3 & arg3 - Coordinates of the second intermediate point of the line.
  • const Math::vec3 & arg4 - Coordinates of the ending point of the line.
  • const Math::vec4 & arg5 - Line color.

void renderLine2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const Math::vec4 & arg3)

Renders a 2D line of a given color by using 2 points. 2D lines are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner — (1; 1).

Arguments

  • const Math::vec3 & arg1 - Starting point of the line.
  • const Math::vec3 & arg2 - Ending point of the line.
  • const Math::vec4 & arg3 - Line color.

void renderLine2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const Math::vec3 & arg3, const Math::vec4 & arg4)

Renders a 2D line of a given color by using 2 points. 2D lines are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner — (1; 1).

Arguments

  • const Math::vec3 & arg1 - Coordinates of the starting point of the line.
  • const Math::vec3 & arg2 - Coordinates of the intermediate point of the line.
  • const Math::vec3 & arg3 - Coordinates of the ending point of the line.
  • const Math::vec4 & arg4 - Line color.

void renderLine3D(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::Vec3 & arg3, const Math::Vec3 & arg4, const Math::vec4 & arg5)

Renders a 3D line of a given color. 3D lines are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the starting point of the line.
  • const Math::Vec3 & arg2 - Coordinates of the first intermediate point of the line.
  • const Math::Vec3 & arg3 - Coordinates of the second intermediate point of the line.
  • const Math::Vec3 & arg4 - Coordinates of the ending point of the line.
  • const Math::vec4 & arg5 - Line color.

void renderLine3D(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::vec4 & arg3)

Renders a 3D line of a given color. 3D lines are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Starting point of the line.
  • const Math::Vec3 & arg2 - Ending point of the line.
  • const Math::vec4 & arg3 - Line color.

void renderLine3D(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::Vec3 & arg3, const Math::vec4 & arg4)

Renders a 3D line of a given color. 3D lines are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the starting point of the line.
  • const Math::Vec3 & arg2 - Coordinates of the intermediate point of the line.
  • const Math::Vec3 & arg3 - Coordinates of the ending point of the line.
  • const Math::vec4 & arg4 - Line color.

void renderMessage2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const char * arg3, const Math::vec4 & arg4, int arg5)

Renders a message in a given color. Message position is specified in screen coordinates.

Arguments

  • const Math::vec3 & arg1 - Coordinates of the anchor point of the message in range [0;1].
  • const Math::vec3 & arg2 - Center of the message. The first two values in the vector set the offset, the third one is ignored. For example, vec3(-1,-1,0) offsets the center of the message to its upper left edge. vec3(1,1,0) offsets the center to the lower right corner.
  • const char * arg3 - Message text to display.
  • const Math::vec4 & arg4 - Message color.
  • int arg5 - Message outline: 1 to use the outline, 0 not to use.

void renderMessage3D(const Math::Vec3 & arg1, const Math::vec3 & arg2, const char * arg3, const Math::vec4 & arg4, int arg5)

Renders a message in a given color. Message position is specified in world coordinates.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the anchor point of the message (in world coordinates).
  • const Math::vec3 & arg2 - Center of the message. The first two values in the vector set the offset, the third one is ignored. For example, vec3(-1,-1,0) offsets the center of the message to its upper left edge. vec3(1,1,0) offsets the center to the lower right corner.
  • const char * arg3 - Message text to display.
  • const Math::vec4 & arg4 - Message color.
  • int arg5 - Message outline: 1 to use the outline, 0 not to use.

void renderNodeBoundBox(const Ptr<Node> & node, const Math::vec4 & color)

Renders an axis-aligned bound box of a given node.

Arguments

  • const Ptr<Node> & node - Node, for which the bound box is rendered.
  • const Math::vec4 & color - Color, in which the box will be rendered.

void renderNodeBoundSphere(const Ptr<Node> & node, const Math::vec4 & color)

Renders a bound sphere of a given node.

Arguments

  • const Ptr<Node> & node - Node, for which the bound sphere is rendered.
  • const Math::vec4 & color - Color, in which the sphere will be rendered.

void renderObject(const Ptr<Object> & object, const Math::vec4 & arg2)

Renders an object wireframe.

Arguments

  • const Ptr<Object> & object - Object, which wireframe will be rendered.
  • const Math::vec4 & arg2 - Color, in which the wireframe will be rendered.

void renderObjectSurface(const Ptr<Object> & object, int arg2, const Math::vec4 & arg3)

Renders borders of a given object surface.

Arguments

  • const Ptr<Object> & object - Object, which contains the target surface.
  • int arg2 - The number of the target surface in the object.
  • const Math::vec4 & arg3 - Color, in which the borders will be rendered.

void renderObjectSurfaceBoundBox(const Ptr<Object> & object, int surface, const Math::vec4 & color)

Renders a bound box of a given object surface.

Arguments

  • const Ptr<Object> & object - Object, which contains the target surface.
  • int surface - The number of the target surface in the object.
  • const Math::vec4 & color - Color, in which the box will be rendered.

void renderObjectSurfaceBoundSphere(const Ptr<Object> & object, int surface, const Math::vec4 & color)

Renders a bound sphere of a given object surface.

Arguments

  • const Ptr<Object> & object - Object, which contains the target surface.
  • int surface - The number of the target surface in the object.
  • const Math::vec4 & color - Color, in which the sphere will be rendered.

void renderPoint2D(const Math::vec3 & arg1, float arg2, const Math::vec4 & arg3)

Renders a 2D point of a given size and color. 2D points are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner—(1; 1).

Arguments

  • const Math::vec3 & arg1 - Point coordinates.
  • float arg2 - Point size in range [0;1]. The point size is set in proportion to the screen resolution.
  • const Math::vec4 & arg3 - Point color.

void renderPoint3D(const Math::Vec3 & arg1, float arg2, const Math::vec4 & arg3, int screen_space = 0)

Renders a 3D point of a given size and color. 3D points are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Point coordinates.
  • float arg2 - Point size in range [0;1]. The point size is set in proportion to the screen resolution.
  • const Math::vec4 & arg3 - Point color.
  • int screen_space - A flag indicating the type of dimensions to be used:
    • 0 - use the world space dimensions
    • 1 - use the screen space dimensions

void renderQuad2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const Math::vec3 & arg3, const Math::vec3 & arg4, const Math::vec4 & arg5)

Renders a 2D quadrilateral of a given color. 2D quads are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner—(1; 1).

Arguments

  • const Math::vec3 & arg1 - Coordinates of the first vertex.
  • const Math::vec3 & arg2 - Coordinates of the second vertex.
  • const Math::vec3 & arg3 - Coordinates of the third vertex.
  • const Math::vec3 & arg4 - Coordinates of the fourth vertex.
  • const Math::vec4 & arg5 - Quadrilateral color.

void renderQuad3D(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::Vec3 & arg3, const Math::Vec3 & arg4, const Math::vec4 & arg5)

Renders a 3D quadrilateral of a given color. 3D quads are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the first vertex.
  • const Math::Vec3 & arg2 - Coordinates of the second vertex.
  • const Math::Vec3 & arg3 - Coordinates of the third vertex.
  • const Math::Vec3 & arg4 - Coordinates of the fourth vertex.
  • const Math::vec4 & arg5 - Quadrilateral color.

void renderSector(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a wireframe sector of a given color.

Arguments

  • float arg1 - Radius of the circle from which a sector is cut.
  • float arg2 - Angle of the sector.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the sector.
  • const Math::vec4 & arg4 - Sector color.

void renderSolidBox(const Math::vec3 & arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a solid box of a given color.

Arguments

  • const Math::vec3 & arg1 - Size of the solid box.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the solid box.
  • const Math::vec4 & arg3 - Box color.

void renderSolidCapsule(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a solid capsule.

Arguments

  • float arg1 - Radius of the capsule.
  • float arg2 - Height of the capsule.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the capsule.
  • const Math::vec4 & arg4 - Capsule color.

void renderSolidCylinder(float arg1, float arg2, const Math::Mat4 & arg3, const Math::vec4 & arg4)

Renders a solid cylinder of a given color.

Arguments

  • float arg1 - Radius of the cylinder.
  • float arg2 - Height of the cylinder.
  • const Math::Mat4 & arg3 - Transformation matrix used to position the cylinder.
  • const Math::vec4 & arg4 - Cylinder color.

void renderSolidEllipse(const Math::vec3 & arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a solid ellipse of a given color.

Arguments

  • const Math::vec3 & arg1 - Ellipse radius values along three axes.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the ellipse.
  • const Math::vec4 & arg3 - Ellipse color.

void renderSolidObject(const Ptr<Object> & object, const Math::vec4 & arg2)

Renders a solid-colored object.

Arguments

  • const Ptr<Object> & object - Object smart pointer.
  • const Math::vec4 & arg2 - Color in which the object will be rendered.

void renderSolidObjectSurface(const Ptr<Object> & object, int arg2, const Math::vec4 & arg3)

Renders a solid-colored surface of a given object.

Arguments

  • const Ptr<Object> & object - Object smart pointer.
  • int arg2 - The number of the object's surface.
  • const Math::vec4 & arg3 - Color, in which the object's surface will be rendered.

void renderSolidSphere(float arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a solid sphere of a given color.

Arguments

  • float arg1 - Radius of the solid sphere.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the solid sphere.
  • const Math::vec4 & arg3 - Sphere color.

void renderSphere(float arg1, const Math::Mat4 & arg2, const Math::vec4 & arg3)

Renders a wireframe sphere of a given color.

Arguments

  • float arg1 - Radius of the sphere.
  • const Math::Mat4 & arg2 - Transformation matrix used to position the sphere.
  • const Math::vec4 & arg3 - Sphere color.

void renderSphereHandler(const Ptr<Node> & node, float arg2, const Math::vec4 & arg3)

Renders a node handler in a form of a sphere.

Arguments

  • const Ptr<Node> & node - Pointer to the node, for which the handler is rendered.
  • float arg2 - Radius of the sphere.
  • const Math::vec4 & arg3 - Sphere color.

void renderTextureHandler(const Ptr<Node> & node, float arg2, int screen_space = 0)

Renders a texture handler of the specified size.

Arguments

  • const Ptr<Node> & node - Pointer to the node, for which the handler is rendered.
  • float arg2 - Texture size (length of one side of the texture).
  • int screen_space - A flag indicating the type of dimensions to be used:
    • 0 - use the world space dimensions
    • 1 - use the screen space dimensions

void renderTriangle2D(const Math::vec3 & arg1, const Math::vec3 & arg2, const Math::vec3 & arg3, const Math::vec4 & arg4)

Renders a 2D triangle of a given color. 2D triangles are rendered in the screen plane; coordinates of the upper left corner are (0; 0), of the lower right corner—(1; 1).

Arguments

  • const Math::vec3 & arg1 - Coordinates of the first vertex.
  • const Math::vec3 & arg2 - Coordinates of the second vertex.
  • const Math::vec3 & arg3 - Coordinates of the third vertex.
  • const Math::vec4 & arg4 - Triangle color.

void renderTriangle3D(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::Vec3 & arg3, const Math::vec4 & arg4)

Renders a 3D triangle of a given color. 3D triangles are rendered in the world space.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the first vertex.
  • const Math::Vec3 & arg2 - Coordinates of the second vertex.
  • const Math::Vec3 & arg3 - Coordinates of the third vertex.
  • const Math::vec4 & arg4 - Triangle color.

renderVector(const Math::Vec3 & arg1, const Math::Vec3 & arg2, const Math::vec4 & arg3, float arrow_size = 0.25f, int screen_space = 0)

Renders a vector of a given color.

Arguments

  • const Math::Vec3 & arg1 - Coordinates of the vector origin.
  • const Math::Vec3 & arg2 - Coordinates of the vector target.
  • const Math::vec4 & arg3 - Vector color.
  • float arrow_size - Arrow size.
  • int screen_space - A flag indicating the type of dimensions to be used:
    • 0 - use the world space dimensions
    • 1 - use the screen space dimensions

void renderWorldSectorObjectSurfaces(const Ptr<WorldSector> & sector, const Math::vec4 & color)

Renders objects wireframes inside a given sector.

Arguments

  • const Ptr<WorldSector> & sector - Sector, in which the object wireframes will be rendered.
  • const Math::vec4 & color - Color, in which the wireframes will be rendered.
Last update: 2017-07-03
Build: ()