shared_ptr< IParticleEffector > IParticleEffectorPtr
Particle variable that returns a constant value.
Particle emitter type - stores the common state data for all emitters of that type, and uses that data to update the emitter states.
shared_ptr< CParticleEmitterType > CParticleEmitterTypePtr
void UpdateEmitterStep(CParticleEmitter &emitter, float dt)
Update the state of an emitter's particles, by a short time dt that can be computed in a single step...
Interface for particle effectors, which get evaluated every frame to update particles.
shared_ptr< IParticleVar > IParticleVarPtr
CBoundingBoxAligned CalculateBounds(CVector3D emitterPos, CBoundingBoxAligned emittedBounds)
void UpdateEmitter(CParticleEmitter &emitter, float dt)
Update the state of an emitter's particles, by a potentially long time dt.
Interface for particle state variables, which get evaluated for each newly constructed particle...
NONCOPYABLE(CParticleEmitterType)
CParticleManager & m_Manager
CBoundingBoxAligned m_MaxBounds
Particle variable that returns the same value as some other variable (assuming that variable was eval...
CParticleEmitterType(const VfsPath &path, CParticleManager &manager)
std::vector< IParticleEffectorPtr > m_Effectors
Particle emitter model, for attaching emitters as props on other models.
std::vector< IParticleVarPtr > m_Variables
int GetVariableID(const std::string &name)
bool LoadXML(const VfsPath &path)
shared_ptr< CTexture > CTexturePtr