From 21f674abd9a508c832ad7499163af2f8d5d5c850 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Tue, 15 Jan 2013 03:34:01 +0000 Subject: [PATCH] - see if this fixes color picking --- source/glest_game/graphics/renderer.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/source/glest_game/graphics/renderer.cpp b/source/glest_game/graphics/renderer.cpp index 91ff1de7..52108378 100644 --- a/source/glest_game/graphics/renderer.cpp +++ b/source/glest_game/graphics/renderer.cpp @@ -7402,10 +7402,12 @@ vector Renderer::renderUnitsFast(bool renderingShadows, bool colorPickin const World *world= game->getWorld(); assert(world != NULL); - //assertGl(); - VisibleQuadContainerCache &qCache = getQuadCache(); if(qCache.visibleQuadUnitList.empty() == false) { + if(colorPickingSelection == true) { + unitsList.reserve(qCache.visibleQuadUnitList.size()); + } + bool modelRenderStarted = false; for(int visibleUnitIndex = 0; visibleUnitIndex < qCache.visibleQuadUnitList.size(); ++visibleUnitIndex) { @@ -7506,13 +7508,12 @@ vector Renderer::renderObjectsFast(bool renderingShadows, bool resour return objectList; } - //const World *world= game->getWorld(); - //const Map *map= world->getMap(); - - assertGl(); - VisibleQuadContainerCache &qCache = getQuadCache(); if(qCache.visibleObjectList.empty() == false) { + if(colorPickingSelection == true) { + objectList.reserve(qCache.visibleObjectList.size()); + } + bool modelRenderStarted = false; for(int visibleIndex = 0; visibleIndex < qCache.visibleObjectList.size(); ++visibleIndex) { @@ -7575,8 +7576,6 @@ vector Renderer::renderObjectsFast(bool renderingShadows, bool resour if(colorPickingSelection == true) { o->setUniquePickingColor(); objectList.push_back(o); - - //assertGl(); } modelRenderer->render(objModel,resourceOnly?rmSelection:rmNormal); @@ -7598,8 +7597,6 @@ vector Renderer::renderObjectsFast(bool renderingShadows, bool resour } } - assertGl(); - return objectList; }