![]() |
Rigs of Rods 2023.09
Soft-body Physics Simulation
|
Specialisation of ParticleSystemRenderer to render particles using a custom shaders. More...
#include <OgreShaderParticleRenderer.h>
Inheritance diagram for Ogre::ShaderParticleRenderer: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 | |
| VertexData * | mVertexData |
| IndexData * | mIndexData |
| uint8 | mRenderQueueID |
| bool | mVertexFormatColour |
| vertex format for particles | |
| bool | mVertexFormatTexture |
| true if particles use texture (float2) | |
| bool | mVertexFormatSize |
| particle size (width and height - float2) | |
| bool | mVertexFormatRotation |
| particle rotation (radians - float1) | |
| bool | mVertexFormatRotationSpeed |
| particle rotation speed (radians/s - float1) | |
| bool | mVertexFormatDirection |
| particle direction (float3) | |
| bool | mVertexFormatTTL |
| particle ttl (float1) | |
| bool | mVertexFormatTotalTTL |
| particle total ttl (float1) | |
| bool | mVertexFormatTimeFragment |
| particle time fragment (ttl / total ttl) (float1) (value 0.0f - 1.0f) | |
| bool | mVertexFormatTimeFragmentInv |
| particle inverse time fragment (1.0f - ttl / total ttl) (float1) (value 0.0f - 1.0f) | |
| size_t | mVertexSize |
| Vector2 | mTexCoordTable [4] |
| default texture coordinates | |
| Vector2 | mDefaultParticleSize |
| other informations | |
| Node * | mParentNode |
| parent node for particle system - used for world transformation | |
| SortMode | mSortMode |
| particle sorting | |
| LightList | mLightList |
| light list for renderable | |
| ulong | mLightListUpdated |
| indicator if we need update light list | |
| Real | mRadius |
| maximum distance between particles and parent node | |
| bool | mParentIsTagPoint |
| true if parent node is tag point | |
| bool | mKeepInLocalSpace |
| control transformation matrix for particles | |
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 | |
| void | addParticle (uint8 *pDataVB, const Particle &particle) const |
| add particle to vertex buffer | |
| 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.