All includes and helpers needed for declaring new bsdfmodels. More...
#include "concepts/macro.h"#include "concepts/bsdfmodel.h"#include "util/reflection.h"#include "core/spherical.h"#include "core/transform.h"#include "core/precompute.h"#include "core/vec_transform.h"#include "core/shading_frame.h"#include "bbm/unit.h"#include "bbm/config.h"#include "bbm/fresnel.h"#include "bbm/constructor.h"#include "bbm/bsdfsample.h"#include "bbm/bsdf_attribute.h"#include "bbm/bsdf_symmetry.h"Go to the source code of this file.
Namespaces | |
| namespace | bbm |
Macros | |
| #define | BBM_BSDF_FORWARD |
Functions | |
| template<typename BSDFMODEL > requires bbm::concepts::bsdfmodel<BSDFMODEL> | |
| std::ostream & | operator<< (std::ostream &s, const BSDFMODEL &model) |
| ostream output uses toString conversion | |
All includes and helpers needed for declaring new bsdfmodels.
Convention regarding 'in' and 'out directions. BSDF models follow the in-out convention of Eric Veach, namely 'in' is the sampled direction, and transport flows from -in to out. The physical meaning of 'in' and 'out' switches between the regular bsdf (Radiance) and the adjoint bsdf (Importance).
Thus for unit_t:Radiance: in == light and out = view.
| #define BBM_BSDF_FORWARD |