Removes redundant normalizations for float types.
Tested By: Langbart Differential Revision: https://code.wildfiregames.com/D3517 This was SVN commit r24833.
This commit is contained in:
parent
6dba34e915
commit
a564892fab
@ -638,13 +638,13 @@ public:
|
||||
|
||||
virtual void NormalPointer(GLenum type, GLsizei stride, const void* pointer)
|
||||
{
|
||||
pglVertexAttribPointerARB(2, 3, type, GL_TRUE, stride, pointer);
|
||||
pglVertexAttribPointerARB(2, 3, type, (type == GL_FLOAT ? GL_FALSE : GL_TRUE), stride, pointer);
|
||||
m_ValidStreams |= STREAM_NORMAL;
|
||||
}
|
||||
|
||||
virtual void ColorPointer(GLint size, GLenum type, GLsizei stride, const void* pointer)
|
||||
{
|
||||
pglVertexAttribPointerARB(3, size, type, GL_TRUE, stride, pointer);
|
||||
pglVertexAttribPointerARB(3, size, type, (type == GL_FLOAT ? GL_FALSE : GL_TRUE), stride, pointer);
|
||||
m_ValidStreams |= STREAM_COLOR;
|
||||
}
|
||||
|
||||
|
@ -324,7 +324,7 @@ void InstancingModelRenderer::PrepareModelDef(const CShaderProgramPtr& shader, i
|
||||
shader->NormalPointer(GL_FLOAT, stride, base + m->imodeldef->m_Normal.offset);
|
||||
|
||||
if (m->calculateTangents)
|
||||
shader->VertexAttribPointer(str_a_tangent, 4, GL_FLOAT, GL_TRUE, stride, base + m->imodeldef->m_Tangent.offset);
|
||||
shader->VertexAttribPointer(str_a_tangent, 4, GL_FLOAT, GL_FALSE, stride, base + m->imodeldef->m_Tangent.offset);
|
||||
|
||||
// The last UV set is STREAM_UV3
|
||||
for (size_t uv = 0; uv < 4; ++uv)
|
||||
|
@ -159,6 +159,9 @@ void CPatchRData::BuildBlends()
|
||||
std::vector<STileBlendStack> blendStacks;
|
||||
blendStacks.reserve(PATCH_SIZE*PATCH_SIZE);
|
||||
|
||||
std::vector<STileBlend> blends;
|
||||
blends.reserve(9);
|
||||
|
||||
// For each tile in patch ..
|
||||
for (ssize_t j = 0; j < PATCH_SIZE; ++j)
|
||||
{
|
||||
@ -167,8 +170,7 @@ void CPatchRData::BuildBlends()
|
||||
ssize_t gx = m_Patch->m_X * PATCH_SIZE + i;
|
||||
ssize_t gz = m_Patch->m_Z * PATCH_SIZE + j;
|
||||
|
||||
std::vector<STileBlend> blends;
|
||||
blends.reserve(9);
|
||||
blends.clear();
|
||||
|
||||
// Compute a blend for every tile in the 3x3 square around this tile
|
||||
for (size_t n = 0; n < 9; ++n)
|
||||
@ -973,6 +975,8 @@ void CPatchRData::RenderBlends(
|
||||
const CShaderProgramPtr& shader = techBase->GetShader(pass);
|
||||
TerrainRenderer::PrepareShader(shader, shadow);
|
||||
|
||||
Handle lastBlendTex = 0;
|
||||
|
||||
for (BatchesStack::iterator itt = itTechBegin; itt != itTechEnd; ++itt)
|
||||
{
|
||||
if (itt->m_Texture->GetMaterial().GetSamplers().empty())
|
||||
@ -984,7 +988,12 @@ void CPatchRData::RenderBlends(
|
||||
for (const CMaterial::TextureSampler& samp : samplers)
|
||||
shader->BindTexture(samp.Name, samp.Sampler);
|
||||
|
||||
shader->BindTexture(str_blendTex, itt->m_Texture->m_TerrainAlpha->second.m_hCompositeAlphaMap);
|
||||
Handle currentBlendTex = itt->m_Texture->m_TerrainAlpha->second.m_hCompositeAlphaMap;
|
||||
if (currentBlendTex != lastBlendTex)
|
||||
{
|
||||
shader->BindTexture(str_blendTex, currentBlendTex);
|
||||
lastBlendTex = currentBlendTex;
|
||||
}
|
||||
|
||||
itt->m_Texture->GetMaterial().GetStaticUniforms().BindUniforms(shader);
|
||||
|
||||
|
@ -887,7 +887,7 @@ void WaterManager::RenderWaves(const CFrustum& frustrum)
|
||||
shader->VertexPointer(3, GL_FLOAT, stride, &base[VBchunk->m_Index].m_BasePosition);
|
||||
shader->TexCoordPointer(GL_TEXTURE0, 2, GL_UNSIGNED_BYTE, stride, &base[VBchunk->m_Index].m_UV);
|
||||
// NormalPointer(gl_FLOAT, stride, &base[m_VBWater->m_Index].m_UV)
|
||||
pglVertexAttribPointerARB(2, 2, GL_FLOAT, GL_TRUE, stride, &base[VBchunk->m_Index].m_PerpVect); // replaces commented above because my normal is vec2
|
||||
pglVertexAttribPointerARB(2, 2, GL_FLOAT, GL_FALSE, stride, &base[VBchunk->m_Index].m_PerpVect); // replaces commented above because my normal is vec2
|
||||
shader->VertexAttribPointer(str_a_apexPosition, 3, GL_FLOAT, false, stride, &base[VBchunk->m_Index].m_ApexPosition);
|
||||
shader->VertexAttribPointer(str_a_splashPosition, 3, GL_FLOAT, false, stride, &base[VBchunk->m_Index].m_SplashPosition);
|
||||
shader->VertexAttribPointer(str_a_retreatPosition, 3, GL_FLOAT, false, stride, &base[VBchunk->m_Index].m_RetreatPosition);
|
||||
|
Loading…
Reference in New Issue
Block a user