A Simple, Efficient Method for Realistic Animation of Clouds

39
Cloud Animation A Simple, Efficient A Simple, Efficient Method for Method for Realistic Animation of Realistic Animation of Clouds Clouds Yoshinori Dobashi Yoshinori Dobashi ( ( Hiroshima City University Hiroshima City University ) ) Kazufumi Kaneda Kazufumi Kaneda ( ( Hiroshima University Hiroshima University ) ) Hideo Yamashita Hideo Yamashita ( ( Hiroshima University Hiroshima University ) ) Tsuyoshi Okita Tsuyoshi Okita ( ( Hiroshima City University Hiroshima City University ) ) Tomoyuki Nishita Tomoyuki Nishita ( ( University of Tokyo University of Tokyo ) )

description

A Simple, Efficient Method for Realistic Animation of Clouds. Yoshinori Dobashi ( Hiroshima City University ). Tsuyoshi Okita ( Hiroshima City University ). Kazufumi Kaneda ( Hiroshima University ). Tomoyuki Nishita ( University of Tokyo ). Hideo Yamashita ( Hiroshima University ). - PowerPoint PPT Presentation

Transcript of A Simple, Efficient Method for Realistic Animation of Clouds

Page 1: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

A Simple, Efficient Method for A Simple, Efficient Method for Realistic Animation of CloudsRealistic Animation of Clouds

Yoshinori DobashiYoshinori Dobashi((Hiroshima City UniversityHiroshima City University))

Kazufumi KanedaKazufumi Kaneda((Hiroshima UniversityHiroshima University))

Hideo YamashitaHideo Yamashita((Hiroshima UniversityHiroshima University))

Tsuyoshi OkitaTsuyoshi Okita((Hiroshima City UniversityHiroshima City University))

Tomoyuki NishitaTomoyuki Nishita((University of TokyoUniversity of Tokyo))

Page 2: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Typo:Typo: Incorrect Numbering of Reference

[1] D. Blythe, “Advanced …[2] Y. Dobashi, T. Nishita, …[1] Y. Dobashi, T. Nishita, …[2] Y. Dobashi, T. Nishita, …

[1] D. Blythe, “Advanced …[2] Y. Dobashi, T. Nishita, …[3] Y. Dobashi, T. Nishita, …[4] Y. Dobashi, T. Nishita, …

Incorrect

Correct

(Proceedings)

(CD-ROM)

Page 3: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

IntroductionIntroduction

• Simulation of natural phenomena usingSimulation of natural phenomena using computer graphics computer graphics

• clouds• fire • ocean waves

examples:

• movies/commercial films • flight simulators• computer games

applications:

• Goal: Realistic animation of cloudsRealistic animation of clouds

Page 4: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

IntroductionIntroduction

- complex motion

- easy to implement

- fast simulation of cloud motion

- photorealistic images

- fast image generation

Important elements for realisticImportant elements for realistic animation of clouds animation of clouds

Page 5: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

IntroductionIntroduction

atmospheric effects (shafts of light)

Important elements for realistic renderingImportant elements for realistic rendering of cloudsof clouds

shadows

cloud color

Page 6: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Our method

Previous Work: Previous Work: Simulation of Cloud MotionSimulation of Cloud Motion

Numerical simulation [Kajiya84]

Simulation methods

Textured ellipsoids [Gardener85]

Diffusion process [Stam93,Stam95]

Fractal [Ebert97]

Qualitative simulation [Neyret97]

Particle system [Kikuchi98]

Stable fluids [Stam99]

motionImple-ment speed

Page 7: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Ray-tracing method e.g. [Kajiya84]

Rendering methods

2D texture mapping e.g. [Gardener85]

Scanline method [Ebert90]

3D texture mapping [Stam99]

Previous Work: Previous Work: Rendering of CloudsRendering of Clouds

colorsshafts of

light speedshadows

Page 8: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Our method

Ray-tracing method e.g. [Kajiya84]

Rendering methods

2D texture mapping e.g. [Gardener85]

Scanline method [Ebert90]

3D texture mapping [Stam99]

Previous Work: Previous Work: Rendering of CloudsRendering of Clouds

colorsshafts of

light speedshadows

Page 9: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Proposed MethodProposed Method• Simulation processSimulation process

• Rendering processRendering process

- complex cloud motion

- hardware-accelerated

- 3D cellular automaton

- small amount of computation

- cloud color taken into account single scattering model- shadows on the ground- shafts of light through clouds

Page 10: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

time timeti ti+1

Simulation ProcessSimulation Process

• Voxels correspond to cells

Basic ideaBasic idea

there is enough vapor.‘hum’:phase transition is ready to occur.‘act’:

clouds exist or not.‘cld’:

• Three logical variables at each cell

act :activationhum:humidity

cld :cloud

Page 11: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

time timeti ti+1

Simulation ProcessSimulation ProcessBasic ideaBasic idea

act :activationhum:humidity

cld :cloud

• Status of variables: 0 or 1

• Simple transition rules by Boolean operations- cloud growth- cloud extinction- advection by wind

Page 12: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Growth SimulationGrowth Simulation [Nagel’92][Nagel’92]

Water vapor becomes water droplets (clouds) due to phase transition.

Cloud formation process:

phase transition effects

propagation of activationvariables(cloud growth)

time ti time ti+1

hum

cld

act

cld=0act=0 hum=0cld=1act=1 hum=1

x yz

x yz

act: activationhum: humiditycld: cloud

• cloud extinction never occurs• complex motion cannot be realized

Disadvantages

Page 13: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

State transition of a cell:

humid active/humid cloud

Realizing Complex Motion

supply ‘hum’ & ‘act ‘

empty

cld=0act=0 hum=0cld=1act=1 hum=1

Formation and extinction occur repeatedly.

Page 14: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

1 humid area (spheres/elipsoids in 3D)

2 change ‘hum’ & ‘act’ from 0 to 1

Realizing Complex Motion

Page 15: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Realizing Complex MotionRealizing Complex Motion

3 clouds are formed

4 change ‘cld’ from 1 to 0

Controlling red area

Controlling cloud shapes & motion

1 humid area (spheres/elipsoids in 3D)

2 change ‘hum’ & ‘act’ from 0 to 1

Page 16: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Advection by WindAdvection by Wind• Clouds move in one direction, blown by wind.

cld hum act

wind direction

• Shifting all variables following the wind direction.

Page 17: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Rendering ProcessRendering ProcessBasic ideaBasic idea

0 or 1

filtering

1 Calculating density distribution

continuous

volumerendering

2 Rendering clouds

3 Rendering shafts of light through clouds

image

Page 18: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

R

q

effective radius

center density

metaball

field function

Create continuous distribution using metaballsCreate continuous distribution using metaballs

Calculation of Density DistributionCalculation of Density Distribution

• center density: filtered value

metaball

• radius: specified by user ( cell width x 1.5 in our case)

Page 19: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Rendering CloudsColor of clouds (single scattering only)

viewpoint

backgroundcolor

sunlight

clouds

Splatting method using billboard technique

scattered light

Page 20: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

2 clouds viewed from the viewpoint

1 calculate intensity reaching each metaball1 calculate intensity reaching each metaball

billboard

Rendering CloudsRendering Clouds

Calculation stepsCalculation stepsmetaball

PreprocessPreprocess

virtual plane(billboard)

compute billboard texture

2 clouds viewed from the viewpoint

Page 21: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

2 Assume a ray passing through each mesh element2 Assume a ray passing through each mesh element

4 Store the values as billboard texture

3 Compute cumulative density and attenuation ratio

1 Divide billboard into mesh

billboard metaball

Preprocess: Computing Billboard Texture

1 Divide billboard into mesh

4 Store the values as billboard texture

3 Compute cumulative density and attenuation ratio

• cumulative density• attenuation ratio

Page 22: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 1: Light Reaching at Each MetaballStep 1: Light Reaching at Each Metaball

frame buffer

metaball

sun1 Set camera at the sun, parallel projection

2 Sort metaballs

3 Place billboards

4 Initialize frame buffer

1 Set camera at the sun, parallel projection

1

2

3

45

2 Sort metaballs

billboard

3 Place billboards

Initialized to 1.0

4 Initialize frame buffer

5 Project billboards5 Project billboards

Page 23: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 1: Light Reaching at Each MetaballStep 1: Light Reaching at Each Metaball

sun5 Project billboards

6 Store shadow texture1

2

3

45

projection

• multiply attenuation• read pixel value

multiply attenuation

• multiply attenuation• read pixel value

readintensity

attenuation,sun metaball 1

Page 24: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 1: Light Reaching at Each MetaballStep 1: Light Reaching at Each Metaball

sun5 Project billboards

6 Store shadow texture1

2

3

45

• multiply attenuation• read pixel value

6 Store shadow texture

attenuation,sun ground

Page 25: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 2: Clouds Viewed from ViewpointStep 2: Clouds Viewed from Viewpoint

framebuffer

metaball

viewpoint

1 Render background

2 Sort metaballs

3 Rotate billboards

render background1 Render background

1

2

3

4

5

2 Sort metaballs

3 Rotate billboards

4 Project billboards

Page 26: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 2: Clouds Viewed from ViewpointStep 2: Clouds Viewed from Viewpoint

metaball

viewpoint

1

2

3

4

54 Project billboards

projection• multiply attenuation• add color •multiply attenuation

•add billboard color•attenuate background•add cloud colors

1 Render background

2 Sort metaballs

3 Rotate billboards

Page 27: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Step 2: Clouds Viewed from ViewpointStep 2: Clouds Viewed from Viewpoint

viewpoint

4 Project billboards• multiply attenuation• add color

1 Render background

2 Sort metaballs

3 Rotate billboards3

4

5 1

2

rendered image

Page 28: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Rendering Shafts of LightRendering Shafts of Light

Ieye= dtIs )(t

Isun )(t' )(t'Is = )(F

Intensity at viewpointIntensity at viewpoint

t

Is

sun S

clouds

PV

t': attenuation, atmosphere

: attenuation, clouds

: phase functionF

, F are obtainedanalytically

Isun

: attenuation, atmosphere

: attenuation, clouds

: phase functionF

Page 29: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Rendering Shafts of LightRendering Shafts of Light

Ieye= dtIs )(t

Isun )(t' )(t'Is = )(F

Intensity at viewpointIntensity at viewpoint

t

Is

sun S

clouds

PV

t': attenuation, atmosphere

: attenuation, clouds

: phase functionF

, F are obtainedanalytically

sample points

ray-tracing

Isun

: attenuation, atmosphere

: attenuation, clouds

: phase functionF

time-consuming

Page 30: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

1 . Place spherical shells

)(t'sun S

clouds

2 . Compute Isun(t’)F() (t)

3 . Map shadow texture

4 . Draw shells with additive blending

Rendering Shafts of LightRendering Shafts of Light

Ieye=

Is =

dtIs )(t

Isun )(t' )(F

V

Page 31: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

)(t'sun S

clouds

2 . Compute Isun(t’)F() (t)

3 . Map shadow texture

4 . Draw shells with additive blending

Rendering Shafts of LightRendering Shafts of Light

Ieye=

Is =

dtIs )(t

Isun )(t' )(F

V

spherical shells

1 . Place spherical shells

vertices

Page 32: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

)(t'sun S

clouds

2 . Compute Isun(t’)F() (t)

3 . Map shadow texture

4 . Draw shells with additive blending

Rendering Shafts of LightRendering Shafts of Light

Ieye=

Is =

dtIs )(t

Isun )(t' )(F

V

spherical shells

1 . Place spherical shells

shadow texture

Page 33: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

)(t'sun S

clouds

2 . Compute Isun(t’)F() (t)

3 . Map shadow texture

4 . Draw shells with additive blending

Rendering Shafts of LightRendering Shafts of Light

Ieye=

Is =

dtIs )(t

Isun )(t' )(F

V

spherical shells

1 . Place spherical shells

shadow texturetexture mapping

Page 34: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

)(t'sun S

clouds

2 . Compute Isun(t’)F() (t)

3 . Map shadow texture

4 . Draw shells with additive blending

Rendering Shafts of LightRendering Shafts of Light

Ieye=

Is =

dtIs )(t

Isun )(t' )(F

V

spherical shells

1 . Place spherical shells

shadow texturetexture mapping

Page 35: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

ExamplesExamples

(PentiumIII 733Mhz, NVIDIA GeForce256)voxel size: 256x256x10 image size: 640x480

rendering: rendering: 10 [sec]10 [sec]simulation: simulation: 0.3 [sec]0.3 [sec]

Page 36: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

shafts of light (daytime) shafts of light (evening)

ExamplesExamples

rendering: rendering: 15 [sec]15 [sec]

(PentiumIII 733Mhz, NVIDIA GeForce256)voxel size: 256x256x20 image size: 640x480

simulation: simulation: 0.5 [sec]0.5 [sec]

Page 37: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Example Animation (Video)Example Animation (Video)

Page 38: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

- complex motion

ConclusionConclusion

- two-pass method using billboards for colors and shadows

- fast simulation by Boolean operations

- easy implementation

- uses graphics hardware

Simulation using 3D cellular automatonSimulation using 3D cellular automaton

Realistic rendering of cloudsRealistic rendering of clouds

- virtual spherical shells for shafts of light

Page 39: A Simple, Efficient Method for  Realistic Animation of Clouds

Cloud Animation

Future WorkFuture Work

Further acceleration for real-time Further acceleration for real-time animationanimation

Creating various kinds of cloudsCreating various kinds of clouds

- use of LOD techniques

- hierachical representation of voxels

- taking into account effects under terrain

- handling multiple wind direction, wind field