1
0
forked from 0ad/0ad

Removes binding additional attribute for water shader added in 1d9a8b2b0b.

Reported By: Freagarach
This was SVN commit r26223.
This commit is contained in:
Vladislav Belov 2022-01-15 16:47:42 +00:00
parent a4a647e9f0
commit 40e75f9c89
3 changed files with 6 additions and 5 deletions

View File

@ -1370,7 +1370,7 @@ void CPatchRData::BuildWater()
} }
} }
void CPatchRData::RenderWaterSurface(CShaderProgramPtr& shader) void CPatchRData::RenderWaterSurface(CShaderProgramPtr& shader, const bool bindWaterData)
{ {
ASSERT(m_UpdateFlags == 0); ASSERT(m_UpdateFlags == 0);
@ -1382,6 +1382,7 @@ void CPatchRData::RenderWaterSurface(CShaderProgramPtr& shader)
// Setup data pointers. // Setup data pointers.
const GLsizei stride = sizeof(SWaterVertex); const GLsizei stride = sizeof(SWaterVertex);
shader->VertexPointer(3, GL_FLOAT, stride, &base[m_VBWater->m_Index].m_Position); shader->VertexPointer(3, GL_FLOAT, stride, &base[m_VBWater->m_Index].m_Position);
if (bindWaterData)
shader->VertexAttribPointer(str_a_waterInfo, 2, GL_FLOAT, false, stride, &base[m_VBWater->m_Index].m_WaterData); shader->VertexAttribPointer(str_a_waterInfo, 2, GL_FLOAT, false, stride, &base[m_VBWater->m_Index].m_WaterData);
shader->AssertPointersBound(); shader->AssertPointersBound();

View File

@ -47,7 +47,7 @@ public:
void RenderOutline(); void RenderOutline();
void RenderPriorities(CTextRenderer& textRenderer); void RenderPriorities(CTextRenderer& textRenderer);
void RenderWaterSurface(CShaderProgramPtr& shader); void RenderWaterSurface(CShaderProgramPtr& shader, const bool bindWaterData);
void RenderWaterShore(CShaderProgramPtr& shader); void RenderWaterShore(CShaderProgramPtr& shader);
CPatch* GetPatch() { return m_Patch; } CPatch* GetPatch() { return m_Patch; }

View File

@ -486,7 +486,7 @@ bool TerrainRenderer::RenderFancyWater(const CShaderDefines& context, int cullGr
for (size_t i = 0; i < visiblePatches.size(); ++i) for (size_t i = 0; i < visiblePatches.size(); ++i)
{ {
CPatchRData* data = visiblePatches[i]; CPatchRData* data = visiblePatches[i];
data->RenderWaterSurface(fancyWaterShader); data->RenderWaterSurface(fancyWaterShader, true);
data->RenderWaterShore(fancyWaterShader); data->RenderWaterShore(fancyWaterShader);
} }
m->fancyWaterTech->EndPass(); m->fancyWaterTech->EndPass();
@ -536,7 +536,7 @@ void TerrainRenderer::RenderSimpleWater(int cullGroup)
for (size_t i = 0; i < visiblePatches.size(); ++i) for (size_t i = 0; i < visiblePatches.size(); ++i)
{ {
CPatchRData* data = visiblePatches[i]; CPatchRData* data = visiblePatches[i];
data->RenderWaterSurface(waterSimpleShader); data->RenderWaterSurface(waterSimpleShader, false);
} }
g_Renderer.BindTexture(1, 0); g_Renderer.BindTexture(1, 0);