bruce walter, sebastian fernandez, adam arbree, mike donikian,...
TRANSCRIPT
-
Bruce Walter, Sebastian Fernandez, Adam Arbree, Mike Donikian,
Kavita Bala, Donald Greenberg Copyright of figures and other materials in the paper belong to original authors.
Presenter: 이성호
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 2 KUCG |
Rendering equation
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 3 KUCG |
BRDF (Bidirectional reflectance distribution function)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 4 KUCG |
Quiz (yes or no)
• (매질이 빛을 흡수하거나 산란하지 않는 경우) 관찰자가 광원에 가까워질수록 측정되는 빛의 세기가 세짂다?
아 눈부셔
이카루스의 추락
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 5 KUCG |
Illumination Equation (Simplified)
result = Mi Gi Vi Ii S lights
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 6 KUCG |
Illumination Equation
result = Mi Gi Vi Ii S lights
(BRDF)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 7 KUCG |
Illumination Equation
result = Mi Gi Vi Ii S lights
cos 𝜃
𝑑
𝑑 𝜃
for oriented light
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 8 KUCG |
Types of Point Lights
• Omni
Spherical lights
• Oriented
Area lights, indirect lights
• Directional
HDR env maps, sun&sky
X=측정지점 𝑦𝑖=i번째 광원의 위치 𝜙𝑖=i번째 광원의 방향과 측정지점과의 각도
X
𝜙𝑖
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 9 KUCG |
Quiz
result = Mi Gi Vi Ii S lights
𝑑 𝜃
• 빛의 세기는 광원과의 거리와 상관 없다며?
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 10 KUCG |
Quiz
L = Mi Gi Vi Ii S lights
어느 텀을 연산하는 것이 가장 오래 걸리는가?
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 11 KUCG |
Lightcuts Problem
Visible surface
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 12 KUCG |
Lightcuts Problem
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 13 KUCG |
Lightcuts Problem
Camera
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 14 KUCG |
Key Concepts
• Light Cluster
Approximate many lights by a single brighter light (the representative light)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 15 KUCG |
Illumination Equation revisited
L = Mi Gi Vi Ii S lights
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 16 KUCG |
Cluster Approximation
Cluster
𝐿 ≈ 𝐿 = Mj Gj Vj Ii 𝑖
j is the representative light
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 17 KUCG |
Key Concepts
• Light Cluster
• Light Tree
Binary tree of lights and clusters
Clusters
Individual Lights
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 18 KUCG |
Constructing lightcut
is the total intensity of the cluster
(oriented light only)
Create the smallest cluster according to this metric:
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 19 KUCG |
Key Concepts
• Light Cluster
• Light Tree
• A Cut
A set of nodes that partitions the lights into clusters
-
Simple Example
#1 #2 #3 #4
1 2 3 4
1 4
Light Tree
Clusters
Individual Lights
Representative Light
4
-
Three Example Cuts
1 2 3 4
1 4
4
1 2 3 4
1 4
4
1 2 3 4
1 4
4
Three Cuts
#1 #2 #4 #1 #3 #4 #1 #4
회색 영역: 에러가 있는 부분
-
Three Example Cuts
1 2 3 4
1 4
4
1 2 3 4
1 4
4
1 2 3 4
1 4
4
Three Cuts
#1 #2 #4 #1 #3 #4 #1 #4
Good Bad Bad
-
Three Example Cuts
1 2 3 4
1 4
4
1 2 3 4
1 4
4
1 2 3 4
1 4
4
Three Cuts
#1 #2 #4 #1 #3 #4 #1 #4
Bad Good Bad
-
Three Example Cuts
1 2 3 4
1 4
4
1 2 3 4
1 4
4
1 2 3 4
1 4
4
Three Cuts
#1 #2 #4 #1 #3 #4 #1 #4
Good Good Good
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 25 KUCG |
Cluster Approximation
Cluster
result ~ Mj Gj Vj Ii S lights
~
j is the representative light
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 26 KUCG |
error≤ 𝐿 𝑗= Mub Gub Vub Ii
Cluster Error Bound
Cluster j
S lights
ub == upper bound
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 27 KUCG |
Perceptual Metric
• Weber’s Law
Contrast visibility threshold is fixed percentage of signal
Used 2% in our results
• Ensure each cluster’s error < visibility threshold
Transitions will not be visible
Used to select cut
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 28 KUCG |
Cut Selection Algorithm
Cut
• Start with coarse cut (eg, root node)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 29 KUCG |
Cut Selection Algorithm
Cut
• Select cluster with largest error bound
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 30 KUCG |
Cut Selection Algorithm
Cut
• Refine if error bound 𝐿 𝑗> 2% of 𝐿 𝑗𝑗
𝐿 𝑗 = Mj Gj Vj Ii 𝑖
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 31 KUCG |
Cut Selection Algorithm
Cut
Maximum 𝐿 𝑗
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 32 KUCG |
Cut Selection Algorithm
Cut
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 33 KUCG |
Cut Selection Algorithm
Cut
Maximum 𝐿 𝑗
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 34 KUCG |
Cut Selection Algorithm
Cut
• Repeat until cut obeys 2% threshold
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 35 KUCG |
Scalable
• Scalable solution for many point lights
0
100
200
300
400
500
600
0 1000 2000 3000 4000
Number of Point Lights
Tim
e (
secs)
Standard
Ward
Lightcut
Tableau Scene
Sub-linear cost
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 36 KUCG |
Algorithm Overview
• Pre-process
Convert illumination to point lights
Build light tree
• For each eye ray
Choose a cut to approximate the illumination
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 37 KUCG |
Convert Illumination
• HDR environment map
Apply captured light to scene
Convert to directional point lights using [Agarwal et al. 2003]
• Indirect Illumination
Convert indirect to direct illumination using Instant Radiosity [Keller 97] • Caveats: no caustics, clamping, etc.
More lights = more indirect detail
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 38 KUCG |
Instant Radiosity
• Simulate indirect lighting
by placing a big number of point lights • where direct lighting hits the scene
• Research in this field tried hard
to keep the number of Virtual Point Lights low • while maintaining the indirect lighting effect
• Use a big number of VPLs without worrying
thanks to Lightcuts
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 39 KUCG |
-
Lightcuts (128s) Reference (1096s)
Kitchen, 388K polygons, 4608 lights (72 area sources)
-
Lightcuts (128s) Reference (1096s)
Error Error x16
Kitchen, 388K polygons, 4608 lights (72 area sources)
-
Combined Illumination
Lightcuts 128s
4 608 Lights (Area lights only)
Lightcuts 290s
59 672 Lights (Area + Sun/sky + Indirect)
-
Combined Illumination
Lightcuts 128s
4 608 Lights (Area lights only)
Avg. 259 shadow rays / pixel
Lightcuts 290s
59 672 Lights (Area + Sun/sky + Indirect)
Avg. 478 shadow rays / pixel (only 54 to area lights)
-
Lightcuts Reference
Error x 16 Cut size
-
Kitchen, 388K polygons, 59,672 Lights
-
Kitchen, shadow ray false color
0 750 1500
-
Tableau, shadow ray false color
0 750 1500
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 48 KUCG |
Talk Overview
• Lightcuts
Scalable accurate solution for complex illumination
• Reconstruction cuts
Builds on lightcuts
Use smart interpolation to further reduce cost
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 49 KUCG |
Reconstruction Cuts
• Subdivide image into blocks
Generate samples at corners
• Within blocks
Interpolate smooth illumination
Use shadow rays when needed to preserve features • Shadow boundaries, glossy highlights, etc.
• Anti-aliasing
(5-50 samples per pixel)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 50 KUCG |
Image Subdivision
• Divide into max block size (4x4 blocks)
4x4 block
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 51 KUCG |
Image Subdivision
• Divide into max block size (4x4 blocks)
• Trace multiple eye rays per pixel
• Subdivide blocks if needed
Based on material, surface normal, and local shadowing configuration
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 52 KUCG |
Image Subdivision
• Divide into max block size (4x4 blocks)
• Trace multiple eye rays per pixel
• Subdivide blocks if needed
Based on material (same),
surface normal (30 degreees), and local shadowing configuration • (cone test)
• Compute samples at corners
Samples
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 53 KUCG |
Cone test
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 54 KUCG |
Image Subdivision
• Divide into max block size (4x4 blocks)
• Trace multiple eye rays per pixel
• Subdivide blocks if needed
Based on material, surface normal, and local shadowing configuration
• Compute samples at corners
• Shade eye rays using reconstruction cuts
Samples Reconstruction cut
-
Temple, 2.1M polygons, 505 064 lights, (Sun/sky+Indirect)
-
Temple, reconstruction cut block size
-
Kitchen with sample locations marked
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 58 KUCG |
Sample Construction
• Compute a lightcut at each sample
• For each node on or above the cut
Create impostor light (directional light)
Reproduce cluster’s effect at sample
Cluster
Impostor Directional light
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 59 KUCG |
Notation
For each sample k of the node of the cut n, store
Imposter’s intensity
Total radiance
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 60 KUCG |
Computing reconstruction cut
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 61 KUCG |
Reconstruction Cut
• Top-down traversal of light tree
Comparing impostors from nearby samples
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 62 KUCG |
Reconstruction Cut
• Recurse if samples differ significantly
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 63 KUCG |
Reconstruction Cut
• Discard if cluster occluded at all samples
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 64 KUCG |
Reconstruction Cut
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 65 KUCG |
Reconstruction Cut
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 66 KUCG |
Reconstruction Cut
• Interpolate if sample impostors are similar
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 67 KUCG |
Reconstruction Cut
• If cluster contribution small enough, shoot shadow ray to representative light
Lightcut-style evaluation
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 68 KUCG |
Reconstruction Cut
Not visited
Recurse
Occluded
Interpolate
Shadow ray
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 69 KUCG |
Result Statistics
• Temple model (2.1M polys, 505 064 lights)
Image algorithm Avg. eye rays
per pixel Image time
Lightcuts only 1 225s
Combined (anti-aliased) 5.5 189s
Cut type Avg. shadow rays per
cut
Lightcut 373
Reconstruction cut 9.4
-
Grand Central, 1.46M polygons, 143 464 lights, (Area+Sun/sky+Indirect)
Avg. shadow rays per eye ray 46 (0.03%)
-
Tableau, 630K polygons, 13 000 lights, (EnvMap+Indirect)
Avg. shadow rays per eye ray 17 (0.13%)
-
Bigscreen, 628K polygons, 639 528 lights, (Area+Indirect)
Avg. shadow rays per eye ray 17 (0.003%)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 73 KUCG |
Conclusions
• Lightcuts
Scalable, unified framework for complex illumination
Analytic cluster error bounds & perceptual visibility metric
• Reconstruction cuts
Exploits coherence
High-resolution, anti-aliased images
0
100
200
300
400
500
600
0 1000 2000 3000 4000
Number of Point Lights
Tim
e (
secs)
Standard
Ward
Lightcut
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 74 KUCG |
Future Work
• Visibility bounds
• More light types
Spot lights etc.
• More BRDF types
Need cheap tight bounds
• Other illumination types
Eg, caustics
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 75 KUCG |
• 아직 안 끝났다
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 76 KUCG |
error≤ 𝐿 𝑗= Mub Gub Vub Ii
Cluster Error Bound
Cluster j
S lights
ub == upper bound
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 77 KUCG |
Visibility term
Vub =1
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 78 KUCG |
Geometric term
• Directional and omni
Trivial
• Oriented
Max(cos 𝜃)=1
However, tighter bound can be found
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 79 KUCG |
Max(cos 𝜃)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 80 KUCG |
Max(cos 𝜃)
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 81 KUCG |
Upper bound of oriented light
-
Korea University Computer Graphics Lab.
이성호| 26 July 2011 | # 82 KUCG |
Material term
• Diffuse
1
𝜋
• Phong Exploit max(cos 𝜃)
• Ward Refer [Walter 2005]
• Theoretically, any BRDF can be handled If it has cheap and tight bound