530 likes | 657 Views
Fast Inverse Reflector Design FIRD. Albert Mas Ignacio Martín Gustavo Patow. 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
E N D
Fast Inverse Reflector DesignFIRD Albert Mas Ignacio MartínGustavo Patow 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 Holder Reflector Light source GGG – IIiA - UdG
? 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
State of the art 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] GGG – IIiA - UdG
State of the art Inverse reflector design (II) 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 GGG – IIiA - UdG
State of the art 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 GGG – IIiA - UdG
State of the art GPU Ray Tracing (III) Ray Engine [Carr et al. ‘02] Environment Mapping [Umenhoffer et al. ‘07] GGG – IIiA - UdG
State of the art Y X Z GPU Ray Tracing (II) Reflector made by pressing procedure Height-map Relief Texture Mapping [Oliveira et al. ’00] Simplified Ray-Tracing model GGG – IIiA - UdG
State of the art 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
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Reflector Lighting Overview Preprocessing of the input data Reflector geometry transformation Reflections computation Comparison to desired distribution GGG – IIiA - UdG
Reflector Lighting Input data Far-field IES Reflector holder Light source Light distribution Position Shape GGG – IIiA - UdG
Reflector Lighting Reflector geometry transformation Hierarchical height field representation of the reflector Quadtree Mip-map texture Store normal vectors into a texture GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping [Schroders and Gulik ‘06] Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (I) Quadtree Relief Mapping Intersection search going down the hierarchy GGG – IIiA - UdG
Reflector Lighting 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 GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Reflections computation (II) Intersection search going up the hierarchy GGG – IIiA - UdG
Reflector Lighting Comparision to desired distribution (I) Comparison of far-fields Light distribution classification: Histogram on GPU GGG – IIiA - UdG
Reflector Lighting Comparision to desired distribution (II) Histogram comparision on GPU Distance metric: l2 GPU Reduction algorithm GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Optimization 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) GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG
Results 30 -30 0 -20 Model A (I) 107 rays GGG – IIiA - UdG
Results Model A (II) GGG – IIiA - UdG
Results -10 0 0 -7 Model B (I) 5x106 rays GGG – IIiA - UdG
Results Model B (II) GGG – IIiA - UdG
Results 0 10 0 -6 Model C (I) 107 rays GGG – IIiA - UdG
Results Model C (II) GGG – IIiA - UdG
Results Results NVidia GeForce 8800 GTX (milliseconds) Mip-map texture size: 1200x800 -> 9 levels GGG – IIiA - UdG
FIRD Introduction State of the art Reflector lighting Optimization Results Conclusions and future work GGG – IIiA - UdG