5 #ifndef _SPICA_SUBSURFACE_INTEGRATOR_H_
6 #define _SPICA_SUBSURFACE_INTEGRATOR_H_
8 #include "core/common.h"
9 #include "core/bounds3d.h"
10 #include "core/interaction.h"
12 #include "core/integrator.h"
13 #include "../photon_map.h"
23 Hierarchy(
double radius,
double maxError);
29 void samplePoints(
const Scene& scene,
const Point3d& pCamera);
31 void buildOctree(
const Scene& scene,
45 std::vector<Interaction> points_;
48 std::unique_ptr<Octree> octree_;
50 std::unique_ptr<PhotonMap> photonmap_;
60 double maxError = 0.05);
66 void initialize(
const std::shared_ptr<const Camera> &camera,
71 void loopStarted(
const std::shared_ptr<const Camera> &camera,
81 int depth = 0)
const override;
84 std::unique_ptr<Hierarchy> hi_;
93 #endif // _SPICA_SUBSURFACE_INTEGRATOR_H_
Definition: hierarchical.cc:61
Definition: interaction.h:68
Random sampler class.
Definition: sampler.h:24
RGB spectrum.
Definition: spectrum.h:18
Ray class.
Definition: ray.h:24
Definition: renderparams.h:27
Definition: hierarchical.h:20
The sampler integrator interface.
Definition: integrator.h:45
Scene provides the interface for scene graph.
Definition: scene.h:23
Irradiance integrator for subsurface scattering objects.
Definition: hierarchical.h:56