Giter VIP home page Giter VIP logo

libbsdf's Introduction

libbsdf

Linux

Overview

libbsdf is a C++ library for BSDF, BRDF, and BTDF. libbsdf provides basic functions: file IO, interpolation, data structure and so on. Eigen 3 is used for arrays, vectors, and matrices. libbsdf is licensed under the terms of the Mozilla Public License, version 2.0. See the LICENSE file.

Building libbsdf

C++ compiler that supports C++17 is required. CMake is used as the build system. The search path for Eigen 3 is set through CMake variables: Eigen3_DIR. To enable the fitting function to reflectance models, enable LIBBSDF_ENABLE_FITTING and set the Ceres Solver path to the Ceres_DIR variable.

Data structure

  • Scatter and specular data
    • BRDF
    • BTDF
    • Specular reflectance
    • Specular transmittance
  • Color
    • Monochrome
    • RGB
    • XYZ
    • Spectrum
  • Parameterization
    • Spherical coordinate system
    • Specular coordinate system
    • Half-difference coordinate system

File reader

Format Extension Measured Data
Surface Scattering Distribution Data .ssdd
Integra Diffuse Distribution .ddr, .ddt
Integra Specular Distribution .sdr, .sdt
Zemax BSDF .bsdf RPC Photonics
LightTools BSDF .bsdf
ASTM E1392-96(2002) .astm Cornell University
MERL BRDF .binary MERL

File writer

Format Extension
Surface Scattering Distribution Data .ssdd
Integra Diffuse Distribution .ddr, .ddt

libbsdf's People

Contributors

kimuraryo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

libbsdf's Issues

DdrWriter.cpp - wrong keywords for RGB at line 101 and 104 ?

hi,
we are using Inspirer and your wonderfull Viewer which let us convert many measurements.
There is only one problem if we output to *.ddr and use it in Inspirer.
it gives us an error about a wrong keyword.
We then replace in the ddr file the reywords "gre" to "green" and "blu" to "blue" ..and then everything is working.

i'm new to github and don't want to make something wrong, so you may want to verify this bug(?) and may fix it.

release tagging

Can you add release tags to your repo?!

So future ports or packages could easily learn from the repo which releases exist and thus allow for semi-automatic release version checks.

Windows7 & M$ VC++ 2013 & Qt Creator : Build success, but with tons of warnings...

I have ran CMake in Qt Creator with the NMake generator (for 64 bit MSVC2013) and the argument -DEIGEN3_INCLUDE_DIR=P:/freeformOPT/extlibs/include/Eigen which allowed me to build the library successfully. :-)

So far so good, but the compile output had many complaints:

18:44:25: Running steps for project libbsdf...
18:44:25: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" 

jom 1.0.14 - empower your cores

Scanning dependencies of target libbsdf
[  3%] [  6%] [  9%] [ 12%] [ 16%] [ 19%] [ 22%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Brdf.cpp.obj
[ 25%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Btdf.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Bsdf.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/CatmullRomSplineInterpolator.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/HalfDifferenceCoordinatesBrdf.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Integrator.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/LinearInterpolator.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Material.cpp.obj
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
Brdf.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
Btdf.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
Bsdf.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 29%] [ 32%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/Processor.cpp.obj
Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/RandomSampleSet.cpp.obj
CatmullRomSplineInterpolator.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
HalfDifferenceCoordinatesBrdf.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
Integrator.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
LinearInterpolator.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
Material.cpp
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
Processor.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
RandomSampleSet.cpp
[ 35%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/SampleSet.cpp.obj
SampleSet.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 38%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/SampleSet2D.cpp.obj
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
SampleSet2D.cpp
[ 41%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/SpecularCoordinatesBrdf.cpp.obj
SpecularCoordinatesBrdf.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 45%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/SphericalCoordinatesBrdf.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(157) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(153) : while compiling class template member function 'lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)'
        P:\libbsdf\src\Brdf\HalfDifferenceCoordinatesBrdf.cpp(37) : see reference to function template instantiation 'lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)' being compiled
        P:\libbsdf\include\libbsdf/Brdf/HalfDifferenceCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>::expandAngles(void)'
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
SphericalCoordinatesBrdf.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 48%] Building CXX object CMakeFiles/libbsdf.dir/src/Brdf/TwoSidedMaterial.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SphericalCoordinatesBrdf.h(24) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>' being compiled
TwoSidedMaterial.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 51%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/CentripetalCatmullRomSpline.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
CentripetalCatmullRomSpline.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
P:\libbsdf\src\Brdf\Processor.cpp(108) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
[ 54%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/CieData.cpp.obj
CieData.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 58%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/HalfDifferenceCoordinateSystem.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(157) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(153) : while compiling class template member function 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)'
        P:\libbsdf\src\Brdf\SpecularCoordinatesBrdf.cpp(37) : see reference to function template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)' being compiled
        P:\libbsdf\include\libbsdf/Brdf/SpecularCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::expandAngles(void)'
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(157) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(153) : while compiling class template member function 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)'
        P:\libbsdf\src\Brdf\SphericalCoordinatesBrdf.cpp(37) : see reference to function template instantiation 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::CoordinatesBrdf(const lb::Brdf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &,const lb::Arrayf &)' being compiled
        P:\libbsdf\include\libbsdf/Brdf/SphericalCoordinatesBrdf.h(24) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::expandAngles(void)'
HalfDifferenceCoordinateSystem.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 61%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/SpectrumUtility.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SpecularCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
SpectrumUtility.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 64%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/SpecularCoordinateSystem.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
SpecularCoordinateSystem.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 67%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/SphericalCoordinateSystem.cpp.obj
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
SphericalCoordinateSystem.cpp
[ 70%] Building CXX object CMakeFiles/libbsdf.dir/src/Common/Version.cpp.obj
Version.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 74%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/AstmReader.cpp.obj
AstmReader.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 77%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/DdrReader.cpp.obj
DdrReader.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 80%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/LightToolsBsdfReader.cpp.obj
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
LightToolsBsdfReader.cpp
[ 83%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/MerlBinaryReader.cpp.obj
MerlBinaryReader.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 87%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/ReaderUtility.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
ReaderUtility.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 90%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/SdrReader.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
SdrReader.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 93%] Building CXX object CMakeFiles/libbsdf.dir/src/Reader/ZemaxBsdfReader.cpp.obj
ZemaxBsdfReader.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[ 96%] Building CXX object CMakeFiles/libbsdf.dir/src/Writer/DdrWriter.cpp.obj
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\src\Reader\AstmReader.cpp(218) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\AstmReader.cpp(219) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\AstmReader.cpp(220) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\AstmReader.cpp(221) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\AstmReader.cpp(224) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\src\Reader\ReaderUtility.cpp(21) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\src\Reader\DdrReader.cpp(187) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\DdrReader.cpp(189) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\DdrReader.cpp(196) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SphericalCoordinatesBrdf.h(24) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>' being compiled
DdrWriter.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
[100%] Building CXX object CMakeFiles/libbsdf.dir/src/Writer/SdrWriter.cpp.obj
P:\libbsdf\src\Reader\LightToolsBsdfReader.cpp(110) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\LightToolsBsdfReader.cpp(296) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SpecularCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SphericalCoordinatesBrdf.h(24) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SphericalCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/HalfDifferenceCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::HalfDifferenceCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\src\Reader\SdrReader.cpp(93) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\src\Reader\ZemaxBsdfReader.cpp(156) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\ZemaxBsdfReader.cpp(158) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
P:\libbsdf\src\Reader\ZemaxBsdfReader.cpp(164) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
SdrWriter.cpp
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
P:\libbsdf\include\libbsdf/Brdf/SampleSet.h(285) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SpecularCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>' being compiled
P:\libbsdf\include\libbsdf/Brdf/SampleSet2D.h(235) : warning C4244: 'return' : conversion from '__int64' to 'int', possible loss of data
P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(303) : warning C4244: 'argument' : conversion from '__int64' to 'int', possible loss of data
        P:\libbsdf\include\libbsdf/Brdf/CoordinatesBrdf.h(268) : while compiling class template member function 'bool lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>::expandAngles(void)'
        P:\libbsdf\include\libbsdf/Brdf/SpecularCoordinatesBrdf.h(25) : see reference to class template instantiation 'lb::CoordinatesBrdf<lb::SpecularCoordinateSystem>' being compiled
Linking CXX static library libbsdf.lib
[100%] Built target libbsdf
18:44:40: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited normally.
18:44:40: Elapsed time: 00:12.

What do you suggest?

Unit tests

It would be great to have unit tests for this library, in order to verify loading, saving as well as operations on the stored data, including debug timestamps in order to be able to locate possible bottlenecks.

Problems building the lib

Hi!

I am trying to build this lib and run into trouble with making CMake find everything.

eigen3 is installed:

$ cmake --find-package -DNAME=eigen3 -DCOMPILER_ID=CLANG -DLANGUAGE=CXX -DMODE=EXIST -DCMAKE_MODULE_PATH=/opt/local/share/cmake/Modules ..
eigen3 found.

but the above command doesn't create a makefile in the respective build folder.

If I run it without the --find-package option cmake fails to find the lib:

$ cmake ..
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:32 (find_package):
  By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Eigen3", but
  CMake did not find one.

  Could not find a package configuration file provided by "Eigen3" with any
  of the following names:

    Eigen3Config.cmake
    eigen3-config.cmake

  Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
  "Eigen3_DIR" to a directory containing one of the above files.  If "Eigen3"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/Users/marko/WC/GIT/libbsdf/build/CMakeFiles/CMakeOutput.log".

Any hints?

I've tried this on a late-2009 iMac with OSX 10.10 and MacPorts for installing eigen3.

Windows7 & MSYS2 & mingw & Qt Creator: Building fails

I have - alternatively - installed MSYS2 in order to build libbsdf using a mingw toolchain using the MinGW generator (MinGW-w64_64bit (MSYS2)) with this argument -DEIGEN3_INCLUDE_DIR=/mingw64/include/eigen3/unsupported/ and unfortunately end up with this error:

CMake Error: Could not create named generator CodeBlocks - MinGW Makefiles

Any hints for me, Kimura?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.