RigsofRods
Soft-body Physics Simulation
|
Specialisation of ParticleSystemRenderer to render particles using a custom shaders. More...
#include <OgreShaderParticleRenderer.h>
Data Structures | |
class | CmdVertexFormatColour |
Command objects for defining vertex format (see ParamCommand). More... | |
class | CmdVertexFormatDirection |
direction More... | |
class | CmdVertexFormatRotation |
rotation More... | |
class | CmdVertexFormatRotationSpeed |
rotation speed (rad/s) More... | |
class | CmdVertexFormatSize |
particle size More... | |
class | CmdVertexFormatTexture |
general texture coord More... | |
class | CmdVertexFormatTimeFrag |
TTL / total_TTL. More... | |
class | CmdVertexFormatTimeFragInv |
1.0f - TTL / total_TTL More... | |
class | CmdVertexFormatTotalTTL |
total time-to-live More... | |
class | CmdVertexFormatTTL |
time-to-live More... | |
Public Member Functions | |
ShaderParticleRenderer () | |
virtual | ~ShaderParticleRenderer () |
void | setVertexFormatColour (bool bUse) |
bool | getVertexFormatColour () const |
void | setVertexFormatTexture (bool bUse) |
bool | getVertexFormatTexture () const |
void | setVertexFormatSize (bool bUse) |
bool | getVertexFormatSize () const |
void | setVertexFormatRotation (bool bUse) |
bool | getVertexFormatRotation () const |
void | setVertexFormatRotationSpeed (bool bUse) |
bool | getVertexFormatRotationSpeed () const |
void | setVertexFormatDirection (bool bUse) |
bool | getVertexFormatDirection () const |
void | setVertexFormatTTL (bool bUse) |
bool | getVertexFormatTTL () const |
void | setVertexFormatTotalTTL (bool bUse) |
bool | getVertexFormatTotalTTL () const |
void | setVertexFormatTimeFragment (bool bUse) |
bool | getVertexFormatTimeFragment () const |
void | setVertexFormatTimeFragmentInv (bool bUse) |
bool | getVertexFormatTimeFragmentInv () const |
Ogre::ParticleSystemRenderer interface | |
virtual const String & | getType (void) const override |
virtual void | _updateRenderQueue (RenderQueue *queue, Ogre::list< Particle * >::type ¤tParticles, bool cullIndividually) override |
virtual void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) override |
virtual void | _setMaterial (MaterialPtr &mat) override |
virtual void | _notifyCurrentCamera (Camera *cam) override |
virtual void | _notifyParticleRotated (void) override |
virtual void | _notifyParticleResized (void) override |
virtual void | _notifyParticleQuota (size_t quota) override |
virtual void | _notifyAttached (Node *parent, bool isTagPoint=false) override |
virtual void | _notifyDefaultDimensions (Real width, Real height) override |
virtual ParticleVisualData * | _createVisualData (void) override |
virtual void | _destroyVisualData (ParticleVisualData *vis) override |
virtual void | setRenderQueueGroup (uint8 queueID) override |
virtual void | setKeepParticlesInLocalSpace (bool keepLocal) override |
virtual SortMode | _getSortMode (void) const override |
Ogre::Renderable interface | |
virtual const MaterialPtr & | getMaterial (void) const override |
virtual void | getRenderOperation (RenderOperation &op) override |
virtual void | getWorldTransforms (Matrix4 *xform) const override |
virtual Real | getSquaredViewDepth (const Camera *cam) const override |
virtual const LightList & | getLights (void) const override |
Protected Attributes | |
MaterialPtr | mMaterial |
rendering data More... | |
VertexData * | mVertexData |
IndexData * | mIndexData |
uint8 | mRenderQueueID |
bool | mVertexFormatColour |
vertex format for particles More... | |
bool | mVertexFormatTexture |
true if particles use texture (float2) More... | |
bool | mVertexFormatSize |
particle size (width and height - float2) More... | |
bool | mVertexFormatRotation |
particle rotation (radians - float1) More... | |
bool | mVertexFormatRotationSpeed |
particle rotation speed (radians/s - float1) More... | |
bool | mVertexFormatDirection |
particle direction (float3) More... | |
bool | mVertexFormatTTL |
particle ttl (float1) More... | |
bool | mVertexFormatTotalTTL |
particle total ttl (float1) More... | |
bool | mVertexFormatTimeFragment |
particle time fragment (ttl / total ttl) (float1) (value 0.0f - 1.0f) More... | |
bool | mVertexFormatTimeFragmentInv |
particle inverse time fragment (1.0f - ttl / total ttl) (float1) (value 0.0f - 1.0f) More... | |
size_t | mVertexSize |
Vector2 | mTexCoordTable [4] |
default texture coordinates More... | |
Vector2 | mDefaultParticleSize |
other informations More... | |
Node * | mParentNode |
parent node for particle system - used for world transformation More... | |
SortMode | mSortMode |
particle sorting More... | |
LightList | mLightList |
light list for renderable More... | |
ulong | mLightListUpdated |
indicator if we need update light list More... | |
Real | mRadius |
maximum distance between particles and parent node More... | |
bool | mParentIsTagPoint |
true if parent node is tag point More... | |
bool | mKeepInLocalSpace |
control transformation matrix for particles More... | |
Static Protected Attributes | |
static CmdVertexFormatColour | msVertexFmtColour |
static CmdVertexFormatTexture | msVertexFmtTexture |
static CmdVertexFormatSize | msVertexFmtSize |
static CmdVertexFormatRotation | msVertexFmtRotation |
static CmdVertexFormatRotationSpeed | msVertexFmtRotationSpeed |
static CmdVertexFormatDirection | msVertexFmtDirection |
static CmdVertexFormatTTL | msVertexFmtTTL |
static CmdVertexFormatTotalTTL | msVertexFmtTotalTTL |
static CmdVertexFormatTimeFrag | msVertexFmtTimeFrag |
static CmdVertexFormatTimeFragInv | msVertexFmtTimeFragInv |
Private Member Functions | |
bool | allocateBuffers (size_t iNumParticles) |
allocate hardware buffers and prepare them for filling particles More... | |
void | addParticle (uint8 *pDataVB, const Particle &particle) const |
add particle to vertex buffer More... | |
void | setRenderQueueGroupAndPriority (Ogre::uint8, Ogre::ushort) |
Private Attributes | |
const String | rendererTypeName = "shader" |
Specialisation of ParticleSystemRenderer to render particles using a custom shaders.
Definition at line 24 of file OgreShaderParticleRenderer.h.
Ogre::ShaderParticleRenderer::ShaderParticleRenderer | ( | ) |
Definition at line 27 of file OgreShaderParticleRenderer.cpp.
|
virtual |
Definition at line 119 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 215 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 221 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 239 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 201 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 178 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 208 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 195 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 189 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 183 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 172 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 132 of file OgreShaderParticleRenderer.cpp.
|
private |
add particle to vertex buffer
Definition at line 433 of file OgreShaderParticleRenderer.cpp.
|
private |
allocate hardware buffers and prepare them for filling particles
Definition at line 334 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 298 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 245 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 251 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 288 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 126 of file OgreShaderParticleRenderer.cpp.
|
inline |
Definition at line 152 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 167 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 161 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 164 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 158 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 155 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 176 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 179 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 173 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 170 of file OgreShaderParticleRenderer.h.
|
overridevirtual |
Definition at line 275 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 233 of file OgreShaderParticleRenderer.cpp.
|
overridevirtual |
Definition at line 227 of file OgreShaderParticleRenderer.cpp.
|
private |
Definition at line 601 of file OgreShaderParticleRenderer.cpp.
|
inline |
Definition at line 151 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 166 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 160 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 163 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 157 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 154 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 175 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 178 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 172 of file OgreShaderParticleRenderer.h.
|
inline |
Definition at line 169 of file OgreShaderParticleRenderer.h.
|
overridevirtual |
Definition at line 166 of file OgreShaderParticleRenderer.cpp.
|
protected |
other informations
default particle size
Definition at line 54 of file OgreShaderParticleRenderer.h.
|
protected |
Definition at line 30 of file OgreShaderParticleRenderer.h.
|
protected |
control transformation matrix for particles
Definition at line 61 of file OgreShaderParticleRenderer.h.
|
mutableprotected |
light list for renderable
Definition at line 57 of file OgreShaderParticleRenderer.h.
|
mutableprotected |
indicator if we need update light list
Definition at line 58 of file OgreShaderParticleRenderer.h.
|
protected |
rendering data
material for this renderable
Definition at line 28 of file OgreShaderParticleRenderer.h.
|
protected |
true if parent node is tag point
Definition at line 60 of file OgreShaderParticleRenderer.h.
|
protected |
parent node for particle system - used for world transformation
Definition at line 55 of file OgreShaderParticleRenderer.h.
|
protected |
maximum distance between particles and parent node
Definition at line 59 of file OgreShaderParticleRenderer.h.
|
protected |
Definition at line 31 of file OgreShaderParticleRenderer.h.
|
protected |
particle sorting
Definition at line 56 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 221 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 226 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 224 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 225 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 223 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 222 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 229 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 230 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 228 of file OgreShaderParticleRenderer.h.
|
staticprotected |
Definition at line 227 of file OgreShaderParticleRenderer.h.
|
protected |
default texture coordinates
Definition at line 51 of file OgreShaderParticleRenderer.h.
|
protected |
Definition at line 29 of file OgreShaderParticleRenderer.h.
|
protected |
vertex format for particles
Definition at line 40 of file OgreShaderParticleRenderer.h.
|
protected |
particle direction (float3)
Definition at line 45 of file OgreShaderParticleRenderer.h.
|
protected |
particle rotation (radians - float1)
Definition at line 43 of file OgreShaderParticleRenderer.h.
|
protected |
particle rotation speed (radians/s - float1)
Definition at line 44 of file OgreShaderParticleRenderer.h.
|
protected |
particle size (width and height - float2)
Definition at line 42 of file OgreShaderParticleRenderer.h.
|
protected |
true if particles use texture (float2)
Definition at line 41 of file OgreShaderParticleRenderer.h.
|
protected |
particle time fragment (ttl / total ttl) (float1) (value 0.0f - 1.0f)
Definition at line 48 of file OgreShaderParticleRenderer.h.
|
protected |
particle inverse time fragment (1.0f - ttl / total ttl) (float1) (value 0.0f - 1.0f)
Definition at line 49 of file OgreShaderParticleRenderer.h.
|
protected |
particle total ttl (float1)
Definition at line 47 of file OgreShaderParticleRenderer.h.
|
protected |
particle ttl (float1)
Definition at line 46 of file OgreShaderParticleRenderer.h.
|
protected |
Definition at line 50 of file OgreShaderParticleRenderer.h.
|
private |
Definition at line 212 of file OgreShaderParticleRenderer.h.