Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ExactConductorFresnel.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <vector>
7
8namespace ph
9{
10
16{
17public:
19 real iorOuter,
20 const math::Spectrum& iorInnerN,
21 const math::Spectrum& iorInnerK);
22
24 real iorOuter,
25 const std::vector<real>& iorWavelengthsNm,
26 const std::vector<real>& iorInnerNs,
27 const std::vector<real>& iorInnerKs);
28
29 math::Spectrum calcReflectance(real cosThetaIncident) const override;
30
31private:
32 real m_iorOuter;
33 math::Spectrum m_iorInnerN;
34 math::Spectrum m_iorInnerK;
35 math::Spectrum m_en2_sub_ek2;
36 math::Spectrum m_4_mul_en2_mul_ek2;
37
38 void setIors(
39 real iorOuter,
40 const math::Spectrum& iorInnerN,
41 const math::Spectrum& iorInnerK);
42};
43
44}// end namespace ph
Conductor-dielectric interface Fresnel effect.
Definition ConductorFresnel.h:19
Conductor-dielectric interface Fresnel effect.
Definition ExactConductorFresnel.h:16
ExactConductorFresnel(real iorOuter, const math::Spectrum &iorInnerN, const math::Spectrum &iorInnerK)
Definition ExactConductorFresnel.cpp:12
math::Spectrum calcReflectance(real cosThetaIncident) const override
Definition ExactConductorFresnel.cpp:66
Definition TTristimulusSpectrum.h:11
The root for all renderer implementations.
Definition EEngineProject.h:6