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

Dielectric-dielectric interface Fresnel effect. More...

#include <SchlickApproxDielectricFresnel.h>

Inheritance diagram for ph::SchlickApproxDielectricFresnel:
ph::DielectricFresnel ph::FresnelEffect

Public Member Functions

 SchlickApproxDielectricFresnel (real iorOuter, real iorInner)
 
math::Spectrum calcReflectance (real cosThetaIncident) const override
 
- Public Member Functions inherited from ph::DielectricFresnel
 DielectricFresnel (real iorOuter, real iorInner)
 
std::optional< math::Vector3RcalcRefractDir (const math::Vector3R &I, const math::Vector3R &N) const
 Calculates the normalized refraction direction.
 
std::optional< real > calcRefractCos (const math::Vector3R &I, const math::Vector3R &N) const
 Calculates the cosine (signed) of refraction direction. This method is similar to calcRefractDir(), but is slightly more efficient as it returns the cosine of refraction direction only.
 
real getIorOuter () const
 
real getIorInner () const
 
- Public Member Functions inherited from ph::FresnelEffect
virtual ~FresnelEffect ()=default
 
math::Spectrum calcTransmittance (real cosThetaIncident) const
 

Additional Inherited Members

- Protected Attributes inherited from ph::DielectricFresnel
real m_iorOuter
 
real m_iorInner
 

Detailed Description

Dielectric-dielectric interface Fresnel effect.

The formulae used are dielectric-specific approximations made by Brent Burley [3], which provide some improvement over the approximation originally done by Schlick [14]. See the implementation of calcReflectance() for more details.

Constructor & Destructor Documentation

◆ SchlickApproxDielectricFresnel()

ph::SchlickApproxDielectricFresnel::SchlickApproxDielectricFresnel ( real iorOuter,
real iorInner )

Member Function Documentation

◆ calcReflectance()

math::Spectrum ph::SchlickApproxDielectricFresnel::calcReflectance ( real cosThetaIncident) const
overridevirtual
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.

Implements ph::DielectricFresnel.


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