Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
HenyeyGreenstein.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <memory>
7
8namespace ph
9{
10
12{
13public:
14 HenyeyGreenstein(real g);
15 HenyeyGreenstein(const std::shared_ptr<TTexture<real>>& g);
17
18 void evalPhaseFunc(
19 const SurfaceHit& X,
20 const math::Vector3R& I,
21 const math::Vector3R& O,
22 real* out_pf) const override;
23
24private:
25 std::shared_ptr<TTexture<real>> m_g;
26};
27
28}// end namespace ph
Definition HenyeyGreenstein.h:12
~HenyeyGreenstein() override
HenyeyGreenstein(real g)
Definition HenyeyGreenstein.cpp:15
void evalPhaseFunc(const SurfaceHit &X, const math::Vector3R &I, const math::Vector3R &O, real *out_pf) const override
Definition HenyeyGreenstein.cpp:28
Definition ScatterFunction.h:15
General information about a ray-surface intersection event.
Definition SurfaceHit.h:59
Definition TTexture.h:12
The root for all renderer implementations.
Definition EEngineProject.h:6