progressive lightcuts for gpu
DESCRIPTION
Progressive Lightcuts for GPU. Tom áš Davidovič I. Georgiev , P. Slusallek Saarland University, Intel VCI. Direct illumination. Direct illumination. VPL Rendering. VPL Rendering. VPL Rendering. Bruteforce : 11s. VPL Rendering. Lightcuts : 2s. VPL Rendering. VPL Rendering. - PowerPoint PPT PresentationTRANSCRIPT
Progressive Lightcuts for GPU
Tomáš DavidovičI. Georgiev, P. Slusallek
Saarland University, Intel VCI
T. DavidovičProgressive Lightcuts for GPU
Direct illumination
T. DavidovičProgressive Lightcuts for GPU
Direct illumination
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
Bruteforce: 11s
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
Lightcuts: 2s
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
T. DavidovičProgressive Lightcuts for GPU
VPL Rendering
T. DavidovičProgressive Lightcuts for GPU
Lightcuts
T. DavidovičProgressive Lightcuts for GPU
Lightcuts
T. DavidovičProgressive Lightcuts for GPU
Lightcuts
T. DavidovičProgressive Lightcuts for GPU
Lightcuts
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – progressive #1
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – progressive #1
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – progressive #2
Lightcuts, 20s Reference
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – progressive #2
Lightcuts, 20s Bruteforce, 2400s
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – Heapless
Lightcuts, 10s Cut sizeHeapless
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – clamping
Unclamped
T. DavidovičProgressive Lightcuts for GPU
Lightcuts – clamping
Clamped
T. DavidovičProgressive Lightcuts for GPU
Clamping
T. DavidovičProgressive Lightcuts for GPU
Clamping
Contrib. ≈ k / (d^2)
T. DavidovičProgressive Lightcuts for GPU
Clamping
Contrib. ≈ k / (d^2)
T. DavidovičProgressive Lightcuts for GPU
Clamping
Contrib. ≈ k / (max(d, m)^2)
m
m
T. DavidovičProgressive Lightcuts for GPU
Clamping
Contrib. ≈ min( k / d^2, b )
b
b
T. DavidovičProgressive Lightcuts for GPU
Clamping – some math
Contribution ≈ k / d^2 P( ray.length ) ≈ ray.length^2 Mathematica happens Variance ≈ sqrt( b ) Bias ≈ 1 / sqrt( b ) MSE = Variance + Bias^2 = sqrt( b ) + 1 / b Optimal convergence:
b = base * iteration ^ 0.66
T. DavidovičProgressive Lightcuts for GPU
Results – Manual clamping
T. DavidovičProgressive Lightcuts for GPU
Results – lowest RMSE
T. DavidovičProgressive Lightcuts for GPU
Results - RMSE
20 200 2000 20000
0.000333333333333333
power = 0
T. DavidovičProgressive Lightcuts for GPU
Results - RMSE
20 200 2000 20000
0.000333333333333333
power = 0
power = 0.33
power = 0.66
power = 1
T. DavidovičProgressive Lightcuts for GPU
Results - RMSE
20 200 2000 20000
0.000333333333333333
power = 0power = 0.33power = 0.66power = 1power = 2
T. DavidovičProgressive Lightcuts for GPU
Results - RMSE
2000 20000
power = 0power = 0.33power = 0.66power = 1power = 2
T. DavidovičProgressive Lightcuts for GPU
Conclusion
GPU Lightcuts work Limited by memory
Progressive – averaging images Needs clamping
Can relax clamping – #VPLs ^ 0.66 Works for any VPL method
Look into Multidimensional Lightcuts
Thank you!
Tomáš Davidovič