Transcript PowerPoint
Depicting Fire and Other Gaseous Phenomena Using Diffusion Processes Jos Stam and Eugene Fiume Dept. of CS, University of Toronto Presentation ©2001 Brenden Schubert Modeling Gasses • Texture Parameterization – Vary parameters to get animation Empirical Hard to relate parameters to physical model • Particle System – User-defined wind field displaces particles each frame More correct (think molecular) Computationally intense “warped blobbies” • Start with a particle system • Use blobs instead of particles – Replace lots of particles with single blob • Wind field advects and diffuses blobs – Key: diffusion is non-uniform Diffusion Processes • Toronto must require CS majors to take Differential Equations too • Is applied to both particles (blobs), and temperature • Simple enough to be understood by animators with “limited knowledge of physics” – What could be more simple than milk dissolving in a coffee cup..? The Diffusion Equation • u = wind field • • • • • q = scalar field (density of the gas) s= gradient operator k q= diffusion coefficient (like viscosity) Sq = source field (producing gas) Lq = sink field (sucking gas in) The Diffusion Equation • Diffusion depends on the (square of) the gradient of the scalar field * k q • Advection depends on the gradient of the scalar field * u • Sources and sinks are like adding constant (over time) fields to the wind field • Apply to both gas “density” and temperature There’s no gluDiffEQ() function • Approximate by convolving the exact solution with a smoothing function • The Smoothing Function – Modified Gaussian: incorporates • How much the blob has changed from original • h = function of the wind field There’s no gluDiffEQ() function • Approximate by convolving the exact solution with a smoothing function • The Smoothing Function – Modified Gaussian: incorporates • s = original blob attributes • h = function of the wind field Light and Gas • Internally produced light – Emission spectra known – Proportional to T4 • Externally produced light – Scattered: • albedo (W) contstant • Phase function p – Absorbed • (1 – W) * absorption spectra Shooting Operations • Light sources are a field • Discretize environment into patches • Repeatedly shoot light from patch to patch, blob to patch, and patch to blob • Eventually will converge to an intensity field Fire • Why I picked this paper (you can’t burn stuff with differential equations) • The key: Temperature field – Define an activation temperature Ta – When T reaches Ta… – Render flames • Smoke – When gas cools below Ts • render smoke particle Conclusions • Warping blobs is good • Convolution must be slow – “typical resolutions for our simulations were 20 x 20” – Video res frame takes 20 min on SGI Indigo 2 • Manipulation of wind field is key to usability • Fire – still requires lots of tweaking – good movement, but coloration not addressed