SLIDE 1 A system for interactive display and rendering of BRDF models
Adrià Forés Herranz Advisors: Sumanta N. Pattanaik Carles Bosch
SLIDE 2
Importance of materials
SLIDE 3 Overview
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 4
- Previous Work
- Input Models
- Display
- Fitting
- Rendering
- Simulation
- Conclusions and Future Work
Outline
SLIDE 5 Simulated data
General representation Display Render Fitting
Analytic models Measured data
- Previous Work
- Input Models
- Display
- Fitting
- Rendering
- Simulation
- Conclusions and Future Work
Outline
SLIDE 6
- Previous Work
- Input Models
- Display
- Fitting
- Rendering
- Simulation
- Conclusions and Future Work
Outline
SLIDE 7 Previous Work
- Currently there does not exist a system to
work on materials
SLIDE 8 Previous Work
- Currently there does not exist a system to
work on materials
SLIDE 9 BRDF
- Bidirectional reflectance function (BRDF)
- 4 Dimensional function
- Spherical coordinates
SLIDE 10 BRDF: Properties
- Helmholtz reciprocity
- Energy conservation
- Isotropy vs Anisotropy
SLIDE 11 Input Models
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 12 Analytical Models
- Lambertian
- Phong
- Lafortune
- Ward
- Ashikhmin
- Cook-Torrance
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 13 Analytical Models
- Lambertian
- Phong
- Lafortune
- Ward
- Ashikhmin
- Cook-Torrance
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 14
- Lambertian
- Phong
- Lafortune
- Ward
- Ashikhmin
- Cook-Torrance
Analytical Models
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 15
- Lambertian
- Phong
- Lafortune
- Ward
- Ashikhmin
- Cook-Torrance
Analytical Models
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 16
- Lambertian
- Phong
- Lafortune
- Ward
- Ashikhmin
- Cook-Torrance
Analytical Models
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 17
Real World Materials
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 18
Real World Materials
Simulated data
General representation Display Render Fitting
Analytic models Measured data
+ = +
SLIDE 19 Measured Data
[DVGNK99] [MWL*99] Main idea
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 20 Measured data
- MERL library [MPBM03]
- 330 images for each
material
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 21 Measured data
- MPI’s Car Paint library [GCG*05]
- 256 images for
each material
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 22 Simulated
- Some attempts has been made [CMS87,WAT92]
- Mostly in optics literature
- e.g. Scatmech C++ library
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 23 Overview
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 24 Display
- Display the BRDF shape to understand how
a material reflects the incident light.
- 4 Dimensional Function.
- Given a fixed incoming direction (2D), the
result in all the outgoing directions is represented (2D).
- Allow the user to change the incoming
direction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 25 Display
- Geodesic hemisphere
- Vertex displacement to match the BRDF shape:
- BRDF evaluated per vertex, only possible
with analytical models
- Adaptive texture-based evaluation: A texture
indexed by ϴ and Φ stores the precomputed BRDF
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 26
Display - Analytic
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 27
Display - Simulated
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 28
Display - Measured
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 29 Overview
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 30 Fitting
- Approximate a set of data with an analytical
model
- Non-linear optimizer
- Levenberg-Marquardt
- The user is able to set the initial guess
values for the optimization step to see how they approximate the data
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 31 High Computational Cost
- System of equations defined by the input
data
- e.g. a material from the MERL library
defines 16384 data points
- The number of parameters to optimize
grow with the number of lobes used
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 32 Non-linear estimation
- Combination of linear and non-linear steps
during the iterative optimization process
- Linear optimization for the scaling factors
- Non-linear optimization for the lobe
parameters
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 33
Display Fitting Results
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 34 Overview
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 35 Rendering
- Point light
- Environment light
- HDR Environment Map [CK07a, CK07b]
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 36 Rendering
- Point light
- Environment light
- HDR Environment Map [CK07a, CK07b]
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 37
- Point light
- Environment light
- HDR Environment Map [CK07a, CK07b]
Simulated data
General representation Display Render Fitting
Analytic models Measured data
Rendering
SLIDE 38 Point light
- Compute the BRDF on the fragment
shader
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 39 Lighting equation
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 40
Monte Carlo Integration
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 41 Importance Sampling
- Choose a few random samples
- Selected according to the PDF
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 42
Mipmap Filtered Samples
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 43
Rendering a fitted material
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 44 Overview
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 45 Origin of BRDFs
- surface interaction
- subsurface interaction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 46 Origin of BRDFs
- surface interaction
- subsurface interaction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 47 Origin of BRDFs
- surface interaction
- subsurface interaction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 48 Origin of BRDFs
- surface interaction
- subsurface interaction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 49 Origin of BRDFs
- surface interaction
- subsurface interaction
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 50 Simulation
- Given a material structure, obtain its BRDF
Material structure Reflected directions Light direction Ray Tracer BRDF shape
- Performing this operation with different light
directions the full BRDF is obtained
- Light is assumed to be parallel as the simulation is
done at microscopic level
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 51
Height Field Simulation Material Structure
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 52 Height Field Simulation Ray Tracer
- Using Relief mapping with bounces the
surface reflected directions are retrieved
Fragment Shader Input Output
Intersection found? Directions Texture(in) Hit Texture(in) Relief Texture Relief mapping Store direction
No
Fetch normal Compute reflected vector Store direction and u,v
Yes
Directions Texture(out) Hit Texture(out)
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 53 Height Field Simulation Reflected directions
directions in a (ϴ, Φ) grid
the resulting BRDF ϴ Φ 1 1
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 54
Simulation example
Simulated data
General representation Display Render Fitting
Analytic models Measured data
SLIDE 55
- Previous Work
- Input Models
- Display
- Fitting
- Rendering
- Simulation
- Conclusions and Future Work
Outline
SLIDE 56 Conclusions
- The presented system allows to:
- Interactively display of analytical models, measured
data and simulated data
- Fit from any input BRDF to an analytical model
- Real-time rendering of complex objects with general
analytical models as the material and different lighting conditions
- Perform material simulations in the GPU
- CEIG 2009 Paper
SLIDE 57 Future Work
- Render objects directly with the measured/simulated
BRDF
- Tools to compare the rendering obtained with the fitted
model and the original one
- Simulation of light subsurface structure interaction with
geometric ray model
- Introduce the phase concept during simulation [GMN94]
- Release as Open Source at the end of July
- Plan to submit a paper to an international journal
SLIDE 58
Demo
SLIDE 59
Thanks! Questions?