next up previous contents
Next: 17.4 Explosions Up: 17. Natural Phenomena Previous: 17.2 Vapor Trails

17.3 Fire

The simplest techniques for rendering fire involve applying static images and movie loops as textures to billboards.

A static image of fire can be constructed from a noise texture; Section 6.20.2 describes how to make a noise texture using OpenGL. The weights for different frequency components should be chosen to reflect the spectral structure of fire, and turbulence can also be incorporated effectively into the texture. The texture is mapped to a billboard polygon. Several such textures, composited together, can create the appearance of multiple layers of intermingling flames. Finally, the texture coordinates may be distorted vertically to simulate the effect of flames rising and horizontally to mimic the effect of winds.

A sequence of fire textures can be played as an animation. The abrupt manner in which fire moves and changes intensity can be modeled using the same turbulence techniques used to create the fire texture itself. The speed of the animation playback, as well as the distortion applied to the texture coordinates of the billboard, might be controlled using a turbulent noise function. To create the animation a series of texture objects is created, each one containing one image from the fire sequence. During playback the set of texture objects is sequenced through, one each frame, mapping the current texture to a quadrilateral using a modulate texture environment.


next up previous contents
Next: 17.4 Explosions Up: 17. Natural Phenomena Previous: 17.2 Vapor Trails
David Blythe
1999-08-06