|
| | 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.
|
| |
| | BBM_DEFAULT_CONSTRUCTOR (wardduer) |
| | Default constructor.
|
| |
| 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 &, BsdfFlag component=bsdf_flag::All, unit_t=unit_t::Radiance, Mask mask=true) const |
| | Return the (approximate) hemispherical reflectance of the BSDF.
|
| |
| | 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 &, 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 (ward) |
| | Default constructor.
|
| |
| | BBM_ATTRIBUTES (albedo, roughness) |
| |
template<typename CONF,
symmetry_v Symmetry = symmetry_v::Anisotropic,
string_literal NAME = "WardDuer">
requires concepts::config<CONF>
class bbm::wardduer< CONF, Symmetry, NAME >
The anisotropic Ward-Duer BSDF model.
- Template Parameters
-
| CONF | = bbm configuration |
| Symmetry | = isotropic or anisotropic (default: symmetry_v::anisotropic) |
| NAME | = name of the BSDF model (Default: 'WardDuer') |
This model differs from the regular Ward BSDF model in the normalization (sqrt(cos(theta(in)) * cos(theta((out))) for Ward versus cos(theta(in))*cos(theta(out)) for Ward-Duer).
Implements: concepts::bsdfmodel