OGRE-Next: Ogre::ParticleSystemRenderer Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::ParticleSystemRenderer Class Referenceabstract
Core » Effects

Abstract class defining the interface required to be implemented by classes which provide rendering capability to ParticleSystem instances. More...

`#include <OgreParticleSystemRenderer.h>`

Inheritance diagram for Ogre::ParticleSystemRenderer:
[legend]

## Public Member Functions
| ParticleSystemRenderer ()
| Constructor.
virtual | ~ParticleSystemRenderer ()
| Destructor.
virtual ParticleVisualData * | _createVisualData ()
| Create a new ParticleVisualData instance for attachment to a particle.
virtual void | _destroyVisualData (ParticleVisualData *vis)
| Destroy a ParticleVisualData instance.
virtual SortMode | _getSortMode () const =0
| Gets the desired particles sort mode of this renderer.
virtual void | _notifyAttached (Node *parent)=0
| Delegated to by ParticleSystem::_notifyAttached.
virtual void | _notifyCurrentCamera (const Camera *camera, const Camera *lodCamera)=0
| Delegated to by ParticleSystem::_notifyCurrentCamera.
virtual void | _notifyDefaultDimensions (Real width, Real height)=0
| Tells the renderer that the particle default size has changed.
virtual void | _notifyParticleCleared (list< Particle * >::type &currentParticles)
| Optional callback notified when particles cleared.
virtual void | _notifyParticleEmitted (Particle *particle)
| Optional callback notified when particle emitted.
virtual void | _notifyParticleExpired (Particle *particle)
| Optional callback notified when particle expired.
virtual void | _notifyParticleMoved (list< Particle * >::type &currentParticles)
| Optional callback notified when particles moved.
virtual void | _notifyParticleQuota (size_t quota)=0
| Tells the renderer that the particle quota has changed.
virtual void | _notifyParticleResized ()
| Optional callback notified when particles are resized individually.
virtual void | _notifyParticleRotated ()
| Optional callback notified when particles are rotated.
virtual void | _setDatablock (HlmsDatablock *datablock)=0
| Sets the HLMS material this renderer must use; called by ParticleSystem.
virtual void | _setMaterialName (const String &matName, const String &resourceGroup)=0
| Sets the material this renderer must use; called by ParticleSystem.
virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera, list< Particle * >::type &currentParticles, bool cullIndividually, RenderableArray &outRenderables)=0
| Delegated to by ParticleSystem::_updateRenderQueue.
virtual const String & | getType () const =0
| Gets the type of this renderer - must be implemented by subclasses.
virtual void | setKeepParticlesInLocalSpace (bool keepLocal)=0
| Setting carried over from ParticleSystem.
virtual void | setRenderQueueGroup (uint8 queueID)=0
| Sets which render queue group this renderer should target with it's output.
virtual void | setRenderQueueSubGroup (uint8 subGroupId)=0
Public Member Functions inherited from Ogre::StringInterface
| StringInterface ()
virtual | ~StringInterface ()
| Virtual destructor, see Effective C++.
virtual void | copyParametersTo (StringInterface *dest) const
| Method for copying this object's parameters to another object.
ParamDictionary * | getParamDictionary ()
| Retrieves the parameter dictionary for this class.
const ParamDictionary * | getParamDictionary () const
virtual String | getParameter (const String &name) const
| Generic parameter retrieval method.
const ParameterList & | getParameters () const
| Retrieves a list of parameters valid for this object.
virtual bool | setParameter (const String &name, const String &value)
| Generic parameter setting method.
virtual void | setParameterList (const NameValuePairList &paramList)
| Generic multiple parameter setting method.

## Additional Inherited Members
Static Public Member Functions inherited from Ogre::StringInterface
static void | cleanupDictionary ()
| Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g.

## Detailed Description

Abstract class defining the interface required to be implemented by classes which provide rendering capability to ParticleSystem instances.

## Constructor & Destructor Documentation

## ◆ ParticleSystemRenderer()

Ogre::ParticleSystemRenderer::ParticleSystemRenderer | ( |  | ) |
| inline

Constructor.

## ◆ ~ParticleSystemRenderer()

virtual Ogre::ParticleSystemRenderer::~ParticleSystemRenderer | ( |  | ) |
| inlinevirtual

Destructor.

## Member Function Documentation

## ◆ _createVisualData()

virtual ParticleVisualData * Ogre::ParticleSystemRenderer::_createVisualData | ( |  | ) |
| inlinevirtual

Create a new ParticleVisualData instance for attachment to a particle.

Remarks
  If this renderer needs additional data in each particle, then this should be held in an instance of a subclass of ParticleVisualData, and this method should be overridden to return a new instance of it. The default behaviour is to return null.

## ◆ _destroyVisualData()

virtual void Ogre::ParticleSystemRenderer::_destroyVisualData | ( | ParticleVisualData * | vis | ) |
| inlinevirtual

Destroy a ParticleVisualData instance.

Remarks
  If this renderer needs additional data in each particle, then this should be held in an instance of a subclass of ParticleVisualData, and this method should be overridden to destroy an instance of it. The default behaviour is to do nothing.

## ◆ _getSortMode()

virtual SortMode Ogre::ParticleSystemRenderer::_getSortMode | ( |  | ) | const
| pure virtual

Gets the desired particles sort mode of this renderer.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyAttached()

virtual void Ogre::ParticleSystemRenderer::_notifyAttached | ( | Node * | parent | ) |
| pure virtual

Delegated to by ParticleSystem::_notifyAttached.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyCurrentCamera()

virtual void Ogre::ParticleSystemRenderer::_notifyCurrentCamera | ( | const Camera * | camera,
|  | const Camera * | lodCamera )
| pure virtual

Delegated to by ParticleSystem::_notifyCurrentCamera.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyDefaultDimensions()

virtual void Ogre::ParticleSystemRenderer::_notifyDefaultDimensions | ( | Real | width,
|  | Real | height )
| pure virtual

Tells the renderer that the particle default size has changed.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyParticleCleared()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleCleared | ( | list< Particle * >::type & | currentParticles | ) |
| inlinevirtual

Optional callback notified when particles cleared.

## ◆ _notifyParticleEmitted()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleEmitted | ( | Particle * | particle | ) |
| inlinevirtual

Optional callback notified when particle emitted.

## ◆ _notifyParticleExpired()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleExpired | ( | Particle * | particle | ) |
| inlinevirtual

Optional callback notified when particle expired.

## ◆ _notifyParticleMoved()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleMoved | ( | list< Particle * >::type & | currentParticles | ) |
| inlinevirtual

Optional callback notified when particles moved.

## ◆ _notifyParticleQuota()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleQuota | ( | size_t | quota | ) |
| pure virtual

Tells the renderer that the particle quota has changed.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyParticleResized()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleResized | ( |  | ) |
| inlinevirtual

Optional callback notified when particles are resized individually.

Reimplemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _notifyParticleRotated()

virtual void Ogre::ParticleSystemRenderer::_notifyParticleRotated | ( |  | ) |
| inlinevirtual

Optional callback notified when particles are rotated.

Reimplemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _setDatablock()

virtual void Ogre::ParticleSystemRenderer::_setDatablock | ( | HlmsDatablock * | datablock | ) |
| pure virtual

Sets the HLMS material this renderer must use; called by ParticleSystem.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _setMaterialName()

virtual void Ogre::ParticleSystemRenderer::_setMaterialName | ( | const String & | matName,
|  | const String & | resourceGroup )
| pure virtual

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

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ _updateRenderQueue()

virtual void Ogre::ParticleSystemRenderer::_updateRenderQueue | ( | RenderQueue * | queue,
|  | Camera * | camera,
|  | const Camera * | lodCamera,
|  | list< Particle * >::type & | currentParticles,
|  | bool | cullIndividually,
|  | RenderableArray & | outRenderables )
| pure virtual

Delegated to by ParticleSystem::_updateRenderQueue.

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

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ getType()

virtual const String & Ogre::ParticleSystemRenderer::getType | ( |  | ) | const
| pure virtual

Gets the type of this renderer - must be implemented by subclasses.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ setKeepParticlesInLocalSpace()

virtual void Ogre::ParticleSystemRenderer::setKeepParticlesInLocalSpace | ( | bool | keepLocal | ) |
| pure virtual

Setting carried over from ParticleSystem.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ setRenderQueueGroup()

virtual void Ogre::ParticleSystemRenderer::setRenderQueueGroup | ( | uint8 | queueID | ) |
| pure virtual

Sets which render queue group this renderer should target with it's output.

Implemented in Ogre::v1::BillboardParticleRenderer.

## ◆ setRenderQueueSubGroup()

virtual void Ogre::ParticleSystemRenderer::setRenderQueueSubGroup | ( | uint8 | subGroupId | ) |
| pure virtual

Implemented in Ogre::v1::BillboardParticleRenderer.

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

- OgreParticleSystemRenderer.h