]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/dragonblocks/scene.cpp
Frustum & Backface Culling
[dragonblocks3d.git] / src / dragonblocks / scene.cpp
1 #include "mesh.hpp"
2 #include "scene.hpp"
3
4 using namespace std;
5 using namespace dragonblocks;
6
7 void Scene::add(Mesh *m)
8 {
9         meshes.insert(m);
10 }
11
12 void Scene::remove(Mesh *m)
13 {
14         meshes.erase(m);
15 }
16
17 void Scene::render(double dtime, ShaderProgram *shader_program, Frustum *frustum)
18 {
19         auto renderlist = meshes;
20         for (auto it = renderlist.begin(); it != renderlist.end(); it++) {
21                 Mesh *mesh = *it;
22                 mesh->render(dtime, shader_program, frustum);
23         }
24 }
25
26 void Scene::clear()
27 {
28         meshes.clear();
29 }
30
31 Scene::~Scene()
32 {
33         clear();
34 }