Index: ps/trunk/source/graphics/LOSTexture.cpp =================================================================== --- ps/trunk/source/graphics/LOSTexture.cpp +++ ps/trunk/source/graphics/LOSTexture.cpp @@ -148,8 +148,6 @@ glDisable(GL_BLEND); - shader->Bind(); - shader->BindTexture(str_losTex1, m_Texture.get()); shader->BindTexture(str_losTex2, (m_WhichTex ? m_TextureSmooth1 : m_TextureSmooth2).get()); @@ -191,7 +189,6 @@ g_Renderer.SetViewport(oldVp); - shader->Unbind(); m_SmoothTech->EndPass(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); Index: ps/trunk/source/renderer/OverlayRenderer.cpp =================================================================== --- ps/trunk/source/renderer/OverlayRenderer.cpp +++ ps/trunk/source/renderer/OverlayRenderer.cpp @@ -431,7 +431,6 @@ CShaderProgramPtr shaderTexLineNormal = shaderTechTexLineNormal->GetShader(); - shaderTexLineNormal->Bind(); shaderTexLineNormal->BindTexture(str_losTex, los.GetTexture()); shaderTexLineNormal->Uniform(str_losTransform, los.GetTextureMatrix()[0], los.GetTextureMatrix()[12], 0.f, 0.f); @@ -452,7 +451,6 @@ CShaderProgramPtr shaderTexLineAlwaysVisible = shaderTechTexLineAlwaysVisible->GetShader(); - shaderTexLineAlwaysVisible->Bind(); // TODO: losTex and losTransform are unused in the always visible shader; see if these can be safely omitted shaderTexLineAlwaysVisible->BindTexture(str_losTex, los.GetTexture()); shaderTexLineAlwaysVisible->Uniform(str_losTransform, los.GetTextureMatrix()[0], los.GetTextureMatrix()[12], 0.f, 0.f); @@ -529,7 +527,6 @@ CLOSTexture& los = g_Renderer.GetSceneRenderer().GetScene().GetLOSTexture(); - shader->Bind(); shader->BindTexture(str_losTex, los.GetTexture()); shader->Uniform(str_losTransform, los.GetTextureMatrix()[0], los.GetTextureMatrix()[12], 0.f, 0.f); Index: ps/trunk/source/renderer/PostprocManager.cpp =================================================================== --- ps/trunk/source/renderer/PostprocManager.cpp +++ ps/trunk/source/renderer/PostprocManager.cpp @@ -416,8 +416,6 @@ shaderTech1->BeginPass(pass); CShaderProgramPtr shader = shaderTech1->GetShader(pass); - shader->Bind(); - // Use the textures from the current FBO as input to the shader. // We also bind a bunch of other textures and parameters, but since // this only happens once per frame the overhead is negligible. @@ -444,7 +442,8 @@ shader->Uniform(str_saturation, g_LightEnv.m_Saturation); shader->Uniform(str_bloom, g_LightEnv.m_Bloom); - float quadVerts[] = { + float quadVerts[] = + { 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, @@ -453,7 +452,8 @@ 1.0f, -1.0f, 1.0f, 1.0f }; - float quadTex[] = { + float quadTex[] = + { 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, @@ -467,8 +467,6 @@ shader->AssertPointersBound(); glDrawArrays(GL_TRIANGLES, 0, 6); - shader->Unbind(); - shaderTech1->EndPass(pass); glDepthMask(GL_TRUE); Index: ps/trunk/source/renderer/TerrainOverlay.cpp =================================================================== --- ps/trunk/source/renderer/TerrainOverlay.cpp +++ ps/trunk/source/renderer/TerrainOverlay.cpp @@ -225,7 +225,6 @@ overlayTech->BeginPass(); CShaderProgramPtr overlayShader = overlayTech->GetShader(); - overlayShader->Bind(); overlayShader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection()); overlayShader->Uniform(str_color, color); @@ -235,7 +234,6 @@ glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glDrawArrays(GL_TRIANGLES, 0, vertices.size() / 3); - overlayShader->Unbind(); overlayTech->EndPass(); #endif } @@ -287,7 +285,6 @@ overlayTech->BeginPass(); CShaderProgramPtr overlayShader = overlayTech->GetShader(); - overlayShader->Bind(); overlayShader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection()); overlayShader->Uniform(str_color, color); @@ -296,7 +293,6 @@ glDrawArrays(GL_QUADS, 0, vertices.size() / 3); - overlayShader->Unbind(); overlayTech->EndPass(); if (line_width != 1) Index: ps/trunk/source/renderer/TerrainRenderer.cpp =================================================================== --- ps/trunk/source/renderer/TerrainRenderer.cpp +++ ps/trunk/source/renderer/TerrainRenderer.cpp @@ -181,7 +181,6 @@ debugOverlayTech->BeginPass(); CShaderProgramPtr debugOverlayShader = debugOverlayTech->GetShader(); - debugOverlayShader->Bind(); debugOverlayShader->BindTexture(str_baseTex, texture); debugOverlayShader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection()); debugOverlayShader->Uniform(str_textureTransform, textureMatrix); @@ -213,7 +212,6 @@ glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); } - debugOverlayShader->Unbind(); debugOverlayTech->EndPass(); glDepthMask(1); @@ -521,7 +519,6 @@ waterSimpleTech->BeginPass(); CShaderProgramPtr waterSimpleShader = waterSimpleTech->GetShader(); - waterSimpleShader->Bind(); waterSimpleShader->BindTexture(str_baseTex, waterManager.m_WaterTexture[waterManager.GetCurrentTextureIndex(1.6)]); waterSimpleShader->BindTexture(str_losTex, losTexture.GetTextureSmooth()); waterSimpleShader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection()); @@ -536,7 +533,6 @@ data->RenderWater(waterSimpleShader, false, true); } - waterSimpleShader->Unbind(); g_Renderer.BindTexture(1, 0); glActiveTextureARB(GL_TEXTURE0_ARB);