al t a a brdf analysis library
play

AL T A: A BRDF analysis library Laurent Belcour 1,2 , Pascal - PowerPoint PPT Presentation

AL T A: A BRDF analysis library Laurent Belcour 1,2 , Pascal Barla 2 , Romain Pacanowski 3,2 1 Ligum, Universit de Montral 2 Inria Bordeaux Sud-Ouest 3 LP2N, CNRS


  1. AL T A: A BRDF analysis library Laurent ¡Belcour 1,2 , ¡Pascal ¡Barla 2 , ¡ Romain ¡Pacanowski 3,2 ¡ ¡ 1 ¡ Ligum, ¡Université ¡de ¡Montréal ¡ 2 ¡ Inria ¡Bordeaux ¡Sud-­‑Ouest ¡ 3 ¡ LP2N, ¡CNRS ¡ ¡

  2. Motivations & Goals ¡

  3. Motivations & Goals ¡

  4. The ‘‘BRDF Map’’ ¡ GGX ¡[Walter ¡et ¡al ¡.2007] ¡ SGD ¡[Bagher ¡et ¡al. ¡2012] ¡ He ¡et ¡al. ¡[1991] ¡ Ashikmin ¡ et ¡al. ¡ [2000] ¡ Ashikmin ¡ & ¡Shirley ¡[2000] ¡ Lafortune ¡et ¡al. ¡[1997] ¡ Neumann ¡and ¡Neumann ¡[1996] ¡ Ward ¡[1992] ¡ ABC ¡[Löw ¡et ¡al. ¡2012] ¡ Cook ¡& ¡ Torrance ¡[1982] ¡ Hanrahan ¡& ¡Kruger ¡[1993] ¡ Blinn ¡[1977] ¡ Beard-­‑Maxwel ¡[1973] ¡ Oren ¡& ¡Nayar ¡[1994] ¡ Granier ¡& ¡Heidrich ¡[2003] ¡ Schlick ¡[1994] ¡ RaOonal ¡BRDFs ¡[Pacanowski ¡et ¡al. ¡2012] ¡

  5. Motivations & Goals ¡ § Understanding ¡BRDF ¡ • 4D ¡space ¡is ¡complex ¡to ¡visualize ¡ • EsOmaOng ¡model ¡parameters ¡from ¡data ¡is ¡hard ¡ BRDF ¡Explorer ¡ § Available ¡tools ¡are ¡limited ¡ • Tools ¡in ¡CG ¡are ¡mostly ¡for ¡preview ¡ • Tools ¡in ¡other ¡fields ¡are ¡specialized ¡ (Gwyddion, ¡MiePlot, ¡…) ¡ BRDFLab ¡

  6. Motivations & Goals ¡ § Heterogeneous ¡measurements ¡ • plasOcs ¡and ¡metals ¡mostly ¡ Cornell ¡ • different ¡sampling ¡density ¡ • a ¡few ¡under ¡sampled ¡anisotropic ¡BRDF ¡ § Heterogeneous ¡data ¡formats ¡ CUReT ¡ • binary ¡/ ¡text ¡ • various ¡parametrizaOons ¡ • incomplete/extrapolated ¡data ¡ MERL ¡

  7. Introducing AL T A ¡ § Open-­‑source ¡C++ ¡Library ¡ • Comparison ¡of ¡models ¡(fihng ¡& ¡approx.) ¡ • Analysis ¡of ¡data ¡ • Cross ¡plaiorm ¡ § Plugins ¡mechanism ¡ • Easy ¡to ¡extend ¡ • Interact ¡with ¡exisOng ¡(BRDF ¡Explorer) ¡

  8. AL T A overview ¡ Tools ¡ CompaOble ¡data ¡ BRDF ¡Models ¡or ¡ ¡FuncOons ¡ [Lafortune ¡et ¡al. ¡2012] ¡ [Low ¡et ¡al. ¡2012] ¡ [Beckmann ¡& ¡Spizzchino ¡1987] ¡ [Pacanowski ¡et ¡al. ¡2012] ¡ MERL ¡ Data ¡interpolaOon ¡ [Blinn ¡199X] ¡ ASTM ¡ [Ward ¡199X] ¡ Fijers ¡ CompaObility ¡ Moment ¡analysis ¡ ¡ QuadProg++ ¡ ¡ CERES ¡ IpOpt ¡ Matlab ¡ Eigen ¡ GLSL ¡ nonlinear ¡ quadra&c ¡ ¡ Matlab ¡ op&miza&on ¡ programming ¡

  9. AL T A Architecture ¡ linked ¡with ¡core ¡ program ¡ ¡ binary ¡executable ¡ data ¡ measurements ¡ data ¡plugin ¡ data ¡plugin ¡ shader ¡ BRDF ¡plugin ¡ BRDF ¡plugin ¡ parameters ¡ configuraOon ¡ fijer ¡plugin ¡ configuraOon ¡ fijer ¡plugin ¡ dynamic ¡library ¡ .so, ¡.dll, ¡.dylib ¡ plugin ¡manager ¡

  10. Usage example: data conversion ¡ data2data ¡ MERL ¡plugin ¡ EXR ¡plugin ¡ gold.binary �

  11. Usage example: data conversion ¡ data2data ¡ EXR ¡plugin ¡ MERL ¡plugin ¡ gold.binary � laurent$ ./build/data2data --input ~/Research/Data/Merl/gold- metallic-paint.binary --in-data ./build/libdata_merl.dylib -- output ../data/2d/merl/gold-met.exr --out-data ./build/ libdata_brdf_slice.dylib ¡

  12. Fitting a rational function ¡ data2brdf ¡ Chebychev ¡ RaOonal ¡fijer ¡ EXR ¡plugin ¡ plugin ¡ plugin ¡ gold.brdf �

  13. Comparing data and fitting results ¡ brdf2data ¡ Chebychev ¡ EXR ¡plugin ¡ plugin ¡ gold.brdf � conversion ¡from ¡BRDF ¡ input ¡BRDF ¡slice ¡ file ¡to ¡data ¡file ¡using ¡ brdf2data

  14. XML ¡and ¡scripOng ¡capabiliOes ¡ gold.binary § Each ¡program ¡has ¡a ¡command ¡line ¡ data2data ¡ § ConcatenaOng ¡programs ¡ • Create ¡complex ¡processes ¡ • Can ¡be ¡automated ¡using ¡bash ¡scripts ¡ data2brdf ¡ § But ¡.. ¡ brdf2data ¡ • OS ¡dependent ¡ • Not ¡ideal ¡for ¡sharing ¡ gold-rat.exr

  15. XML ¡and ¡scripOng ¡capabiliOes ¡ <?xml version="1.0"?> <alta> gold.binary <action name=”data2data"> 
 <!-- Input and output arguments --> <input name="gold.binary" /> 
 <output name="gold-metallic.exr" /> <!-- Define the data plugin to use --> data2data ¡ <plugin name=“in-data“ name=”data_merl" /> <plugin name=“out-data“ name=”data_brdf_slice" /> </action> <action name="data2brdf"> 
 <!-- Input and output arguments --> <input name="gold-metallic.exr" /> 
 data2brdf ¡ <output name="gold-metallic.brdf" /> <!-- Define the function to use --> 
 <function name=”rational_function_chebychev" /> <!-- Define the ftting procedure to use --> <fitter name=”rational_fitter_parallel" /> </action> brdf2data ¡ <action name=”brdf2data"> 
 <!-- Input and output arguments --> <input name="gold-metallic.brdf" /> 
 <output name="gold-rat.exr" /> <!-- Define the data plugin to use --> <plugin name=“data“ name=”data_brdf_slice" /> </action> gold-rat.exr </alta>

  16. XML ¡and ¡scripOng ¡capabiliOes ¡ data2data ¡ data2brdf ¡ brdf2data ¡ BRDF ¡slice ¡ MERL ¡data ¡ RaOonal ¡fit, ¡with ¡62 ¡coeffs ¡

  17. XML ¡for ¡nonlinear ¡fihng ¡ <?xml version="1.0"?> <alta> gold.binary <action name=”data2data"> 
 <!-- Input and output arguments --> <input name="gold-metallic-paint.binary" /> 
 <output name="gold-metallic.exr" /> <!-- Define the data plugin to use --> data2data ¡ <plugin name=“in-data“ name=”data_merl" /> <plugin name=“out-data“ name=”data_brdf_slice" /> </action> <action name="data2brdf"> 
 <!-- Input and output arguments --> <input name="gold-metallic.exr" /> 
 data2brdf ¡ <output name="gold-metallic.brdf" /> <!-- Define the function to use --> 
 <function name=”nonlinear_function_beckmann" /> <!-- Define the ftting procedure to use --> <fitter name=”nonlinear_fitter_ceres" /> </action> brdf2brdf ¡ <action name=”brdf2brdf"> 
 <!-- Input and output arguments --> <input name="gold-metallic.brdf" /> 
 <output name="gold-metallic-shader.brdf" /> <!-- Define the data plugin to use --> <plugin name=“export“ name=”explorer" /> </action> gold-metallic-shader.brdf </alta>

  18. XML ¡and ¡scripOng ¡capabiliOes ¡ data2data ¡ data2brdf ¡ brdf2brdf ¡ BRDF ¡slice ¡ MERL ¡data ¡ Beckmann ¡fit ¡from ¡the ¡slice ¡

  19. AL ALTA NEEDS YOU A NEEDS YOU

  20. What can I do ? ¡ § Try ¡it ¡and ¡give ¡us ¡feedback! ¡ § Write ¡XML ¡scripts ¡ § Write ¡plugins ¡ • Develop ¡your ¡new ¡BRDF ¡model ¡ • Add ¡your ¡data ¡and ¡analyze ¡it ¡ § Write ¡programs ¡ § Provide ¡new ¡features ¡for ¡the ¡community ¡

  21. Future Work ¡ § Web ¡ vitrine ¡ for ¡BRDFs ¡or ¡BxDFs ¡ • Share ¡your ¡data, ¡funcOons ¡ • get ¡automaOc ¡comparisons ¡with ¡state ¡of ¡the ¡art ¡ techniques ¡ • Online ¡sharing ¡ ¡of ¡the ¡comparisons ¡results ¡/ ¡graphics ¡ § MulOple ¡language ¡interface ¡to ¡ALTA ¡ ¡ • Java, ¡C#, ¡Python, ¡R, ¡Matlab, ¡Octave… ¡(possible ¡with ¡SWIG) ¡ § High ¡(> ¡4D) ¡dimension ¡speed ¡improvements ¡

  22. Conclusion ¡ § Already ¡available ¡ ¡ • funcOonal ¡for ¡research ¡projects ¡ • and ¡can ¡be ¡use ¡commercially! ¡ § Support ¡ ¡ § for ¡various ¡OS ¡ ¡(MacOS ¡X, ¡Windows, ¡Linux) ¡ § for ¡various ¡solvers ¡ ¡ § Need ¡feedback ¡from ¡companies ¡

  23. Thank you ! ¡ http://alta.gforge.inria.fr SOURCE CODE, TUTORIALS AND DOCUMENT A TION ARE ALREADY A V AILABLE ONLINE

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend