SlideShare a Scribd company logo
computer graphics & visualization
Rendering Smoke & Clouds
Game Design Seminar 2007
Jürgen Treml
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Talk Overview
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
1. Introduction to Clouds
• What are clouds?
• Mass of visible water droplets
• Technically speaking:
Continuous 3D density field of
(condensed) water in the air
• Form when warm air cools down
and condensates
• Formation influenced by:
Temperature, Pressure, Humidity
Ratio Conensation / Evaporation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
1. Introduction to Clouds
• Why do we see clouds?
• Color depends on
– Spectrum of incoming light
– Atmosphere
– Angle to sun
– Angle to viewer
– ...
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.1 Meteorological / Physical Model
• Implement a meteorological model
– Simulating and modeling environment: air pressure,
temperature, humidity and saturation
– Account for
• Potential temperature
• Buoyant force
• Environmental lapse rate
• Saturation mixing ratio
• Water continuity
• Thermodynamics
• Vorticity confinement
• Fluid flow
• ...
– Clouds creation, movement and dissipation as an ad-hoc
result
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Noise Based Model
• 1/f-noise
– Functional noise, i.e. no
memory footprint
– Fast (Faster than
simulation)
– Arbitary number of
dimensions
– Natural look
• stochastic, self-similar
• 1/f: decreasing amplitude
with increasing frequency
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
• In mathematical terms:
• Base Function:
– white noise, Perlin noise, image, etc.
– Pre-created and stored or pseudo-random function
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Noise Based Model





n
i
i
n
i
n
i
y
x
B
y
x
N
1
)
2
1
,
2
1
(
2
1
)
,
(
octaves
of
Number
:
function
Base
:
value
noise
Synthetic
:
n
B(x,y)
N(x,y)
i=1 i=2 i=3 i=4=n
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Pseudo-Random Noise Based Model
• Noise interpretation:
– 2D noise, e.g. height map (terrain)
– 3D noise, e.g. Volume density field (clouds)
– 4D noise, e.g. for time-animated 3D fields
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Pseudo-Random Noise Based Model
• Tweaking the noise function





n
i
i
n
i
n
i
y
l
x
l
B
r
y
x
N
1
)
1
,
1
(
2
1
)
,
(
octaves
of
Number
:
y)
(lacunarit
gap
fractal
:
roughness
:
n
l
r
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Pseudo-Random Noise Based Model
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.2 Pseudo-Random Noise Based Model
• Create various effects, changing...
– Base function
– Number of octaves
– Roughness, lacunarity
– …
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.1 Generating Clouds
2.1.3 Noise-Based Editing Model
• Create basic noise field
• Let user edit the field
– User may define parameters of the noise function before generating the
noise field
– User can edit the generated noise (like a brush or eraser in photoshop or
paint, etc.)
• Used in Terragen for example
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.1 The Volume Rendering Integral
• Optical Model:
Light (particles) travelling through / interacting
with density volume
• Effects:
– Absorption
– Emission
– (Multiple) Scattering
– (Shadows)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.1 The Volume Rendering Integral
• Physical Model: Emission and absorption only
Absorption
)
,
(
0
0
)
(
)
( x
x
e
x
I
x
I 

 

2
1
)
(
)
,
(
Absorption
Depth
Optical
2
1
x
x
dx
x
x
x 



Initial Intensity Attenuation along [x0,x]
Ray
)
( 0
x
I
I
x
0
x
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Initial Intensity at x‘ Attenuation along [x‘,x]
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.1 The Volume Rendering Integral
• Physical Model: Emission and absorption only
Emission (+ Absorption)





x
x
x
x
x
x
dx
e
x
q
e
x
I
x
I
0
0
'
)
'
(
)
(
)
( )
,
'
(
)
,
(
0


Ray
)
( 0
x
I
I
x
'
x
0
x
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
4.2.1 The Volume Rendering Integral
• No general closed form solution
• Approximation by discrete sum:
 Ray Casting
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.2 Backward VR: Ray Casting
• Image space
algorithm
• Pixel by pixel
• Cast rays into
volume
• Sample volume at
discrete intervals
Image plane
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.2 Backward VR: Ray Casting
• Usually resampling required (ray doesn‘t hit
voxel centers)
 interpolate / filter (trilinear, splines, ...)
• Accumulate color and opacity along the ray
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.3 Forward VR: Splatting
• Object space
algorithm
• Voxel by voxel
• Project each voxel
onto the image plane
• One voxel usually
influences several
pixels
Image plane
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.2 Rendering Clouds using Volume Rendering Techniques
2.2.3 Forward VR: Splatting
• Apply filter when projecting voxel on pixels
(e.g. Gaussian)
• Example: Cloud rendering algorithm proposed
by Dobashi (2000)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.3 Example: Clouds à la Dobashi
• Project each voxel on a
billboard:
filter using metaballs
(similar to Gauss but
effective radius of
influence)
• Given (for now):
Discrete density distribution (voxel grid)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.3 Example: Clouds à la Dobashi
• Render image as viewed from sun
– Orient billboards towards sun
– Starting from closest to sun:
for each metaball, render billboard to framebuffer (multiply
attenuation)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.3 Example: Clouds à la Dobashi
• Render image as viewed from sun
– Read pixel corresponding to metaball center from
framebuffer
 attenuation between metaball and sun
– Multiply by sunlight color
metaball color
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.3 Example: Clouds à la Dobashi
• Render image from user
perspective
– Render all objects
besides clouds
– Orient billboards
towards viewpoint
– Project on image plane
(back to front):
• multiply framebuffer
color by attenuation ratio
• Add metaball color
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.3 Example: Clouds à la Dobashi
A few notes:
• Attenuation „texture“ created during second
step can be used as shadow map (for the
ground)
• Method accounts for single scattering of light
and shadows
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.4 Next Step: Multiple Forward Scattering
• Proposed by Harris and Lastra 2001
• Just a short overview
• Single scattering similar to Dobashi
• Extending the VRI to account for multiple
forward scattering:







Dp
dt
t
dt
t
ds
e
s
g
e
I
P
I
Dp
s
Dp
0
)
(
)
(
0 )
,
(
)
(
)
,
( 0





computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.4 Next Step: Multiple Forward Scattering
• What‘s the message?
– Each particle besides light from outside a cloud also receives
light scattered by other particles
– Amount is a function of the angle (spatial angle)
– Caracterized by the BSDF and phase function (e.g. Rayleigh
scattering)







Dp
dt
t
dt
t
ds
e
s
g
e
I
P
I
Dp
s
Dp
0
)
(
)
(
0 )
,
(
)
(
)
,
( 0













4
'
)
'
,
(
)
'
,
,
(
)
,
( d
x
I
x
r
x
g
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.4 Next Step: Multiple Forward Scattering
• Again solved by discrete approximization
• Forward scattering accounts most for the
optical perception of clouds
restrict calculations to small angle around
the forward direction
• Assuming BSDF and other factors being
constant (due to small angle)
• Split light path into small number of discrete
directions
• ...
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.4 Next Step: Multiple Forward Scattering
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.5 A few Notes on Animating Clouds
• Based on meteorological model (as with cloud
generation)
• Account for all physical phenomena
 Clouds creation, movement and dissipation
as an ad-hoc result
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
2. Virtual Clouds based on physical Models
2.5 A few Notes on Animating Clouds
• Simple model: cellular
automata
– E.g. Used by Dobashi
– Cells of an automaton
correspond to voxels and
carry state variables:
Vapor/humidity, Clouds,
Phase transition
– Binary states!
– Set of transition functions
– Smoothing before redering
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.1 Generating / Designing Clouds
• Artist designs clouds with a
GUI based tool
• Use simple shapes (boxes,
spheres) to model the basic
cloud shapes
• Fill boxes randomly with
(textured) sprites
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.1 Generating / Designing Clouds
• Artist can specify density, etc.
• Artist specifies cloud coloring
and shading
– Percentage of ambient color
(time of day)
– Vertical color levels and colors
– Shading groups
– Directional colors (time of day)
• Store only sprite center
points and sizes (+ coloring
information)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.2 Rendering Clouds
• Load sprite center points, sizes and color information
from disk
• Draw quads around sprite centers
• Map textures to quads (random rotation in quad
plane)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.2 Rendering Clouds
• Rotate quads towards camera
• Calculate shading:
function of angle between vector shading-group center <> sun and shading group center <>
sprite
• Take into account directional and vertical color levels:
interpolate between discrete levels specified by artist
• Render sprites to frame buffer
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.3 Performance Tweaks
• Use impostors for clouds outside a certain
range to the user aircraft
– Octogonal ring
– Switch between impostors as user changes viewing direction
– Visual imperfection vs. gain of speed
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.4 A few Notes on Animating Clouds
• Not much animation done actually
• Only cloud formation and dissipation
– Done by slowly increasing transparency
– Start with sprites at the borders till finally reaching
the innermost sprites
– Cloud formation is just the opposite
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Where are we?
1. Introduction to Clouds
2. Virtual Clouds based on physical Models
1. Generating Clouds
2. Rendering Clouds using Volume Rendering
3. Example: Clouds à la Dobashi
4. Extending Dobashi: Multiple Forward Scattering
5. A few Notes on Cloud Animation
3. Virtual Clouds – An Artistic Approach
1. Generating / Designing Clouds
2. Rendering Clouds
3. Performance Tweaks
4. A few Notes on Animation
5. Evaluation
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.5 Evaluation / Comparison
• Extremely rough approximization of the real
physics (e.g. Vertical shading levels)
• Inaccurate shading
• No self-shadowing or any shadowing at all
• Extremely flexible in controlling the appearance
of clouds
• Pretty fast (even on older PCs)
• Visually not totally unconvincing ;-)
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
3. Virtual Clouds – An Artistic Approach
3.5 Evaluation / Comparison
computer graphics & visualization
Game Design - Rendering Smoke & Clouds
Jürgen Treml (juergen.treml@gmail.com)
Talk Summary
• What are Clouds?
• Effects to consider when dealing with clouds
• Two different approaches on creating and
rendering clouds
– Random noise + volume rendering
– Artistic models
• Few hints on cloud animation
Questions?!?

More Related Content

Similar to 5901194.ppt

Introdution to astro photography
Introdution to astro photographyIntrodution to astro photography
Introdution to astro photography
markcasazza
 
Introduction to Computer Graphics(1)
Introduction to Computer Graphics(1)Introduction to Computer Graphics(1)
Introduction to Computer Graphics(1)
HiteshJain007
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
guest11b095
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
qpqpqp
 
Praseed Pai
Praseed PaiPraseed Pai
Praseed Pai
Barcamp Kerala
 
Lec-1 Computer Graphics.ppt
Lec-1 Computer Graphics.pptLec-1 Computer Graphics.ppt
Lec-1 Computer Graphics.ppt
MNSUAM
 
Lecture1
Lecture1Lecture1
Lecture1
Mobeen Mustafa
 
Datt 2501 week 10
Datt 2501 week 10Datt 2501 week 10
Datt 2501 week 10
Joe Hambleton
 
Nicolae_Denut_Theses
Nicolae_Denut_ThesesNicolae_Denut_Theses
Nicolae_Denut_Theses
Nicolae Denut
 
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
Umbra
 
2D & 3D ANIMATION
2D & 3D ANIMATION2D & 3D ANIMATION
2D & 3D ANIMATION
Animation Kolkata
 
Introduction to Machine Vision
Introduction to Machine VisionIntroduction to Machine Vision
Introduction to Machine Vision
Nasir Jumani
 
427lects
427lects427lects
427lects
Praveen Kumar
 
SolidWorks Assignment Help
SolidWorks Assignment HelpSolidWorks Assignment Help
SolidWorks Assignment Help
Solidwork Assignment Help
 
From Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGLFrom Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGL
FITC
 
Presentation on Virtual Reality
Presentation on Virtual RealityPresentation on Virtual Reality
Presentation on Virtual Reality
Ahsan Raja
 
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
virtualcitySYSTEMS GmbH
 
Computer graphics, bba 1
Computer graphics, bba 1Computer graphics, bba 1
Computer graphics, bba 1
university of education,Lahore
 
Computer graphics, group 9, bba a
Computer graphics, group 9, bba aComputer graphics, group 9, bba a
Computer graphics, group 9, bba a
university of education,Lahore
 
Svr Raskar
Svr RaskarSvr Raskar

Similar to 5901194.ppt (20)

Introdution to astro photography
Introdution to astro photographyIntrodution to astro photography
Introdution to astro photography
 
Introduction to Computer Graphics(1)
Introduction to Computer Graphics(1)Introduction to Computer Graphics(1)
Introduction to Computer Graphics(1)
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Praseed Pai
Praseed PaiPraseed Pai
Praseed Pai
 
Lec-1 Computer Graphics.ppt
Lec-1 Computer Graphics.pptLec-1 Computer Graphics.ppt
Lec-1 Computer Graphics.ppt
 
Lecture1
Lecture1Lecture1
Lecture1
 
Datt 2501 week 10
Datt 2501 week 10Datt 2501 week 10
Datt 2501 week 10
 
Nicolae_Denut_Theses
Nicolae_Denut_ThesesNicolae_Denut_Theses
Nicolae_Denut_Theses
 
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
Shadow Caster Culling for Efficient Shadow Mapping (Authors: Jiří Bittner, Ol...
 
2D & 3D ANIMATION
2D & 3D ANIMATION2D & 3D ANIMATION
2D & 3D ANIMATION
 
Introduction to Machine Vision
Introduction to Machine VisionIntroduction to Machine Vision
Introduction to Machine Vision
 
427lects
427lects427lects
427lects
 
SolidWorks Assignment Help
SolidWorks Assignment HelpSolidWorks Assignment Help
SolidWorks Assignment Help
 
From Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGLFrom Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGL
 
Presentation on Virtual Reality
Presentation on Virtual RealityPresentation on Virtual Reality
Presentation on Virtual Reality
 
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
Combining semantic 3D GIS with numerical Simulation for assessing the impact ...
 
Computer graphics, bba 1
Computer graphics, bba 1Computer graphics, bba 1
Computer graphics, bba 1
 
Computer graphics, group 9, bba a
Computer graphics, group 9, bba aComputer graphics, group 9, bba a
Computer graphics, group 9, bba a
 
Svr Raskar
Svr RaskarSvr Raskar
Svr Raskar
 

More from ahmad21315

5787355.ppt
5787355.ppt5787355.ppt
5787355.ppt
ahmad21315
 
4946486.ppt
4946486.ppt4946486.ppt
4946486.ppt
ahmad21315
 
4831586.ppt
4831586.ppt4831586.ppt
4831586.ppt
ahmad21315
 
4582349.ppt
4582349.ppt4582349.ppt
4582349.ppt
ahmad21315
 
3822424.ppt
3822424.ppt3822424.ppt
3822424.ppt
ahmad21315
 
3549497.ppt
3549497.ppt3549497.ppt
3549497.ppt
ahmad21315
 
3245224.ppt
3245224.ppt3245224.ppt
3245224.ppt
ahmad21315
 
2775732.ppt
2775732.ppt2775732.ppt
2775732.ppt
ahmad21315
 

More from ahmad21315 (8)

5787355.ppt
5787355.ppt5787355.ppt
5787355.ppt
 
4946486.ppt
4946486.ppt4946486.ppt
4946486.ppt
 
4831586.ppt
4831586.ppt4831586.ppt
4831586.ppt
 
4582349.ppt
4582349.ppt4582349.ppt
4582349.ppt
 
3822424.ppt
3822424.ppt3822424.ppt
3822424.ppt
 
3549497.ppt
3549497.ppt3549497.ppt
3549497.ppt
 
3245224.ppt
3245224.ppt3245224.ppt
3245224.ppt
 
2775732.ppt
2775732.ppt2775732.ppt
2775732.ppt
 

Recently uploaded

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 

Recently uploaded (20)

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 

5901194.ppt

  • 1. computer graphics & visualization Rendering Smoke & Clouds Game Design Seminar 2007 Jürgen Treml
  • 2. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Talk Overview 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 3. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 4. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 1. Introduction to Clouds • What are clouds? • Mass of visible water droplets • Technically speaking: Continuous 3D density field of (condensed) water in the air • Form when warm air cools down and condensates • Formation influenced by: Temperature, Pressure, Humidity Ratio Conensation / Evaporation
  • 5. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 1. Introduction to Clouds • Why do we see clouds? • Color depends on – Spectrum of incoming light – Atmosphere – Angle to sun – Angle to viewer – ...
  • 6. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 7. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.1 Meteorological / Physical Model • Implement a meteorological model – Simulating and modeling environment: air pressure, temperature, humidity and saturation – Account for • Potential temperature • Buoyant force • Environmental lapse rate • Saturation mixing ratio • Water continuity • Thermodynamics • Vorticity confinement • Fluid flow • ... – Clouds creation, movement and dissipation as an ad-hoc result
  • 8. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Noise Based Model • 1/f-noise – Functional noise, i.e. no memory footprint – Fast (Faster than simulation) – Arbitary number of dimensions – Natural look • stochastic, self-similar • 1/f: decreasing amplitude with increasing frequency
  • 9. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) • In mathematical terms: • Base Function: – white noise, Perlin noise, image, etc. – Pre-created and stored or pseudo-random function 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Noise Based Model      n i i n i n i y x B y x N 1 ) 2 1 , 2 1 ( 2 1 ) , ( octaves of Number : function Base : value noise Synthetic : n B(x,y) N(x,y) i=1 i=2 i=3 i=4=n
  • 10. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Pseudo-Random Noise Based Model • Noise interpretation: – 2D noise, e.g. height map (terrain) – 3D noise, e.g. Volume density field (clouds) – 4D noise, e.g. for time-animated 3D fields
  • 11. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Pseudo-Random Noise Based Model • Tweaking the noise function      n i i n i n i y l x l B r y x N 1 ) 1 , 1 ( 2 1 ) , ( octaves of Number : y) (lacunarit gap fractal : roughness : n l r
  • 12. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Pseudo-Random Noise Based Model
  • 13. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.2 Pseudo-Random Noise Based Model • Create various effects, changing... – Base function – Number of octaves – Roughness, lacunarity – …
  • 14. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.1 Generating Clouds 2.1.3 Noise-Based Editing Model • Create basic noise field • Let user edit the field – User may define parameters of the noise function before generating the noise field – User can edit the generated noise (like a brush or eraser in photoshop or paint, etc.) • Used in Terragen for example
  • 15. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 16. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.1 The Volume Rendering Integral • Optical Model: Light (particles) travelling through / interacting with density volume • Effects: – Absorption – Emission – (Multiple) Scattering – (Shadows)
  • 17. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.1 The Volume Rendering Integral • Physical Model: Emission and absorption only Absorption ) , ( 0 0 ) ( ) ( x x e x I x I      2 1 ) ( ) , ( Absorption Depth Optical 2 1 x x dx x x x     Initial Intensity Attenuation along [x0,x] Ray ) ( 0 x I I x 0 x
  • 18. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Initial Intensity at x‘ Attenuation along [x‘,x] 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.1 The Volume Rendering Integral • Physical Model: Emission and absorption only Emission (+ Absorption)      x x x x x x dx e x q e x I x I 0 0 ' ) ' ( ) ( ) ( ) , ' ( ) , ( 0   Ray ) ( 0 x I I x ' x 0 x
  • 19. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 4.2.1 The Volume Rendering Integral • No general closed form solution • Approximation by discrete sum:  Ray Casting
  • 20. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.2 Backward VR: Ray Casting • Image space algorithm • Pixel by pixel • Cast rays into volume • Sample volume at discrete intervals Image plane
  • 21. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.2 Backward VR: Ray Casting • Usually resampling required (ray doesn‘t hit voxel centers)  interpolate / filter (trilinear, splines, ...) • Accumulate color and opacity along the ray
  • 22. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.3 Forward VR: Splatting • Object space algorithm • Voxel by voxel • Project each voxel onto the image plane • One voxel usually influences several pixels Image plane
  • 23. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.2 Rendering Clouds using Volume Rendering Techniques 2.2.3 Forward VR: Splatting • Apply filter when projecting voxel on pixels (e.g. Gaussian) • Example: Cloud rendering algorithm proposed by Dobashi (2000)
  • 24. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 25. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.3 Example: Clouds à la Dobashi • Project each voxel on a billboard: filter using metaballs (similar to Gauss but effective radius of influence) • Given (for now): Discrete density distribution (voxel grid)
  • 26. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.3 Example: Clouds à la Dobashi • Render image as viewed from sun – Orient billboards towards sun – Starting from closest to sun: for each metaball, render billboard to framebuffer (multiply attenuation)
  • 27. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.3 Example: Clouds à la Dobashi • Render image as viewed from sun – Read pixel corresponding to metaball center from framebuffer  attenuation between metaball and sun – Multiply by sunlight color metaball color
  • 28. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.3 Example: Clouds à la Dobashi • Render image from user perspective – Render all objects besides clouds – Orient billboards towards viewpoint – Project on image plane (back to front): • multiply framebuffer color by attenuation ratio • Add metaball color
  • 29. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.3 Example: Clouds à la Dobashi A few notes: • Attenuation „texture“ created during second step can be used as shadow map (for the ground) • Method accounts for single scattering of light and shadows
  • 30. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 31. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.4 Next Step: Multiple Forward Scattering • Proposed by Harris and Lastra 2001 • Just a short overview • Single scattering similar to Dobashi • Extending the VRI to account for multiple forward scattering:        Dp dt t dt t ds e s g e I P I Dp s Dp 0 ) ( ) ( 0 ) , ( ) ( ) , ( 0     
  • 32. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.4 Next Step: Multiple Forward Scattering • What‘s the message? – Each particle besides light from outside a cloud also receives light scattered by other particles – Amount is a function of the angle (spatial angle) – Caracterized by the BSDF and phase function (e.g. Rayleigh scattering)        Dp dt t dt t ds e s g e I P I Dp s Dp 0 ) ( ) ( 0 ) , ( ) ( ) , ( 0              4 ' ) ' , ( ) ' , , ( ) , ( d x I x r x g
  • 33. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.4 Next Step: Multiple Forward Scattering • Again solved by discrete approximization • Forward scattering accounts most for the optical perception of clouds restrict calculations to small angle around the forward direction • Assuming BSDF and other factors being constant (due to small angle) • Split light path into small number of discrete directions • ...
  • 34. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.4 Next Step: Multiple Forward Scattering
  • 35. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 36. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.5 A few Notes on Animating Clouds • Based on meteorological model (as with cloud generation) • Account for all physical phenomena  Clouds creation, movement and dissipation as an ad-hoc result
  • 37. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 2. Virtual Clouds based on physical Models 2.5 A few Notes on Animating Clouds • Simple model: cellular automata – E.g. Used by Dobashi – Cells of an automaton correspond to voxels and carry state variables: Vapor/humidity, Clouds, Phase transition – Binary states! – Set of transition functions – Smoothing before redering
  • 38. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 39. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.1 Generating / Designing Clouds • Artist designs clouds with a GUI based tool • Use simple shapes (boxes, spheres) to model the basic cloud shapes • Fill boxes randomly with (textured) sprites
  • 40. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.1 Generating / Designing Clouds • Artist can specify density, etc. • Artist specifies cloud coloring and shading – Percentage of ambient color (time of day) – Vertical color levels and colors – Shading groups – Directional colors (time of day) • Store only sprite center points and sizes (+ coloring information)
  • 41. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 42. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.2 Rendering Clouds • Load sprite center points, sizes and color information from disk • Draw quads around sprite centers • Map textures to quads (random rotation in quad plane)
  • 43. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.2 Rendering Clouds • Rotate quads towards camera • Calculate shading: function of angle between vector shading-group center <> sun and shading group center <> sprite • Take into account directional and vertical color levels: interpolate between discrete levels specified by artist • Render sprites to frame buffer
  • 44. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 45. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.3 Performance Tweaks • Use impostors for clouds outside a certain range to the user aircraft – Octogonal ring – Switch between impostors as user changes viewing direction – Visual imperfection vs. gain of speed
  • 46. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 47. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.4 A few Notes on Animating Clouds • Not much animation done actually • Only cloud formation and dissipation – Done by slowly increasing transparency – Start with sprites at the borders till finally reaching the innermost sprites – Cloud formation is just the opposite
  • 48. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Where are we? 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering 3. Example: Clouds à la Dobashi 4. Extending Dobashi: Multiple Forward Scattering 5. A few Notes on Cloud Animation 3. Virtual Clouds – An Artistic Approach 1. Generating / Designing Clouds 2. Rendering Clouds 3. Performance Tweaks 4. A few Notes on Animation 5. Evaluation
  • 49. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.5 Evaluation / Comparison • Extremely rough approximization of the real physics (e.g. Vertical shading levels) • Inaccurate shading • No self-shadowing or any shadowing at all • Extremely flexible in controlling the appearance of clouds • Pretty fast (even on older PCs) • Visually not totally unconvincing ;-)
  • 50. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) 3. Virtual Clouds – An Artistic Approach 3.5 Evaluation / Comparison
  • 51. computer graphics & visualization Game Design - Rendering Smoke & Clouds Jürgen Treml (juergen.treml@gmail.com) Talk Summary • What are Clouds? • Effects to consider when dealing with clouds • Two different approaches on creating and rendering clouds – Random noise + volume rendering – Artistic models • Few hints on cloud animation Questions?!?

Editor's Notes

  1. Introduction to Clouds Virtual Clouds based on physical Models Virtual Clouds – An Artistic Approach
  2. What are clouds? Mass of visible water droplets Technically speaking: Continuous 3D density field of (condensed) water in the air Form when warm air cools down and condensates Formation influenced by: Temperature, Pressure, Humidity Ratio Conensation / Evaporation
  3. Why do we see clouds? Sunlight Moon Reflected ground light MULTIPLE SCATTERING Color depends on Spectrum of incoming light Atmosphere Angle to sun Angle to viewer ...
  4. Virtual Clouds based on physical Models  Generating Clouds
  5. Implement a meteorological model Simulating and modeling environment: air pressure, temperature, humidity and saturation Account for ... Clouds creation, movement and dissipation as an ad-hoc result
  6. 1/f-noise Functional noise, i.e. no memory footprint Fast (Faster than simulation) Arbitary number of dimensions Natural look
  7. In mathematical terms Base Function
  8. Noise interpretation 2D noise, e.g. height map (terrain) 3D noise, e.g. Volume density field (clouds) 4D noise, e.g. for time-animated 3D fields
  9. Tweaking the noise function
  10. Roughness lacunarity
  11. Create various effects, changing... Base function Number of octaves Roughness, lacunarity
  12. Create basic noise field Let user edit the field Used in Terragen for example
  13. Virtual Clouds based on physical Models Rendering Clouds using Volume Rendering
  14. Optical Model Effects Absorption Emission (Multiple) Scattering (Shadows)
  15. No general closed form solution Approximation by discrete sum  Ray Casting
  16. Image space algorithm Pixel by pixel Cast rays into volume Sample volume at discrete intervals
  17. Usually resampling required (ray doesn‘t hit voxel centers) Accumulate color and opacity along the ray
  18. Object space algorithm Voxel by voxel Project each voxel onto the image plane One voxel usually influences several pixels
  19. Apply filter when projecting voxel on pixels Example: Cloud rendering by Dobashi (2000)
  20. Virtual Clouds based on physical Models Example: Clouds à la Dobashi
  21. Given: Discrete density distribution (voxel grid) Project each voxel on a billboard
  22. Render image as viewed from sun Orient billboards towards sun Starting from closest to sun: for each metaball, render billboard to framebuffer (multiply attenuation)
  23. Read pixel corresponding to metaball center from framebuffer  attenuation between metaball and sun Multiply by sunlight color metaball color
  24. Render image from user perspective Render all objects besides clouds Orient billboards towards viewpoint Project on image plane (back to front):
  25. Attenuation „texture“as shadow map (for the ground) Method accounts for single scattering and shadows
  26. Virtual Clouds based on physical Models Extending Dobashi: Multiple Forward Scattering
  27. Proposed by Harris and Lastra 2001 Just a short overview Single scattering similar to Dobashi Extending the VRI
  28. What‘s the message? Each particle receives light scattered by other particles Amount is a function of the angle (spatial angle) Caracterized by the BSDF and phase function
  29. Again solved by discrete approximization Forward scattering accounts most for the optical perception of clouds restrict to small angle around the forward direction Assuming BSDF and other factors being constant (due to small angle) Split light path into small number of discrete directions
  30. Virtual Clouds based on physical Models A few Notes on Cloud Animation
  31. Based on meteorological model (as with cloud generation) Account for all physical phenomena  Clouds creation, movement and dissipation as an ad-hoc result
  32. Simple model: cellular automata E.g. Used by Dobashi Cells of an automaton correspond to voxels and carry state variables: Binary states! Set of transition functions Smoothing before redering
  33. Virtual Clouds – An Artistic Approach Generating / Designing Clouds
  34. Artist designs clouds with a GUI based tool Use simple shapes Fill boxes randomly with sprites
  35. Artist can specify density, etc. Artist specifies cloud coloring and shading Store only sprite center points and sizes (+ coloring information)
  36. Virtual Clouds – An Artistic Approach Rendering Clouds
  37. Load sprite center points, sizes and color information from disk Draw quads around sprite centers Map textures to quads (random rotation in quad plane)
  38. Rotate quads towards camera Calculate shading Take into account directional and vertical color levels: Render sprites to frame buffer
  39. Virtual Clouds – An Artistic Approach Performance Tweaks
  40. Use impostors for clouds outside a certain range to the user aircraft
  41. Virtual Clouds – An Artistic Approach A few Notes on Animation
  42. Not much animation done actually Only cloud formation and dissipation
  43. Virtual Clouds – An Artistic Approach Evaluation
  44. Extremely rough approximization of the real physics (e.g. Vertical shading levels) Inaccurate shading No self-shadowing or any shadowing at all Extremely flexible in controlling the appearance of clouds Pretty fast (even on older PCs) Visually not totally unconvincing ;-)
  45. What are Clouds? Effects to consider when dealing with clouds Two different approaches on creating and rendering clouds Few hints on cloud animation