Loading...
Searching...
No Matches
Namespaces | Macros | Functions
bsdfmodel.h File Reference

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
 

Detailed Description

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.

Macro Definition Documentation

◆ BBM_BSDF_FORWARD

#define BBM_BSDF_FORWARD