The spica renderer
mis.h
1 #ifdef _MSC_VER
2 #pragma once
3 #endif
4 
5 #ifndef _SPICA_MIS_H_
6 #define _SPICA_MIS_H_
7 
8 #include "core/core.hpp"
9 #include "core/common.h"
10 #include "core/spectrum.h"
11 
12 #include "core/render.hpp"
13 
14 namespace spica {
15 
16 SPICA_EXPORTS Spectrum uniformSampleOneLight(const Interaction& intr,
17  const Scene& scene,
18  MemoryArena& arena,
19  Sampler& sampler,
20  bool handleMedia = false);
21 
22 SPICA_EXPORTS Spectrum estimateDirectLight(const Interaction& intr,
23  const Point2d& randShade,
24  const Light& light,
25  const Point2d& randLight,
26  const Scene& scene, Sampler& sampler,
27  MemoryArena& arena,
28  bool specular = false,
29  bool handleMedia = false);
30 
31 SPICA_EXPORTS double powerHeuristic(int nf, double fPdf, int ng, double gPdf);
32 
33 SPICA_EXPORTS Distribution1D calcLightPowerDistrib(const Scene& scene);
34 
35 } // namespace spica
36 
37 #endif // _SPICA_MIS_H_