Forward declaration. More...
#include <bsdf_base.h>
Inherited by aggregatebsdf< CONF, NAME >, and bsdf_ptr< CONF > [virtual].
Public Member Functions | |
| BBM_IMPORT_CONFIG (CONF) | |
| virtual | ~bsdf_base (void) |
| empty virtual destructor | |
| virtual Spectrum | eval (const Vec3d &in, const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const =0 |
| Evaluate the BSDF given an in and out direction. | |
| virtual BsdfSample | sample (const Vec3d &out, const Vec2d &xi, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const =0 |
| Samples the BSDF given an out direction and 2 random variables. | |
| virtual Value | pdf (const Vec3d &in, const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const =0 |
| The pdf of the in-out direction combination. | |
| virtual Spectrum | reflectance (const Vec3d &out, BsdfFlag component=bsdf_flag::All, unit_t unit=unit_t::Radiance, Mask mask=true) const =0 |
| the (approximate) hemispherical reflectance of the BSDF | |
| virtual std::string | toString (void) const =0 |
| Fancy print the BSDF to a string. | |
Parameter Enumeration | |
| virtual bbm::vector< Value & > | parameter_values (bsdf_attr flags=bsdf_attr::All)=0 |
| virtual bbm::vector< const Value & > | parameter_values (bsdf_attr flags=bsdf_attr::All) const =0 |
| virtual bbm::vector< Value > | parameter_default_values (bsdf_attr flags=bsdf_attr::All) const =0 |
| virtual bbm::vector< Value > | parameter_lower_bound (bsdf_attr flags=bsdf_attr::All) const =0 |
| virtual bbm::vector< Value > | parameter_upper_bound (bsdf_attr flags=bsdf_attr::All) const =0 |
Public Attributes | |
| BBM_BSDF_FORWARD | |
Static Public Attributes | |
| static constexpr string_literal | name = "bsdf_base" |
Forward declaration.
|
inlinevirtual |
empty virtual destructor
| BBM_IMPORT_CONFIG | ( | CONF | ) |
|
pure virtual |
Evaluate the BSDF given an in and out direction.
| in | = incoming direction of transport |
| out | = exitant direction of transport |
| component | = which reflectance component to eval |
| unit | = unit of computation |
| mask | = mask to enable/disable lanes |
IMPORTANT: The foreshortning (i.e., cosine) is NOT included.
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
The pdf of the in-out direction combination.
| in | = the incoming sampled direction |
| out | = the exitant (given) direction |
| component | = which reflectance component was sampled |
| unit | = unit of computation |
| mask | = mask to enable/disable lanes |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
the (approximate) hemispherical reflectance of the BSDF
| out | = the outgoing direction |
| component | = which reflectance component to eval |
| unit | = unit of computation |
| mask | = mask to enable/disable lanes |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Samples the BSDF given an out direction and 2 random variables.
| out | = the outgoing direction |
| xi | = two random variables stored in a Vec2d used to sample |
| component | = which reflectance component to sample |
| unit | = unit of computation |
| mask | = mask to enable/disable lanes |
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
|
pure virtual |
Fancy print the BSDF to a string.
Implemented in aggregatebsdf< CONF, NAME >, bsdf< BSDFMODEL >, and bsdf_ptr< CONF >.
| BBM_BSDF_FORWARD |
|
staticconstexpr |