/*=============================================================================
	OpenGlFuncs.h: OpenGL function-declaration macros, to enable dynamic linking
	to OpenGL32.dll or a minidriver such as 3dfxgl.dll.

	Copyright 1997-1999 Epic Games, Inc. All Rights Reserved.

	Format:
	GLDEF(
		Optional (0=required, 1=optional, 2=optional extension),
		Return type,
		Function name,
		(parameters))

	Revision history:
		* Created by Tim Sweeney
=============================================================================*/

/*-----------------------------------------------------------------------------
	Standard OpenGL functions.
-----------------------------------------------------------------------------*/

#if DYNAMIC_BIND
GL_EXT(_GL)

// OpenGL.
GL_PROC(_GL,void,glAccum,(GLenum,GLfloat))
GL_PROC(_GL,void,glAlphaFunc,(GLenum,GLclampf))
GL_PROC(_GL,GLboolean,glAreTexturesResident,(GLsizei,const GLuint*,GLboolean*))
GL_PROC(_GL,void,glArrayElement,(GLint))
GL_PROC(_GL,void,glBegin,(GLenum))
GL_PROC(_GL,void,glBindTexture,(GLenum,GLuint))
GL_PROC(_GL,void,glBitmap,(GLsizei,GLsizei,GLfloat,GLfloat,GLfloat,GLfloat,const GLubyte*))
GL_PROC(_GL,void,glBlendFunc,(GLenum,GLenum))
GL_PROC(_GL,void,glCallList,(GLuint))
GL_PROC(_GL,void,glCallLists,(GLsizei,GLenum,const GLvoid*))
GL_PROC(_GL,void,glClear,(GLbitfield))
GL_PROC(_GL,void,glClearAccum,(GLfloat,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL,void,glClearColor,(GLclampf,GLclampf,GLclampf,GLclampf))
GL_PROC(_GL,void,glClearDepth,(GLclampd))
GL_PROC(_GL,void,glClearIndex,(GLfloat))
GL_PROC(_GL,void,glClearStencil,(GLint))
GL_PROC(_GL,void,glClipPlane,(GLenum,const GLdouble*))
GL_PROC(_GL,void,glColor3b,(GLbyte,GLbyte,GLbyte))
GL_PROC(_GL,void,glColor3bv,(const GLbyte*))
GL_PROC(_GL,void,glColor3d,(GLdouble,GLdouble,GLdouble))
GL_PROC(_GL,void,glColor3dv,(const GLdouble*))
GL_PROC(_GL,void,glColor3f,(GLfloat,GLfloat,GLfloat))
GL_PROC(_GL,void,glColor3fv,(const GLfloat*))
GL_PROC(_GL,void,glColor3i,(GLint,GLint,GLint))
GL_PROC(_GL,void,glColor3iv,(const GLint*))
GL_PROC(_GL,void,glColor3s,(GLshort,GLshort,GLshort))
GL_PROC(_GL,void,glColor3sv,(const GLshort*))
GL_PROC(_GL,void,glColor3ub,(GLubyte,GLubyte,GLubyte))
GL_PROC(_GL,void,glColor3ubv,(const GLubyte*))
GL_PROC(_GL,void,glColor3ui,(GLuint,GLuint,GLuint))
GL_PROC(_GL,void,glColor3uiv,(const GLuint*))
GL_PROC(_GL,void,glColor3us,(GLushort,GLushort,GLushort))
GL_PROC(_GL,void,glColor3usv,(const GLushort*))
GL_PROC(_GL,void,glColor4b,(GLbyte,GLbyte,GLbyte,GLbyte))
GL_PROC(_GL,void,glColor4bv,(const GLbyte*))
GL_PROC(_GL,void,glColor4d,(GLdouble,GLdouble,GLdouble,GLdouble))
GL_PROC(_GL,void,glColor4dv,(const GLdouble*))
GL_PROC(_GL,void,glColor4f,(GLfloat,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL,void,glColor4fv,(const GLfloat*))
GL_PROC(_GL,void,glColor4i,(GLint,GLint,GLint,GLint))
GL_PROC(_GL,void,glColor4iv,(const GLint*))
GL_PROC(_GL,void,glColor4s,(GLshort,GLshort,GLshort,GLshort))
GL_PROC(_GL,void,glColor4sv,(const GLshort*))
GL_PROC(_GL,void,glColor4ub,(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha))
GL_PROC(_GL,void,glColor4ubv,(const GLubyte *v))
GL_PROC(_GL,void,glColor4ui,(GLuint red, GLuint green, GLuint blue, GLuint alpha))
GL_PROC(_GL,void,glColor4uiv,(const GLuint *v))
GL_PROC(_GL,void,glColor4us,(GLushort red, GLushort green, GLushort blue, GLushort alpha))
GL_PROC(_GL,void,glColor4usv,(const GLushort *v))
GL_PROC(_GL,void,glColorMask,(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha))
GL_PROC(_GL,void,glColorMaterial,(GLenum face, GLenum mode))
GL_PROC(_GL,void,glColorPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glCopyPixels,(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type))
GL_PROC(_GL,void,glCopyTexImage1D,(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border))
GL_PROC(_GL,void,glCopyTexImage2D,(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border))
GL_PROC(_GL,void,glCopyTexSubImage1D,(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width))
GL_PROC(_GL,void,glCopyTexSubImage2D,(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height))
GL_PROC(_GL,void,glCullFace,(GLenum mode))
GL_PROC(_GL,void,glDeleteLists,(GLuint list, GLsizei range))
GL_PROC(_GL,void,glDeleteTextures,(GLsizei n, const GLuint *textures))
GL_PROC(_GL,void,glDepthFunc,(GLenum func))
GL_PROC(_GL,void,glDepthMask,(GLboolean flag))
GL_PROC(_GL,void,glDepthRange,(GLclampd zNear, GLclampd zFar))
GL_PROC(_GL,void,glDisable,(GLenum cap))
GL_PROC(_GL,void,glDisableClientState,(GLenum array))
GL_PROC(_GL,void,glDrawArrays,(GLenum mode, GLint first, GLsizei count))
GL_PROC(_GL,void,glDrawBuffer,(GLenum mode))
GL_PROC(_GL,void,glDrawElements,(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices))
GL_PROC(_GL,void,glDrawPixels,(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
GL_PROC(_GL,void,glEdgeFlag,(GLboolean flag))
GL_PROC(_GL,void,glEdgeFlagPointer,(GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glEdgeFlagv,(const GLboolean *flag))
GL_PROC(_GL,void,glEnable,(GLenum cap))
GL_PROC(_GL,void,glEnableClientState,(GLenum array))
GL_PROC(_GL,void,glEnd,(void))
GL_PROC(_GL,void,glEndList,(void))
GL_PROC(_GL,void,glEvalCoord1d,(GLdouble u))
GL_PROC(_GL,void,glEvalCoord1dv,(const GLdouble *u))
GL_PROC(_GL,void,glEvalCoord1f,(GLfloat u))
GL_PROC(_GL,void,glEvalCoord1fv,(const GLfloat *u))
GL_PROC(_GL,void,glEvalCoord2d,(GLdouble u, GLdouble v))
GL_PROC(_GL,void,glEvalCoord2dv,(const GLdouble *u))
GL_PROC(_GL,void,glEvalCoord2f,(GLfloat u, GLfloat v))
GL_PROC(_GL,void,glEvalCoord2fv,(const GLfloat *u))
GL_PROC(_GL,void,glEvalMesh1,(GLenum mode, GLint i1, GLint i2))
GL_PROC(_GL,void,glEvalMesh2,(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2))
GL_PROC(_GL,void,glEvalPoint1,(GLint i))
GL_PROC(_GL,void,glEvalPoint2,(GLint i, GLint j))
GL_PROC(_GL,void,glFeedbackBuffer,(GLsizei size, GLenum type, GLfloat *buffer))
GL_PROC(_GL,void,glFinish,(void))
GL_PROC(_GL,void,glFlush,(void))
GL_PROC(_GL,void,glFogf,(GLenum pname, GLfloat param))
GL_PROC(_GL,void,glFogfv,(GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glFogi,(GLenum pname, GLint param))
GL_PROC(_GL,void,glFogiv,(GLenum pname, const GLint *params))
GL_PROC(_GL,void,glFrontFace,(GLenum mode))
GL_PROC(_GL,void,glFrustum,(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
GL_PROC(_GL,GLuint,glGenLists,(GLsizei range))
GL_PROC(_GL,void,glGenTextures,(GLsizei n, GLuint *textures))
GL_PROC(_GL,void,glGetBooleanv,(GLenum pname, GLboolean *params))
GL_PROC(_GL,void,glGetClipPlane,(GLenum plane, GLdouble *equation))
GL_PROC(_GL,void,glGetDoublev,(GLenum pname, GLdouble *params))
GL_PROC(_GL,GLenum,glGetError,(void))
GL_PROC(_GL,void,glGetFloatv,(GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetIntegerv,(GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetLightfv,(GLenum light, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetLightiv,(GLenum light, GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetMapdv,(GLenum target, GLenum query, GLdouble *v))
GL_PROC(_GL,void,glGetMapfv,(GLenum target, GLenum query, GLfloat *v))
GL_PROC(_GL,void,glGetMapiv,(GLenum target, GLenum query, GLint *v))
GL_PROC(_GL,void,glGetMaterialfv,(GLenum face, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetMaterialiv,(GLenum face, GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetPixelMapfv,(GLenum map, GLfloat *values))
GL_PROC(_GL,void,glGetPixelMapuiv,(GLenum map, GLuint *values))
GL_PROC(_GL,void,glGetPixelMapusv,(GLenum map, GLushort *values))
GL_PROC(_GL,void,glGetPointerv,(GLenum pname, GLvoid* *params))
GL_PROC(_GL,void,glGetPolygonStipple,(GLubyte *mask))
GL_PROC(_GL,const GLubyte *,glGetString,(GLenum name))
GL_PROC(_GL,void,glGetTexEnvfv,(GLenum target, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetTexEnviv,(GLenum target, GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetTexGendv,(GLenum coord, GLenum pname, GLdouble *params))
GL_PROC(_GL,void,glGetTexGenfv,(GLenum coord, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetTexGeniv,(GLenum coord, GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetTexImage,(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels))
GL_PROC(_GL,void,glGetTexLevelParameterfv,(GLenum target, GLint level, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetTexLevelParameteriv,(GLenum target, GLint level, GLenum pname, GLint *params))
GL_PROC(_GL,void,glGetTexParameterfv,(GLenum target, GLenum pname, GLfloat *params))
GL_PROC(_GL,void,glGetTexParameteriv,(GLenum target, GLenum pname, GLint *params))
GL_PROC(_GL,void,glHint,(GLenum target, GLenum mode))
GL_PROC(_GL,void,glIndexMask,(GLuint mask))
GL_PROC(_GL,void,glIndexPointer,(GLenum type, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glIndexd,(GLdouble c))
GL_PROC(_GL,void,glIndexdv,(const GLdouble *c))
GL_PROC(_GL,void,glIndexf,(GLfloat c))
GL_PROC(_GL,void,glIndexfv,(const GLfloat *c))
GL_PROC(_GL,void,glIndexi,(GLint c))
GL_PROC(_GL,void,glIndexiv,(const GLint *c))
GL_PROC(_GL,void,glIndexs,(GLshort c))
GL_PROC(_GL,void,glIndexsv,(const GLshort *c))
GL_PROC(_GL,void,glIndexub,(GLubyte c))
GL_PROC(_GL,void,glIndexubv,(const GLubyte *c))
GL_PROC(_GL,void,glInitNames,(void))
GL_PROC(_GL,void,glInterleavedArrays,(GLenum format, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,GLboolean,glIsEnabled,(GLenum cap))
GL_PROC(_GL,GLboolean,glIsList,(GLuint list))
GL_PROC(_GL,GLboolean,glIsTexture,(GLuint texture))
GL_PROC(_GL,void,glLightModelf,(GLenum pname, GLfloat param))
GL_PROC(_GL,void,glLightModelfv,(GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glLightModeli,(GLenum pname, GLint param))
GL_PROC(_GL,void,glLightModeliv,(GLenum pname, const GLint *params))
GL_PROC(_GL,void,glLightf,(GLenum light, GLenum pname, GLfloat param))
GL_PROC(_GL,void,glLightfv,(GLenum light, GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glLighti,(GLenum light, GLenum pname, GLint param))
GL_PROC(_GL,void,glLightiv,(GLenum light, GLenum pname, const GLint *params))
GL_PROC(_GL,void,glLineStipple,(GLint factor, GLushort pattern))
GL_PROC(_GL,void,glLineWidth,(GLfloat width))
GL_PROC(_GL,void,glListBase,(GLuint base))
GL_PROC(_GL,void,glLoadIdentity,(void))
GL_PROC(_GL,void,glLoadMatrixd,(const GLdouble *m))
GL_PROC(_GL,void,glLoadMatrixf,(const GLfloat *m))
GL_PROC(_GL,void,glLoadName,(GLuint name))
GL_PROC(_GL,void,glLogicOp,(GLenum opcode))
GL_PROC(_GL,void,glMap1d,(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points))
GL_PROC(_GL,void,glMap1f,(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points))
GL_PROC(_GL,void,glMap2d,(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points))
GL_PROC(_GL,void,glMap2f,(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points))
GL_PROC(_GL,void,glMapGrid1d,(GLint un, GLdouble u1, GLdouble u2))
GL_PROC(_GL,void,glMapGrid1f,(GLint un, GLfloat u1, GLfloat u2))
GL_PROC(_GL,void,glMapGrid2d,(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2))
GL_PROC(_GL,void,glMapGrid2f,(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2))
GL_PROC(_GL,void,glMaterialf,(GLenum face, GLenum pname, GLfloat param))
GL_PROC(_GL,void,glMaterialfv,(GLenum face, GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glMateriali,(GLenum face, GLenum pname, GLint param))
GL_PROC(_GL,void,glMaterialiv,(GLenum face, GLenum pname, const GLint *params))
GL_PROC(_GL,void,glMatrixMode,(GLenum mode))
GL_PROC(_GL,void,glMultMatrixd,(const GLdouble *m))
GL_PROC(_GL,void,glMultMatrixf,(const GLfloat *m))
GL_PROC(_GL,void,glNewList,(GLuint list, GLenum mode))
GL_PROC(_GL,void,glNormal3b,(GLbyte nx, GLbyte ny, GLbyte nz))
GL_PROC(_GL,void,glNormal3bv,(const GLbyte *v))
GL_PROC(_GL,void,glNormal3d,(GLdouble nx, GLdouble ny, GLdouble nz))
GL_PROC(_GL,void,glNormal3dv,(const GLdouble *v))
GL_PROC(_GL,void,glNormal3f,(GLfloat nx, GLfloat ny, GLfloat nz))
GL_PROC(_GL,void,glNormal3fv,(const GLfloat *v))
GL_PROC(_GL,void,glNormal3i,(GLint nx, GLint ny, GLint nz))
GL_PROC(_GL,void,glNormal3iv,(const GLint *v))
GL_PROC(_GL,void,glNormal3s,(GLshort nx, GLshort ny, GLshort nz))
GL_PROC(_GL,void,glNormal3sv,(const GLshort *v))
GL_PROC(_GL,void,glNormalPointer,(GLenum type, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glOrtho,(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
GL_PROC(_GL,void,glPassThrough,(GLfloat token))
GL_PROC(_GL,void,glPixelMapfv,(GLenum map, GLsizei mapsize, const GLfloat *values))
GL_PROC(_GL,void,glPixelMapuiv,(GLenum map, GLsizei mapsize, const GLuint *values))
GL_PROC(_GL,void,glPixelMapusv,(GLenum map, GLsizei mapsize, const GLushort *values))
GL_PROC(_GL,void,glPixelStoref,(GLenum pname, GLfloat param))
GL_PROC(_GL,void,glPixelStorei,(GLenum pname, GLint param))
GL_PROC(_GL,void,glPixelTransferf,(GLenum pname, GLfloat param))
GL_PROC(_GL,void,glPixelTransferi,(GLenum pname, GLint param))
GL_PROC(_GL,void,glPixelZoom,(GLfloat xfactor, GLfloat yfactor))
GL_PROC(_GL,void,glPointSize,(GLfloat size))
GL_PROC(_GL,void,glPolygonMode,(GLenum face, GLenum mode))
GL_PROC(_GL,void,glPolygonOffset,(GLfloat factor, GLfloat units))
GL_PROC(_GL,void,glPolygonStipple,(const GLubyte *mask))
GL_PROC(_GL,void,glPopAttrib,(void))
GL_PROC(_GL,void,glPopClientAttrib,(void))
GL_PROC(_GL,void,glPopMatrix,(void))
GL_PROC(_GL,void,glPopName,(void))
GL_PROC(_GL,void,glPrioritizeTextures,(GLsizei n, const GLuint *textures, const GLclampf *priorities))
GL_PROC(_GL,void,glPushAttrib,(GLbitfield mask))
GL_PROC(_GL,void,glPushClientAttrib,(GLbitfield mask))
GL_PROC(_GL,void,glPushMatrix,(void))
GL_PROC(_GL,void,glPushName,(GLuint name))
GL_PROC(_GL,void,glRasterPos2d,(GLdouble x, GLdouble y))
GL_PROC(_GL,void,glRasterPos2dv,(const GLdouble *v))
GL_PROC(_GL,void,glRasterPos2f,(GLfloat x, GLfloat y))
GL_PROC(_GL,void,glRasterPos2fv,(const GLfloat *v))
GL_PROC(_GL,void,glRasterPos2i,(GLint x, GLint y))
GL_PROC(_GL,void,glRasterPos2iv,(const GLint *v))
GL_PROC(_GL,void,glRasterPos2s,(GLshort x, GLshort y))
GL_PROC(_GL,void,glRasterPos2sv,(const GLshort *v))
GL_PROC(_GL,void,glRasterPos3d,(GLdouble x, GLdouble y, GLdouble z))
GL_PROC(_GL,void,glRasterPos3dv,(const GLdouble *v))
GL_PROC(_GL,void,glRasterPos3f,(GLfloat x, GLfloat y, GLfloat z))
GL_PROC(_GL,void,glRasterPos3fv,(const GLfloat *v))
GL_PROC(_GL,void,glRasterPos3i,(GLint x, GLint y, GLint z))
GL_PROC(_GL,void,glRasterPos3iv,(const GLint *v))
GL_PROC(_GL,void,glRasterPos3s,(GLshort x, GLshort y, GLshort z))
GL_PROC(_GL,void,glRasterPos3sv,(const GLshort *v))
GL_PROC(_GL,void,glRasterPos4d,(GLdouble x, GLdouble y, GLdouble z, GLdouble w))
GL_PROC(_GL,void,glRasterPos4dv,(const GLdouble *v))
GL_PROC(_GL,void,glRasterPos4f,(GLfloat x, GLfloat y, GLfloat z, GLfloat w))
GL_PROC(_GL,void,glRasterPos4fv,(const GLfloat *v))
GL_PROC(_GL,void,glRasterPos4i,(GLint x, GLint y, GLint z, GLint w))
GL_PROC(_GL,void,glRasterPos4iv,(const GLint *v))
GL_PROC(_GL,void,glRasterPos4s,(GLshort x, GLshort y, GLshort z, GLshort w))
GL_PROC(_GL,void,glRasterPos4sv,(const GLshort *v))
GL_PROC(_GL,void,glReadBuffer,(GLenum mode))
GL_PROC(_GL,void,glReadPixels,(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels))
GL_PROC(_GL,void,glRectd,(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2))
GL_PROC(_GL,void,glRectdv,(const GLdouble *v1, const GLdouble *v2))
GL_PROC(_GL,void,glRectf,(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2))
GL_PROC(_GL,void,glRectfv,(const GLfloat *v1, const GLfloat *v2))
GL_PROC(_GL,void,glRecti,(GLint x1, GLint y1, GLint x2, GLint y2))
GL_PROC(_GL,void,glRectiv,(const GLint *v1, const GLint *v2))
GL_PROC(_GL,void,glRects,(GLshort x1, GLshort y1, GLshort x2, GLshort y2))
GL_PROC(_GL,void,glRectsv,(const GLshort *v1, const GLshort *v2))
GL_PROC(_GL,GLint,glRenderMode,(GLenum mode))
GL_PROC(_GL,void,glRotated,(GLdouble angle, GLdouble x, GLdouble y, GLdouble z))
GL_PROC(_GL,void,glRotatef,(GLfloat angle, GLfloat x, GLfloat y, GLfloat z))
GL_PROC(_GL,void,glScaled,(GLdouble x, GLdouble y, GLdouble z))
GL_PROC(_GL,void,glScalef,(GLfloat x, GLfloat y, GLfloat z))
GL_PROC(_GL,void,glScissor,(GLint x, GLint y, GLsizei width, GLsizei height))
GL_PROC(_GL,void,glSelectBuffer,(GLsizei size, GLuint *buffer))
GL_PROC(_GL,void,glShadeModel,(GLenum mode))
GL_PROC(_GL,void,glStencilFunc,(GLenum func, GLint ref, GLuint mask))
GL_PROC(_GL,void,glStencilMask,(GLuint mask))
GL_PROC(_GL,void,glStencilOp,(GLenum fail, GLenum zfail, GLenum zpass))
GL_PROC(_GL,void,glTexCoord1d,(GLdouble s))
GL_PROC(_GL,void,glTexCoord1dv,(const GLdouble *v))
GL_PROC(_GL,void,glTexCoord1f,(GLfloat s))
GL_PROC(_GL,void,glTexCoord1fv,(const GLfloat *v))
GL_PROC(_GL,void,glTexCoord1i,(GLint s))
GL_PROC(_GL,void,glTexCoord1iv,(const GLint *v))
GL_PROC(_GL,void,glTexCoord1s,(GLshort s))
GL_PROC(_GL,void,glTexCoord1sv,(const GLshort *v))
GL_PROC(_GL,void,glTexCoord2d,(GLdouble s, GLdouble t))
GL_PROC(_GL,void,glTexCoord2dv,(const GLdouble *v))
GL_PROC(_GL,void,glTexCoord2f,(GLfloat s, GLfloat t))
GL_PROC(_GL,void,glTexCoord2fv,(const GLfloat *v))
GL_PROC(_GL,void,glTexCoord2i,(GLint s, GLint t))
GL_PROC(_GL,void,glTexCoord2iv,(const GLint *v))
GL_PROC(_GL,void,glTexCoord2s,(GLshort s, GLshort t))
GL_PROC(_GL,void,glTexCoord2sv,(const GLshort *v))
GL_PROC(_GL,void,glTexCoord3d,(GLdouble s, GLdouble t, GLdouble r))
GL_PROC(_GL,void,glTexCoord3dv,(const GLdouble *v))
GL_PROC(_GL,void,glTexCoord3f,(GLfloat s, GLfloat t, GLfloat r))
GL_PROC(_GL,void,glTexCoord3fv,(const GLfloat *v))
GL_PROC(_GL,void,glTexCoord3i,(GLint s, GLint t, GLint r))
GL_PROC(_GL,void,glTexCoord3iv,(const GLint *v))
GL_PROC(_GL,void,glTexCoord3s,(GLshort s, GLshort t, GLshort r))
GL_PROC(_GL,void,glTexCoord3sv,(const GLshort *v))
GL_PROC(_GL,void,glTexCoord4d,(GLdouble s, GLdouble t, GLdouble r, GLdouble q))
GL_PROC(_GL,void,glTexCoord4dv,(const GLdouble *v))
GL_PROC(_GL,void,glTexCoord4f,(GLfloat s, GLfloat t, GLfloat r, GLfloat q))
GL_PROC(_GL,void,glTexCoord4fv,(const GLfloat *v))
GL_PROC(_GL,void,glTexCoord4i,(GLint s, GLint t, GLint r, GLint q))
GL_PROC(_GL,void,glTexCoord4iv,(const GLint *v))
GL_PROC(_GL,void,glTexCoord4s,(GLshort s, GLshort t, GLshort r, GLshort q))
GL_PROC(_GL,void,glTexCoord4sv,(const GLshort *v))
GL_PROC(_GL,void,glTexCoordPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glTexEnvf,(GLenum target, GLenum pname, GLfloat param))
GL_PROC(_GL,void,glTexEnvfv,(GLenum target, GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glTexEnvi,(GLenum target, GLenum pname, GLint param))
GL_PROC(_GL,void,glTexEnviv,(GLenum target, GLenum pname, const GLint *params))
GL_PROC(_GL,void,glTexGend,(GLenum coord, GLenum pname, GLdouble param))
GL_PROC(_GL,void,glTexGendv,(GLenum coord, GLenum pname, const GLdouble *params))
GL_PROC(_GL,void,glTexGenf,(GLenum coord, GLenum pname, GLfloat param))
GL_PROC(_GL,void,glTexGenfv,(GLenum coord, GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glTexGeni,(GLenum coord, GLenum pname, GLint param))
GL_PROC(_GL,void,glTexGeniv,(GLenum coord, GLenum pname, const GLint *params))
GL_PROC(_GL,void,glTexImage1D,(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
GL_PROC(_GL,void,glTexImage2D,(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
GL_PROC(_GL,void,glTexParameterf,(GLenum target, GLenum pname, GLfloat param))
GL_PROC(_GL,void,glTexParameterfv,(GLenum target, GLenum pname, const GLfloat *params))
GL_PROC(_GL,void,glTexParameteri,(GLenum target, GLenum pname, GLint param))
GL_PROC(_GL,void,glTexParameteriv,(GLenum target, GLenum pname, const GLint *params))
GL_PROC(_GL,void,glTexSubImage1D,(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels))
GL_PROC(_GL,void,glTexSubImage2D,(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
GL_PROC(_GL,void,glTranslated,(GLdouble x, GLdouble y, GLdouble z))
GL_PROC(_GL,void,glTranslatef,(GLfloat x, GLfloat y, GLfloat z))
GL_PROC(_GL,void,glVertex2d,(GLdouble x, GLdouble y))
GL_PROC(_GL,void,glVertex2dv,(const GLdouble *v))
GL_PROC(_GL,void,glVertex2f,(GLfloat x, GLfloat y))
GL_PROC(_GL,void,glVertex2fv,(const GLfloat *v))
GL_PROC(_GL,void,glVertex2i,(GLint x, GLint y))
GL_PROC(_GL,void,glVertex2iv,(const GLint *v))
GL_PROC(_GL,void,glVertex2s,(GLshort x, GLshort y))
GL_PROC(_GL,void,glVertex2sv,(const GLshort *v))
GL_PROC(_GL,void,glVertex3d,(GLdouble x, GLdouble y, GLdouble z))
GL_PROC(_GL,void,glVertex3dv,(const GLdouble *v))
GL_PROC(_GL,void,glVertex3f,(GLfloat x, GLfloat y, GLfloat z))
GL_PROC(_GL,void,glVertex3fv,(const GLfloat *v))
GL_PROC(_GL,void,glVertex3i,(GLint x, GLint y, GLint z))
GL_PROC(_GL,void,glVertex3iv,(const GLint *v))
GL_PROC(_GL,void,glVertex3s,(GLshort x, GLshort y, GLshort z))
GL_PROC(_GL,void,glVertex3sv,(const GLshort *v))
GL_PROC(_GL,void,glVertex4d,(GLdouble x, GLdouble y, GLdouble z, GLdouble w))
GL_PROC(_GL,void,glVertex4dv,(const GLdouble *v))
GL_PROC(_GL,void,glVertex4f,(GLfloat x, GLfloat y, GLfloat z, GLfloat w))
GL_PROC(_GL,void,glVertex4fv,(const GLfloat *v))
GL_PROC(_GL,void,glVertex4i,(GLint x, GLint y, GLint z, GLint w))
GL_PROC(_GL,void,glVertex4iv,(const GLint *v))
GL_PROC(_GL,void,glVertex4s,(GLshort x, GLshort y, GLshort z, GLshort w))
GL_PROC(_GL,void,glVertex4sv,(const GLshort *v))
GL_PROC(_GL,void,glVertexPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
GL_PROC(_GL,void,glViewport,(GLint x, GLint y, GLsizei width, GLsizei height))

// WGL functions.
GL_PROC(_GL,BOOL,wglCopyContext,(HGLRC,HGLRC,UINT))
GL_PROC(_GL,HGLRC,wglCreateContext,(HDC))
GL_PROC(_GL,HGLRC,wglCreateLayerContext,(HGLRC))
GL_PROC(_GL,BOOL,wglDeleteContext,(HGLRC))
GL_PROC(_GL,HGLRC,wglGetCurrentContext,(VOID))
GL_PROC(_GL,HDC,wglGetCurrentDC,(VOID))
GL_PROC(_GL,PROC,wglGetProcAddress,(LPCSTR))
GL_PROC(_GL,BOOL,wglMakeCurrent,(HDC, HGLRC))
GL_PROC(_GL,BOOL,wglShareLists,(HGLRC,HGLRC))

// GDI functions.
GL_PROC(_GL,INT,ChoosePixelFormat,(HDC hDC,CONST PIXELFORMATDESCRIPTOR*))
GL_PROC(_GL,INT,DescribePixelFormat,(HDC,INT,UINT,PIXELFORMATDESCRIPTOR*))
GL_PROC(_GL,BOOL,GetPixelFormat,(HDC))
GL_PROC(_GL,BOOL,SetPixelFormat,(HDC,INT,CONST PIXELFORMATDESCRIPTOR*))
GL_PROC(_GL,BOOL,SwapBuffers,(HDC hDC))

#endif
/*-----------------------------------------------------------------------------
	OpenGL extensions.
-----------------------------------------------------------------------------*/

// BGRA textures.
GL_EXT(_GL_EXT_bgra)

// Paletted textures.
GL_EXT(_GL_EXT_paletted_texture)
GL_PROC(_GL_EXT_paletted_texture,void,glColorTableEXT,(GLenum target,GLenum internalFormat,GLsizei width,GLenum format,GLenum type,const void *data))
GL_PROC(_GL_EXT_paletted_texture,void,glColorSubTableEXT,(GLenum target,GLsizei start,GLsizei count,GLenum format,GLenum type,const void *data))
GL_PROC(_GL_EXT_paletted_texture,void,glGetColorTableEXT,(GLenum target,GLenum format,GLenum type,void *data))
GL_PROC(_GL_EXT_paletted_texture,void,glGetColorTableParameterivEXT,(GLenum target,GLenum pname,int *params))
GL_PROC(_GL_EXT_paletted_texture,void,glGetColorTableParameterfvEXT,(GLenum target,GLenum pname,float *params))

// S3TC texture compression.
GL_EXT(_GL_S3_s3tc)

// Compiled vertex arrays.
GL_EXT(_GL_EXT_compiled_vertex_array)
GL_PROC(_GL_EXT_compiled_vertex_array,void,glLockArraysEXT,(GLint first, GLsizei count))
GL_PROC(_GL_EXT_compiled_vertex_array,void,glUnlockArraysEXT,(void))

// Swap interval control.
GL_EXT(_WGL_EXT_swap_control)
GL_PROC(_WGL_EXT_swap_control,BOOL,wglSwapIntervalEXT,(int))

// Windows swap control.
GL_EXT(_GL_WIN_swap_hint)

// ARB multitexture.
GL_EXT(_GL_ARB_multitexture)
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord1fARB,(GLenum target,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord2fARB,(GLenum target,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord3fARB,(GLenum target,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord4fARB,(GLenum target,GLfloat,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord1fvARB,(GLenum target,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord2fvARB,(GLenum target,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord3fvARB,(GLenum target,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glMultiTexCoord4fvARB,(GLenum target,GLfloat,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_ARB_multitexture,void,glActiveTextureARB,(GLenum target))
GL_PROC(_GL_ARB_multitexture,void,glClientActiveTextureARB,(GLenum target))
#define GL_ACTIVE_TEXTURE_ARB               0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE_ARB        0x84E1
#define GL_MAX_TEXTURES_UNITS_ARB           0x84E2
#define GL_TEXTURE0_ARB                     0x84C0
#define GL_TEXTURE1_ARB                     0x84C1
#define GL_TEXTURE2_ARB                     0x84C2
#define GL_TEXTURE3_ARB                     0x84C3

// SGI multitexture. outdated!!
/*
GL_EXT(_GL_SGIS_multitexture)
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord1fSGIS,(GLenum target,GLfloat))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord2fSGIS,(GLenum target,GLfloat,GLfloat))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord3fSGIS,(GLenum target,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord4fSGIS,(GLenum target,GLfloat,GLfloat,GLfloat,GLfloat))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord1fvSGIS,(GLenum target,GLfloat*))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord2fvSGIS,(GLenum target,GLfloat*))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord3fvSGIS,(GLenum target,GLfloat*))
GL_PROC(_GL_SGIS_multitexture,void,glMultiTexCoord4fvSGIS,(GLenum target,GLfloat*))
GL_PROC(_GL_SGIS_multitexture,void,glSelectTextureSGIS,(GLenum target))
GL_PROC(_GL_SGIS_multitexture,void,glSelectTextureCoordSetSGIS,(GLenum target))
#define GL_SELECTED_TEXTURE_SGIS            0x835C
#define GL_MAX_TEXTURES_SGIS                0x835D
#define TEXTURE0_SGIS                       0x835E
#define TEXTURE1_SGIS                       0x835F
#define TEXTURE2_SGIS                       0x8360
#define TEXTURE3_SGIS                       0x8361
*/

//WGL_EXT_gamma_control
// SetDeviceGammaRampExt
// GetDeviceGammaRampExt

GL_EXT(_GL_EXT_clip_volume_hint)
// glClipVolumeEXT 0x80F0

GL_EXT(_EXT_point_parameters)
//GL_PROC(2,void,glPointParameterfEXT,(GLenum pname, GLfloat param))
//GL_PROC(2,void,glPointParameterfvEXT,(GLenum pname, GLfloat *params))

GL_EXT(_SGI_cull_vertex)
//GL_PROC(2,void,glCullParameterdvSGI,(GLenum pname, GLdouble* params))
//GL_PROC(2,void,glCullParameterfvSGI,(GLenum pname, GLfloat* params))

//GL_EXT(_GL_EXT_texture_env)
//modulate 2x, etc

// ARB shader objects
GL_EXT(_GL_ARB_shader_objects)
GL_PROC(_GL_ARB_shader_objects,void,glDeleteObjectARB,(GLuint))
GL_PROC(_GL_ARB_shader_objects,GLuint,glGetHandleARB,(GLenum))
GL_PROC(_GL_ARB_shader_objects,void,glDetachObjectARB,(GLuint, GLuint))
GL_PROC(_GL_ARB_shader_objects,GLuint,glCreateShaderObjectARB,(GLenum))
GL_PROC(_GL_ARB_shader_objects,void,glShaderSourceARB,(GLuint, GLsizei, const GLubyte* *, const GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glCompileShaderARB,(GLuint))
GL_PROC(_GL_ARB_shader_objects,GLuint,glCreateProgramObjectARB,(void))
GL_PROC(_GL_ARB_shader_objects,void,glAttachObjectARB,(GLuint, GLuint))
GL_PROC(_GL_ARB_shader_objects,void,glLinkProgramARB,(GLuint))
GL_PROC(_GL_ARB_shader_objects,void,glUseProgramObjectARB,(GLuint))
GL_PROC(_GL_ARB_shader_objects,void,glValidateProgramARB,(GLuint))
GL_PROC(_GL_ARB_shader_objects,void,glUniform1fARB,(GLint, GLfloat))
GL_PROC(_GL_ARB_shader_objects,void,glUniform2fARB,(GLint, GLfloat, GLfloat))
GL_PROC(_GL_ARB_shader_objects,void,glUniform3fARB,(GLint, GLfloat, GLfloat, GLfloat))
GL_PROC(_GL_ARB_shader_objects,void,glUniform4fARB,(GLint, GLfloat, GLfloat, GLfloat, GLfloat))
GL_PROC(_GL_ARB_shader_objects,void,glUniform1iARB,(GLint, GLint))
GL_PROC(_GL_ARB_shader_objects,void,glUniform2iARB,(GLint, GLint, GLint))
GL_PROC(_GL_ARB_shader_objects,void,glUniform3iARB,(GLint, GLint, GLint, GLint))
GL_PROC(_GL_ARB_shader_objects,void,glUniform4iARB,(GLint, GLint, GLint, GLint, GLint))
GL_PROC(_GL_ARB_shader_objects,void,glUniform1fvARB,(GLint, GLsizei, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform2fvARB,(GLint, GLsizei, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform3fvARB,(GLint, GLsizei, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform4fvARB,(GLint, GLsizei, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform1ivARB,(GLint, GLsizei, const GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform2ivARB,(GLint, GLsizei, const GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform3ivARB,(GLint, GLsizei, const GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glUniform4ivARB,(GLint, GLsizei, const GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glUniformMatrix2fvARB,(GLint, GLsizei, GLboolean, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniformMatrix3fvARB,(GLint, GLsizei, GLboolean, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glUniformMatrix4fvARB,(GLint, GLsizei, GLboolean, const GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glGetObjectParameterfvARB,(GLuint, GLenum, GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glGetObjectParameterivARB,(GLuint, GLenum, GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glGetInfoLogARB,(GLuint, GLsizei, GLsizei *, GLubyte *))
GL_PROC(_GL_ARB_shader_objects,void,glGetAttachedObjectsARB,(GLuint, GLsizei, GLsizei *, GLuint *))
GL_PROC(_GL_ARB_shader_objects,GLuint,glGetUniformLocationARB,(GLuint, const GLubyte *))
GL_PROC(_GL_ARB_shader_objects,void,glGetActiveUniformARB,(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLubyte *))
GL_PROC(_GL_ARB_shader_objects,void,glGetUniformfvARB,(GLuint, GLint, GLfloat *))
GL_PROC(_GL_ARB_shader_objects,void,glGetUniformivARB,(GLuint, GLint, GLint *))
GL_PROC(_GL_ARB_shader_objects,void,glGetShaderSourceARB,(GLuint, GLsizei, GLsizei *, GLubyte *))
#define GL_PROGRAM_OBJECT_ARB											0x8B40
#define GL_SHADER_OBJECT_ARB											0x8B48
#define GL_OBJECT_TYPE_ARB												0x8B4E
#define GL_OBJECT_SUBTYPE_ARB											0x8B4F
#define GL_FLOAT_VEC2_ARB													0x8B50
#define GL_FLOAT_VEC3_ARB													0x8B51
#define GL_FLOAT_VEC4_ARB													0x8B52
#define GL_INT_VEC2_ARB														0x8B53
#define GL_INT_VEC3_ARB														0x8B54
#define GL_INT_VEC4_ARB														0x8B55
#define GL_BOOL_ARB																0x8B56
#define GL_BOOL_VEC2_ARB													0x8B57
#define GL_BOOL_VEC3_ARB													0x8B58
#define GL_BOOL_VEC4_ARB													0x8B59
#define GL_FLOAT_MAT2_ARB													0x8B5A
#define GL_FLOAT_MAT3_ARB													0x8B5B
#define GL_FLOAT_MAT4_ARB													0x8B5C
#define GL_OBJECT_DELETE_STATUS_ARB								0x8B80
#define GL_OBJECT_COMPILE_STATUS_ARB							0x8B81
#define GL_OBJECT_LINK_STATUS_ARB									0x8B82
#define GL_OBJECT_VALIDATE_STATUS_ARB							0x8B83
#define GL_OBJECT_INFO_LOG_LENGTH_ARB							0x8B84
#define GL_OBJECT_ATTACHED_OBJECTS_ARB						0x8B85
#define GL_OBJECT_ACTIVE_UNIFORMS_ARB							0x8B86
#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB		0x8B87
#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB				0x8B88

// ARB vertex shader
GL_EXT(_GL_ARB_vertex_shader)
GL_PROC(_GL_ARB_vertex_shader,void,glBindAttribLocationARB,(GLuint, GLuint, const GLubyte *))
GL_PROC(_GL_ARB_vertex_shader,void,glGetActiveAttribARB,(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLubyte *))
GL_PROC(_GL_ARB_vertex_shader,GLint,glGetAttribLocationARB,(GLuint, const GLubyte *))
#define GL_VERTEX_SHADER_ARB											0x8B31
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB			0x8B4A
#define GL_MAX_VARYING_FLOATS_ARB									0x8B4B
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB			0x8B4C
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB		0x8B4D
#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB						0x8B89
#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB	0x8B8A

// ARB vertex shader
GL_EXT(_GL_ARB_fragment_shader)
#define GL_FRAGMENT_SHADER_ARB										0x8B30
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB		0x8B49


/*-----------------------------------------------------------------------------
	The End.
-----------------------------------------------------------------------------*/
