Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ScatterFunction.h
Go to the documentation of this file.
1#pragma once
2
3#include "Math/math_fwd.h"
4
5#include <Common/primitive_type.h>
6
7#include <memory>
8
9namespace ph
10{
11
12class SurfaceHit;
13
15{
16public:
17 virtual ~ScatterFunction() = 0;
18
19 // FIXME: use volume hit
20 virtual void evalPhaseFunc(
21 const SurfaceHit& X,
22 const math::Vector3R& I,
23 const math::Vector3R& O,
24 real* out_pf) const = 0;
25};
26
27}// end namespace ph
Definition ScatterFunction.h:15
virtual void evalPhaseFunc(const SurfaceHit &X, const math::Vector3R &I, const math::Vector3R &O, real *out_pf) const =0
virtual ~ScatterFunction()=0
General information about a ray-surface intersection event.
Definition SurfaceHit.h:59
The root for all renderer implementations.
Definition EEngineProject.h:6