|
Particle Universe
1.2
|
#include <ParticleUniverseRenderer.h>

Public Member Functions | |
| ParticleRenderer (void) | |
| virtual | ~ParticleRenderer (void) |
| const String & | getRendererType (void) const |
| void | setRendererType (String rendererType) |
| ParticleTechnique * | getParentTechnique (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 | setVisible (bool visible=true) |
| virtual void | _prepare (ParticleTechnique *technique)=0 |
| virtual void | _unprepare (ParticleTechnique *particleTechnique) |
| 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 void | _updateRenderQueue (Ogre::RenderQueue *queue, ParticlePool *pool) |
| virtual void | _setMaterialName (const String &materialName)=0 |
| virtual void | _notifyCurrentCamera (Camera *cam)=0 |
| virtual void | _notifyAttached (Ogre::Node *parent, bool isTagPoint=false)=0 |
| virtual void | _notifyParticleQuota (size_t quota)=0 |
| virtual void | _notifyDefaultDimensions (Real width, Real height, Real depth)=0 |
| virtual void | _notifyParticleResized (void)=0 |
| virtual void | _notifyParticleZRotated (void) |
| virtual void | setRenderQueueGroup (uint8 queueId) |
| virtual uint8 | getRenderQueueGroup (void) const |
| virtual SortMode | _getSortMode (void) const =0 |
| 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 | copyAttributesTo (ParticleRenderer *renderer) |
| 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 String & | getAliasName (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) |
Public Attributes | |
| bool | autoRotate |
Static Public Attributes | |
| 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 Member Functions | |
| void | _createSoftMaterial (void) |
| void | _stripNameFromSoftPrefix (String &name) |
Protected Attributes | |
| ParticleTechnique * | mParentTechnique |
| Ogre::BillboardSet * | mBillboardSet |
| 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 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 } |
ParticleRenderer is a virtual class and must be subclassed. A subclass of ParticleRenderer is responsible for rendering the visual particles.
| ParticleUniverse::ParticleRenderer::ParticleRenderer | ( | void | ) |
|
virtual |
|
protected |
In case soft particles are used, a new material must be created.
|
pure virtual |
Gets the particles sort mode
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
pure virtual |
Delegated to by ParticleTechnique::_notifyAttached
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
pure virtual |
Delegated to by ParticleTechnique::_notifyCurrentCamera
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
pure virtual |
The particle default size has changed
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
pure virtual |
The particle quota has changed
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
pure virtual |
Callback when particles are resized
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
inlinevirtual |
Callback when particles are rotated
Reimplemented in ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
virtual |
Notify that the Particle System is rescaled.
Reimplemented in ParticleUniverse::RibbonTrailRenderer.
|
virtual |
Perform activities when a Renderer is started.
|
virtual |
Perform activities when a Renderer is stopped.
|
pure virtual |
Prepare the renderer before it can be used.
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
inlinevirtual |
Entry point for processing an individual particle.
Reimplemented in ParticleUniverse::LightRenderer, and ParticleUniverse::BeamRenderer.
|
pure virtual |
Sets the material this renderer must use; called by ParticleTechnique.
Implemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
protected |
Used to determine the original material name
|
inlinevirtual |
Reverse the actions from the _prepare.
Reimplemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
virtual |
Updates the renderqueue
Reimplemented in ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
| void ParticleUniverse::ParticleRenderer::addTextureCoords | ( | const Real | u, |
| const Real | v, | ||
| const Real | width, | ||
| const Real | height | ||
| ) |
Add a texture coordinate set, which consist of a the texel position (u, v), width and height
|
virtual |
Copy attributes to another renderer.
Reimplemented in ParticleUniverse::LightRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
virtual |
Copy parent attributes to another renderer.
| size_t ParticleUniverse::ParticleRenderer::getNumTextureCoords | ( | void | ) |
Return the number of texture coordinates.
| ParticleTechnique* ParticleUniverse::ParticleRenderer::getParentTechnique | ( | void | ) | const |
Get / set the parent.
| const String& ParticleUniverse::ParticleRenderer::getRendererType | ( | void | ) | const |
|
virtual |
Get renderqueue group
| Real ParticleUniverse::ParticleRenderer::getSoftParticlesContrastPower | ( | void | ) | const |
Contrast Power determines the strength of the alpha that is applied to the particles.
| Real ParticleUniverse::ParticleRenderer::getSoftParticlesDelta | ( | void | ) | const |
The delta is a threshold value that determines at what 'depth distance' alpha fading is applied.
| Real ParticleUniverse::ParticleRenderer::getSoftParticlesScale | ( | void | ) | const |
Scale determines the 'velocity' of alpha fading.
| const vector<Ogre::FloatRect*>& ParticleUniverse::ParticleRenderer::getTextureCoords | ( | void | ) | const |
Returns the list with texture coordinates.
| const uchar ParticleUniverse::ParticleRenderer::getTextureCoordsColumns | ( | void | ) | const |
Get the number of textureCoords colums (slices) of an atlas texture.
| const uchar ParticleUniverse::ParticleRenderer::getTextureCoordsRows | ( | void | ) | const |
Get the number of textureCoords rows (stacks) of an atlas texture.
| bool ParticleUniverse::ParticleRenderer::getUseSoftParticles | ( | void | ) | const |
Returns value that indicates whether usage of soft particles is on or off.
| bool ParticleUniverse::ParticleRenderer::isRendererInitialised | ( | void | ) | const |
Get / set whether the renderer is initialised.
| const bool ParticleUniverse::ParticleRenderer::isSorted | ( | void | ) | const |
Returns whether the particles are sorted
| void ParticleUniverse::ParticleRenderer::setParentTechnique | ( | ParticleTechnique * | parentTechnique | ) |
| void ParticleUniverse::ParticleRenderer::setRendererInitialised | ( | bool | rendererInitialised | ) |
| void ParticleUniverse::ParticleRenderer::setRendererType | ( | String | rendererType | ) |
|
virtual |
Sets renderqueue group
Reimplemented in ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::BillboardRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
| void ParticleUniverse::ParticleRenderer::setSoftParticlesContrastPower | ( | Real | softParticlesContrastPower | ) |
Todo
| void ParticleUniverse::ParticleRenderer::setSoftParticlesDelta | ( | Real | softParticlesDelta | ) |
Todo
| void ParticleUniverse::ParticleRenderer::setSoftParticlesScale | ( | Real | softParticlesScale | ) |
Todo
| void ParticleUniverse::ParticleRenderer::setSorted | ( | bool | sorted | ) |
Determines whether the particles are sorted
| void ParticleUniverse::ParticleRenderer::setTextureCoordsColumns | ( | uchar const | textureCoordsColumns | ) |
Set the number of textureCoords colums (slices) of an atlas texture.
| void ParticleUniverse::ParticleRenderer::setTextureCoordsRows | ( | uchar const | textureCoordsRows | ) |
Set the number of textureCoords rows (stacks) of an atlas texture.
| void ParticleUniverse::ParticleRenderer::setUseSoftParticles | ( | bool | useSoftParticles | ) |
Set usage of soft particles on or off.
|
inlinevirtual |
To make currently displayed objects visible or not.
Reimplemented in ParticleUniverse::BillboardRenderer, ParticleUniverse::BeamRenderer, ParticleUniverse::RibbonTrailRenderer, ParticleUniverse::EntityRenderer, ParticleUniverse::BoxRenderer, and ParticleUniverse::SphereRenderer.
|
protected |
Although the scale is on a Particle System level, the renderer can also be scaled.
| bool ParticleUniverse::ParticleRenderer::autoRotate |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
Original material (pass) settings.
|
protected |
|
protected |
|
protected |
In case soft particles are used, the renderer notifies the ParticleSystemManager until notification succeeded. The notification may be done multiple times, because a camera is needed from the Parent System, and it is not guaranteed that it already exists.
|
protected |
|
protected |
Defines the renderqueue.
|
protected |
Determines whether renderer is initialised.
|
protected |
|
protected |
Soft particles properties.
|
protected |
|
protected |
|
protected |
Determines whether the visual particles must be sorted.
|
protected |
If an atlas texture is used, it is possible to define texture coordinates. This is the number of image columns (slices) in the atlas texture.
|
protected |
If an atlas texture is used, it is possible to define texture coordinates. This is the number of image rows (stacks) in the atlas texture.
|
protected |
If mTextureCoordsRows and mTextureCoordsColumns are set, this boolean is set to true, indicating that Texture Coordinates are used.
|
protected |
If textureCoords are set individually, this boolean is set to true, indicating that Texture Coordinates are used.
|
protected |
Determines whether soft particles are used.
|
protected |
List of texture coordinates.
|
protected |
Determines visibility of the renderer. This means that particles arenīt renderer anymore.
|
protected |