mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Removes direct shader binding, uses BeginPass always following e1374252b7.
Tested By: Stan Differential Revision: https://code.wildfiregames.com/D4431 This was SVN commit r26199.
This commit is contained in:
@@ -148,8 +148,6 @@ void CLOSTexture::InterpolateLOS(Renderer::Backend::GL::CDeviceCommandContext* d
|
||||
|
||||
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 @@ void CLOSTexture::InterpolateLOS(Renderer::Backend::GL::CDeviceCommandContext* d
|
||||
|
||||
g_Renderer.SetViewport(oldVp);
|
||||
|
||||
shader->Unbind();
|
||||
m_SmoothTech->EndPass();
|
||||
|
||||
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
|
||||
|
||||
@@ -431,7 +431,6 @@ void OverlayRenderer::RenderTexturedOverlayLines()
|
||||
|
||||
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 @@ void OverlayRenderer::RenderTexturedOverlayLines()
|
||||
|
||||
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 @@ void OverlayRenderer::RenderQuadOverlays()
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -416,8 +416,6 @@ void CPostprocManager::ApplyEffect(CShaderTechniquePtr &shaderTech1, int pass)
|
||||
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 @@ void CPostprocManager::ApplyEffect(CShaderTechniquePtr &shaderTech1, int pass)
|
||||
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 @@ void CPostprocManager::ApplyEffect(CShaderTechniquePtr &shaderTech1, int pass)
|
||||
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 @@ void CPostprocManager::ApplyEffect(CShaderTechniquePtr &shaderTech1, int pass)
|
||||
shader->AssertPointersBound();
|
||||
glDrawArrays(GL_TRIANGLES, 0, 6);
|
||||
|
||||
shader->Unbind();
|
||||
|
||||
shaderTech1->EndPass(pass);
|
||||
|
||||
glDepthMask(GL_TRUE);
|
||||
|
||||
@@ -225,7 +225,6 @@ void TerrainOverlay::RenderTile(const CColor& color, bool draw_hidden, ssize_t i
|
||||
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 @@ void TerrainOverlay::RenderTile(const CColor& color, bool draw_hidden, ssize_t i
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
glDrawArrays(GL_TRIANGLES, 0, vertices.size() / 3);
|
||||
|
||||
overlayShader->Unbind();
|
||||
overlayTech->EndPass();
|
||||
#endif
|
||||
}
|
||||
@@ -287,7 +285,6 @@ void TerrainOverlay::RenderTileOutline(const CColor& color, int line_width, bool
|
||||
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 @@ void TerrainOverlay::RenderTileOutline(const CColor& color, int line_width, bool
|
||||
|
||||
glDrawArrays(GL_QUADS, 0, vertices.size() / 3);
|
||||
|
||||
overlayShader->Unbind();
|
||||
overlayTech->EndPass();
|
||||
|
||||
if (line_width != 1)
|
||||
|
||||
@@ -181,7 +181,6 @@ void TerrainRenderer::RenderTerrainOverlayTexture(int cullGroup, CMatrix3D& text
|
||||
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 @@ void TerrainRenderer::RenderTerrainOverlayTexture(int cullGroup, CMatrix3D& text
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
}
|
||||
|
||||
debugOverlayShader->Unbind();
|
||||
debugOverlayTech->EndPass();
|
||||
|
||||
glDepthMask(1);
|
||||
@@ -521,7 +519,6 @@ void TerrainRenderer::RenderSimpleWater(int cullGroup)
|
||||
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 @@ void TerrainRenderer::RenderSimpleWater(int cullGroup)
|
||||
data->RenderWater(waterSimpleShader, false, true);
|
||||
}
|
||||
|
||||
waterSimpleShader->Unbind();
|
||||
g_Renderer.BindTexture(1, 0);
|
||||
|
||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
|
||||
Reference in New Issue
Block a user