5 #ifndef _SPICA_SCENE_H_
6 #define _SPICA_SCENE_H_
11 #include "core/core.hpp"
12 #include "core/common.h"
14 #include "core/bounds3d.h"
15 #include "core/light.h"
16 #include "core/accelerator.h"
26 Scene(
const std::shared_ptr<Accelerator>& aggregate,
27 const std::vector<std::shared_ptr<Light> >& lights);
35 bool intersect(
Ray& ray)
const;
39 inline const Bounds3d& worldBound()
const {
return worldBound_; }
40 inline const std::vector<std::shared_ptr<Primitive>>& primitives()
const {
41 return aggregate_->primitives();
43 inline const std::vector<std::shared_ptr<Light> >& lights()
const {
48 std::shared_ptr<Accelerator> aggregate_;
49 std::vector<std::shared_ptr<Light> > lights_;
56 #endif // _SPICA_SCENE_H_
Definition: interaction.h:68
Random sampler class.
Definition: sampler.h:24
RGB spectrum.
Definition: spectrum.h:18
Ray class.
Definition: ray.h:24
Interface class which forbids copy and assignment.
Definition: uncopyable.h:15
Scene provides the interface for scene graph.
Definition: scene.h:23