RtB/src/RenderScene.hpp

38 lines
1.2 KiB
C++

/* ================================================================
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 <vector>
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<RenderCamera*> *getCameras();
int addSet(RenderSet *set);
int remSet(RenderSet *set);
int remSet(int id);
RenderSet* getSet(int id);
std::vector<RenderSet*> *getSets();
private:
std::vector<RenderCamera*> cameras; // Our scene's cameras
std::vector<RenderSet*> sets; // Our scene's render sets
};
#endif