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;
32 std::vector<Light*> m_lights;
35 Scene& operator=(const Scene& );
42 std::vector<Primitive*> m_primitives;