The anisotropic Ward BSDF model.
More...
#include <ward.h>
Inherited by wardduer< CONF, Symmetry, NAME >, and wardduergeislermoroder< CONF, Symmetry, NAME >.
|
| | 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.
|
| |
template<typename CONF,
symmetry_v Symmetry = symmetry_v::Anisotropic,
string_literal NAME = "Ward">
requires concepts::config<CONF>
class bbm::ward< CONF, Symmetry, NAME >
The anisotropic Ward BSDF model.
- Template Parameters
-
| CONF | = bbm configuration |
| Symmetry | = isotropic or anisotropic (default: symmetry_v::anisotropic) |
| NAME | = name of the BSDF model (Default: 'Ward') |
Implements: concepts::bsdfmodel
◆ BBM_ATTRIBUTES()
◆ BBM_DEFAULT_CONSTRUCTOR()
| BBM_DEFAULT_CONSTRUCTOR |
( |
ward< CONF, Symmetry, NAME > |
| ) |
|
|
inline |
◆ BBM_IMPORT_CONFIG()
| BBM_IMPORT_CONFIG |
( |
CONF |
| ) |
|
◆ eval()
Evaluate the BSDF for a given in and out direction.
- Parameters
-
| in | = incident direction |
| out | = outgoing direction |
| component | = which reflectance component to eval |
| unit | = unit of computation (ignored) |
| mask | = masking of lanes (e.g., for Packet eval) |
- Returns
- Evaluation of the BSDF per spectrum.
◆ pdf()
Compute the pdf given an in and out direction.
- Parameters
-
| in | = the incoming (sampled) direction |
| out | = the outgoing (given) direction |
| component | = which reflectance component was sampled |
| unit | = unit of computation (ignored) |
| mask | = masking of lanes |
- Returns
- the PDF that the incoming direction would be sampled given the outgoing direction.
◆ reflectance()
Return the (approximate) hemispherical reflectance of the BSDF.
- Parameters
-
| out | = the outgoing direction |
| component | = which reflectance component to eval |
| unit | = unit of computation (ignored) |
| mask | = masking of lanes |
- Returns
- the approximate hemispherical reflectance of the BSDF for a given direction
◆ sample()
Sample the BSDF given a direction and two random variables.
- Parameters
-
| out | = outgoing direction |
| xi | = two random variables stored in a Vec2d |
| component | = which reflectance component to sample |
| unit | = unit of computation (ignored) |
| mask | = masking of lanes. |
- Returns
- A bsdfSample containing the sampled direction and the corresponding pdf.
◆ albedo
◆ BBM_BSDF_FORWARD
◆ name
◆ roughness
The documentation for this class was generated from the following file: