SIGGRAPH 2010
description
Transcript of SIGGRAPH 2010
1
SIGGRAPH 2010
Single Scattering in
Heterogeneous Participating media
Cyril Delalandre Pascal Gautron Jean-Eudes Marvie Guillaume FrançoisTechnicolor Research & Innovation The Moving Picture Company
2
Real Light Scattering
• Light interaction with heterogeneous participating media
3
Participating Media• Characterized by:
– σa: absorption coefficient
– σs : scattering coefficient
– σt : σa + σs , extinction coefficient
– D(s) : medium density at the point s
4
Single Scattering in participating media
in
n
t
inoutins
P
PnrinnoutinPn
dss
ewPLwwPpPwPL
)(
),(),,()(),(
Kin
Pn
t
nri
dss
eLwPL pin
)(
),(
5
Explicit ray-marching
Ki
Pin
Pout
Kin
Kout
P3P2
P1
Pn
6
Outline
• Introduction• Previous works• Our algorithm• Results• Conclusion
7
Outline
• Introduction• Previous worksPrevious works• Our algorithm• Results• Conclusion
8
Previous works
[Zhou08][Gautron09] [Jansen10]
9
Volumetric Shadow Mapping[Gautron09], Siggraph Talk 2009
+ Real-time rendering- Homogeneous medium
10
Real-time smoke rendering by using compensed ray marching, [Zhou08], Siggraph 2008
+ Real-Time rendering+ Single and Multiple scattering+ Heterogeneous medium- Heavy precomputation
11
Fourier Opacity Map, [Jansen10] , I3D 2010
+ Real-time rendering+ Heterogeneous medium- No scattering computation
12
Outline
• Introduction• Previous works• Our algorithmOur algorithm• Results• Conclusion
13
Goals• Single scattering • Volume shadows• Dynamic Viewpoint and
Lighting• Generic and Dynamic Medium• Scalable • Without pre-computation
14
• Acceleration of the light reduced intensity computation
• Small memory footprint
Contributions
15
Attenuation Function MapAttenuation Function Map
Algorithm
Light Depth MapAttenuation function
map
View Depth & radiance
Map
Scattering Computation
16
Attenuation Function Map
C0 = 0C1 = 0.Cn = 0
C0 += att1 xC1 += att1 x.Cn += att1 x
C0 += att2 xC1 += att2 x.Cn += att2 x
C0 += attn xC1 += attn x.Cn += attn x
• Light Point of View1. Opaque objects Depth Map
2. For each pixel:a. Bounding box Intersection
b. Coefficient Computation by ray-marching
17
Attenuation Function Map• Light Point of View
1. Opaque objects Depth Map
2. For each pixel:a. Bounding box Intersection
b. Coefficient Computation by ray-marching
c. Store in Multi Render Targets
C0-n(0,0)
C0-n(K,0) C0-n(K,L)
C0-n(0,L)
C0-n(i,j)
18
Scene Rendering
• In User point of view:1. Compute the depth and reflected radiance
of opaque objects
(R,G,B) (Alpha)19
Compute Scattering
C0-n(0,0)
C0-n(K,0) C0-n(K,L)
C0-n(0,L)
C0-n(i,j)
2. Intersection of the medium bounding box20
Depth Map
Attenuation Function Map
Compute Scattering
C0-n(0,0)
C0-n(K,0) C0-n(K,L)
C0-n(0,L)
C0-n(i,j)
3. Perform a ray-marching21
Depth Map
Attenuation Function Map
Compute Scattering
C0-n(0,0)
C0-n(K,0) C0-n(K,L)
C0-n(0,L)
C0-n(i,j)
For each ray sample:a.Check the sample visibilityb.Check the light visibilityc.Lri computation using the coefficients
Lri = c0 x + c1 x + … + cn x
22
Depth Map
Attenuation Function Map
Results
Comparison between our algorithm and an explicit ray-marching algorithm100 samples per ray / 16 DCT coefficients 23
Speed-up 30x
• Ringing artifacts
High Density Medium
24
• Add a scale factor to avoid ringing artifacts
High Density Medium
Kin
Pn
t
nscaleri
dsscale
s
eLwPL pin
)(
),(
Transformed Signal
scalen
scalerinri inin wPLwPL )),((),(
Reconstructed Signal
25
High Density Medium
Without scale factor With scale factor
26
Explicit ray-marching
Demos – GTX 480 – 720p
27500 samples / view ray, 16 DCT coefficients, 2563 medium size, 10 FPS
Demos – GTX 480 – 720p
28100 samples / view ray, 16 DCT coefficients, 1283 medium size, 19 FPS
Conclusion
29
• Single Scattering• Volume Shadows• Fast Lri computation• Scalable• Generic• No pre-computation
• Large medium• Multiple Scattering• Particle representation• Image Lighting
Future Works
30
• Thanks to A. W. Bargteil and C. Thompson (University of Utah) for the fluid simulation
• Thanks to K. Bouatouch for his research supervision
Acknowledgements
31
Questions ?