pfuSmoke(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages pfuSmoke(3pf)NAME
pfuInitSmokes, pfuNewSmoke, pfuSmokeType, pfuSmokeOrigin,
pfuSmokeVelocity, pfuGetSmokeVelocity, pfuSmokeDir, pfuSmokeMode,
pfuDrawSmokes, pfuSmokeTex, pfuSmokeDuration, pfuSmokeDensity,
pfuGetSmokeDensity, pfuSmokeColor - Routines for simulating smoke and
fire.
FUNCTION SPECIFICATION
#include <Performer/pfutil.h>
void pfuInitSmokes(void);
pfuSmoke * pfuNewSmoke(void);
void pfuSmokeType(pfuSmoke *smoke, int type);
void pfuSmokeOrigin(pfuSmoke *smoke, pfVec3 origin,
float radius);
void pfuSmokeVelocity(pfuSmoke *smoke, float turbulence,
float speed);
void pfuGetSmokeVelocity(pfuSmoke *smoke, float *turbulence,
float *speed);
void pfuSmokeDir(pfuSmoke *smoke, pfVec3 dir);
void pfuSmokeMode(pfuSmoke *smoke, int mode);
void pfuDrawSmokes(pfVec3 eye);
void pfuSmokeTex(pfuSmoke *smoke, pfTexture *tex);
void pfuSmokeDuration(pfuSmoke *smoke, float dur);
void pfuSmokeDensity(pfuSmoke *smoke, float dens, float diss,
float expansion);
void pfuGetSmokeDensity(pfuSmoke *smoke, float *dens,
float *diss, float *expansion);
void pfuSmokeColor(pfuSmoke *smoke, pfVec3 bgn, pfVec3 end);
DESCRIPTION
This higher level utility is designed to show how to easily generate
smoke effects in OpenGL Performer applications.
pfuInitSmokes allocates for, loads and sets the geometry for the smoke
and fire textures. Call pfuInitSmokes after pfInit but before pfConfig so
that all shared data structures are correctly shared among processes.
Call pfuNewSmoke to get a pointer to a new smoke structure which you then
Page 1
pfuSmoke(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages pfuSmoke(3pf)
can configure with pfuSmokeVelocity, pfuSmokeDir and the other smoke
functions. Smoke is initialized with several defaults but is not started
by default.
Call pfuDrawSmokes from the draw process (and only from the draw process)
so that the active smoke objects are actually drawn.
pfuSmokeType can be set to any of
PFUSMOKE_MISSILE
PFUSMOKE_EXPLOSION
PFUSMOKE_FIRE
PFUSMOKE_SMOKE
PFUSMOKE_DUST
pfuSmokeOrigin sets the origin and radius of where smoke is to occur.
pfuSmokeVelocity sets the speed at which smoke is to move.
pfuGetSmokeVelocity gets the speed at which smoke is moving.
pfuSmokeDir sets the direction that smoke will move in (via the vector
dir).
pfuSmokeMode sets the current mode of operation for smoke. Supported
values are
PFUSMOKE_STOP
PFUSMOKE_START
pfuSmokeTex sets the texture to be used for the smoke effect when smoke
is drawn.
pfuSmokeDuration sets the length of time smoke should last once it is
started.
pfuSmokeDensity sets the density, dissipation rate, and expansion rate of
the smoke puff.
pfuSmokeColor sets the beginning and ending colors for the smoke puff.
NOTES
The libpfutil source code, object code and documentation are provided as
unsupported software. Routines are subject to change in future releases.
Page 2