Unigine::DecalOrtho Class
Header: | #include <UnigineDecals.h> |
Inherits: | Decal |
This class describes how to create and modify orthographic decals.
See Also#
A set of UnigineScript API samples located in the <UnigineSDK>/data/samples/decals/ folder:
- ortho_01
- ortho_02
- ortho_03
- ortho_05
Creating an Orthographic Decal#
The following code illustrates how to create an orthographic decal, set its parameters and add the node to UnigineEditor.
// AppWorldLogic.h
#include <UnigineLogic.h>
#include <UnigineEditor.h>
#include <UnigineDecals.h>
class AppWorldLogic : public Unigine::WorldLogic {
public:
AppWorldLogic();
virtual ~AppWorldLogic();
virtual int init();
virtual int update();
virtual int postUpdate();
virtual int updatePhysics();
virtual int shutdown();
virtual int destroyRenderResources();
virtual int save(const Unigine::StreamPtr &stream);
virtual int restore(const Unigine::StreamPtr &stream);
private:
Unigine::DecalOrthoPtr decal_ortho;
};
// AppWorldLogic.cpp
#include "AppWorldLogic.h";
using namespace Unigine;
int AppWorldLogic::init()
{
// create an ortho decal and setting its radius to 10, width and height to 2, material to "decal_base"
decal_ortho = DecalOrtho::create(10.0f, 2.0f, 2.0f, "decal_base");
// set the name and position of the decal
decal_ortho->setName("Ortho Decal");
decal_ortho->setWorldPosition(Math::Vec3(0.0f, 0.0f, 5.0f));
return 1;
}
DecalOrtho Class
Members
static DecalOrthoPtr create ( float radius, float width, float height, const char * material ) #
Constructor. Creates a new projected decal with the given properties.Arguments
- float radius - The height of the projection box along the Z axis, in units.
- float width - The length of the projection box along the X axis, in units.
- float height - The length of the projection box along the Y axis, in units.
- const char * material - A material of the decal.
void setHeight ( float height ) #
Sets a new length of the projection box along the Y axis.Arguments
- float height - The length of the projection box along the Y axis, in units. If a negative value is provided, 0 will be used instead.
float getHeight ( ) #
Returns the current length of the projection box along the Y axis.Return value
The length of the projection box along the Y axis, in units.Math::mat4 getProjection ( ) #
Returns the projection matrix.Return value
The projection matrix of the decal.void setRadius ( float radius ) #
Sets a new height of the projection box along the Z axis.Arguments
- float radius - A height of the projection box along the Z axis, in units. If a too small value is provided, 1E-6 will be used instead.
float getRadius ( ) #
Returns the current height of the projection box along the Z axis.Return value
The height of the projection box along the Z axis, in units.void setWidth ( float width ) #
Sets the new length of the projection box along the X axis.Arguments
- float width - The length of the projection box along the X axis, in units. If a negative value is provided, 0 will be used instead.
float getWidth ( ) #
Returns the current length of the projection box along the X axis, in units.Return value
The length of the projection box along the X axis, in units.void setZNear ( float znear ) #
Sets a new value of the near clipping plane.Arguments
- float znear - A value of the near clipping plane, ranging from 0 to 1. If a negative value is provided, 0 will be used instead.
float getZNear ( ) #
Returns the value of the near clipping plane.Return value
The value of the near clipping plane, ranging from 0 to 1.static int type ( ) #
Returns a type identifier.Return value
Type identifier.Last update:
2020-04-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)