The spica renderer
visibility_tester.h
1 #ifdef _MSC_VER
2 #pragma once
3 #endif
4 
5 #ifndef _SPICA_VISIBILITY_TESTER_H_
6 #define _SPICA_VISIBILITY_TESTER_H_
7 
8 #include "core/core.hpp"
9 #include "core/common.h"
10 
11 #include "core/interaction.h"
12 
13 namespace spica {
14 
15  class SPICA_EXPORTS VisibilityTester {
16  public:
18  VisibilityTester(const Interaction& p1, const Interaction& p2);
19 
20  bool unoccluded(const Scene& scene) const;
21  Spectrum transmittance(const Scene& scene, Sampler& smapler, Medium *medium = nullptr) const;
22 
23  inline const Interaction& p1() const { return p1_; }
24  inline const Interaction& p2() const { return p2_; }
25 
26  private:
27  Interaction p1_, p2_;
28  };
29 
30 } // namespace spica
31 
32 #endif // _SPICA_VISIBILITY_TESTER_H_
Random sampler class.
Definition: sampler.h:24
RGB spectrum.
Definition: spectrum.h:18
Definition: visibility_tester.h:15
Definition: interaction.h:23
Definition: medium.h:19
Scene provides the interface for scene graph.
Definition: scene.h:23