* Fix for a crash in game engine vertex array drawing with texfaces.

* For 2D filters, don't require opengl 2.0 but just the extensions,
  so it works on computers without full 2.0 support too.
* In debug mode, don't print memory statistics for preview render.
This commit is contained in:
Brecht Van Lommel
2008-06-18 10:30:14 +00:00
parent 5cd4b6ac90
commit 3f488f4d70
3 changed files with 25 additions and 14 deletions

View File

@@ -142,6 +142,9 @@ void RAS_VAOpenGLRasterizer::IndexPrimitives( const vecVertexArray& vertexarrays
glColor3d(0,0,0);
}
EnableTextures(false);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
// use glDrawElements to draw each vertexarray
for (vt=0;vt<vertexarrays.size();vt++)
{
@@ -168,6 +171,8 @@ void RAS_VAOpenGLRasterizer::IndexPrimitives( const vecVertexArray& vertexarrays
}
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
void RAS_VAOpenGLRasterizer::IndexPrimitivesMulti( const vecVertexArray& vertexarrays,
@@ -281,6 +286,8 @@ void RAS_VAOpenGLRasterizer::TexCoordPtr(const RAS_TexVert *tv)
break;
}
}
glClientActiveTextureARB(GL_TEXTURE0_ARB);
}
if(GLEW_ARB_vertex_program) {
@@ -359,10 +366,14 @@ void RAS_VAOpenGLRasterizer::EnableTextures(bool enable)
break;
}
}
glClientActiveTextureARB(GL_TEXTURE0_ARB);
}
else {
if(enable) glEnableClientState(GL_TEXTURE_COORD_ARRAY);
else glDisableClientState(GL_TEXTURE_COORD_ARRAY);
if(texco_num) {
if(enable) glEnableClientState(GL_TEXTURE_COORD_ARRAY);
else glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
}
if(GLEW_ARB_vertex_program) {
@@ -383,5 +394,10 @@ void RAS_VAOpenGLRasterizer::EnableTextures(bool enable)
}
}
}
if(!enable) {
m_last_texco_num = 0;
m_last_attrib_num = 0;
}
}