Download presentation
Presentation is loading. Please wait.
Published byErick Selvey Modified over 9 years ago
1
Scalability with Many Lights 1 Lightcuts & Multidimensonal Lightcuts Course: Realistic Rendering with Many-Light Methods Note: please see website for the latest slides. Bruce Walter, Cornell University
2
2 Talk Overview Scalable solutions for many light rendering, Part I –Illumination at a single receiver: Lightcuts »“Lightcuts: a Scalable Approach to Illumination” by Walter, Fernandez, Arbree, Bala, Donikian, Greenberg, SIGGRAPH2005 –Illumination over a pixel: Multidimensional Lightcuts »“Multidimensional Lightcuts” by Walter, Arbree, Bala, Greenberg, SIGGRAPH2006
3
3 Why many lights? Simulate complex illumination using point lights –Area lights –HDR environment maps –Sun & sky light –Indirect illumination More lights ➔ more accurate –And more expensive –Naive cost linear in lights Area lights + Sun/sky + Indirect
4
4 Accurate Approximation Do we really need to evaluate all lights? –Thousands to millions of lights –Average contribution miniscule –Below human perceptual limits ‣ Weber’s Law (roughly 2%) Evaluate a small subset –Chosen adaptively –Perceptually accurate approximation Textured area lights & indirect
5
5 Scalable Algorithm Scalable solution for many point lights –Sub-linear cost per light Tableau Scene Environment map lighting & indirect
6
6 Lightcuts Problem Visible Point
7
7 Lightcuts Problem
8
8 Camera
9
9 Key Concepts
10
10 Key Concepts Clusters Individual Lights
11
11 Key Concepts Light Cluster Light Tree A Cut –A set of nodes that partitions the lights into clusters
12
12 Simple Example #1 #2#3 #4 1234 14 Light Tree Clusters Individual Lights Representative Light 4
13
13 Three Example Cuts 1234 14 4 1234 14 4 1234 14 4 Three Cuts #1 #2 #4 #1 #3 #4 #1 #4
14
14 Three Example Cuts 1234 14 4 1234 14 4 1234 14 4 Three Cuts #1 #2 #4 #1 #3 #4 #1 #4 GoodBad
15
15 Three Example Cuts 1234 14 4 1234 14 4 1234 14 4 Three Cuts #1 #2 #4 #1 #3 #4 #1 #4 BadGoodBad
16
16 Three Example Cuts 1234 14 4 1234 14 4 1234 14 4 Three Cuts #1 #2 #4 #1 #3 #4 #1 #4 Good
17
17 Algorithm Overview Pre-process –Convert illumination to point lights –Build light tree For each visible point –Choose a cut to approximate the local illumination ‣ Bound maximum error of cluster approximation ‣ Refine cluster if error bound is too large
18
18 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
19
19 Cut Selection Algorithm Start with coarse cut (eg, root node) Cut
20
20 Cut Selection Algorithm Select cluster with largest error bound Cut
21
21 Cut Selection Algorithm Refine if error bound > 2% of total Cut
22
22 Cut Selection Algorithm Cut
23
23 Cut Selection Algorithm Cut
24
24 Cut Selection Algorithm Cut
25
25 Cut Selection Algorithm Repeat until cut obeys 2% threshold Cut
26
26 Lightcuts Reference Tableau, 630K polygons, 13 000 lights, (EnvMap+Indirect)
27
27 Lightcuts Reference 16×Error Cut size Tableau, 630K polygons, 13 000 lights, (EnvMap+Indirect)
28
28 Lightcuts Recap Unified illumination handling Scalable solution for many lights –Locally adaptive representation (the cut) Analytic cluster error bounds –Most important lights always sampled Perceptual visibility metric
29
29 Talk Overview Scalable solutions for many light rendering, Part I –Illumination at a single receiver: lightcuts »“Lightcuts: a Scalable Approach to Illumination” by Walter, Fernandez, Arbree, Bala, Donikian, Greenberg, SIGGRAPH2005 –Illumination over a pixel: Multidimensional Lightcuts »“Multidimensional Lightcuts” by Walter, Arbree, Bala, Greenberg, SIGGRAPH2006
30
Pixels are complex regions
31
31 Pixels are complex regions
33
Glossy SubsurfaceVolumetric [“Bidirectional Lightcuts”, Walter et al. 12] Before After
34
Bidirectional Lightcuts Walter Khungurn Bala Tuesday, 2:00 - 3:30 PM Room 502
35
Insight Complex integrals over multiple dimensions –Requires many eye samples Holistic approach –Solve the complete pixel integral
36
36 Direct only (relative cost 1x)Direct+Indirect (1.3x) Direct+Indirect+Volume (1.8x) Direct+Indirect+Volume+Motion (2.2x)
37
Discretize full integral into 2 point sets –Light points (L) –Gather points (G) Point Sets Camera Light points
38
Point Sets Camera Light points
39
Discretize full integral into 2 point sets –Light points (L) –Gather points (G) Point Sets Camera Light points Pixel Gather points
40
Point Sets Light points Gather points
41
Key Concepts
42
Product Graph Explicit hierarchy would be too expensive –Up to billions of pairs per pixel Use implicit hierarchy –Cartesian product of two trees (gather & light)
43
Product Graph Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 L0 L1L2 L3 G0 G1
44
Product Graph = G1 G0 G2 L0L4L1L6L2L5L3 Product Graph Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 X
45
Product Graph = G1 G0 G2 L0L4L1L6L2L5L3 Product Graph Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 X
46
Product Graph G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
47
G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
48
G1 G0 G2 L0L4L1L6L2L5L3 Product Graph = Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 X
49
Product Graph = G1 G0 G2 L0L4L1L6L2L5L3 Product Graph Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 X
50
Product Graph = G1 G0 G2 L0L4L1L6L2L5L3 Product Graph Light tree Gather tree L0 L1 L2 L3 L4 L5 L6 G1 G0 G2 X
51
Cluster Representatives
53
53 Multiple Representatives L0 L1 L2 L3 L4L5 L6 G1 G0 G2 Exists at first or second time instant. L0 L1 L2 L3 L2 L1 L2 G1 L1 L0 G0 G1 G0 Light TreeGather Tree
54
54 Error Bounds Collapse cluster-cluster interactions to point-cluster –Use Minkowski sums Combine bounds over multiple points –Rasterize into cube-maps Cubemap Unfolded quad-tree cubemap Gather cluster Light cluster
55
Algorithm Summary Once per image –Create lights and light tree For each pixel –Create gather points and gather tree for pixel –Adaptively refine clusters in product graph until all cluster errors < perceptual metric
56
Start with a coarse cut –Eg, source node of product graph Algorithm Summary G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
57
Choose node with largest error bound & refine –In gather or light tree Algorithm Summary G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
58
Choose node with largest error bound & refine –In gather or light tree Algorithm Summary G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
59
Repeat process Algorithm Summary G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
60
Until all clusters errors < perceptual metric –2% of pixel value (Weber’s law) Algorithm Summary G1 G0 G2 L0L4L1L6L2L5L3 Product Graph
61
Roulette 7,047,430 Pairs per pixel Time 590 secs Avg cut size 174 (0.002%)
62
Conclusions Unified handling of complex effects –Motion blur, participating media, depth of field etc. Product graph –Implicit hierarchy over billions of pairs Scalable scene and illumination complexity –Millions to billions of point pairs per pixel
63
The End
64
64 Schedule 2:00 (05 min) … Introduction & Welcome (Křivánek) 2:05 (30 min) … Instant Radiosity (Keller) 2:35 (30 min) … Handling difficult light paths (Hašan, Křivánek) 3:05 (25 min) … Scalability with many lights I (Walter) 3:30 (15 min) … Break 3:45 (20 min) … Scalability with many lights II (Hašan) 4:05 (35 min) … Real-time many-light rendering (Dachsbacher) 4:40 (30 min) … ML in Autodesk® 360 Rendering (Arbree) 5:10 (05 min) … Conclusion - Q & A (All)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.