/* ================================================================ RenderScene ---------------- This header file describes the RenderScene class. A RenderScene is the class that contains the rendering objects for a 3D scene. Additionally, it contains a vector of RenderCamera classes, each of which correspond to a different scene perspective. ================================================================ */ #ifndef RENDERSCENE_HPP #define RENDERSCENE_HPP #include "common.hpp" #include "RenderCamera.hpp" #include "RenderSet.hpp" #include "Program.hpp" #include class RenderScene { public: RenderScene(); ~RenderScene(); int doRender(); int renderTo(RenderView *target_view, Program *render_program); int addCamera(RenderCamera* camera); int remCamera(RenderCamera* camera); int remCamera(int id); RenderCamera* getCamera(int id); std::vector *getCameras(); int addSet(RenderSet *set); int remSet(RenderSet *set); int remSet(int id); RenderSet* getSet(int id); std::vector *getSets(); private: std::vector cameras; // Our scene's cameras std::vector sets; // Our scene's render sets }; #endif