From 81af3c7f8cfbe57ae27863d45eb55a2ac8619857 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Sat, 17 Jul 2010 12:41:05 +0000 Subject: [PATCH] - more rendering improvements when fps starts to drop to 20 or less --- source/glest_game/graphics/renderer.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source/glest_game/graphics/renderer.cpp b/source/glest_game/graphics/renderer.cpp index a1dc66be..e7fa091b 100644 --- a/source/glest_game/graphics/renderer.cpp +++ b/source/glest_game/graphics/renderer.cpp @@ -151,6 +151,8 @@ const Vec4f Renderer::defColor= Vec4f(1.f, 1.f, 1.f, 1.f); //const float Renderer::maxLightDist= 100.f; const float Renderer::maxLightDist= 1000.f; +const int MIN_FPS_NORMAL_RENDERING = 20; + // ==================== constructor and destructor ==================== Renderer::Renderer(){ @@ -1300,7 +1302,8 @@ void Renderer::renderObjects(const int renderFps, const int worldFrameCount) { glPushAttrib(GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT | GL_FOG_BIT | GL_LIGHTING_BIT | GL_TEXTURE_BIT); - if(shadows==sShadowMapping){ + if(renderFps >= MIN_FPS_NORMAL_RENDERING && + shadows == sShadowMapping){ glActiveTexture(shadowTexUnit); glEnable(GL_TEXTURE_2D); @@ -1550,6 +1553,11 @@ void Renderer::renderUnits(const int renderFps, const int worldFrameCount) { glPopMatrix(); unit->setVisible(true); + + if(allowRenderUnitTitles == true) { + // Add to the pending render unit title list + renderUnitTitleList.push_back(std::pair(unit,computeScreenPosition(unit->getCurrVectorFlat())) ); + } } else { @@ -2275,7 +2283,8 @@ void Renderer::computeSelected(Selection::UnitContainer &units, const Vec2i &pos // ==================== shadows ==================== void Renderer::renderShadowsToTexture(const int renderFps){ - if(shadows==sProjected || shadows==sShadowMapping){ + if(renderFps >= MIN_FPS_NORMAL_RENDERING && + (shadows==sProjected || shadows==sShadowMapping)) { shadowMapFrame= (shadowMapFrame + 1) % (shadowFrameSkip + 1);