progressive lightcuts for gpu

35
Progressive Lightcuts for GPU Tom áš Davidovič I. Georgiev, P. Slusallek Saarland University, Intel VCI

Upload: borka

Post on 23-Feb-2016

60 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Progressive  Lightcuts  for GPU

Progressive Lightcuts for GPU

Tomáš DavidovičI. Georgiev, P. Slusallek

Saarland University, Intel VCI

Page 2: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Direct illumination

Page 3: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Direct illumination

Page 4: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Page 5: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Page 6: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Bruteforce: 11s

Page 7: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Lightcuts: 2s

Page 8: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Page 9: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Page 10: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

VPL Rendering

Page 11: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts

Page 12: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts

Page 13: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts

Page 14: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts

Page 15: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – progressive #1

Page 16: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – progressive #1

Page 17: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – progressive #2

Lightcuts, 20s Reference

Page 18: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – progressive #2

Lightcuts, 20s Bruteforce, 2400s

Page 19: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – Heapless

Lightcuts, 10s Cut sizeHeapless

Page 20: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – clamping

Unclamped

Page 21: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Lightcuts – clamping

Clamped

Page 22: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Clamping

Page 23: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Clamping

Contrib. ≈ k / (d^2)

Page 24: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Clamping

Contrib. ≈ k / (d^2)

Page 25: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Clamping

Contrib. ≈ k / (max(d, m)^2)

m

m

Page 26: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Clamping

Contrib. ≈ min( k / d^2, b )

b

b

Page 27: Progressive  Lightcuts  for GPU

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

Page 28: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results – Manual clamping

Page 29: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results – lowest RMSE

Page 30: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results - RMSE

20 200 2000 20000

0.000333333333333333

power = 0

Page 31: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results - RMSE

20 200 2000 20000

0.000333333333333333

power = 0

power = 0.33

power = 0.66

power = 1

Page 32: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results - RMSE

20 200 2000 20000

0.000333333333333333

power = 0power = 0.33power = 0.66power = 1power = 2

Page 33: Progressive  Lightcuts  for GPU

T. DavidovičProgressive Lightcuts for GPU

Results - RMSE

2000 20000

power = 0power = 0.33power = 0.66power = 1power = 2

Page 34: Progressive  Lightcuts  for GPU

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

Page 35: Progressive  Lightcuts  for GPU

Thank you!

Tomáš Davidovič