forked from 0ad/0ad
Fixed fixed renderpath: green water, broken minimap
This was SVN commit r12588.
This commit is contained in:
parent
d45a044445
commit
affe91b52c
@ -338,11 +338,6 @@ void CMiniMap::Draw()
|
||||
tech->BeginPass();
|
||||
shader = tech->GetShader();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader = g_Renderer.GetShaderManager().LoadProgram("fixed:dummy", CShaderDefines());
|
||||
shader->Bind();
|
||||
}
|
||||
|
||||
const float x = m_CachedActualSize.left, y = m_CachedActualSize.bottom;
|
||||
const float x2 = m_CachedActualSize.right, y2 = m_CachedActualSize.top;
|
||||
@ -351,9 +346,10 @@ void CMiniMap::Draw()
|
||||
const float angle = GetAngle();
|
||||
|
||||
// Draw the main textured quad
|
||||
//g_Renderer.BindTexture(0, m_TerrainTexture);
|
||||
|
||||
shader->BindTexture("baseTex", m_TerrainTexture);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_TerrainTexture);
|
||||
else
|
||||
g_Renderer.BindTexture(0, m_TerrainTexture);
|
||||
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
@ -364,9 +360,11 @@ void CMiniMap::Draw()
|
||||
// Draw territory boundaries
|
||||
CTerritoryTexture& territoryTexture = g_Game->GetView()->GetTerritoryTexture();
|
||||
|
||||
shader->BindTexture("baseTex", territoryTexture.GetTexture());
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", territoryTexture.GetTexture());
|
||||
else
|
||||
territoryTexture.BindTexture(0);
|
||||
|
||||
//territoryTexture.BindTexture(0);
|
||||
glEnable(GL_BLEND);
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadMatrixf(territoryTexture.GetMinimapTextureMatrix());
|
||||
@ -392,11 +390,13 @@ void CMiniMap::Draw()
|
||||
tech = g_Renderer.GetShaderManager().LoadEffect(CStrIntern("minimap"), g_Renderer.GetSystemShaderDefines(), defines);
|
||||
tech->BeginPass();
|
||||
shader = tech->GetShader();
|
||||
shader->BindTexture("baseTex", losTexture.GetTexture());
|
||||
}
|
||||
else
|
||||
{
|
||||
losTexture.BindTexture(0);
|
||||
}
|
||||
|
||||
shader->BindTexture("baseTex", losTexture.GetTexture());
|
||||
|
||||
//losTexture.BindTexture(0);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_REPLACE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_PRIMARY_COLOR_ARB);
|
||||
@ -478,8 +478,17 @@ void CMiniMap::Draw()
|
||||
{
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
shader->VertexPointer(2, GL_FLOAT, sizeof(MinimapUnitVertex), &vertexArray[0].x);
|
||||
shader->ColorPointer(4, GL_UNSIGNED_BYTE, sizeof(MinimapUnitVertex), &vertexArray[0].r);
|
||||
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
{
|
||||
shader->VertexPointer(2, GL_FLOAT, sizeof(MinimapUnitVertex), &vertexArray[0].x);
|
||||
shader->ColorPointer(4, GL_UNSIGNED_BYTE, sizeof(MinimapUnitVertex), &vertexArray[0].r);
|
||||
}
|
||||
else
|
||||
{
|
||||
glVertexPointer(2, GL_FLOAT, sizeof(MinimapUnitVertex), &vertexArray[0].x);
|
||||
glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(MinimapUnitVertex), &vertexArray[0].r);
|
||||
}
|
||||
|
||||
glDrawArrays(GL_POINTS, 0, (GLsizei)vertexArray.size());
|
||||
|
||||
@ -513,10 +522,6 @@ void CMiniMap::Draw()
|
||||
{
|
||||
tech->EndPass();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader->Unbind();
|
||||
}
|
||||
|
||||
// Reset everything back to normal
|
||||
glPointSize(1.0f);
|
||||
|
@ -583,19 +583,22 @@ void OverlayRenderer::RenderForegroundOverlays(const CCamera& viewCamera)
|
||||
tech->BeginPass();
|
||||
shader = tech->GetShader();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader = g_Renderer.GetShaderManager().LoadProgram("fixed:dummy", CShaderDefines());
|
||||
shader->Bind();
|
||||
}
|
||||
|
||||
float uvs[8] = { 0,0, 1,0, 1,1, 0,1 };
|
||||
shader->TexCoordPointer(GL_TEXTURE0, 2, GL_FLOAT, sizeof(float)*2, &uvs[0]);
|
||||
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->TexCoordPointer(GL_TEXTURE0, 2, GL_FLOAT, sizeof(float)*2, &uvs[0]);
|
||||
else
|
||||
glTexCoordPointer(2, GL_FLOAT, sizeof(float)*2, &uvs);
|
||||
|
||||
for (size_t i = 0; i < m->sprites.size(); ++i)
|
||||
{
|
||||
SOverlaySprite* sprite = m->sprites[i];
|
||||
shader->BindTexture("baseTex", sprite->m_Texture);
|
||||
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", sprite->m_Texture);
|
||||
else
|
||||
sprite->m_Texture->Bind();
|
||||
|
||||
CVector3D pos[4] = {
|
||||
sprite->m_Position + right*sprite->m_X0 + up*sprite->m_Y0,
|
||||
@ -604,7 +607,11 @@ void OverlayRenderer::RenderForegroundOverlays(const CCamera& viewCamera)
|
||||
sprite->m_Position + right*sprite->m_X0 + up*sprite->m_Y1
|
||||
};
|
||||
|
||||
shader->VertexPointer(3, GL_FLOAT, sizeof(float)*3, &pos[0].X);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->VertexPointer(3, GL_FLOAT, sizeof(float)*3, &pos[0].X);
|
||||
else
|
||||
glVertexPointer(3, GL_FLOAT, sizeof(float)*3, &pos[0].X);
|
||||
|
||||
glDrawArrays(GL_QUADS, 0, (GLsizei)4);
|
||||
|
||||
g_Renderer.GetStats().m_DrawCalls++;
|
||||
@ -612,13 +619,7 @@ void OverlayRenderer::RenderForegroundOverlays(const CCamera& viewCamera)
|
||||
}
|
||||
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
{
|
||||
tech->EndPass();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader->Unbind();
|
||||
}
|
||||
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
|
@ -140,6 +140,9 @@ void SkyManager::RenderSky()
|
||||
return;
|
||||
|
||||
glDepthMask( GL_FALSE );
|
||||
|
||||
pglActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glPushMatrix();
|
||||
@ -166,14 +169,13 @@ void SkyManager::RenderSky()
|
||||
skytech->BeginPass();
|
||||
shader = skytech->GetShader();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader = g_Renderer.GetShaderManager().LoadProgram("fixed:dummy", CShaderDefines());
|
||||
shader->Bind();
|
||||
}
|
||||
|
||||
// Front face (positive Z)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[FRONT]);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[FRONT]);
|
||||
else
|
||||
m_SkyTexture[FRONT]->Bind();
|
||||
|
||||
glBegin( GL_QUADS );
|
||||
glTexCoord2f( 0, 1 );
|
||||
glVertex3f( -D, -D, +D );
|
||||
@ -186,7 +188,11 @@ void SkyManager::RenderSky()
|
||||
glEnd();
|
||||
|
||||
// Back face (negative Z)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[BACK]);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[BACK]);
|
||||
else
|
||||
m_SkyTexture[BACK]->Bind();
|
||||
|
||||
glBegin( GL_QUADS );
|
||||
glTexCoord2f( 1, 1 );
|
||||
glVertex3f( -D, -D, -D );
|
||||
@ -199,7 +205,11 @@ void SkyManager::RenderSky()
|
||||
glEnd();
|
||||
|
||||
// Right face (negative X)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[RIGHT]);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[RIGHT]);
|
||||
else
|
||||
m_SkyTexture[RIGHT]->Bind();
|
||||
|
||||
glBegin( GL_QUADS );
|
||||
glTexCoord2f( 0, 1 );
|
||||
glVertex3f( -D, -D, -D );
|
||||
@ -212,7 +222,11 @@ void SkyManager::RenderSky()
|
||||
glEnd();
|
||||
|
||||
// Left face (positive X)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[LEFT]);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[LEFT]);
|
||||
else
|
||||
m_SkyTexture[LEFT]->Bind();
|
||||
|
||||
glBegin( GL_QUADS );
|
||||
glTexCoord2f( 1, 1 );
|
||||
glVertex3f( +D, -D, -D );
|
||||
@ -225,7 +239,11 @@ void SkyManager::RenderSky()
|
||||
glEnd();
|
||||
|
||||
// Top face (positive Y)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[TOP]);
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
shader->BindTexture("baseTex", m_SkyTexture[TOP]);
|
||||
else
|
||||
m_SkyTexture[TOP]->Bind();
|
||||
|
||||
glBegin( GL_QUADS );
|
||||
glTexCoord2f( 1, 0 );
|
||||
glVertex3f( +D, +D, -D );
|
||||
@ -238,13 +256,7 @@ void SkyManager::RenderSky()
|
||||
glEnd();
|
||||
|
||||
if (g_Renderer.GetRenderPath() == CRenderer::RP_SHADER)
|
||||
{
|
||||
skytech->EndPass();
|
||||
}
|
||||
else
|
||||
{
|
||||
shader->Unbind();
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user