54 laPoint3 gen_emitter_sz;
55 M_BOOL gen_linearEmitter;
60 double p_alpha_filter;
73 fxParticleSystem_params();
82 class fxParticleSystem_particle{
86 M_BOOL bValid, bCreatedOnce;
89 double dTTL_Total, dTTL;
91 fxParticleSystem_particle(){
92 bValid = bCreatedOnce = M_FALSE;
96 class fxParticleSystem:
public laPoint3
102 fxParticleSystem_particle *_particles;
103 laPoint3 *_arParticlePos;
104 double *_arParticleSize;
105 laColor *_arParticleColors;
106 unsigned _nCnt, _nValidParticles;
109 static unsigned _nCntMax;
112 unsigned _nSimGenCnt;
125 static double _dParticleDensity;
128 fxParticleSystem_params parameters;
133 fxParticleSystem(
void);
134 virtual ~fxParticleSystem(
void);
138 void create(fxParticleSystem_params &p);
143 void enable(M_BOOL en=M_TRUE){ _bEnabled=en; }
144 void enableGeneration(M_BOOL en=M_TRUE){ _bGenEnabled=en; }
146 void ctlRewind(
unsigned nframes=1000,
double fps=30);
148 static void ctlParticleDensity(
double d){ _dParticleDensity=d; };
152 inline void position(
const laPoint3 &pt ) {
153 x( pt.x() ); y( pt.y() ); z( pt.z() );
163 void animate(laTimer &t);
171 void copyStyle(fxParticleSystem* pSource);
174 #endif //#ifndef M_FX_SPRAY_H
Interface for loadable objects.
Virtual interface for the Engine graphics renderer.