Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
IRayEnergyEstimator.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace ph
7{
8
9class IRayEnergyEstimator : public TIRayEstimator<math::Spectrum>
10{
11public:
13
14 void update(const Integrand& integrand) override = 0;
15
17 const Ray& ray,
18 const Integrand& integrand,
19 SampleFlow& sampleFlow,
20 EnergyEstimation& out_estimation) const override = 0;
21
22 std::string toString() const override;
23};
24
25// In-header Implementations:
26
27inline std::string IRayEnergyEstimator::toString() const
28{
29 return "Ray Energy Estimator";
30}
31
32}// end namespace ph
Definition IRayEnergyEstimator.h:10
void update(const Integrand &integrand) override=0
void estimate(const Ray &ray, const Integrand &integrand, SampleFlow &sampleFlow, EnergyEstimation &out_estimation) const override=0
std::string toString() const override
Definition IRayEnergyEstimator.h:27
Definition Integrand.h:12
Represents a ray in space.
Definition Ray.h:21
A sample with arbitrary dimensions with fine-grained sampling control.
Definition SampleFlow.h:19
Definition TEstimationArray.h:13
Definition TIRayEstimator.h:17
The root for all renderer implementations.
Definition EEngineProject.h:6