Do not depend on GLU, it will vanish in the future, at least in its current

form.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@746 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
spanne 2008-11-02 19:26:36 +00:00
parent 4dc68a17e3
commit 097aea69d4

View File

@ -76,6 +76,41 @@ int FGAPIENTRY glutExtensionSupported( const char* extension )
return 0 ; return 0 ;
} }
#ifndef GL_INVALID_FRAMEBUFFER_OPERATION
#ifdef GL_INVALID_FRAMEBUFFER_OPERATION_EXT
#define GL_INVALID_FRAMEBUFFER_OPERATION GL_INVALID_FRAMEBUFFER_OPERATION_EXT
#else
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
#endif
#endif
#ifndef GL_TEXTURE_TOO_LARGE
#ifdef GL_TEXTURE_TOO_LARGE_EXT
#define GL_TEXTURE_TOO_LARGE GL_TEXTURE_TOO_LARGE_EXT
#else
#define GL_TEXTURE_TOO_LARGE 0x8065
#endif
#endif
/*
* A cut-down local version of gluErrorString to avoid depending on GLU.
*/
static const char* fghErrorString( GLenum error )
{
switch ( error ) {
case GL_INVALID_ENUM: return "invalid enumerant";
case GL_INVALID_VALUE: return "invalid value";
case GL_INVALID_OPERATION: return "invalid operation";
case GL_STACK_OVERFLOW: return "stack overflow";
case GL_STACK_UNDERFLOW: return "stack underflow";
case GL_OUT_OF_MEMORY: return "out of memory";
case GL_TABLE_TOO_LARGE: return "table too large";
case GL_INVALID_FRAMEBUFFER_OPERATION: return "invalid framebuffer operation";
case GL_TEXTURE_TOO_LARGE: return "texture too large";
default: return "unknown GL error";
}
}
/* /*
* This function reports all the OpenGL errors that happened till now * This function reports all the OpenGL errors that happened till now
*/ */
@ -84,7 +119,7 @@ void FGAPIENTRY glutReportErrors( void )
GLenum error; GLenum error;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutReportErrors" ); FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutReportErrors" );
while( ( error = glGetError() ) != GL_NO_ERROR ) while( ( error = glGetError() ) != GL_NO_ERROR )
fgWarning( "GL error: %s", gluErrorString( error ) ); fgWarning( "GL error: %s", fghErrorString( error ) );
} }
/* /*