X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Foccludedscene.cpp;fp=source%2Frender%2Foccludedscene.cpp;h=23d79df2ab71a8185bd79318cc3194f692a38bbb;hb=e9a898f315b5d1396f196d785913a283c30940f2;hp=7c043fa691c5ab578fc7da430244db471632bdc0;hpb=bdef3de6559629f25121de2e014383d7f773266b;p=libs%2Fgl.git diff --git a/source/render/occludedscene.cpp b/source/render/occludedscene.cpp index 7c043fa6..23d79df2 100644 --- a/source/render/occludedscene.cpp +++ b/source/render/occludedscene.cpp @@ -26,8 +26,8 @@ OccludedScene::~OccludedScene() { vector queries; queries.reserve(occluded_cache.size()); - for(OccludedArray::iterator i=occluded_cache.begin(); i!=occluded_cache.end(); ++i) - queries.push_back(i->query); + for(OccludedRenderable &o: occluded_cache) + queries.push_back(o.query); glDeleteQueries(queries.size(), &queries[0]); } @@ -58,9 +58,9 @@ void OccludedScene::populate_cache() const occluded_cache[old_size+i].query = new_queries[i]; } - OccludedArray::iterator j = occluded_cache.begin(); - for(RenderableSet::iterator i=renderables.begin(); i!=renderables.end(); ++i, ++j) - j->renderable = *i; + auto j = occluded_cache.begin(); + for(Renderable *r: renderables) + j++->renderable = r; for(; j!=occluded_cache.end(); ++j) { j->renderable = 0; @@ -73,14 +73,14 @@ void OccludedScene::populate_cache() const void OccludedScene::setup_frame(Renderer &renderer) { populate_cache(); - for(OccludedArray::const_iterator i=occluded_cache.begin(); i!=occluded_cache.end(); ++i) - i->renderable->setup_frame(renderer); + for(const OccludedRenderable &o: occluded_cache) + o.renderable->setup_frame(renderer); } void OccludedScene::finish_frame() { - for(OccludedArray::const_iterator i=occluded_cache.begin(); i!=occluded_cache.end(); ++i) - i->renderable->finish_frame(); + for(const OccludedRenderable &o: occluded_cache) + o.renderable->finish_frame(); } void OccludedScene::render(Renderer &renderer, Tag tag) const @@ -93,8 +93,8 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const const Camera *camera = renderer.get_camera(); if(!camera) { - for(OccludedArray::const_iterator i=occluded_cache.begin(); i!=occluded_cache.end(); ++i) - renderer.render(*i->renderable, tag); + for(const OccludedRenderable &o: occluded_cache) + renderer.render(*o.renderable, tag); return; } @@ -105,7 +105,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const // Perform frustum culling and render any major occluders bool use_frustum = setup_frustum(renderer); - for(OccludedArray::iterator i=occluded_cache.begin(); (i!=occluded_cache.end() && i->renderable); ++i) + for(auto i=occluded_cache.begin(); (i!=occluded_cache.end() && i->renderable); ++i) { i->in_frustum = (!use_frustum || !frustum_cull(*i->renderable)); if(!i->in_frustum) @@ -128,7 +128,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const } // Move all objects within the frustum to the beginning of the array - for(OccludedArray::iterator i=occluded_cache.begin(), j=i+renderables.size()-1; i!=j; ) + for(auto i=occluded_cache.begin(), j=i+renderables.size()-1; i!=j; ) { if(i->in_frustum) ++i; @@ -146,7 +146,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const glDepthMask(false); // Fire off the occlusion queries - for(OccludedArray::const_iterator i=occluded_cache.begin(); (i!=occluded_cache.end() && i->in_frustum); ++i) + for(auto i=occluded_cache.begin(); (i!=occluded_cache.end() && i->in_frustum); ++i) if(!i->occluder) { glBeginQuery(GL_ANY_SAMPLES_PASSED, i->query); @@ -163,7 +163,7 @@ void OccludedScene::render(Renderer &renderer, Tag tag) const } // Render anything that has a chance of being visible - for(OccludedArray::const_iterator i=occluded_cache.begin(); (i!=occluded_cache.end() && i->in_frustum); ++i) + for(auto i=occluded_cache.begin(); (i!=occluded_cache.end() && i->in_frustum); ++i) if(!i->occluder) { unsigned any_passed = 0;