8 #include "core/common.h"
9 #include "core/cobject.h"
10 #include "core/hash_grid.h"
11 #include "core/render.hpp"
12 #include "core/integrator.h"
28 void render(
const std::shared_ptr<const Camera>& camera,
37 void traceRays(
const std::shared_ptr<const Camera> &camera,
40 const std::vector<std::unique_ptr<Sampler>>& samplers,
41 std::vector<MemoryArena>& arenas,
42 std::vector<SPPMPixel>& hpoints)
const;
45 void tracePhotons(
const Scene& scene,
47 const std::vector<std::unique_ptr<Sampler>>& samplers,
48 std::vector<MemoryArena>& arenas,
50 const int numPhotons)
const;
52 void tracePhotonsSub(
const Scene& scene,
57 MemoryArena& arena)
const;
59 void pathTrace(
const Scene& scene,
66 void constructHashGrid(std::vector<SPPMPixel>& hpoints,
67 int imageW,
int imageH)
const;
70 std::shared_ptr<Sampler> sampler_;
72 static const double kAlpha_;
76 SPICA_EXPORT_PLUGIN(
SPPMIntegrator,
"Stochastic progressive photon mapping");
80 #endif // _SPICA_SPPM_H_
Random sampler class.
Definition: sampler.h:24
RGB spectrum.
Definition: spectrum.h:18
The integrator interface.
Definition: integrator.h:29
Ray class.
Definition: ray.h:24
Definition: renderparams.h:27
Stochastic progressive photon mapping.
Definition: sppm.h:19
Definition: hash_grid.h:12
Scene provides the interface for scene graph.
Definition: scene.h:23
Definition: sampling.h:17