Albert Mas Ignacio Martín Gustavo Patow Fast Inverse Reflector Design FIRD Graphics Group of Girona Institut d’Informàtica i Aplicacions Universitat de Girona Spain CEIG08, Barcelona
Introduction Lighting design GGG – IIiA - UdG
Introduction Light source – Uniform light distribution Reflector – Defines the lighting distribution – Specular material Holder GGG – IIiA - UdG Reflector Holder Light source
Introduction Lighting industry problem: Reflector Design The desired lighting is known, but not the reflector – Inverse design Iterative try and test process – High manufacturing costs ? GGG – IIiA - UdG
Introduction Inverse reflector design methods – Very restricted reflector shapes – Demand high computational costs – Hours or days to compute a solution – Not able to generate complex real world reflectors GGG – IIiA - UdG
Introduction Goals : – Computation of the best approximation, from a family of possible reflectors, to a given desired illumination distribution. – Fast GPU algorithm to calculate the reflected rays on the reflector. – Reflector parametrizable basis Parameters optimization – Use millions of light rays – Use highly complex reflector shapes GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Inverse reflector design (I) IGP problem (Survey Patow and Pueyo ’05) – Numerical solutions Local Illumination [Caffarelli et al. ‘99] – Paraboloid intersection – One bounce NURBS-based Inverse Reflector Design [Anson et al. ’08] Global Illumination [Patow et al. ‘07] State of the art GGG – IIiA - UdG
Global illumination [Patow et al. ‘07] – Polygonal meshes – More than one bounce inside reflector are considered – Global optimization method – Disadvantages High computational cost Reflector mesh resolution Number of traced rays Inverse reflector design (II) State of the art GGG – IIiA - UdG
GPU Ray Tracing (I) Global illumination method needs a large set of light source rays – High computational cost – Acceleration : GPU GPU has limitations GPU fits well in our problem State of the art GGG – IIiA - UdG
GPU Ray Tracing (III) Ray Engine [Carr et al. ‘02] Environment Mapping [Umenhoffer et al. ‘07] State of the art GGG – IIiA - UdG
GPU Ray Tracing (II) Reflector made by pressing procedure Height-map Relief Texture Mapping [Oliveira et al. ’00] Simplified Ray-Tracing model State of the art GGG – IIiA - UdG X Y Z
GPU Ray Tracing (IV) Space partitioning methods: Hierarchical subdivision structures – Octree Traversal (CPU) [Revelles et al. ‘00] – Displacement Mapping [Szirmay-Kalos and Umenhoffer ‘08] – Quadtree Relief Mapping [Schroders and Gulik ‘06] Quadtree represented into the GPU as a mip-map texture State of the art
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Overview Preprocessing of the input data Reflector geometry transformation Reflections computation Comparison to desired distribution Reflector Lighting GGG – IIiA - UdG
Input data Far-field – IES Reflector holder Light source – Light distribution – Position – Shape Reflector Lighting GGG – IIiA - UdG
Reflector geometry transformation Hierarchical height field representation of the reflector – Quadtree – Mip-map texture Store normal vectors into a texture Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping [Schroders and Gulik ‘06] Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy Reflector Lighting
Reflections computation (II) Quadtree Relief Mapping drawback: recursive reflections Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Reflections computation (II) Intersection search going up the hierarchy Reflector Lighting GGG – IIiA - UdG
Comparision to desired distribution (I) Comparison of far-fields Light distribution classification: Histogram on GPU Reflector Lighting GGG – IIiA - UdG
Comparision to desired distribution (II) Histogram comparision on GPU Distance metric: l 2 – GPU Reduction algorithm Reflector Lighting GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Optimization Based on [Patow et al. ‘05] Optimize the parameters used in the parametric reflector shape definition Standard optimization method – Brute Force – Linear steps Test all possible reflectors – Regenerate the height field texture for each reflector – Iterative process Stops when difference value is under a given threshold Test all possibilities and take the best one (less difference) Optimization GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Model A (I) Results 10 7 rays Effective raysMax bouncesReflector lighting time (sec.) Optimization time (hours) Tested reflectorsOptimized parameters 7.38x GGG – IIiA - UdG
Model A (II) Results GGG – IIiA - UdG
Model B (I) Results 5x10 6 rays Effective raysMax bouncesReflector lighting time (sec.) Optimization time (hours) Tested reflectorsOptimized parameters 5x GGG – IIiA - UdG
Model B (II) Results GGG – IIiA - UdG
Model C (I) Results Effective raysMax bouncesReflector lighting time (sec.) Optimization time (hours) Tested reflectorsOptimized parameters 6.05x rays GGG – IIiA - UdG
Model C (II) Results GGG – IIiA - UdG
Results (milliseconds) Mip-map texture size: 1200x800 -> 9 levels GGG – IIiA - UdG NVidia GeForce 8800 GTX
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Conclusions A fast inverse reflector lighting algorithm has been presented Calculates the reflected rays in the reflector in 2-3 seconds Multiple ray bounces inside the reflector Reflector geometry equivalent to triangles Independent of reflector geometry complexity Milions of traced rays Resulting light distributions close enough to desired ones Conclusions and Future Work GGG – IIiA - UdG
Future work Improve the optimization process – Reach the solution in a non-constant step size – Use other optimization procedures Tree on parameter space explored by probabilistic ways Conclusions and Future Work GGG – IIiA - UdG
Fast Inverse Reflector Design FIRD THANKS! GGG – IIiA - UdG