9 #include "Primitive.hxx"
17 // add another primitive to the scene
18 void Add(Primitive* p);
19 // add another light source to the scene
22 // intersect the ray with all objects in the scene
23 virtual bool Intersect(Ray& ray);
25 virtual bool Occluded(Ray& ray);
27 // trace the given ray and shade it, returnt the color of the shaded ray
28 Vec3f RayTrace(Ray& ray);
30 const Camera* camera() const;
33 Scene& operator=(const Scene& );
40 std::vector<Primitive*> m_primitives;
42 std::vector<Light*> m_lights;