300 likes | 489 Views
Real-Time Cloud Rendering. Alex D ’ Angelo alexz@FusionIndustries.com March 3, 2003. Intro. Clouds are a common part of nature. Several types (cumulus Relatively complex to simulate and render. Some Previous Techniques. Fluid Simulation Cloud Textures. Fluid Simulation.
E N D
Real-TimeCloud Rendering Alex D’Angelo alexz@FusionIndustries.com March 3, 2003
Intro • Clouds are a common part of nature. • Several types (cumulus • Relatively complex to simulate and render.
Some Previous Techniques • Fluid Simulation • Cloud Textures
Fluid Simulation • Fluid system is governed by simplified Navier-Stokes and other fluid dynamics equations. • 2D/3D grid system of exchanging energy. • Realistic simulation and interaction but slow! • Simulation in software and rendered using raytracing -- doesn’t take advantage of graphics hardware. • Refer to papers by Stam and Fedkiw.
Cloud Textures • Cloud textures are blended with sky plane or sky box. • User cannot interact with clouds. • Quick to draw but very unrealistic. • Takes advantage of graphics hardware. • Typically seen in games (i.e. Quake).
Proposed Technique • Hybrid fluid flow/texture solution. • Clouds are represented as particles. • Real-time and interactive. • Simulates and renders clouds with thousand of particles. • Takes advantage of graphics hardware. • Research by Dobashi (2000) and Harris (2001)
Basic Idea • Each cloud is a particle system. • Cloud evolves based on cellular automata. • Two-pass lighting • Preprocess lights (sun, moon, etc). • Forward scattering lighting at run-time. • Clouds are rendered using imposters.
Cloud Particles • Particle represents a small portion of the humid air which makes up the cloud. • Properties: • Spherical shape • Density (“albedo”) • Extinction (humidity drop-off from center) • Color
Cloud Formation Simulation • Physical formation based on cellular automata. • Course volumetric grid with 3 Boolean properties at each location: • Humidity • Cloud • Phase transition • External influences: wind, time. • Refer to [Dobashi2000] for complete rules.
Cloud Formation Alternative • Artists can manually place clouds or “spray” particles. • Useful for strategically placing clouds in games and animation.
Lighting Idea (Pre-Process) • Simulate forward scattering • Drawing particles from the light’s view and reading back properties from the image.
Lighting (Pre-Process) • View particles from light’s point-of-view • Sort particles by distance to light • Clear the frame buffer • For each particle in the cloud • Calculate light intensity where particle will be drawn. • Particle color is function of intensity, density, area. • Splat particle with particle color modulated by a phase function.
Phase Function • We use a simple Rayleigh scattering phase function • Favors scattering in the forward and backward directions • P() = 3/4(1+cos2())
Rendering Clouds • Particles are drawn as textured billboards. • Particles are sorted by distance to eye. • Each particle is lighted by modulating its color by the phase function, then drawn using alpha-blending in the frame buffer.
Faster Clouds • Use imposters! • Clouds are rendered to a textured and shown as a viewer-aligned billboard. • Error metric used to determine when cloud’s imposter needs to be updated.
Moving Objects Through Clouds • Idea: Simulate a volumetric cloud using our cloud rendering technique and allow an object (i.e. model of a jet) to fly through the cloud.
Moving Objects Through Clouds • Given: an object intersecting a cloud • Algorithm: • Sort particles by distance from eye • Render all particles behind object • Render object • Render all particle in front of object • Supports any number of objects
Splitting Cloud With Objects View Direction Object a Object b Back Particle Imposter Front Particle Imposter Middle Particle Imposter
Enhancements • Optimization by view-frustum culling per cloud. • Full sky and time-of-day simulation • Sun, moon movement. • Cloud color takes on sky color. • Lights have to be reprocessed when lights are moved.
Links • Fluid simulation: Jos Stam: http://www.dgp.toronto.edu/people/stam/reality/Research/pub.html Ron Fedkiw: http://graphics.stanford.edu/~fedkiw/ • Cloud Simulation Mark Harris http://www.cs.unc.edu/~harrism/clouds/ Yoshinori Dobashi http://www.eml.hiroshima-u.ac.jp/~doba/
Papers • [Harris2001] M. Harris and A. Lastra, "Real-Time Cloud Rendering". Eurographics 2001 Volume 20 Number 3 • [Dobashi2000] Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, and T. Nishita. "A Simple Efficient Method for Realistic Animation of Clouds". SIGGRAPH 2000, pp. 19-28