real-time cloud rendering
DESCRIPTION
Real-Time Cloud Rendering. Alex D ’ Angelo [email protected] 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. - PowerPoint PPT PresentationTRANSCRIPT
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
Back Particle Imposter
Middle Particle Imposter
Front Particle Imposter
Object a Object b
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.
Questions?
Links
Fluid simulation:Jos Stam:
http://www.dgp.toronto.edu/people/stam/reality/Research/pub.html
Ron Fedkiw:
http://graphics.stanford.edu/~fedkiw/
Cloud SimulationMark 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