]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/occludedscene.cpp
Remove the exclusion mechanism from Renderer
[libs/gl.git] / source / render / occludedscene.cpp
index 81af42b3598e1f1cdc7054d0dabc8d41b29a05b9..5d85b5d5bf762d43f056d114e383cd613ef67198 100644 (file)
@@ -13,11 +13,8 @@ namespace GL {
 
 OccludedScene::OccludedScene():
        bounding_mesh(Resources::get_global().get<Mesh>("_occluder.mesh")),
-       bounding_shader(Resources::get_global().get<Program>("_occluder.glsl.shader")),
-       no_depth_write(LEQUAL, false),
-       occluder_min_size(0.25f),
-       queries(OCCLUSION_QUERY, 0),
-       cache_dirty(false)
+       bounding_shader(Resources::get_global().get<Program>("occluder.glsl.shader")),
+       queries(OCCLUSION_QUERY, 0)
 {
        no_color_write.write_mask = WRITE_NONE;
 }
@@ -80,7 +77,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const
        if(!camera)
        {
                for(const OccludedRenderable &o: occluded_cache)
-                       renderer.render(*o.renderable, tag);
+                       o.renderable->render(renderer, tag);
                return;
        }
 
@@ -110,7 +107,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const
                        i->occluder = true;
 
                if(i->occluder)
-                       renderer.render(*i->renderable, tag);
+                       i->renderable->render(renderer, tag);
        }
 
        // Move all objects within the frustum to the beginning of the array
@@ -148,16 +145,8 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const
        // Render anything that has a chance of being visible
        for(auto i=occluded_cache.begin(); (i!=occluded_cache.end() && i->in_frustum); ++i)
                if(!i->occluder && queries.get_result(i-occluded_cache.begin()))
-                       renderer.render(*i->renderable, tag);
+                       i->renderable->render(renderer, tag);
 }
 
-
-OccludedScene::OccludedRenderable::OccludedRenderable():
-       renderable(0),
-       bounding_sphere(0),
-       in_frustum(false),
-       occluder(false)
-{ }
-
 } // namespace GL
 } // namespace Msp