38 lines
1.2 KiB
C++
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
|