Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware. Hokkaido University. Yoshinori Dobashi. Tsuyoshi Yamamoto. Hokkaido University. Tomoyuki Nishita. Tokyo University. Overview. Introduction. motivation previous work. Rendering Light Beams. basic Idea
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Hokkaido University
Yoshinori Dobashi
Tsuyoshi Yamamoto
Hokkaido University
Tomoyuki Nishita
Tokyo University
Overview Using Graphics Hardware
Overview
Overview Using Graphics Hardware
Motivation Using Graphics Hardware
requires long computation time
Realtime rendering of atmospheric effects
[e.g. Behrens98, Westermann98]
edges ofspotlight
edges ofshadows
Previous Work
[Dobashi01, Everitt99]
[Keller01]
Previous Work
Proposed Method Using Graphics Hardware
Overview Using Graphics Hardware
scattered light Using Graphics Hardware
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
Shading Model for Light Beams
Intensity at viewpoint
point source
Ieye
viewpoint
I Using Graphics Hardwarel
H
(
t
)
：intensity of light
l
I
(
t
,
)
l
：visibility function
t
P
：attenuation function
l
g
(
t
,
)
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
Shading Model for Light Beams
Intensity at viewpoint
point light
Is
viewpoint
n Using Graphics Hardware
å
=
=
k
1
H
(
t
)
point light
l
I
(
t
,
)
l
l
g
(
t
,
)
viewpoint
sampling plane
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
screen
s
l
0
Basic Idea
[Dobashi00]
Intensity at viewpoint
computed at lattices
light map Using Graphics Hardware
H
(
t
)
light map
point light
l
I
(
t
,
)
l
texture mapping
l
g
(
t
,
)
viewpoint
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
Basic Idea
[Dobashi00]
Intensity at viewpoint
n
å
=
=
k
1
H Using Graphics Hardware
(
t
)
object
point light
l
I
(
t
,
)
l
shadow
mapping
l
g
(
t
,
)
viewpoint
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
Basic Idea
[Dobashi00]
Intensity at viewpoint
n
å
=
=
k
1
H Using Graphics Hardware
(
t
)
point light
l
I
(
t
,
)
l
l
g
(
t
,
)
viewpoint
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
Basic Idea
[Dobashi00]
Intensity at viewpoint
n
å
=
=
k
1
object
shadow
mapping
render sampling planes
with additive blending
number of planes Using Graphics Hardware
number of lattice points
pseudocontours
µ
sampling errors
number of planes
number of lattice points
µ
Problems
point light Using Graphics Hardware
Il
n
å
=
t
=
k
1
P
l
DI
(
t
,
)
s
Dt
Is
+
D
t
t
ò
k
D
l
=
l
l
I
(
t
,
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
k
l
t
k
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
High Quality Rendering
Intensity at viewpoint
n Using Graphics Hardware
å
=
=
k
1
l
DI
(
t
,
)
s
+
D
t
t
ò
k
D
l
=
l
l
I
(
t
,
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
k
l
t
k
changes severely
changes smoothly
const. in Dt
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
High Quality Rendering
point light
Intensity at viewpoint
Il
t
P
Dt
Is
n Using Graphics Hardware
å
=
=
k
1
l
DI
(
t
,
)
s
+
D
t
t
ò
k
D
l
=
l
l
I
(
t
,
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
k
l
+
D
+
D
t
t
t
t
t
ò
ò
k
k
k
»
l
l
x
I
(
t
,
)
H
(
t
)
dt
g
(
t
,
)
dt
l
t
t
k
k
fh
fl
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
High Quality Rendering
point light
Intensity at viewpoint
Il
t
P
Dt
Is
n Using Graphics Hardware
å
=
=
k
1
l
DI
(
t
,
)
s
scattered light
+
D
t
t
ò
k
D
l
=
l
l
I
(
t
,
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
k
l
+
D
+
D
t
t
t
t
t
ò
ò
k
k
k
»
l
l
x
I
(
t
,
)
H
(
t
)
dt
g
(
t
,
)
dt
l
t
t
k
k
fh
fl
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
High Quality Rendering
point light
Intensity at viewpoint
= 1.0
Il
Is
scattering component
object Using Graphics Hardware
n
å
=
=
k
1
l
DI
(
t
,
)
s
+
D
t
t
ò
k
D
l
=
l
l
I
(
t
,
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
k
l
+
D
+
D
t
t
t
t
t
ò
ò
k
k
k
»
l
l
x
I
(
t
,
)
H
(
t
)
dt
g
(
t
,
)
dt
l
t
t
k
k
fh
fl
T
ò
l
=
l
l
I
(
)
I
(
t
,
)
H
(
t
)
g
(
t
,
)
dt
s
l
0
High Quality Rendering
point light
Intensity at viewpoint
Il
ratio of reached light
Is
Illumination component
scattering component
fl:
+
D
t
t
ò
k
l
I
(
t
,
)
H
(
t
)
dt
l
t
k
+
D
t
t
ò
k
l
g
(
t
,
)
dt
t
k
fh:
High Quality Rendering
use of texture to store preintegrated values
subplanes for accurate sampling
fl:
+
D
t
t
ò
k
l
I
(
t
,
)
H
(
t
)
dt
l
t
k
+
D
t
t
ò
k
l
g
(
t
,
)
dt
t
k
fh:
High Quality Rendering
use of texture to store preintegrated values
subplanes for accurate sampling
 Using Graphics Hardware
br
+
+
D
t
t
exp(
(
s
t
))
ò
k
c
l
=
r
a
l
f
(
t
,
)
F
(
,
)
dt
l
k
c
2
s
t
k
point light
rc
：density
b
：attenuation ratio
sampling
plane k+1
：distance between viewpoint and P
tk
sampling
plane k
s
F
(
)
a, l
s
：distance between light and P’
t
：distance between viewpoint and P’
t
a
tk
：phase function
P’
viewpoint
P
a
：phase angle
Dt
Textures for Scattering Component
(point light)
 Using Graphics Hardware
br
+
+
D
t
t
exp(
(
s
t
))
ò
k
c
l
=
r
a
l
f
(
t
,
)
F
(
,
)
dt
l
k
c
2
s
t
k
U
Q
=

+
t
u
'
u
t
k
V
a
=

cos
u
'
/
s
2
2
2
=
+
s
u
'
v
Textures for Scattering Component
(point light)
point light
sampling
plane k+1
sampling
plane k
s
t
a
tk
P’(u’, v)
P’
viewpoint
P(u, v)
P
Dt
+ Using Graphics Hardware
D
u
t
ò

1
2
2
l
=
r

+
l
q
(
u
,
v
,
)
F
(cos
(
u
'
/
u
'
v
),
)
c
u
2
2

br
+
+

exp(
(
u
'
v
u
'
u
))
x
c
du
'
c
: constant for each sampling plane
k
2
2
+
u
'
v
l
=
l
f
(
u
,
v
,
)
c
q
(
u
,
v
,
)
l
q
(
u
,
v
,
)
l
k
: 2D texture
=

br
c
exp(
t
)
k
c
k
reducing quantization errors
Textures for Scattering Component
U
point light
sampling
plane k+1
sampling
plane k
s
Q
t
a
V
fl is evaluated precisely since texture stores integrated values
tk
P’(u’, v)
viewpoint
P(u, v)
Dt
fl:
+
D
t
t
ò
k
l
I
(
t
,
)
H
(
t
)
dt
l
t
k
+
D
t
t
ò
k
l
g
(
t
,
)
dt
t
k
fh:
High Quality Rendering
use of texture to store preintegrated values
subplanes for accurate sampling
+ Using Graphics Hardware
D
t
t
ò
light
k
l
=
l
f
(
t
,
)
I
(
t
,
)
H
(
t
)
dt
h
k
l
t
k

1
m
k
1
å
l
=
l
f
(
t
,
)
I
(
r
,
)
H
(
r
)
h
k
l
j
j
m
subplane
k
=
0
j
rj:distance between viewpoint and subplane j
strong intensity
many subplanes
sampling plane
Computation of Illumination Component
viewpoint
light Using Graphics Hardware
use textures forscattering component
subplane
£
e
Intensity of scattered light
mk
sampling plane
:userspecified threshold
e
Computation of Illumination Component
1. shoot a ray
2. compute intensity of scattered light
3. generate subplanes in proportion to intensity
viewpoint
same contribution of each subplane to pixel intensity
Overview Using Graphics Hardware
atmosphere Using Graphics Hardware
viewpoint
earth
Rendering Earth’s Atmosphere
Rendering Earth’s Atmosphere Using Graphics Hardware
viewpoint
atmosphere
earth
sampling spheres Using Graphics Hardware
Rendering Earth’s Atmosphere
viewpoint
atmosphere
earth
viewpoint Using Graphics Hardware
atmosphere
earth
sampling spheres
Rendering Earth’s Atmosphere
T Using Graphics Hardware
ò
l
=
l
a
l
l
l
l
I
(
)
I
(
)
F
(
,
)
r
(
t
,
)
g
(
s
,
)
g
(
t
,
)
dt
v
sun
l
v
I
0
sun
Ps
: intensity of sunlight
atmosphere
s
t
l
l
I
(
)
g
(
s
,
)
: attenuation ratio betweenPs and P
sun
l
Pv
: phase function
viewpoint
P
: density of particles
a
: attenuation ratio betweenP and Pv
l
g
(
t
,
)
v
earth
a
l
l
F
(
,
)
r
(
t
,
)
Rendering Sky
T Using Graphics Hardware
ò
l
=
l
a
l
l
l
l
I
(
)
I
(
)
F
(
,
)
r
(
t
,
)
g
(
s
,
)
g
(
t
,
)
dt
v
sun
l
v
0
: intensity of sunlight
atmosphere
l
l
I
(
)
g
(
t
,
)
: attenuation ratio betweenPs and P
sun
v
Pv
: phase function
viewpoint
: density of particles
: attenuation ratio betweenP and Pv
l
g
(
s
,
)
l
earth
a
l
l
F
(
,
)
r
(
t
,
)
Rendering Sky
 Using Graphics Hardware
1
k
n
å
Õ
l
=
l
a
l
l
D
l
R
I
(
)
I
(
)
F
(
,
)
(
t
)
g
(
s
,
)
g
(
t
,
)
I
v
sun
l
v
j
sun
=
=
1
k
1
j
k+1
: attenuation between sampling planes k and k+1
: intensity of sunlight
atmosphere
D
l
g
(
t
,
)
v
k
k
l
l
I
(
)
g
(
s
,
)
: attenuation ratio betweenPs and P
sun
l
Pv
: phase function
: cumulative density of particles between sampling planes k and k+1
viewpoint
earth
R
(
t
)
a
l
F
(
,
)
Rendering Sky
Ps
P
 Using Graphics Hardware
1
k
n
å
Õ
l
=
l
a
l
R
l
D
l
I
(
)
I
(
)
F
(
,
)
(
t
)
g
(
s
,
)
g
(
t
,
)
v
sun
l
v
j
=
=
1
k
1
j
Rendering Sky
Pv
viewpoint
earth
 Using Graphics Hardware
1
k
n
å
Õ
l
=
l
a
l
R
l
D
l
I
(
)
I
(
)
F
(
,
)
(
t
)
g
(
s
,
)
g
(
t
,
)
v
sun
l
v
j
=
=
1
k
1
j
Rendering Sky
Pv
viewpoint
earth
 Using Graphics Hardware
1
k
n
å
Õ
l
=
l
a
l
R
l
D
l
I
(
)
I
(
)
F
(
,
)
(
t
)
g
(
s
,
)
g
(
t
,
)
v
sun
l
v
j
=
=
1
k
1
j
FB = FB x Dgv + F x R x gl
(FB: frame buffer)
intensity of scattered light
attenuation
Rendering Sky
Pv
viewpoint
earth
 Using Graphics Hardware
1
k
n
å
Õ
l
=
l
a
l
R
l
D
l
I
(
)
I
(
)
F
(
,
)
(
t
)
g
(
s
,
)
g
(
t
,
)
v
sun
l
v
j
=
=
1
k
1
j
FB = FB x Dgv + F x R x gl
(FB: frame buffer)
intensity of scattered light
attenuation
Rendering Sky
Pv
viewpoint
earth
PP Using Graphics Hardware
ò
s
l
=

b
l
r
I
g
(
PP
,
)
exp(
(
)
(
l
)
dl
)
sun
l
s
0
(a: const)
s
: extinction coefficient (constant)
b
r
=

: density of particles
r
(
h
)
exp(
ah
)
Rendering Sky
Ps
atmosphere
Pv
viewpoint
P
h
earth
PP Using Graphics Hardware
ò
s
l
=

b
l
r
I
g
(
PP
,
)
exp(
(
)
(
l
)
dl
)
sun
l
s
0
(a: const)
ql
: extinction coefficient (constant)
b
h
r
=

: density of particles
r
(
h
)
exp(
ah
)
l
Û
q
l
g
(
PP
,
)
g
(
h
,
,
)
l
s
l
l
Rendering Sky
Ps
atmosphere
s
Pv
viewpoint
P
earth
D Using Graphics Hardware
l
Û
D
q
l
g
(
PP
,
)
g
(
h
,
,
)
l
Û
q
l
R
(
PP
,
)
R
(
h
,
,
)
v
v
v
v
v
v
PP
ò
s
l
=

b
l
r
I
g
(
PP
,
)
exp(
(
)
(
l
)
dl
)
sun
l
s
0
(a: const)
qv
: extinction coefficient (constant)
b
r
=

: density of particles
r
(
h
)
exp(
ah
)
l
Û
q
l
g
(
PP
,
)
g
(
h
,
,
)
l
s
l
l
store as 2D textures
Rendering Sky
Ps
atmosphere
Pv
viewpoint
P
h
earth
Overview Using Graphics Hardware
Experimental Results Using Graphics Hardware
previous method
previous method
proposed method
#planes: 40
mesh: 60x60
#planes: 160
mesh: 60x60
#planes: 30
#subplanes: 120 (ave.)
mesh: 10x10
computer: Athlon 1.7GHz, GeForce3
interleaved Using Graphics Hardware
[Keller01]
raytracing
method
previous
proposed
result
# of planes
(subplanes)

40
160
23 (174)

mesh
60x90
10x15
10x15
time
0.13 [sec.]
0.12 [sec.]
0.08 [sec.]
29 [sec.]
Experimental Results
computer: Athlon 1.7GHz, GeForce3
Image size: 300x450
Experimental Results Using Graphics Hardware
interleaved
[Keller01]
raytracing
method
previous
proposed
result
# of planes
(subplanes)

40
160
23 (174)

mesh
60x90
10x15
10x15
time
0.13 [sec.]
0.12 [sec.]
0.08 [sec.]
29 [sec.]
computer: Athlon 1.7GHz, GeForce3
Image size: 300x450
sampling plane: 9 Using Graphics Hardware
subplane:309
sampling plane: 30
subplane:263
time: 0.32 [sec.]
time: 0.12 [sec.]
computer: Athlon 1.7GHz, GeForce3
Image size: 720x480
Results
computer: Athlon 1.7GHz, GeForce3 Using Graphics Hardware
Image size: 720x480
Results
sampling plane: 100(sky)
30(shaft)
subplane:135
sampling sphere: 10
time: 0.06 [sec.]
time: 0.16 [sec.]
DEMO Using Graphics Hardware
Conclusion Using Graphics Hardware