Particle Universe  1.2
ParticleUniverse::BillboardRenderer Class Reference

#include <ParticleUniverseBillboardRenderer.h>

Inheritance diagram for ParticleUniverse::BillboardRenderer:

Public Types

enum  BillboardType {
  BBT_POINT, BBT_ORIENTED_COMMON, BBT_ORIENTED_SELF, BBT_ORIENTED_SHAPE,
  BBT_PERPENDICULAR_COMMON, BBT_PERPENDICULAR_SELF
}
 
- Public Types inherited from ParticleUniverse::IAlias
enum  AliasType {
  AT_UNDEFINED, AT_TECHNIQUE, AT_RENDERER, AT_EMITTER,
  AT_AFFECTOR, AT_OBSERVER, AT_EXTERN, AT_HANDLER,
  AT_BEHAVIOUR
}
 

Public Member Functions

 BillboardRenderer (void)
 
virtual ~BillboardRenderer (void)
 
virtual void _prepare (ParticleTechnique *technique)
 
virtual void _unprepare (ParticleTechnique *technique)
 
void setBillboardType (BillboardType bbt)
 
BillboardType getBillboardType (void) const
 
void setUseAccurateFacing (bool acc)
 
bool isUseAccurateFacing (void) const
 
void setBillboardOrigin (Ogre::BillboardOrigin origin)
 
Ogre::BillboardOrigin getBillboardOrigin (void) const
 
void setBillboardRotationType (Ogre::BillboardRotationType rotationType)
 
Ogre::BillboardRotationType getBillboardRotationType (void) const
 
void setCommonDirection (const Vector3 &vec)
 
const Vector3getCommonDirection (void) const
 
void setCommonUpVector (const Vector3 &vec)
 
const Vector3getCommonUpVector (void) const
 
void setPointRenderingEnabled (bool enabled)
 
bool isPointRenderingEnabled (void) const
 
virtual void _updateRenderQueue (Ogre::RenderQueue *queue, ParticlePool *pool)
 
virtual void _notifyAttached (Ogre::Node *parent, bool isTagPoint=false)
 
virtual void _setMaterialName (const String &materialName)
 
virtual void _notifyCurrentCamera (Camera *cam)
 
virtual void _notifyParticleQuota (size_t quota)
 
virtual void _notifyDefaultDimensions (Real width, Real height, Real depth)
 
virtual void _notifyParticleResized (void)
 
virtual void _notifyParticleZRotated (void)
 
virtual void setRenderQueueGroup (uint8 queueId)
 
virtual SortMode _getSortMode (void) const
 
virtual void copyAttributesTo (ParticleRenderer *renderer)
 
Ogre::BillboardSetgetBillboardSet (void) const
 
virtual void setVisible (bool visible)
 
- Public Member Functions inherited from ParticleUniverse::ParticleRenderer
 ParticleRenderer (void)
 
virtual ~ParticleRenderer (void)
 
const StringgetRendererType (void) const
 
void setRendererType (String rendererType)
 
ParticleTechniquegetParentTechnique (void) const
 
void setParentTechnique (ParticleTechnique *parentTechnique)
 
bool isRendererInitialised (void) const
 
void setRendererInitialised (bool rendererInitialised)
 
virtual void _notifyStart (void)
 
virtual void _notifyStop (void)
 
virtual void _notifyRescaled (const Vector3 &scale)
 
virtual void _processParticle (ParticleTechnique *particleTechnique, Particle *particle, Real timeElapsed, bool firstParticle)
 
bool getUseSoftParticles (void) const
 
void setUseSoftParticles (bool useSoftParticles)
 
Real getSoftParticlesContrastPower (void) const
 
Real getSoftParticlesScale (void) const
 
Real getSoftParticlesDelta (void) const
 
void setSoftParticlesContrastPower (Real softParticlesContrastPower)
 
void setSoftParticlesScale (Real softParticlesScale)
 
void setSoftParticlesDelta (Real softParticlesDelta)
 
virtual uint8 getRenderQueueGroup (void) const
 
const bool isSorted (void) const
 
void setSorted (bool sorted)
 
const uchar getTextureCoordsRows (void) const
 
void setTextureCoordsRows (uchar const textureCoordsRows)
 
const uchar getTextureCoordsColumns (void) const
 
void setTextureCoordsColumns (uchar const textureCoordsColumns)
 
size_t getNumTextureCoords (void)
 
virtual void copyParentAttributesTo (ParticleRenderer *renderer)
 
void addTextureCoords (const Real u, const Real v, const Real width, const Real height)
 
const vector< Ogre::FloatRect * > & getTextureCoords (void) const
 
- Public Member Functions inherited from ParticleUniverse::IAlias
 IAlias (void)
 
virtual ~IAlias (void)
 
const StringgetAliasName (void) const
 
void setAliasName (String aliasName)
 
const AliasType getAliasType (void) const
 
void setAliasType (AliasType aliasType)
 
- Public Member Functions inherited from ParticleUniverse::IElement
 IElement (void)
 
virtual ~IElement (void)
 

Static Public Attributes

static const BillboardType DEFAULT_BILLBOARD_TYPE
 
static const bool DEFAULT_ACCURATE_FACING
 
static const Ogre::BillboardOrigin DEFAULT_ORIGIN
 
static const Ogre::BillboardRotationType DEFAULT_ROTATION_TYPE
 
static const Vector3 DEFAULT_COMMON_DIRECTION
 
static const Vector3 DEFAULT_COMMON_UP_VECTOR
 
static const bool DEFAULT_POINT_RENDERING
 
- Static Public Attributes inherited from ParticleUniverse::ParticleRenderer
static const uint8 DEFAULT_RENDER_QUEUE_GROUP
 
static const bool DEFAULT_SORTED
 
static const uchar DEFAULT_TEXTURECOORDS_ROWS
 
static const uchar DEFAULT_TEXTURECOORDS_COLUMNS
 
static const bool DEFAULT_USE_SOFT_PARTICLES
 
static const Real DEFAULT_SOFT_PARTICLES_CONTRAST_POWER
 
static const Real DEFAULT_SOFT_PARTICLES_SCALE
 
static const Real DEFAULT_SOFT_PARTICLES_DELTA
 

Protected Attributes

Ogre::BillboardSetmBillboardSet
 
BillboardType mBillboardType
 
- Protected Attributes inherited from ParticleUniverse::ParticleRenderer
ParticleTechniquemParentTechnique
 
Ogre::BillboardSetmBillboardSet
 
String mRendererType
 
bool mCullIndividual
 
Real mHeight
 
Real mWidth
 
Real mDepth
 
bool mSorted
 
uint8 mQueueId
 
bool mRendererInitialised
 
Vector3 _mRendererScale
 
vector< Ogre::FloatRect * > mUVList
 
uchar mTextureCoordsRows
 
uchar mTextureCoordsColumns
 
bool mTextureCoordsRowsAndColumnsSet
 
bool mTextureCoordsSet
 
bool mUseSoftParticles
 
Real mSoftParticlesContrastPower
 
Real mSoftParticlesScale
 
Real mSoftParticlesDelta
 
bool mNotifiedDepthMap
 
bool mVisible
 
bool mDepthCheckEnabled
 
bool mDepthWriteEnabled
 
- Protected Attributes inherited from ParticleUniverse::IAlias
String mAliasName
 
AliasType mAliasType
 

Additional Inherited Members

- Public Attributes inherited from ParticleUniverse::ParticleRenderer
bool autoRotate
 
- Protected Member Functions inherited from ParticleUniverse::ParticleRenderer
void _createSoftMaterial (void)
 
void _stripNameFromSoftPrefix (String &name)
 

Detailed Description

The BillboardRenderer class is responsible to render particles as a billboard.

Member Enumeration Documentation

Alternative billboard type.

Remarks
This is an extended version of Ogre's billboard type. It has BBT_ORIENTED_SHAPE added which basicly means that the billboard orientation is derived from the particle orientation.
Enumerator
BBT_POINT 
BBT_ORIENTED_COMMON 
BBT_ORIENTED_SELF 
BBT_ORIENTED_SHAPE 
BBT_PERPENDICULAR_COMMON 
BBT_PERPENDICULAR_SELF 

Constructor & Destructor Documentation

ParticleUniverse::BillboardRenderer::BillboardRenderer ( void  )
virtual ParticleUniverse::BillboardRenderer::~BillboardRenderer ( void  )
virtual

Member Function Documentation

virtual SortMode ParticleUniverse::BillboardRenderer::_getSortMode ( void  ) const
virtual

Gets the particles sort mode

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_notifyAttached ( Ogre::Node parent,
bool  isTagPoint = false 
)
virtual
virtual void ParticleUniverse::BillboardRenderer::_notifyCurrentCamera ( Camera cam)
virtual
virtual void ParticleUniverse::BillboardRenderer::_notifyDefaultDimensions ( Real  width,
Real  height,
Real  depth 
)
virtual

The particle default size has changed

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_notifyParticleQuota ( size_t  quota)
virtual

The particle quota has changed

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_notifyParticleResized ( void  )
virtual

Callback when particles are resized

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_notifyParticleZRotated ( void  )
virtual

Callback when particles are rotated

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_prepare ( ParticleTechnique technique)
virtual

Prepare the renderer before it can be used.

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_setMaterialName ( const String materialName)
virtual

Sets the material this renderer must use; called by ParticleTechnique.

Implements ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_unprepare ( ParticleTechnique technique)
virtual

Reverse the actions from the _prepare.

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::_updateRenderQueue ( Ogre::RenderQueue queue,
ParticlePool pool 
)
virtual

Updates the renderqueue

Remarks
The subclass must update the render queue using whichever Renderable instance(s) it wishes.

Reimplemented from ParticleUniverse::ParticleRenderer.

virtual void ParticleUniverse::BillboardRenderer::copyAttributesTo ( ParticleRenderer renderer)
virtual

Copy attributes to another renderer.

Reimplemented from ParticleUniverse::ParticleRenderer.

Ogre::BillboardOrigin ParticleUniverse::BillboardRenderer::getBillboardOrigin ( void  ) const
inline
Ogre::BillboardRotationType ParticleUniverse::BillboardRenderer::getBillboardRotationType ( void  ) const
Ogre::BillboardSet* ParticleUniverse::BillboardRenderer::getBillboardSet ( void  ) const
inline
BillboardType ParticleUniverse::BillboardRenderer::getBillboardType ( void  ) const
const Vector3& ParticleUniverse::BillboardRenderer::getCommonDirection ( void  ) const
const Vector3& ParticleUniverse::BillboardRenderer::getCommonUpVector ( void  ) const
bool ParticleUniverse::BillboardRenderer::isPointRenderingEnabled ( void  ) const
bool ParticleUniverse::BillboardRenderer::isUseAccurateFacing ( void  ) const
void ParticleUniverse::BillboardRenderer::setBillboardOrigin ( Ogre::BillboardOrigin  origin)
inline
void ParticleUniverse::BillboardRenderer::setBillboardRotationType ( Ogre::BillboardRotationType  rotationType)
void ParticleUniverse::BillboardRenderer::setBillboardType ( BillboardType  bbt)
void ParticleUniverse::BillboardRenderer::setCommonDirection ( const Vector3 vec)
void ParticleUniverse::BillboardRenderer::setCommonUpVector ( const Vector3 vec)
void ParticleUniverse::BillboardRenderer::setPointRenderingEnabled ( bool  enabled)
virtual void ParticleUniverse::BillboardRenderer::setRenderQueueGroup ( uint8  queueId)
virtual

Sets renderqueue group

Reimplemented from ParticleUniverse::ParticleRenderer.

void ParticleUniverse::BillboardRenderer::setUseAccurateFacing ( bool  acc)
virtual void ParticleUniverse::BillboardRenderer::setVisible ( bool  visible)
virtual

To make currently displayed objects visible or not.

Reimplemented from ParticleUniverse::ParticleRenderer.

Member Data Documentation

const bool ParticleUniverse::BillboardRenderer::DEFAULT_ACCURATE_FACING
static
const BillboardType ParticleUniverse::BillboardRenderer::DEFAULT_BILLBOARD_TYPE
static
const Vector3 ParticleUniverse::BillboardRenderer::DEFAULT_COMMON_DIRECTION
static
const Vector3 ParticleUniverse::BillboardRenderer::DEFAULT_COMMON_UP_VECTOR
static
const Ogre::BillboardOrigin ParticleUniverse::BillboardRenderer::DEFAULT_ORIGIN
static
const bool ParticleUniverse::BillboardRenderer::DEFAULT_POINT_RENDERING
static
const Ogre::BillboardRotationType ParticleUniverse::BillboardRenderer::DEFAULT_ROTATION_TYPE
static
Ogre::BillboardSet* ParticleUniverse::BillboardRenderer::mBillboardSet
protected
BillboardType ParticleUniverse::BillboardRenderer::mBillboardType
protected

The documentation for this class was generated from the following file: