Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::FresnelEffect Class Referenceabstract

Modeling Fresnel effects that occur on interfaces. More...

#include <FresnelEffect.h>

Inheritance diagram for ph::FresnelEffect:
ph::ConductorFresnel ph::DielectricFresnel ph::ExactConductorFresnel ph::SchlickApproxConductorFresnel ph::ExactDielectricFresnel ph::SchlickApproxDielectricFresnel

Public Member Functions

virtual ~FresnelEffect ()=default
 
virtual math::Spectrum calcReflectance (real cosThetaIncident) const =0
 
math::Spectrum calcTransmittance (real cosThetaIncident) const
 

Detailed Description

Modeling Fresnel effects that occur on interfaces.

The two sides of a interface are called inner and outer sides, where outer side has \( \cos(\theta_{indicent})>0 \) and inner side has \( \cos(\theta_{indicent})<0 \).

Constructor & Destructor Documentation

◆ ~FresnelEffect()

virtual ph::FresnelEffect::~FresnelEffect ( )
virtualdefault

Member Function Documentation

◆ calcReflectance()

virtual math::Spectrum ph::FresnelEffect::calcReflectance ( real cosThetaIncident) const
pure virtual
Parameters
cosThetaIncidentCosine of the incident angle.
Returns
The reflectance of the interface on the specified angle.
Note
cosThetaIncident is signed, so inner and outer sides can be determined.

Implemented in ph::ConductorFresnel, ph::DielectricFresnel, ph::ExactConductorFresnel, ph::ExactDielectricFresnel, ph::SchlickApproxConductorFresnel, and ph::SchlickApproxDielectricFresnel.

◆ calcTransmittance()

math::Spectrum ph::FresnelEffect::calcTransmittance ( real cosThetaIncident) const
inline
Parameters
cosThetaIncidentCosine of the incident angle.
Returns
The transmittance of the interface on the specified angle.
Note
cosThetaIncident is signed, so inner and outer sides can be determined.

The documentation for this class was generated from the following file: