Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
SurfaceAttributeEstimator.h
Go to the documentation of this file.
1#pragma once
2
4#include "Math/TVector3.h"
5
6namespace ph
7{
8
9class SurfaceHit;
10
11class SurfaceAttributeEstimator : public TIRayEstimator<math::Vector3R>
12{
13public:
14 void update(const Integrand& integrand) override;
15
16 void estimate(
17 const Ray& ray,
18 const Integrand& integrand,
19 SampleFlow& sampleFlow,
20 TEstimationArray<math::Vector3R>& out_estimation) const override;
21
22 std::string toString() const override;
23};
24
25// In-header Implementations:
26
27inline std::string SurfaceAttributeEstimator::toString() const
28{
29 return "Surface Attribute Estimator";
30}
31
32}// end namespace ph
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 SurfaceAttributeEstimator.h:12
void update(const Integrand &integrand) override
Definition SurfaceAttributeEstimator.cpp:17
std::string toString() const override
Definition SurfaceAttributeEstimator.h:27
void estimate(const Ray &ray, const Integrand &integrand, SampleFlow &sampleFlow, TEstimationArray< math::Vector3R > &out_estimation) const override
Definition SurfaceAttributeEstimator.cpp:20
Definition TEstimationArray.h:13
Definition TIRayEstimator.h:17
The root for all renderer implementations.
Definition EEngineProject.h:6