The SGD microfacet distribution with fitted shadowing and masking. More...
#include <sgd.h>
Inherits sgd_base< CONF, NAME >.
Public Member Functions | |
| BBM_IMPORT_CONFIG (CONF) | |
| Spectrum | eval (const Vec3d &halfway, Mask mask=true) const |
| Evaluate the NDF. | |
| Spectrum | G1 (const Vec3d &v, const Vec3d &m, Mask mask=true) const |
| Monodirectional shadowing and masking term. | |
| BBM_DEFAULT_CONSTRUCTOR (sgd) | |
| Default Constructor. | |
From base | |
| Vec3d | sample (const Vec3d &view, const Vec2d &xi, Mask mask=true) const |
| Sample the NDF. | |
| Value | pdf (const Vec3d &view, const Vec3d &m, Mask mask=true) const |
| PDF of sampling the NDF. | |
Public Member Functions inherited from sgd_base< CONF, NAME > | |
| BBM_IMPORT_CONFIG (CONF) | |
| Spectrum | eval (const Vec3d &halfway, Mask mask=true) const |
| Evaluate the NDF. | |
| Vec3d | sample (const Vec3d &view, const Vec2d &xi, Mask mask=true) const |
| Sample the NDF. | |
| Value | pdf (const Vec3d &view, const Vec3d &m, Mask mask=true) const |
| PDF of sampling the NDF. | |
| Value | G1 (const Vec3d &, const Vec3d &, Mask=true) const |
| Monodirectional shadowing and masking factor. | |
| BBM_DEFAULT_CONSTRUCTOR (sgd_base) | |
| Default Constructor. | |
| BBM_ATTRIBUTES (alpha, p) | |
Static Public Attributes | |
| static constexpr string_literal | name = NAME |
Static Public Attributes inherited from sgd_base< CONF, NAME > | |
| static constexpr string_literal | name = NAME |
Private Types | |
| using | base = sgd_base< CONF > |
Private Member Functions | |
| BBM_BASETYPES (base) | |
Class Attributes | |
| bsdf_parameter< Spectrum, bsdf_attr::Dependent, 7.5 > | K |
| bsdf_parameter< Spectrum, bsdf_attr::Dependent > | Lambda |
| bsdf_parameter< Spectrum, bsdf_attr::Dependent > | c |
| bsdf_parameter< Spectrum, bsdf_attr::Dependent > | k |
| bsdf_parameter< Spectrum, bsdf_attr::Dependent, constants< Scalar >::Pi(0.5)> | theta0 |
| BBM_ATTRIBUTES (K, Lambda, c, theta0, k) | |
Additional Inherited Members | |
Public Attributes inherited from sgd_base< CONF, NAME > | |
| specular_roughness< Spectrum > | alpha |
| bsdf_parameter< Spectrum, bsdf_attr::SpecularParameter, 0.64 > | p |
The SGD microfacet distribution with fitted shadowing and masking.
| CONF | = bbm configuration |
| NAME | = ndf name (default = SGD) |
Implements: concepts::ndf
|
private |
|
inline |
Default Constructor.
| BBM_IMPORT_CONFIG | ( | CONF | ) |
|
inline |
Evaluate the NDF.
| halfway | = vector to eval the NDF for |
| mask | = enable/disbale lanes [default = true] |
|
inline |
Monodirectional shadowing and masking term.
| v | = incident/outgoing vector |
| m | = microfacet normal \param mask = enable/disable lanes |
|
inline |
PDF of sampling the NDF.
| view | = view direction |
| m | = sampled microfacet normal |
| mask | = enable/disable lanes [default = true] |
|
inline |
Sample the NDF.
| view | = view direction |
| xi | = 2D uniform random variables in [0..1] range |
| Mask | = enable/disbale lanes |
| bsdf_parameter<Spectrum, bsdf_attr::Dependent> c |
| bsdf_parameter<Spectrum, bsdf_attr::Dependent, 7.5> K |
| bsdf_parameter<Spectrum, bsdf_attr::Dependent> k |
| bsdf_parameter<Spectrum, bsdf_attr::Dependent> Lambda |
|
staticconstexpr |
| bsdf_parameter<Spectrum, bsdf_attr::Dependent, constants<Scalar>::Pi(0.5)> theta0 |