A Simple, Efficient Method for Realistic Animation of Clouds Yoshinori Dobashi Kazufumi Kaneda Hideo Yamashita Tsuyoshi Okita Tomoyuki Nishita SIGGRAPH.

Slides:



Advertisements
Similar presentations
Parameterized Environment Maps
Advertisements

8.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 8 Polygon Rendering.
Lecture 8 Transparency, Mirroring
Dynamic Sky Dome GDC March 2nd, 2011 by Igor Lobanchikov
Graphics Pipeline.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Texture Mapping. Texturing  process that modifies the appearance of each point on a surface using an image or function  any aspect of appearance can.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Weather Quiz Review.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
Shadow Rendering Techniques A point is in the shadow of a light source if it can not be “seen” by the light source, i.e. the line segment that connects.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Computer Graphics - Class 10
Chapter 9 Vertical Motion. (1) Divergence in two and three dimensions. The del “or gradient” operator is a mathematical operation performed on something.
Hokkaido University Efficient Rendering of Lightning Taking into Account Scattering Effects due to Clouds and Atmospheric Particles Tsuyoshi Yamamoto Tomoyuki.
Fast Simulation of Lightning for 3D Games Jeremy Bryan Advisor: Sudhanshu Semwal.
Shadow Algorithms Gerald Matzka Computer Science Seminar.
7M836 Animation & Rendering
Paper by Alexander Keller
Adaptive Cloud Simulation Using Position Based Fluids
A Simple, Efficient Method for Realistic Animation of Clouds
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Shadows
9/20/2001CS 638, Fall 2001 Today Finishing Up Reflections More Multi-Pass Algorithms Shadows.
Computer graphics & visualization. Game Design - Rendering Smoke & Clouds Jürgen Treml Talk Overview 1.Introduction to Clouds.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Computer Graphics Mirror and Shadows
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Procedural terrain on the GPU Chalmers University of Technology Advanced computer graphics – DAT205 David Sundelius Adam Scott.
CSS 522 Topics in Rendering March 01,2011 Scott and Lew.
Stefan Roettger University of Stuttgart A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids VolVis '02 A Two-Step.
1/45 A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple Scattering Yoshinori Dobashi (Hokkaido University) Yoshihiro.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Kam, Hyeong Ryeol. Abstract Introduction Related Work Simulation of Cumuliform Cloud Formation Our Control.
Cloud Kwang Hee Ko September, 27, 2012 This material has been prepared by Y. W. Seo.
A Fast Simulation Method Using Overlapping Grids for Interactions between Smoke and Rigid Objects Yoshinori Dobashi (Hokkaido University) Tsuyoshi Yamamoto.
CS 376 Introduction to Computer Graphics 04 / 11 / 2007 Instructor: Michael Eckmann.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Chapter 11 Section 2 State of Atmosphere. Temperature vs. Heat Temperature: measures the movement of molecules  Faster = Warmer  Slower = Colder  Measured.
Jonathan M Chye Technical Supervisor : Mr Matthew Bett 2010.
-Global Illumination Techniques
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Objectives Explain how radiant energy reaches Earth.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Multi-pass Rendering. © 2002 James K. Hahn, N.H. Baek2 Multi-pass Rendering Repeat: image  Rendering pass  result imageRepeat: image  Rendering pass.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
CSC505 More on Particles Special Effects. CSC505 Special Effects Extensions to the particle engines we looked at last week –Similar in that we are looking.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Basic Ray Tracing CMSC 435/634.
Geometric optical (GO) modeling of radiative transfer in plant canopy Xin Xi.
Yoshinori Dobashi (Hokkaido University) Yusuke Shinzo (Hokkaido University) Tsuyoshi Yamamoto (Hokkaido University) Modeling of Clouds from a Single Photograph.
Three-Dimensional Object Representation
Graphics Lecture 17: Slide 1 Interactive Computer Graphics Lecture 17: Fire.
Clouds and You (mostly clouds) a Summary of “A Simple, Efficient, Method for Realistic Animation of Clouds” Paper by Yoshinori Dobashi, Kazufumi Kaneda,
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Atmospheric Effects Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware Tsuyoshi Yamamoto Tomoyuki Nishita Tokyo University.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
 ADIABATIC HEATING/COOLING A. Adiabatic temperature changes occur when 1. Air is compressed as pressure increases a. Motion of air molecules increases.
CS552: Computer Graphics Lecture 36: Ray Tracing.
1 Accelerating and enhancing rendering of realistic ocean scenes Darles E., Crespin B., Ghazanfarpour D.
Unit 9 Section 2: Solar Energy and the Atmosphere
Real-Time Soft Shadows with Adaptive Light Source Sampling
Water Droplet Simulation
What should I study for my Science Quiz
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
Presentation transcript:

A Simple, Efficient Method for Realistic Animation of Clouds Yoshinori Dobashi Kazufumi Kaneda Hideo Yamashita Tsuyoshi Okita Tomoyuki Nishita SIGGRAPH 2000

Main Idea Simulation method Simulation method The cloud evolution is simulated using cellular automation which can simulate the motion by simple Boolean operations. The cloud evolution is simulated using cellular automation which can simulate the motion by simple Boolean operations. Rendering method Rendering method Hardware-accelerated rendering method based on OpenGL, thus quickly calculate shadows and shafts of light through clouds, as well as cloud color. Hardware-accelerated rendering method based on OpenGL, thus quickly calculate shadows and shafts of light through clouds, as well as cloud color.

Introduction The density distribution of clouds can be defined in 3D space to create realistic images. The density distribution of clouds can be defined in 3D space to create realistic images. Static clouds Static clouds Cloud animation in movies. Cloud animation in movies. Nagel use cellular automation to simulate by transition rules. Nagel use cellular automation to simulate by transition rules. Based on Nagel ’ s work, we generate cloud shadows, light shafts using graphics API and OpenGL. Based on Nagel ’ s work, we generate cloud shadows, light shafts using graphics API and OpenGL.

Introduction Our method display the following effects: Our method display the following effects: 1) cloud color considering the single scattering of light 1) cloud color considering the single scattering of light 2) shadows of the clouds cast on the ground 2) shadows of the clouds cast on the ground 3) shafts of light through light. 3) shafts of light through light. Not for the physically exact cloud motion. Not for the physically exact cloud motion.

Previous work Simulation Simulation Two categories to simulate the gaseous motion like cloud. Two categories to simulate the gaseous motion like cloud. 1) simulate the physical process of field dynamics – time consuming 1) simulate the physical process of field dynamics – time consuming 2) heuristic approach – search parameters by trial and error 2) heuristic approach – search parameters by trial and error Our method reflect the physical formation process of cloud and is easy to control the shape and motion. Our method reflect the physical formation process of cloud and is easy to control the shape and motion.

Previous work Rendering Rendering 1. To display photo-realistic images, scattering/absorption (due to particles) should be considered. 1. To display photo-realistic images, scattering/absorption (due to particles) should be considered. 2. Multiple scattering the skylight are important for realistic image synthesis but is time-consuming. Our method use it as ambient term. 2. Multiple scattering the skylight are important for realistic image synthesis but is time-consuming. Our method use it as ambient term. 3. Use 3D texture to render volume density, yet the 3D texture mapping hardware is expensive. So, we use 2D texture. 3. Use 3D texture to render volume density, yet the 3D texture mapping hardware is expensive. So, we use 2D texture. 4. Ray-tracing is time-consuming. We use hardware color blending and texture mapping functions. 4. Ray-tracing is time-consuming. We use hardware color blending and texture mapping functions.

Basic Idea

Basic idea Each variable can be stored in one bit to save the memory cost and the simulation process is accelerated by using bit field manipulation function. Each variable can be stored in one bit to save the memory cost and the simulation process is accelerated by using bit field manipulation function. From the simulation process, what we get is no more than whether there is cloud (cld=1/0). So a density at each point is calculated by smoothing the binary distribulation. From the simulation process, what we get is no more than whether there is cloud (cld=1/0). So a density at each point is calculated by smoothing the binary distribulation.

Basic idea Use volume rendering algorithm Use volume rendering algorithm 1. calculate the intensity of light reaching the center of each voxel. Also calculate the cloud shadows which are got as texture. 1. calculate the intensity of light reaching the center of each voxel. Also calculate the cloud shadows which are got as texture. 2. generate. 2. generate. Clouds are rendered with a splatting method. Clouds are rendered with a splatting method. Shafts of light are rendered with multi spherical shells with their center at the viewpoint. Shafts of light are rendered with multi spherical shells with their center at the viewpoint. Shell then are drawn from back to front using the hardware alpha-blending function. Shell then are drawn from back to front using the hardware alpha-blending function. Shafts of light are rendered by mapping the shadow texture on the shells. Shafts of light are rendered by mapping the shadow texture on the shells.

Simulation method We extend the following four points to Nagels methods: We extend the following four points to Nagels methods: Extinction of clouds Extinction of clouds Wind effects Wind effects Speeding up of the simulation Speeding up of the simulation Controlling cloud motion Controlling cloud motion

Physical process of cloud formation Clouds are formed as a bubble of air is heated by underlying terrain heat, causing the bubble to become less dense, and to rise into regions of lower pressure in which the bubble expands. Expansion cools the bubble, increasing the relative humidity inside the bubble. Clouds are formed as a bubble of air is heated by underlying terrain heat, causing the bubble to become less dense, and to rise into regions of lower pressure in which the bubble expands. Expansion cools the bubble, increasing the relative humidity inside the bubble. Phase transition then occurs ( water vapor in the bubble becomes water droplets, or clouds). Phase transition then occurs ( water vapor in the bubble becomes water droplets, or clouds).

Nagel ’ s method Use the cellular automation to simulate. Use the cellular automation to simulate. Three logical variables: hum, act, cld. Three logical variables: hum, act, cld.

Cloud extinction One disadvantages of Nagel ’ s method is that cloud extinction never occurs once it become 1. One disadvantages of Nagel ’ s method is that cloud extinction never occurs once it become 1. In reality, cloud extinction is caused by gradual transition of water droplets to vapor. In reality, cloud extinction is caused by gradual transition of water droplets to vapor. Our method: Our method: cloud extinction probability P ext, at each cell whose cld=1, generate a rand( 0<=rnd<=1) cloud extinction probability P ext, at each cell whose cld=1, generate a rand( 0<=rnd<=1)

Cloud Extinction Another problem, clouds are never generated after the extinction at the cell. Another problem, clouds are never generated after the extinction at the cell. With the help of vapor (hum) and phase transition factors (act) which are supplied at specified time intervals. With the help of vapor (hum) and phase transition factors (act) which are supplied at specified time intervals.

Advection by wind Clouds move in one direction blown by wind Clouds move in one direction blown by wind -shift all the variables towards the wind effect. -shift all the variables towards the wind effect. Wind velocity depends on the height from the ground - specify it is the function of z. Wind velocity depends on the height from the ground - specify it is the function of z.

Fast Simulation Using Bit Field Manipulation Functions Each variable can be stored in 1 bit since its state is 0/1. Thus simulation with large numbers of cells can be executed in a small amount of memory – store the variables in an array of unsigned integers. Let m be the bit length of the unsigned integer variable, transitions of m cells can be computed at the same time. Each variable can be stored in 1 bit since its state is 0/1. Thus simulation with large numbers of cells can be executed in a small amount of memory – store the variables in an array of unsigned integers. Let m be the bit length of the unsigned integer variable, transitions of m cells can be computed at the same time. Yet random numbers generation at each cell (in cloud extinction) cost large computation time — use look-up table! Yet random numbers generation at each cell (in cloud extinction) cost large computation time — use look-up table!

Controlling cloud motion using ellipsoids Cloud motion can be controlled by P hum, P act and P cld. Cloud motion can be controlled by P hum, P act and P cld. When wet air parcels move upwards and reach the height of the dew point, clouds are gradually formed. Ellipsoids-air parcels! When wet air parcels move upwards and reach the height of the dew point, clouds are gradually formed. Ellipsoids-air parcels! By controlling ellipsoid parameters (size and position) different kinds of clouds can be simulated. By controlling ellipsoid parameters (size and position) different kinds of clouds can be simulated.

Rendering The density distribution of clouds is obtained from simulation. The density distribution of clouds is obtained from simulation. Images are then rendering with OpenGL. Images are then rendering with OpenGL.

Continuous Density Distribution Calculation The density distribution of clouds in real world is continuous from 0 to 1. Yet the simulated one only has two values 0/1. The density distribution of clouds in real world is continuous from 0 to 1. Yet the simulated one only has two values 0/1. --calculate continuous distribution by smoothing the binary distribution. --calculate continuous distribution by smoothing the binary distribution.

Hardware-accelerated Rendering Using OpenGL Light reaching the viewpoint = the sum of the scattered light reaching from the sun on the viewing ray + the attenuated light reaching from behind the clouds Light reaching the viewpoint = the sum of the scattered light reaching from the sun on the viewing ray + the attenuated light reaching from behind the clouds The voxel ’ s color depends on the scattered color of the sun, the transmitted color of the sky, and the attenuated due to cloud particles. The voxel ’ s color depends on the scattered color of the sun, the transmitted color of the sky, and the attenuated due to cloud particles.

Rendering clouds Textures for billboards are precalculated. Since the attenuation is not proportional to it, the texture has to be prepared for all metaballs when their center densities are different. — memory-consuming! — discretize the density into nq level and prepare nq textures. Here, nq=64. The texture corresponding to the nearest density of each metaball is mapped onto the corresponding billboard. An image is calculated in two steps: 1.calcualte the intensity of light from the sun at each metaball; the clouds ’ shadow are also calculated. 2. the image viewed from the viewpoint is generated.

Rendering clouds Calculate the image viewed from the sun direction to obtain the intensity of light reaching the metaball.

Generate the image using the color of the metaball obtained in first step. Generate the image using the color of the metaball obtained in first step. Colors in the frame buffer are multiplied by the attenuation radio of the billboard texture and then the colors in the texture are added. Colors in the frame buffer are multiplied by the attenuation radio of the billboard texture and then the colors in the texture are added.

Rendering shafts of Light

Rendering Shafts of Light Shafts of light are caused by particles in the atmosphere. The sunlight passing through the gaps in clouds is scattered by the particles at P. The scattered light, Is, reaching the viewpoint is recognized as shafts of light. So the scattering/absorption due to the atmospheric particles must be taken into account. Shafts of light are caused by particles in the atmosphere. The sunlight passing through the gaps in clouds is scattered by the particles at P. The scattered light, Is, reaching the viewpoint is recognized as shafts of light. So the scattering/absorption due to the atmospheric particles must be taken into account. Ic is the cloud color. B(s) is the attenuation ratio due to atmospheric part, r(s) is the attenuation radio due to cloud particles from the sun to P, and Is(s) is the intensity of the light scattered at P due to atmospheric particles.

Rendering shafts of light together with clouds Both the billboard and the shells are transparent objects, they have to be rendered in back-to-front order. Calculate the colors of vertices of the polygons of the shells in the viewing pyramid. Repeat the following steps for k=ns, ns-1, ….,1 2.1 Render the shell k with additive blending function. Map the shadow texture for polygons under the cloud bottom. 2.2 Render billboards for displaying clouds between the shell k-1 and the shell k.

Results

Conclusion A realistic animation method for clouds A realistic animation method for clouds –Cloud motion is simulated using the cellular automation. Shadows and shafts of light are generated by OpenGL. –Advantages: Simulation of the cloud evolution requires small amount of computation--executed by Boolean operations. Simulation of the cloud evolution requires small amount of computation--executed by Boolean operations. The memory requirement of the simulation is small. The memory requirement of the simulation is small. Images can be rendered quickly with graphics hardware. Images can be rendered quickly with graphics hardware. shadows of clouds and shafts of light rendered. shadows of clouds and shafts of light rendered. -- Further work Considered the effect of terrain under clouds — multiple wind directions/velocity fields; Considered the effect of terrain under clouds — multiple wind directions/velocity fields; Level of details — hierarchical voxels & coarser voxels faraway->less metaballs ->less computation time Level of details — hierarchical voxels & coarser voxels faraway->less metaballs ->less computation time

Thank you!