Ngan's Lafortune: standard Lafortune times an additional normalization factor:
More...
|
| | BBM_IMPORT_CONFIG (CONF) |
| |
| Spectrum | eval (const Vec3d &in, const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const |
| | Evaluate the BSDF for a given in and out direction.
|
| |
| Spectrum | reflectance (const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const |
| | Return the (approximate) reflectance of the BSDF.
|
| |
| | BBM_DEFAULT_CONSTRUCTOR (nganlafortune) |
| | Default constructor.
|
| |
| | BBM_IMPORT_CONFIG (CONF) |
| |
| Spectrum | eval (const Vec3d &in, const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t=unit_t::Radiance, Mask mask=true) const |
| | Evaluate the BSDF for a given in and out direction.
|
| |
| BsdfSample | sample (const Vec3d &out, const Vec2d &xi, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const |
| | Sample the BSDF given a direction and two random variables.
|
| |
| Value | pdf (const Vec3d &in, const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t=unit_t::Radiance, Mask mask=true) const |
| | Compute the pdf given an in and out direction.
|
| |
| Spectrum | reflectance (const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t=unit_t::Radiance, Mask mask=true) const |
| | Return the (approximate) hemispherical reflectance of the BSDF.
|
| |
| | BBM_DEFAULT_CONSTRUCTOR (lafortune) |
| | Default constructor.
|
| |
| | BBM_ATTRIBUTES (albedo, Cxy, Cz, sharpness) |
| |
template<typename CONF,
string_literal NAME = "NganLafortune">
requires concepts::config<CONF>
class bbm::nganlafortune< CONF, NAME >
Ngan's Lafortune: standard Lafortune times an additional normalization factor:
\( \frac{ (n+2) }{ \2pi * (\max(Cz, Cxy))^n } \)
This is achieved with a wrapper class.