8 #ifndef CAFU_PARTICLE_ENGINE_MATSYS_HPP_INCLUDED
9 #define CAFU_PARTICLE_ENGINE_MATSYS_HPP_INCLUDED
11 #include "Templates/Array.hpp"
15 namespace MatSys {
class RenderMaterialT; }
21 typedef bool (*ParticleMoveFunctionMST)(
ParticleMST* Particle,
float Time);
45 namespace ParticleEngineMS
73 const std::string m_SetName;
This class represents a surface render material.
Definition: RenderMaterial.hpp:25
float Radius
Billboard radius in world coords.
Definition: ParticleEngineMS.hpp:31
float Age
Age of the particle, in seconds.
Definition: ParticleEngineMS.hpp:29
unsigned char Color[4]
?? REMOVE (MatSys respects ambient light color already) ?? The RGBA color with which this particles t...
Definition: ParticleEngineMS.hpp:30
void DrawParticles()
Draws all currently known (alive) particles.
Definition: ParticleEngineMS.cpp:163
This class represents a set of (render-)materials.
Definition: ParticleEngineMS.hpp:60
MatSys::RenderMaterialT * RenderMat
The particles RenderMaterial ID.
Definition: ParticleEngineMS.hpp:36
ArrayT< MatSys::RenderMaterialT * > * AllRMs
The list of all render materials possibly used with this particle.
Definition: ParticleEngineMS.hpp:35
float Velocity[3]
Velocity vector of the particle.
Definition: ParticleEngineMS.hpp:28
ParticleMoveFunctionMST MoveFunction
Pointer to the function that moves this particle through time.
Definition: ParticleEngineMS.hpp:37
unsigned char Rotation
Rotation angle of the billboard in the "screen plane". A value of 256 corresponds to 360 degrees...
Definition: ParticleEngineMS.hpp:32
void RegisterNewParticle(const ParticleMST &Particle)
Registers a new particle with the particle engine.
Definition: ParticleEngineMS.cpp:74
void MoveParticles(float Time)
Calls the move function for each particle and then removes dead particles.
Definition: ParticleEngineMS.cpp:99
This structure describes a single particle.
Definition: ParticleEngineMS.hpp:25
float Origin[3]
Origin of the particle in Cafu world coordinates.
Definition: ParticleEngineMS.hpp:27
float StretchY
Length of the Y-axis relative to the X-axis, e.g. for sparks, flashes etc.
Definition: ParticleEngineMS.hpp:34
float AuxData[8]
Auxiliary particle data.
Definition: ParticleEngineMS.hpp:38