]> git.lizzy.rs Git - dragonblocks3d.git/blobdiff - src/dragonblocks/scene.cpp
Multithreading
[dragonblocks3d.git] / src / dragonblocks / scene.cpp
index 6ef5bb715386c349ce147afda6d47081efdb1dae..fa230b5d6738ccce1b5967bd03c75423c45bf69d 100644 (file)
@@ -6,24 +6,26 @@ using namespace dragonblocks;
 
 void Scene::add(Mesh *m)
 {
-       list[m] = true;
+       meshes.insert(m);
 }
 
 void Scene::remove(Mesh *m)
 {
-       list.erase(m);
+       meshes.erase(m);
 }
 
 void Scene::render(double dtime, ShaderProgram *shader_program)
 {
-       for (auto it = list.begin(); it != list.end(); it++) {
-               it->first->render(dtime, shader_program);
+       auto renderlist = meshes;
+       for (auto it = renderlist.begin(); it != renderlist.end(); it++) {
+               Mesh *mesh = *it;
+               mesh->render(dtime, shader_program);
        }
 }
 
 void Scene::clear()
 {
-       list.clear();
+       meshes.clear();
 }
 
 Scene::~Scene()