No matter how you look at it, smoke is a nuisance. In reality, it burns your eyes. In virtual reality, it bothers your eyes, mostly because it rarely looks real enough to burn them. This is the problem facing film directors and game developers who want to achieve the look of actual smoke in their productions without having to deal with the physical reality of it.
Existing animation techniques, however, have typically fallen short of this goal. "Smoke is quite difficult to hand animate due to its inherent complexity, so most hand animations end up looking more like living smoke creatures than passive, turbulent smoke-factors that point to doing CG smoke on a computer," says graphics researcher Ron Fedkiw of Stanford University. Unfortunately, creating a computational model of smoke that behaves like actual smoke typically requires supercomputer power to run the necessary computational fluid dynamics (CFD) calculations. The huge amount of simulated data must then be imported into a visualization environment for 3D graphical display and interaction.
In an effort to bring digital smoke closer to reality, Fedkiw and colleagues Jos Stam of Alias|Wavefront and Henrik Wann Jensen of Stanford, have developed a technique that borrows physics-based principles from traditional CFD but avoids the computational drain.
They are able to achieve this by taking advantage of the fact that animations for entertainment don't need the scientific precision of full CFD simulations, only the visual reality that can be extracted from such data. "Scientific CFD is all about multiprocessor calculations. National laboratories like Los Alamos and Lawrence Livermore build special computers with thousands of processors precisely to handle CFD calculations," says Fedkiw. "The problem with such CFD [for animation applications] is that simulating actual physics usually requires a much faster frame rate than the human visual system can process." For example, he says, while we visually perceive natural motion when watching an animation comprising 24 to 30 frames per second, it may take thousands of frames to process the physics of what's happening during that same second. Clearly, says Fedkiw, "it's CPU-intensive, and wasteful, to compute thousands of frames per second when only 24 to 30 are needed."
|As smoke rises and swirls around a sphere, the density of the smoke at every instant and, thus, the visibility of the sphere is transient. Researchers at Stanford simulate this effect using a modified computational fluid dynamics calculation.|
To compensate for this in the scientific community, researchers have developed special-purpose integration schemes that enable a fairly fast frame rate at the expense of small-scale detail. For entertainment purposes, however, such an approach is ineffective. With respect to smoke, for example, it would allow the accurate representation of the large-scale behavior-such as the gross movement of clouds of smoke-but would lose the small details that make smoke look smokey, such as minor density variations that make certain regions more transparent. Basically, says Fedkiw, "we are left with a very fast, practical calculation that can be run on a laptop, but one with no small-scale detail, so it looks blobby or syrupy." Because of this, Fedkiw and his colleagues have modified the integration schemes for their smoke application.
To add back the small-scale structure lost through the optimization process, the researchers employ a technique called vorticity confinement, which uses a physics model to identify where the detail is missing from the numerical model, then infuses the large-scale smoke simulation with small-scale vortical structures, placing them in the physically correct locations in the flow fields. This enables the passive, rolling characteristic of smoke that gives it a realistic turbulent look.
The final step in the process is the creation of a visual representation of the numerical data, for which the researchers use a physically based approach called photon mapping, which renders smoke as "participating media." This is a two-pass hardware-based renderer that consists of a volume calculation of the behavior of emitted photons with respect to the medium and a forward ray-marching algorithm.
The result is a "computationally cheap" method for realistically modeling and visually representing smoke on a PC. Not only does the digital smoke incorporate the rolling features characteristic of physical smoke that are absent from most visual simulations, says Fedkiw, "it also correctly handles the interaction of smoke with moving objects."
The computational benefits of the technique in its current state are negated in terms of memory and processing expenditures when dealing with very large scenes or highly turbulent, detailed smoke scenes. The researchers are considering ways to minimize this problem. One possibility is the use of "smart" volume texture maps. And because where there's smoke there should be fire, the researchers are also interested in integrating the smoke model with a similarly effective fire model.
Although the smoke-visualization system does not yet exist as a product, the researchers have been consulting with a number of entertainment and special-effects production studios, including Industrial Light & Magic, Pixar, and Pacific Data Images, as well as with various animation software companies. "All of us are currently involved in industry, and the technology we're working on is already being used there," says Fedkiw. ILM, for example, has simulated smoke for a number of recent movies, including The Mummy Returns and Jurassic Park III.
|Simulated smoke is represented visually using a hardware-based photon-mapping technique that calculates the volume of data and renders it using a standard ray-marching algorithm.|
In addition to special effects for film, says Fedkiw, "the gaming community also has a need to model physical processes at interactive rates to enhance the visual realism." And interest in the technology spreads beyond the entertainment arena. "One area is surface design, notably in the car industry, where the flow past an object is of crucial importance," says Fedkiw. And the government wants its share of smoke for military simulation and training. "I am currently working on rendering and diagnostic technology related to this for a Department of Energy initiative for simulating turbulence," he says, "and I was recently contacted by Edwards Air Force Base to simulate smoke for virtual-reality rockets." More information on the visual smoke simulation research can be found on the Stanford Graphics lab Web site at http://www.cs.graphics.stanford.edu/papers/smoke.
Diana Phillips Mahoney is chief technology editor of Computer Graphics World.