From Joseph Steel, "he change is to initializeExtensionProcs() to

verify the version of the OpenGL implementation before attempting to get the
MaxTextureCoords parameter."
This commit is contained in:
Robert Osfield
2007-12-11 11:57:32 +00:00
parent 880682f138
commit 42723fec8f

View File

@@ -742,12 +742,18 @@ void State::initializeExtensionProcs()
_glDisableVertexAttribArray = (DisableVertexAttribProc) osg::getGLExtensionFuncPtr("glDisableVertexAttribArray","glDisableVertexAttribArrayARB");
_glBindBuffer = (BindBufferProc) osg::getGLExtensionFuncPtr("glBindBuffer","glBindBufferARB");
_glMaxTextureCoords = 1;
glGetIntegerv(GL_MAX_TEXTURE_COORDS,&_glMaxTextureCoords);
_glMaxTextureUnits = 1;
glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,&_glMaxTextureUnits);
_glMaxTextureUnits = maximum(_glMaxTextureCoords,_glMaxTextureUnits);
if (osg::getGLVersionNumber() < 2.0)
{
_glMaxTextureCoords = _glMaxTextureUnits;
}
else
{
glGetIntegerv(GL_MAX_TEXTURE_COORDS,&_glMaxTextureCoords);
_glMaxTextureUnits = maximum(_glMaxTextureCoords,_glMaxTextureUnits);
}
_extensionProcsInitialized = true;
}