Particles::EnvelopeCurve Class Reference
#include <envelopecurve.h>
Detailed Description
An Attack/Sustain/Release envelope curve class with optional sine/cosine modulation. Used for animated particle emitter attributes.(C) 2008 Radon Labs GmbH
Public Types | |
| enum | ModFunc |
| modulation enumerator | |
Public Member Functions | |
| EnvelopeCurve () | |
| default constructor | |
| void | Setup (float val0, float val1, float val2, float val3, float keyPos0, float keyPos1, float freq, float amp, ModFunc mod) |
| set parameters | |
| float | Sample (float t) const |
| sample at specific time (0..1) | |
| void | PreSample (float *sampleBuffer, SizeT numSamples, SizeT sampleStride) const |
| sample from t=0 to t=1 into array of values | |
| float | GetMaxValue () const |
| get the max of val0, val1, val2, val3 | |
Member Function Documentation
| float Particles::EnvelopeCurve::Sample | ( | float | t | ) | const |
sample at specific time (0..1)
NOTE: Sampling a single value is relatively expensive. Consider pre-sampling into a lookup table!
| void Particles::EnvelopeCurve::PreSample | ( | float * | sampleBuffer, | |
| SizeT | numSamples, | |||
| SizeT | sampleStride | |||
| ) | const |
sample from t=0 to t=1 into array of values
This samples N values from t=0 to t=1 into an array. The array can then be used as a lookup table.