Photon Engine 2.0.0-beta
A physically based renderer.
|
Linearly interpolate between two surface optics. More...
#include <LerpedSurfaceOptics.h>
Public Member Functions | |
LerpedSurfaceOptics (const std::shared_ptr< SurfaceOptics > &optics0, const std::shared_ptr< SurfaceOptics > &optics1) | |
LerpedSurfaceOptics (const std::shared_ptr< SurfaceOptics > &optics0, const std::shared_ptr< SurfaceOptics > &optics1, real ratio) | |
Computes the final optics as optics0 * ratio + optics1 * (1 - ratio) . | |
LerpedSurfaceOptics (const std::shared_ptr< SurfaceOptics > &optics0, const std::shared_ptr< SurfaceOptics > &optics1, const std::shared_ptr< TTexture< math::Spectrum > > &ratio) | |
Computes the final optics as optics0 * ratio + optics1 * (1 - ratio) . | |
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 |
Linearly interpolate between two surface optics.
ph::LerpedSurfaceOptics::LerpedSurfaceOptics | ( | const std::shared_ptr< SurfaceOptics > & | optics0, |
const std::shared_ptr< SurfaceOptics > & | optics1 ) |
ph::LerpedSurfaceOptics::LerpedSurfaceOptics | ( | const std::shared_ptr< SurfaceOptics > & | optics0, |
const std::shared_ptr< SurfaceOptics > & | optics1, | ||
real | ratio ) |
Computes the final optics as optics0 * ratio + optics1 * (1 - ratio)
.
ph::LerpedSurfaceOptics::LerpedSurfaceOptics | ( | const std::shared_ptr< SurfaceOptics > & | optics0, |
const std::shared_ptr< SurfaceOptics > & | optics1, | ||
const std::shared_ptr< TTexture< math::Spectrum > > & | ratio ) |
Computes the final optics as optics0 * ratio + optics1 * (1 - ratio)
.
|
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.