Presentation is loading. Please wait.

Presentation is loading. Please wait.

Clouds and You (mostly clouds) a Summary of “A Simple, Efficient, Method for Realistic Animation of Clouds” Paper by Yoshinori Dobashi, Kazufumi Kaneda,

Similar presentations


Presentation on theme: "Clouds and You (mostly clouds) a Summary of “A Simple, Efficient, Method for Realistic Animation of Clouds” Paper by Yoshinori Dobashi, Kazufumi Kaneda,"— Presentation transcript:

1

2 Clouds and You (mostly clouds) a Summary of “A Simple, Efficient, Method for Realistic Animation of Clouds” Paper by Yoshinori Dobashi, Kazufumi Kaneda, Hideo Yamashita, Tsuyoshi Okita, Tomoyuki Presentation by Nomolas Nairb 4/24/01

3 Goal ? Realtime? Realistic? No, but no need for render farms. No, but you wont know the difference. DUFF

4 Previous Work Eat at Joe’s

5 Previous Work Good ole Stam Foster and Metaxas Nagel, Nagel, Nagel Goodyear

6 Approach Extend Nagel’s method. –Cellular Automaton –0/1 variables per voxel Allow clouds to go away. Add shafts of light. Use clever rendering techniques (OpenGL). Go Cavs!

7 Cellular Automaton Nagel Style Voxels have 3 state variables and transition functions. –Hum - Does the voxel contain enough H20? –Cld - Is there cloud in the voxel? –Act - Is the transition from vapor to cloud ready to commence? All your base

8 Cellular Automaton Nagel Style Rules hum(i,j,k,t+1) = hum(i,j,k,t) && !act(i,j,k,t) cld(i,j,k,t+1) = cld(i,j,k,t) || act(i,j,k,t) act(i,j,k,t+1) = !act(i,j,k,t) && hum(i,j,k,t) && f(i,j,k,t) Brian Rules

9 Cellular Automaton Nagel Style f(i,j,k) = act(i+1,j,k,t) || act(i,j+1,k,t) || act(i,j,k+1,t) || act(i-1,j,k,t) || act(i,j-1,k,t) || act(i,j,k-1,t) || act(i-2,j,k,t) || act(i+2,j,k,t) || act(i,j-2,k,t) || act(i,j+2,k,t) || act(i,j,k-2,t)

10 Additional Rules Cloud extinction facilitated by: cld(i,j,k,t+1) = cld(i,j,k,t) && (rnd > p ext (i,j,k,t)) hum(i,j,k,t+1) = hum(i,j,k,t) || (rnd < p hum (i,j,k,t)) act(i,j,k,t+1) = act(i,j,k,t) || (rnd < p act (i,j,k,t)) Wang Chung Tonight

11 Wind v(z) gives wind velocity for each level of voxels. state(i,j,k,t + 1) = state(i-v(zk),j,k,t) Zzzzzz…..

12 Ellipsoids for Motion Control Use ellipsoids to represent “parcels” of air. Distribute the probabilities throughout the ellipsoids. Move the ellipsoids to move the clouds. How big? How many? Led Zeppelin

13 Rendering Create metaball textures Create the lightmap texture Render the clouds Rusty’s Burgers

14 Metaballs Smooth the voxels q(i,j,k,t) = Q*     w(i’,j’,k’,y’) * cld(i+i’,j+j’,k+k’,t+t’)  (x,t) =  q(i,j,k,t)f(|x - x i,j,k |) t’=-t 0 k’=-k 0 j’=-j 0 i’=-i 0 t0t0 k0k0 j0j0 i0i0 i,j,k  (x,R) N

15 Metaball Colors and Light Maps Turn off depth test. Sort the metaballs by distance from the sun. Render using parallel projection from the sun. Create a color for each metaball by multiplying the color at the center pixel by the sun color. Store the image as a light map for the terrain.

16 Hindenburg Rendering the Clouds Render everything else first Turn off the depth test Set each ball’s billboard to the color from the last step Render the billboards back to front.

17 Shafts of Light I = I c  (T)+  (s)I s (s)  (s)ds I c - the cloud color I s - scattered light  - atmospheric attenuation  - attenuation due to clouds discretized as: I = I c  (T)+  (k  s)I s (k  s)  (k  s)  s   0 T k=0 nsns

18 Light Shafts I = I c  (T)+  (k  s)I s (k  s)  (k  s)  s I c - the metaball color  - fog like calculation I s - get this “analytically”  - the light map

19 Results 256x256x20 cells 80kb storage 10-20 seconds per image Looking Good


Download ppt "Clouds and You (mostly clouds) a Summary of “A Simple, Efficient, Method for Realistic Animation of Clouds” Paper by Yoshinori Dobashi, Kazufumi Kaneda,"

Similar presentations


Ads by Google