|
Photon Engine 2.0.0-beta
A physically based renderer.
|
Microfacet based opaque surface model. Microfacet optical behavior modeled using Cook-Torrance BRDF [4]. This model is double-sided. More...
#include <OpaqueMicrofacet.h>
Public Member Functions | |
| OpaqueMicrofacet (const std::shared_ptr< ConductorFresnel > &fresnel, const std::shared_ptr< Microfacet > µfacet) | |
| ESurfacePhenomenon | getPhenomenonOf (SurfaceElemental elemental) const override |
Get the phenomenon of a surface component. One can also setup query for a specific elemental. See BsdfQueryContext. | |
| std::string | toString () const override |
Public Member Functions inherited from ph::SurfaceOptics | |
| SurfaceOptics () | |
| virtual | ~SurfaceOptics ()=default |
| void | calcBsdf (BsdfEvalQuery &eval) const |
| Executes a BSDF evaluation query. Respects sidedness policy. | |
| void | genBsdfSample (BsdfSampleQuery &sample, SampleFlow &sampleFlow) const |
| Executes a BSDF sample query. Respects sidedness policy. | |
| void | calcBsdfPdf (BsdfPdfQuery &pdfQuery) const |
| Executes a BSDF sample PDF query. Respects sidedness policy. | |
| SurfacePhenomena | getAllPhenomena () const |
| Get all phenomena that exist in this surface. | |
| SurfaceElemental | numElementals () const |
| Get number of components this surface contains. | |
Additional Inherited Members | |
Protected Attributes inherited from ph::SurfaceOptics | |
| SurfacePhenomena | m_phenomena |
| SurfaceElemental | m_numElementals |
Microfacet based opaque surface model. Microfacet optical behavior modeled using Cook-Torrance BRDF [4]. This model is double-sided.
| ph::OpaqueMicrofacet::OpaqueMicrofacet | ( | const std::shared_ptr< ConductorFresnel > & | fresnel, |
| const std::shared_ptr< Microfacet > & | microfacet ) |
|
overridevirtual |
Get the phenomenon of a surface component. One can also setup query for a specific elemental. See BsdfQueryContext.
Implements ph::SurfaceOptics.
|
inlineoverridevirtual |
Reimplemented from ph::SurfaceOptics.