Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends

sp::scene::Billboard Class Reference

#include <spSceneBillboard.hpp>

Inheritance diagram for sp::scene::Billboard:
sp::scene::MaterialNode sp::scene::RenderNode sp::scene::SceneNode sp::Node sp::BaseObject

List of all members.

Public Member Functions

 Billboard (video::Texture *BaseTexture)
virtual ~Billboard ()
virtual void updateTransformation ()
 Updates the objects transformation and sets the depth distance.
void setBasePosition (const dim::point2df &Position)
dim::point2df getBasePosition () const
void setTexture (video::Texture *BaseTexture)
 Sets the base texture (may be 0).
video::Texture * getTexture () const
void setColor (const video::color &Color)
 Sets the billboard's color.
video::color getColor () const
void setHardwareInstancing (s32 InstanceCount)
 Sets the hardware instances. For more information see the MeshBuffer class.
s32 getHardwareInstancing () const
Billboard * copy () const
virtual void render ()

Static Protected Member Functions

static void createDefaultMeshBuffer ()
static void deleteDefaultMeshBuffer ()

Protected Attributes

video::Texture * BaseTexture_
dim::point2df BasePosition_
video::color Color_
s32 InstanceCount_

Static Protected Attributes

static video::MeshBuffer * MeshBuffer_ = 0

Friends

class SceneGraph
class SimpleSceneManager
class sp::SoftPixelDevice

Detailed Description

Billboards - also called "Sprites" - are used for special effects like fire, sparks, rain, lense flares etc. A Billboard is always faced to the camera like a 2D image but it uses the 3D space (position with X, Y, Z). A Billboard normally have only one texture but it can also be just a colored quad (two triangles in form of a square). Inform yourself about alpha-blending that you know how to use the blending methods which are mostly used for Billboards but also available for normal 3D models.


Constructor & Destructor Documentation

sp::scene::Billboard::Billboard ( video::Texture *  BaseTexture  ) 
sp::scene::Billboard::~Billboard (  )  [virtual]

Member Function Documentation

Billboard * sp::scene::Billboard::copy (  )  const

Reimplemented from sp::scene::SceneNode.

void sp::scene::Billboard::createDefaultMeshBuffer (  )  [static, protected]
void sp::scene::Billboard::deleteDefaultMeshBuffer (  )  [static, protected]
dim::point2df sp::scene::Billboard::getBasePosition (  )  const [inline]
video::color sp::scene::Billboard::getColor (  )  const [inline]
s32 sp::scene::Billboard::getHardwareInstancing (  )  const [inline]
video::Texture* sp::scene::Billboard::getTexture (  )  const [inline]
void sp::scene::Billboard::render (  )  [virtual]

Renders the object. In this case rendering does not only mean drawing a 3d mesh. It can also be a light source.

Returns:
True if the object has been rendered. Otherwise the object has been sorted out by frustum culling.

Implements sp::scene::MaterialNode.

void sp::scene::Billboard::setBasePosition ( const dim::point2df &  Position  )  [inline]

Sets the billboard's base position.

Parameters:
Position,: Position to which the sprite origin is to be translated.
void sp::scene::Billboard::setColor ( const video::color &  Color  )  [inline]

Sets the billboard's color.

void sp::scene::Billboard::setHardwareInstancing ( s32  InstanceCount  )  [inline]

Sets the hardware instances. For more information see the MeshBuffer class.

void sp::scene::Billboard::setTexture ( video::Texture *  BaseTexture  )  [inline]

Sets the base texture (may be 0).

void sp::scene::Billboard::updateTransformation (  )  [virtual]

Updates the objects transformation and sets the depth distance.

TODO! -> use extra rotation float member

Reimplemented from sp::scene::RenderNode.


Friends And Related Function Documentation

friend class SceneGraph [friend]

Reimplemented from sp::scene::MaterialNode.

friend class SimpleSceneManager [friend]
friend class sp::SoftPixelDevice [friend]

Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines