]> git.tdb.fi Git - libs/gl.git/blobdiff - source/simplescene.cpp
Further tweak frustum culling to be more efficient
[libs/gl.git] / source / simplescene.cpp
index 7629a8284b4ef213168f60a6d6973a95cab85834..73d08de2322f2194864490bf8b0bb7022678a654 100644 (file)
@@ -28,10 +28,17 @@ void SimpleScene::finish_frame() const
 
 void SimpleScene::render(Renderer &renderer, const Tag &tag) const
 {
-       setup_frustum(renderer);
-       for(RenderableSet::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
-               if(!frustum_cull(renderer, **i))
+       if(setup_frustum(renderer))
+       {
+               for(RenderableSet::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
+                       if(!frustum_cull(**i))
+                               renderer.render(**i, tag);
+       }
+       else
+       {
+               for(RenderableSet::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
                        renderer.render(**i, tag);
+       }
 }
 
 } // namespace GL