Skip to content

KimuraRyo/libbsdf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Library for BSDF, BRDF, and BTDF

Resources

License

Stars

Watchers

Forks

Packages

No packages published