28#ifndef __BillboardParticleRenderer_H__
29#define __BillboardParticleRenderer_H__
Factory class for BillboardParticleRenderer.
ParticleSystemRenderer * createInstance(const String &name)
Creates a new object.
void destroyInstance(ParticleSystemRenderer *ptr)
Destroys an object which was created by this factory.
const String & getType() const
Returns the factory type.
Command object for accurate facing(see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Command object for billboard origin (see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Command object for billboard rotation type (see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Command object for billboard type (see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Command object for common direction (see ParamCommand).
void doSet(void *target, const String &val)
String doGet(const void *target) const
Command object for common up-vector (see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Command object for point rendering (see ParamCommand).
String doGet(const void *target) const
void doSet(void *target, const String &val)
Specialisation of ParticleSystemRenderer to render particles using a BillboardSet.
static CmdBillboardType msBillboardTypeCmd
BillboardOrigin getBillboardOrigin(void) const
Gets the point which acts as the origin point for all billboards in this set.
const Vector3 & getCommonDirection(void) const
Gets the common direction for all billboards (BBT_ORIENTED_COMMON)
void _notifyDefaultDimensions(Real width, Real height)
Tells the renderer that the particle default size has changed.
BillboardSet * mBillboardSet
The billboard set that's doing the rendering.
BillboardParticleRenderer()
static CmdPointRendering msPointRenderingCmd
void _notifyParticleRotated(void)
Optional callback notified when particles are rotated.
void setUseAccurateFacing(bool acc)
Sets whether or not billboards should use an 'accurate' facing model based on the vector from each bi...
void setRenderQueueGroupAndPriority(uint8 queueID, ushort priority)
Sets the render queue group and group priority this entity will be rendered through.
~BillboardParticleRenderer()
static CmdBillboardOrigin msBillboardOriginCmd
BillboardType getBillboardType(void) const
Returns the billboard type in use.
void setBillboardRotationType(BillboardRotationType rotationType)
Sets billboard rotation type.
void setPointRenderingEnabled(bool enabled)
Set whether or not the BillboardSet will use point rendering rather than manually generated quads.
void visitRenderables(Renderable::Visitor *visitor, bool debugRenderables=false)
Required method to allow the renderer to communicate the Renderables it will be using to render the s...
void _notifyParticleResized(void)
Optional callback notified when particles are resized individually.
void setKeepParticlesInLocalSpace(bool keepLocal)
Setting carried over from ParticleSystem.
BillboardSet * getBillboardSet(void) const
Access BillboardSet in use.
SortMode _getSortMode(void) const
Gets the desired particles sort mode of this renderer.
void _setMaterial(MaterialPtr &mat)
Sets the material this renderer must use; called by ParticleSystem.
const Vector3 & getCommonUpVector(void) const
Gets the common up-vector for all billboards (BBT_PERPENDICULAR_SELF)
static CmdBillboardRotationType msBillboardRotationTypeCmd
bool getUseAccurateFacing(void) const
Gets whether or not billboards use an 'accurate' facing model based on the vector from each billboard...
static CmdAccurateFacing msAccurateFacingCmd
void _notifyParticleQuota(size_t quota)
Tells the renderer that the particle quota has changed.
void _updateRenderQueue(RenderQueue *queue, list< Particle * >::type ¤tParticles, bool cullIndividually)
Delegated to by ParticleSystem::_updateRenderQueue.
void setRenderQueueGroup(uint8 queueID)
Sets which render queue group this renderer should target with it's output.
void _notifyCurrentCamera(Camera *cam)
Delegated to by ParticleSystem::_notifyCurrentCamera.
static CmdCommonDirection msCommonDirectionCmd
void setCommonUpVector(const Vector3 &vec)
Use this to specify the common up-vector given to billboards of type BBT_PERPENDICULAR_SELF.
void _notifyAttached(Node *parent, bool isTagPoint=false)
Delegated to by ParticleSystem::_notifyAttached.
bool isPointRenderingEnabled(void) const
Returns whether point rendering is enabled.
BillboardRotationType getBillboardRotationType(void) const
Gets billboard rotation type.
const String & getType(void) const
Gets the type of this renderer - must be implemented by subclasses.
void setCommonDirection(const Vector3 &vec)
Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON.
void setBillboardOrigin(BillboardOrigin origin)
Sets the point which acts as the origin point for all billboards in this set.
void setBillboardType(BillboardType bbt)
Sets the type of billboard to render.
static CmdCommonUpVector msCommonUpVectorCmd
A collection of billboards (faces which are always facing the given direction) with the same (default...
virtual BillboardOrigin getBillboardOrigin(void) const
Gets the point which acts as the origin point for all billboards in this set.
virtual void setBillboardOrigin(BillboardOrigin origin)
Sets the point which acts as the origin point for all billboards in this set.
A viewpoint from which the scene will be rendered.
Class representing a general-purpose node an articulated scene graph.
Abstract class which is command object which gets/sets parameters.
Abstract class definition of a factory object for ParticleSystemRenderer.
Abstract class defining the interface required to be implemented by classes which provide rendering c...
Class to manage the scene object rendering queue.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Reference-counted shared pointer, used for objects where implicit destruction is required.
Standard 3-dimensional vector.
BillboardOrigin
Enum covering what exactly a billboard's position means (center, top-left etc).
BillboardRotationType
The rotation type of billboard.
BillboardType
The type of billboard to use.
SortMode
Sort mode for billboard-set and particle-system.
float Real
Software floating point type.