89 triVec4f pos; // position of emitter and initial position of all emitted particles (x,y,z,rotation)
90 triVec4f posRand; // length in all directions of random position (0 for no random placement) (x,y,z,rotation)
91 triVec4f lastpos; // internal: last position of emitter (for moving particles with emitter)
92
93 triVec4f vel; // initial velocity of all emitted particles (x,y,z,rotation)
94 triVec4f velRand; // randomness of particle velocity (x,y,z,rotation)
95
96 triVec4f gravity; // Gravital force on emitter particles
97
98 triVec4f wind; // wind direction vector
99 triVec4f windRand; // wind randomness
100
101 triColor4f cols[8]; // Color shades during lifetime of particle, max 8 currently
102 triS32 numCols; // Number of color fades
103
104 triFloat size; // Mean size of particles
105 triFloat sizeRand; // Random size (0 means no randomness)
106
107 triFloat burnout; // Burnout of the emitter with age. 1.0 means the emitters rate gradually turns towards 0 (and particles life towards ~20%) with age, 0 means no burnout
108
109 triFloat friction; // air friction to damp particle velocity, 0 = no friction, 1.0 = stop immediately (same as vel = 0)
110
111 triFloat growth; // Amount to grow particles (size/second) - Size after end of life = size + rand()*sizeRand + growth*life
112
113 triFloat glitter; // Amount of glitter on particles (sinusform brightening) - 0 means no glitter, 1.0 means glitter in full intensity range
114 triFloat glitterSpeed; // Speed of glitter (number of wavelengths inside particles age)
115
116 triFloat life; // Lifetime of particles to be created (lifeRand is 0.2 by default, ie 20%)
117 triFloat lifeRand; // Lifetime of particles randomness
118
119 triFloat binding; // binding of particles to emitter, 0 = no binding, 1.0 = particles move with emitter
120 triFloat loosen; // loosening of particles with age, 0 = no loosening, 1.0 = particles move completely free at end of life
121
122 triS32 hTexFrames; // number of horizontal texture frames (texture animation)
123 triS32 vTexFrames; // number of vertical texture frames (texture animation)
124 triS32 nTexLoops; // number of loops to do per particle Lifetime (0 means no texture animation at all)
125 triS32 fixedTexRate; // fixed texture animation frame rate in frames/second (0 if rate dependent on life - use nTexLoops*vTexFrames*hTexFrames/life)
126
127 triS32 min; // minimum number of particles at same time
128 triS32 max; // maximum number of particles at same time
129 triS32 minVortex; // minimum number of vortex particles at same time
130 triS32 maxVortex; // maximum number of vortex particles at same time
131
132 triFloat vortexRange; // The squared range of the vortices influence (+- 20%)
133 triFloat vortexDir; // Vortex direction (and speed)
134 triFloat vortexDirRand; // Vortex direction randomness
135
136 triS32 rate; // emission rate (particles/second) - rate*lifetime is amount of emitted particles in total