the Anisotropic Phong BSSF model by Ashikhmin and Shirley. This implements the specular component of the model.
More...
|
| | 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) reflectance of the BSDF.
|
| |
| | BBM_DEFAULT_CONSTRUCTOR (ashikhminshirley) |
| | Default constructor.
|
| |
template<typename CONF, typename Fresnel = fresnel::schlick<CONF, ior::reflectance<Spectrum_t<CONF>>>,
symmetry_v Symmetry = symmetry_v::Anisotropic,
string_literal NAME = "AshikhminShirley">
requires concepts::config<CONF> && concepts::fresnel<Fresnel> && concepts::matching_config<CONF, Fresnel>
struct bbm::ashikhminshirley< CONF, Fresnel, Symmetry, NAME >
the Anisotropic Phong BSSF model by Ashikhmin and Shirley. This implements the specular component of the model.
- Template Parameters
-
| CONF | = bbm configuration |
| Fresnel | = fresnel implementation (requires concepts::Fresnel); default = fresnel::schlick<Config, ior::reflectance<Spectrum>> |
| Symmetry | = pass symmetry_v (Default: symmetry_v::Anisotropic) |
| NAME | = name of the BSDF model (Default: 'AshikhminShirley') |
Implements: concepts::bsdfmodel