Presentation is loading. Please wait.

Presentation is loading. Please wait.

Matrix Row-Column Sampling for the Many-Light Problem Miloš Hašan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)

Similar presentations


Presentation on theme: "Matrix Row-Column Sampling for the Many-Light Problem Miloš Hašan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)"— Presentation transcript:

1 Matrix Row-Column Sampling for the Many-Light Problem Miloš Hašan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)

2 Complex Illumination: A Challenge

3 Conversion to Many Lights Courtesy Walter et al., Lightcuts, SIGGRAPH 05/06 Area, indirect, sun/sky

4 A Matrix Interpretation Pixels (2,000,000) Lights (100,000)

5 Compute sum of columns Note: We don’t have the matrix data Problem Statement = Σ () Pixels Lights

6 Indirect Illumination  Many Lights = 100,000 point lights Σ ()

7 Environment Map  Many Lights = 100,000 point lights Σ ()

8 Sun, Sky, Indirect  Many Lights = 100,000 point lights Σ ()

9 Brute Force Takes Minutes Why not sum all columns? –With 100,000 lights, still several minutes 10 min13 min20 min

10 Our Contribution Fast, accurate, GPU-based approximation Application: Preview for lighting design 10 min13 min20 min 3.8 sec13.5 sec16.9 sec Brute force: Our result:

11 Related Work Many lights (CPU-based): Walter et al 05/06, Ward 94, Paquette et al 98, Wald et al 03, … Instant radiosity & related: Keller 97, Dachsbacher & Stamminger 05/06, Laine et al 07, … Environment maps: Agarwal et al 03, Ostromoukhov et al 04, … Precomputation-based: Sloan et al 02/03, Ng et al 03/04, Ben-Artzi et al 06, Hasan et al 06, Ritschel et al 07, … Other global illumination: Ward et al 88, Jensen 96, Hanrahan et al 91, Christensen 97, Scheel 01/02, Gautron et al 05, Krivanek et al 06, Dachsbacher et al 07, …

12 Insight #1: Matrix has structure Compute small subset of elements Reconstruct A simple scene 30 x 30 image The matrix 643 lights 900 pixels

13 Insight #2: Sampling Pattern Matters Lights Pixels Point-to-point visibility: Ray-tracingPoint-to-many-points visibility: Shadow-mapping

14 Row-Column Duality Shadow map at light position Surface samples Columns: Regular Shadow Mapping

15 Row-Column Duality Shadow map at sample position Rows: Also Shadow Mapping!

16 Image as a Weighted Column Sum compute very small subset of columns compute weighted sum The following is possible: Use rows to choose a good set of columns!

17 Exploration and Exploitation compute rows (explore) compute columns (exploit) weighted sum ? choose columns and weights how to choose columns and weights?

18 Reduced Matrix Reduced columns

19 Clustering Approach Choose k clusters Choose representative columns Reduced columns

20 Reduced  Full Use the same representatives for the full matrix Weighted sum Representative columns

21 Visualizing the Reduced Columns Reduced columns: vectors in high- dimensional space visualize as … radius = norm

22 Clustering Illustration Strong but similar columns Weak columns can be clustered more easily Columns with various intensities can be clustered

23 Minimize: where: The Clustering Metric total cost of all clusters cost of a cluster sum over all pairs in it norms of the reduced columns squared distance between normalized reduced columns

24 How to minimize? Problem is NP-hard Not much previous research Should handle large input: –100,000 points –1000 clusters We introduce 2 heuristics: –Random sampling –Divide & conquer

25 Clustering by Random Sampling Very fast (use optimized BLAS) Some clusters might be too small / large

26 Clustering by Divide & Conquer Splitting small clusters is fast Splitting large clusters is slow

27 Combined Clustering Algorithm

28

29 Full Algorithm Compute rows (GPU) Weighted sum Assemble rows into reduced matrix Cluster reduced columns Choose representatives Compute columns (GPU)

30 Results We show 5 scenes: Show reference and 5x difference image All scenes have 100,000+ lights Timings –NVidia GeForce 8800 GTX –Light / surface sample creation not included TempleBunnyKitchenTreesGrand Central

31 Results: Kitchen 388k polygons Mostly indirect illumination Glossy surfaces Indirect shadows Our result: 13.5 sec (432 rows + 864 columns) Reference: 13 min (using all 100k lights) 5x diff

32 Results: Temple 2.1m polygons Mostly indirect & sky illumination Indirect shadows Our result: 16.9 sec (300 rows + 900 columns) Reference: 20 min (using all 100k lights) 5x diff

33 Results: Trees 328k polygons Complex incoherent geometry Our result: 2.9 sec (100 rows + 200 columns) Reference: 14 min (using all 100k lights) 5x diff

34 Results: Bunny 869k polygons Incoherent geometry High-frequency lighting Kajiya-Kay hair shader Our result: 3.8 sec (100 rows + 200 columns) Reference: 10 min (using all 100k lights) 5x diff

35 Results: Grand Central 1.5m polygons Point lights between stone blocks Our result: 24.2 sec (588 rows + 1176 columns) Reference: 44 min (using all 100k lights) 5x diff

36 The Value of Exploration Our result (432 rows + 864 columns) No exploration (Using 1455 lights) Equal time comparison

37 The Value of Exploration Our resultNo exploration Equal time comparison: 5x difference from reference

38 Conclusion Fast, high quality approximation for many lights –GPU-oriented –Sample rows to explore low-rank structure –Sample well-chosen columns Application: Preview for lighting design –Indirect illumination –Environment maps –Arbitrary lights and shaders

39 Future Work How many rows + columns? –Pick automatically Row / column alternation Progressive algorithm: –stop when user likes the image Render multiple frames at once?

40 Acknowledgments Veronica Sundstedt and Patrick Ledda –Temple scene Bruce Walter, PCG @ Cornell NSF CAREER 0644175 Affinito-Stewart Award

41 Thank You

42 Discarded slides

43 Indirect Illumination  Many Lights shoot photons from light sources deposit on every bounce treat photons as point lights cosine-weighted emission

44 Low Rank Assumption Worst case: lights with very local contribution …

45 The Value of Exploration Our result (432 rows + 864 columns) No exploration (Using 1992 lights) Equal time comparison

46 The Value of Exploration Our resultNo exploration Equal time comparison: 5x difference image


Download ppt "Matrix Row-Column Sampling for the Many-Light Problem Miloš Hašan (Cornell University) Fabio Pellacini (Dartmouth College) Kavita Bala (Cornell University)"

Similar presentations


Ads by Google