# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

driver_opengl_extension_def.h

Go to the documentation of this file.
00001 
00007 /* Copyright, 2000 Nevrax Ltd.
00008  *
00009  * This file is part of NEVRAX NEL.
00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2, or (at your option)
00013  * any later version.
00014 
00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018  * General Public License for more details.
00019 
00020  * You should have received a copy of the GNU General Public License
00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023  * MA 02111-1307, USA.
00024  */
00025 
00026 #ifndef NL_OPENGL_EXTENSION_DEF_H
00027 #define NL_OPENGL_EXTENSION_DEF_H
00028 
00029 
00030 #include "nel/misc/types_nl.h"
00031 
00032 #include <GL/gl.h>
00033 #include <GL/glext.h>   // Please download it from http://oss.sgi.com/projects/ogl-sample/ABI/"
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00039 
00040 #ifdef NL_OS_WINDOWS
00041 
00042 #ifndef HPBUFFERARB
00043 DECLARE_HANDLE (HPBUFFERARB);
00044 #endif // HPBUFFERARB
00045 
00046 /* NV_vertex_array_range WGL extension not defined in glext.h */
00047 typedef void *(APIENTRY * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
00048 typedef void *(APIENTRY * PFNWGLFREEMEMORYNVPROC) (void *pointer);
00049 typedef HPBUFFERARB (APIENTRY * PFNWGLCREATEPBUFFERARBPROC) (HDC hdc, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
00050 typedef HDC                     (APIENTRY * PFNWGLGETPUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
00051 typedef int                     (APIENTRY * PFNWGLRELEASEPUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC);
00052 typedef BOOL            (APIENTRY * PFNWGLDESTROYPUFFERARBPROC) (HPBUFFERARB hPbuffer);
00053 typedef BOOL            (APIENTRY * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
00054 
00055 typedef BOOL            (APIENTRY * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC, int, int, UINT, const int *, int *);
00056 typedef BOOL            (APIENTRY * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC, int, int, UINT, const int *, FLOAT *);
00057 typedef BOOL            (APIENTRY * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
00058 
00059 typedef const char*     (APIENTRY * PFNWGFGETEXTENSIONSSTRINGARB) (HDC);
00060 #endif
00061 
00062 
00063 /* NV_vertex_program */
00064 #ifndef GL_NV_vertex_program
00065 #define GL_NV_vertex_program              1
00066 
00067 #define GL_VERTEX_PROGRAM_NV              0x8620
00068 #define GL_VERTEX_STATE_PROGRAM_NV        0x8621
00069 #define GL_ATTRIB_ARRAY_SIZE_NV           0x8623
00070 #define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624
00071 #define GL_ATTRIB_ARRAY_TYPE_NV           0x8625
00072 #define GL_CURRENT_ATTRIB_NV              0x8626
00073 #define GL_PROGRAM_LENGTH_NV              0x8627
00074 #define GL_PROGRAM_STRING_NV              0x8628
00075 #define GL_MODELVIEW_PROJECTION_NV        0x8629
00076 #define GL_IDENTITY_NV                    0x862A
00077 #define GL_INVERSE_NV                     0x862B
00078 #define GL_TRANSPOSE_NV                   0x862C
00079 #define GL_INVERSE_TRANSPOSE_NV           0x862D
00080 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
00081 #define GL_MAX_TRACK_MATRICES_NV          0x862F
00082 #define GL_MATRIX0_NV                     0x8630
00083 #define GL_MATRIX1_NV                     0x8631
00084 #define GL_MATRIX2_NV                     0x8632
00085 #define GL_MATRIX3_NV                     0x8633
00086 #define GL_MATRIX4_NV                     0x8634
00087 #define GL_MATRIX5_NV                     0x8635
00088 #define GL_MATRIX6_NV                     0x8636
00089 #define GL_MATRIX7_NV                     0x8637
00090 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640
00091 #define GL_CURRENT_MATRIX_NV              0x8641
00092 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642
00093 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643
00094 #define GL_PROGRAM_PARAMETER_NV           0x8644
00095 #define GL_ATTRIB_ARRAY_POINTER_NV        0x8645
00096 #define GL_PROGRAM_TARGET_NV              0x8646
00097 #define GL_PROGRAM_RESIDENT_NV            0x8647
00098 #define GL_TRACK_MATRIX_NV                0x8648
00099 #define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649
00100 #define GL_VERTEX_PROGRAM_BINDING_NV      0x864A
00101 #define GL_PROGRAM_ERROR_POSITION_NV      0x864B
00102 #define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650
00103 #define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651
00104 #define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652
00105 #define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653
00106 #define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654
00107 #define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655
00108 #define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656
00109 #define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657
00110 #define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658
00111 #define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659
00112 #define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A
00113 #define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B
00114 #define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C
00115 #define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D
00116 #define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E
00117 #define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F
00118 #define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660
00119 #define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661
00120 #define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662
00121 #define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663
00122 #define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664
00123 #define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665
00124 #define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666
00125 #define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667
00126 #define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668
00127 #define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669
00128 #define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A
00129 #define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B
00130 #define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C
00131 #define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D
00132 #define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E
00133 #define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F
00134 #define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670
00135 #define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671
00136 #define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672
00137 #define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673
00138 #define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674
00139 #define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675
00140 #define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676
00141 #define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677
00142 #define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678
00143 #define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679
00144 #define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A
00145 #define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B
00146 #define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C
00147 #define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D
00148 #define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E
00149 #define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F
00150 
00151 
00152 #ifdef GL_GLEXT_PROTOTYPES
00153 extern GLboolean APIENTRY glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences);
00154 extern void APIENTRY glBindProgramNV(GLenum target, GLuint id);
00155 extern void APIENTRY glDeleteProgramsNV(GLsizei n, const GLuint *programs);
00156 extern void APIENTRY glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);
00157 extern void APIENTRY glGenProgramsNV(GLsizei n, GLuint *programs);
00158 extern void APIENTRY glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);
00159 extern void APIENTRY glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);
00160 extern void APIENTRY glGetProgramivNV(GLuint id, GLenum pname, GLint *params);
00161 extern void APIENTRY glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);
00162 extern void APIENTRY glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);
00163 extern void APIENTRY glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);
00164 extern void APIENTRY glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);
00165 extern void APIENTRY glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);
00166 extern void APIENTRY glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid* *pointer);
00167 extern GLboolean APIENTRY glIsProgramNV(GLuint id);
00168 extern void APIENTRY glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);
00169 extern void APIENTRY glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00170 extern void APIENTRY glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v);
00171 extern void APIENTRY glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00172 extern void APIENTRY glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v);
00173 extern void APIENTRY glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v);
00174 extern void APIENTRY glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v);
00175 extern void APIENTRY glRequestResidentProgramsNV(GLsizei n, const GLuint *programs);
00176 extern void APIENTRY glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);
00177 extern void APIENTRY glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
00178 extern void APIENTRY glVertexAttrib1dNV(GLuint index, GLdouble x);
00179 extern void APIENTRY glVertexAttrib1dvNV(GLuint index, const GLdouble *v);
00180 extern void APIENTRY glVertexAttrib1fNV(GLuint index, GLfloat x);
00181 extern void APIENTRY glVertexAttrib1fvNV(GLuint index, const GLfloat *v);
00182 extern void APIENTRY glVertexAttrib1sNV(GLuint index, GLshort x);
00183 extern void APIENTRY glVertexAttrib1svNV(GLuint index, const GLshort *v);
00184 extern void APIENTRY glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);
00185 extern void APIENTRY glVertexAttrib2dvNV(GLuint index, const GLdouble *v);
00186 extern void APIENTRY glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);
00187 extern void APIENTRY glVertexAttrib2fvNV(GLuint index, const GLfloat *v);
00188 extern void APIENTRY glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);
00189 extern void APIENTRY glVertexAttrib2svNV(GLuint index, const GLshort *v);
00190 extern void APIENTRY glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);
00191 extern void APIENTRY glVertexAttrib3dvNV(GLuint index, const GLdouble *v);
00192 extern void APIENTRY glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);
00193 extern void APIENTRY glVertexAttrib3fvNV(GLuint index, const GLfloat *v);
00194 extern void APIENTRY glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);
00195 extern void APIENTRY glVertexAttrib3svNV(GLuint index, const GLshort *v);
00196 extern void APIENTRY glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00197 extern void APIENTRY glVertexAttrib4dvNV(GLuint index, const GLdouble *v);
00198 extern void APIENTRY glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00199 extern void APIENTRY glVertexAttrib4fvNV(GLuint index, const GLfloat *v);
00200 extern void APIENTRY glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00201 extern void APIENTRY glVertexAttrib4svNV(GLuint index, const GLshort *v);
00202 extern void APIENTRY glVertexAttrib4ubvNV(GLuint index, const GLubyte *v);
00203 extern void APIENTRY glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble *v);
00204 extern void APIENTRY glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat *v);
00205 extern void APIENTRY glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort *v);
00206 extern void APIENTRY glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble *v);
00207 extern void APIENTRY glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat *v);
00208 extern void APIENTRY glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort *v);
00209 extern void APIENTRY glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble *v);
00210 extern void APIENTRY glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat *v);
00211 extern void APIENTRY glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort *v);
00212 extern void APIENTRY glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble *v);
00213 extern void APIENTRY glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat *v);
00214 extern void APIENTRY glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort *v);
00215 extern void APIENTRY glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte *v);
00216 #endif /* GL_GLEXT_PROTOTYPES */
00217 typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
00218 typedef void (APIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
00219 typedef void (APIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00220 typedef void (APIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
00221 typedef void (APIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
00222 typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
00223 typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
00224 typedef void (APIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
00225 typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
00226 typedef void (APIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
00227 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
00228 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
00229 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
00230 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
00231 typedef GLboolean (APIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
00232 typedef void (APIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
00233 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00234 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
00235 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00236 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
00237 typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
00238 typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
00239 typedef void (APIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00240 typedef void (APIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
00241 typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
00242 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
00243 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
00244 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
00245 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
00246 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
00247 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
00248 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
00249 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
00250 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
00251 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
00252 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
00253 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
00254 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
00255 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
00256 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
00257 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
00258 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
00259 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
00260 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00261 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
00262 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00263 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
00264 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00265 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
00266 typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
00267 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00268 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00269 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00270 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00271 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00272 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00273 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00274 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00275 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00276 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00277 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00278 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00279 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
00280 #endif  /* GL_NV_vertex_program */
00281 
00282 
00283 #ifndef WGL_ARB_pixel_format
00284 #define WGL_ARB_pixel_format 1
00285 #define WGL_NUMBER_PIXEL_FORMATS_ARB   0x2000
00286 #define WGL_DRAW_TO_WINDOW_ARB         0x2001
00287 #define WGL_DRAW_TO_BITMAP_ARB         0x2002
00288 #define WGL_ACCELERATION_ARB           0x2003
00289 #define WGL_NEED_PALETTE_ARB           0x2004
00290 #define WGL_NEED_SYSTEM_PALETTE_ARB    0x2005
00291 #define WGL_SWAP_LAYER_BUFFERS_ARB     0x2006
00292 #define WGL_SWAP_METHOD_ARB            0x2007
00293 #define WGL_NUMBER_OVERLAYS_ARB        0x2008
00294 #define WGL_NUMBER_UNDERLAYS_ARB       0x2009
00295 #define WGL_TRANSPARENT_ARB            0x200A
00296 #define WGL_TRANSPARENT_RED_VALUE_ARB  0x2037
00297 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
00298 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
00299 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
00300 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
00301 #define WGL_SHARE_DEPTH_ARB            0x200C
00302 #define WGL_SHARE_STENCIL_ARB          0x200D
00303 #define WGL_SHARE_ACCUM_ARB            0x200E
00304 #define WGL_SUPPORT_GDI_ARB            0x200F
00305 #define WGL_SUPPORT_OPENGL_ARB         0x2010
00306 #define WGL_DOUBLE_BUFFER_ARB          0x2011
00307 #define WGL_STEREO_ARB                 0x2012
00308 #define WGL_PIXEL_TYPE_ARB             0x2013
00309 #define WGL_COLOR_BITS_ARB             0x2014
00310 #define WGL_RED_BITS_ARB               0x2015
00311 #define WGL_RED_SHIFT_ARB              0x2016
00312 #define WGL_GREEN_BITS_ARB             0x2017
00313 #define WGL_GREEN_SHIFT_ARB            0x2018
00314 #define WGL_BLUE_BITS_ARB              0x2019
00315 #define WGL_BLUE_SHIFT_ARB             0x201A
00316 #define WGL_ALPHA_BITS_ARB             0x201B
00317 #define WGL_ALPHA_SHIFT_ARB            0x201C
00318 #define WGL_ACCUM_BITS_ARB             0x201D
00319 #define WGL_ACCUM_RED_BITS_ARB         0x201E
00320 #define WGL_ACCUM_GREEN_BITS_ARB       0x201F
00321 #define WGL_ACCUM_BLUE_BITS_ARB        0x2020
00322 #define WGL_ACCUM_ALPHA_BITS_ARB       0x2021
00323 #define WGL_DEPTH_BITS_ARB             0x2022
00324 #define WGL_STENCIL_BITS_ARB           0x2023
00325 #define WGL_AUX_BUFFERS_ARB            0x2024
00326 #define WGL_NO_ACCELERATION_ARB        0x2025
00327 #define WGL_GENERIC_ACCELERATION_ARB   0x2026
00328 #define WGL_FULL_ACCELERATION_ARB      0x2027
00329 #define WGL_SWAP_EXCHANGE_ARB          0x2028
00330 #define WGL_SWAP_COPY_ARB              0x2029
00331 #define WGL_SWAP_UNDEFINED_ARB         0x202A
00332 #define WGL_TYPE_RGBA_ARB              0x202B
00333 #define WGL_TYPE_COLORINDEX_ARB        0x202C
00334 #endif
00335 
00336 #ifndef WGL_ARB_pbuffer
00337 #define WGL_ARB_pbuffer 1
00338 #define WGL_DRAW_TO_PBUFFER_ARB        0x202D
00339 #define WGL_MAX_PBUFFER_PIXELS_ARB     0x202E
00340 #define WGL_MAX_PBUFFER_WIDTH_ARB      0x202F
00341 #define WGL_MAX_PBUFFER_HEIGHT_ARB     0x2030
00342 #define WGL_PBUFFER_LARGEST_ARB        0x2033
00343 #define WGL_PBUFFER_WIDTH_ARB          0x2034
00344 #define WGL_PBUFFER_HEIGHT_ARB         0x2035
00345 #define WGL_PBUFFER_LOST_ARB           0x2036
00346 #endif
00347 
00348 /* NV_fence extension */
00349 #ifndef GL_NV_fence
00350 #define GL_NV_fence                     1
00351 
00352 #define GL_ALL_COMPLETED_NV               0x84F2
00353 #define GL_FENCE_STATUS_NV                0x84F3
00354 #define GL_FENCE_CONDITION_NV             0x84F4
00355 
00356 #ifdef GL_GLEXT_PROTOTYPES
00357 extern void APIENTRY glDeleteFencesNV(GLsizei n, const GLuint *fences);
00358 extern void APIENTRY glGenFencesNV(GLsizei n, GLuint *fences);
00359 extern GLboolean APIENTRY glIsFenceNV(GLuint fence);
00360 extern GLboolean APIENTRY glTestFenceNV(GLuint fence);
00361 extern void APIENTRY glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);
00362 extern void APIENTRY glFinishFenceNV(GLuint fence);
00363 extern void APIENTRY glSetFenceNV(GLuint fence, GLenum condition);
00364 #endif /* GL_GLEXT_PROTOTYPES */
00365 typedef void (APIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
00366 typedef void (APIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
00367 typedef GLboolean (APIENTRY * PFNGLISFENCENVPROC) (GLuint fence);
00368 typedef GLboolean (APIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence);
00369 typedef void (APIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
00370 typedef void (APIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence);
00371 typedef void (APIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
00372 
00373 #endif  /* GL_NV_fence */
00374 
00375 
00376 /* NV_texture_shader */
00377 #define GL_OFFSET_TEXTURE_RECTANGLE_NV    0x864C
00378 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
00379 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
00380 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
00381 #define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86DA
00382 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86DB
00383 #define GL_DSDT_MAG_INTENSITY_NV          0x86DC
00384 #define GL_SHADER_CONSISTENT_NV           0x86DD
00385 #define GL_TEXTURE_SHADER_NV              0x86DE
00386 #define GL_SHADER_OPERATION_NV            0x86DF
00387 #define GL_CULL_MODES_NV                  0x86E0
00388 #define GL_OFFSET_TEXTURE_MATRIX_NV       0x86E1
00389 #define GL_OFFSET_TEXTURE_SCALE_NV        0x86E2
00390 #define GL_OFFSET_TEXTURE_BIAS_NV         0x86E3
00391 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV    GL_OFFSET_TEXTURE_MATRIX_NV
00392 #define GL_OFFSET_TEXTURE_2D_SCALE_NV     GL_OFFSET_TEXTURE_SCALE_NV
00393 #define GL_OFFSET_TEXTURE_2D_BIAS_NV      GL_OFFSET_TEXTURE_BIAS_NV
00394 #define GL_PREVIOUS_TEXTURE_INPUT_NV      0x86E4
00395 #define GL_CONST_EYE_NV                   0x86E5
00396 #define GL_PASS_THROUGH_NV                0x86E6
00397 #define GL_CULL_FRAGMENT_NV               0x86E7
00398 #define GL_OFFSET_TEXTURE_2D_NV           0x86E8
00399 #define GL_DEPENDENT_AR_TEXTURE_2D_NV     0x86E9
00400 #define GL_DEPENDENT_GB_TEXTURE_2D_NV     0x86EA
00401 #define GL_DOT_PRODUCT_NV                 0x86EC
00402 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV   0x86ED
00403 #define GL_DOT_PRODUCT_TEXTURE_2D_NV      0x86EE
00404 #define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86EF
00405 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
00406 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
00407 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
00408 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
00409 #define GL_HILO_NV                        0x86F4
00410 #define GL_DSDT_NV                        0x86F5
00411 #define GL_DSDT_MAG_NV                    0x86F6
00412 #define GL_DSDT_MAG_VIB_NV                0x86F7
00413 #define GL_HILO16_NV                      0x86F8
00414 #define GL_SIGNED_HILO_NV                 0x86F9
00415 #define GL_SIGNED_HILO16_NV               0x86FA
00416 #define GL_SIGNED_RGBA_NV                 0x86FB
00417 #define GL_SIGNED_RGBA8_NV                0x86FC
00418 #define GL_SIGNED_RGB_NV                  0x86FE
00419 #define GL_SIGNED_RGB8_NV                 0x86FF
00420 #define GL_SIGNED_LUMINANCE_NV            0x8701
00421 #define GL_SIGNED_LUMINANCE8_NV           0x8702
00422 #define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703
00423 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704
00424 #define GL_SIGNED_ALPHA_NV                0x8705
00425 #define GL_SIGNED_ALPHA8_NV               0x8706
00426 #define GL_SIGNED_INTENSITY_NV            0x8707
00427 #define GL_SIGNED_INTENSITY8_NV           0x8708
00428 #define GL_DSDT8_NV                       0x8709
00429 #define GL_DSDT8_MAG8_NV                  0x870A
00430 #define GL_DSDT8_MAG8_INTENSITY8_NV       0x870B
00431 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870C
00432 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
00433 #define GL_HI_SCALE_NV                    0x870E
00434 #define GL_LO_SCALE_NV                    0x870F
00435 #define GL_DS_SCALE_NV                    0x8710
00436 #define GL_DT_SCALE_NV                    0x8711
00437 #define GL_MAGNITUDE_SCALE_NV             0x8712
00438 #define GL_VIBRANCE_SCALE_NV              0x8713
00439 #define GL_HI_BIAS_NV                     0x8714
00440 #define GL_LO_BIAS_NV                     0x8715
00441 #define GL_DS_BIAS_NV                     0x8716
00442 #define GL_DT_BIAS_NV                     0x8717
00443 #define GL_MAGNITUDE_BIAS_NV              0x8718
00444 #define GL_VIBRANCE_BIAS_NV               0x8719
00445 #define GL_TEXTURE_BORDER_VALUES_NV       0x871A
00446 #define GL_TEXTURE_HI_SIZE_NV             0x871B
00447 #define GL_TEXTURE_LO_SIZE_NV             0x871C
00448 #define GL_TEXTURE_DS_SIZE_NV             0x871D
00449 #define GL_TEXTURE_DT_SIZE_NV             0x871E
00450 #define GL_TEXTURE_MAG_SIZE_NV            0x871F
00451 
00452 
00453 /* GL_EXT_vertex_shader */
00454 
00455 
00456 #ifndef GL_EXT_vertex_shader
00457 #define GL_EXT_vertex_shader
00458 #define      GL_VERTEX_SHADER_EXT                                        0x8780
00459 #define      GL_VARIANT_VALUE_EXT                   0x87e4
00460 #define      GL_VARIANT_DATATYPE_EXT                0x87e5
00461 #define      GL_VARIANT_ARRAY_STRIDE_EXT            0x87e6
00462 #define      GL_VARIANT_ARRAY_TYPE_EXT              0x87e7
00463 #define      GL_VARIANT_ARRAY_EXT                   0x87e8
00464 #define      GL_VARIANT_ARRAY_POINTER_EXT           0x87e9
00465 #define      GL_INVARIANT_VALUE_EXT                 0x87ea
00466 #define      GL_INVARIANT_DATATYPE_EXT              0x87eb
00467 #define      GL_LOCAL_CONSTANT_VALUE_EXT            0x87ec
00468 #define      GL_LOCAL_CONSTANT_DATATYPE_EXT         0x87ed
00469 #define      GL_OP_INDEX_EXT                        0x8782
00470 #define      GL_OP_NEGATE_EXT                       0x8783
00471 #define      GL_OP_DOT3_EXT                         0x8784
00472 #define      GL_OP_DOT4_EXT                         0x8785
00473 #define      GL_OP_MUL_EXT                          0x8786
00474 #define      GL_OP_ADD_EXT                          0x8787
00475 #define      GL_OP_MADD_EXT                         0x8788
00476 #define      GL_OP_FRAC_EXT                         0x8789
00477 #define      GL_OP_MAX_EXT                          0x878a
00478 #define      GL_OP_MIN_EXT                          0x878b
00479 #define      GL_OP_SET_GE_EXT                       0x878c
00480 #define      GL_OP_SET_LT_EXT                       0x878d
00481 #define      GL_OP_CLAMP_EXT                        0x878e
00482 #define      GL_OP_FLOOR_EXT                        0x878f
00483 #define      GL_OP_ROUND_EXT                        0x8790
00484 #define      GL_OP_EXP_BASE_2_EXT                   0x8791
00485 #define      GL_OP_LOG_BASE_2_EXT                   0x8792
00486 #define      GL_OP_POWER_EXT                        0x8793
00487 #define      GL_OP_RECIP_EXT                        0x8794
00488 #define      GL_OP_RECIP_SQRT_EXT                   0x8795
00489 #define      GL_OP_SUB_EXT                          0x8796
00490 #define      GL_OP_CROSS_PRODUCT_EXT                0x8797
00491 #define      GL_OP_MULTIPLY_MATRIX_EXT              0x8798
00492 #define      GL_OP_MOV_EXT                          0x8799
00493 #define      GL_OUTPUT_VERTEX_EXT                   0x879a
00494 #define      GL_OUTPUT_COLOR0_EXT                   0x879b
00495 #define      GL_OUTPUT_COLOR1_EXT                   0x879c
00496 #define      GL_OUTPUT_TEXTURE_COORD0_EXT           0x879d
00497 #define      GL_OUTPUT_TEXTURE_COORD1_EXT           0x879e
00498 #define      GL_OUTPUT_TEXTURE_COORD2_EXT           0x879f
00499 #define      GL_OUTPUT_TEXTURE_COORD3_EXT           0x87a0
00500 #define      GL_OUTPUT_TEXTURE_COORD4_EXT           0x87a1
00501 #define      GL_OUTPUT_TEXTURE_COORD5_EXT           0x87a2
00502 #define      GL_OUTPUT_TEXTURE_COORD6_EXT           0x87a3
00503 #define      GL_OUTPUT_TEXTURE_COORD7_EXT           0x87a4
00504 #define      GL_OUTPUT_TEXTURE_COORD8_EXT           0x87a5
00505 #define      GL_OUTPUT_TEXTURE_COORD9_EXT           0x87a6
00506 #define      GL_OUTPUT_TEXTURE_COORD10_EXT          0x87a7
00507 #define      GL_OUTPUT_TEXTURE_COORD11_EXT          0x87a8
00508 #define      GL_OUTPUT_TEXTURE_COORD12_EXT          0x87a9
00509 #define      GL_OUTPUT_TEXTURE_COORD13_EXT          0x87aa
00510 #define      GL_OUTPUT_TEXTURE_COORD14_EXT          0x87ab
00511 #define      GL_OUTPUT_TEXTURE_COORD15_EXT          0x87ac
00512 #define      GL_OUTPUT_TEXTURE_COORD16_EXT          0x87ad
00513 #define      GL_OUTPUT_TEXTURE_COORD17_EXT          0x87ae
00514 #define      GL_OUTPUT_TEXTURE_COORD18_EXT          0x87af
00515 #define      GL_OUTPUT_TEXTURE_COORD19_EXT          0x87b0
00516 #define      GL_OUTPUT_TEXTURE_COORD20_EXT          0x87b1
00517 #define      GL_OUTPUT_TEXTURE_COORD21_EXT          0x87b2
00518 #define      GL_OUTPUT_TEXTURE_COORD22_EXT          0x87b3
00519 #define      GL_OUTPUT_TEXTURE_COORD23_EXT          0x87b4
00520 #define      GL_OUTPUT_TEXTURE_COORD24_EXT          0x87b5
00521 #define      GL_OUTPUT_TEXTURE_COORD25_EXT          0x87b6
00522 #define      GL_OUTPUT_TEXTURE_COORD26_EXT          0x87b7
00523 #define      GL_OUTPUT_TEXTURE_COORD27_EXT          0x87b8
00524 #define      GL_OUTPUT_TEXTURE_COORD28_EXT          0x87b9
00525 #define      GL_OUTPUT_TEXTURE_COORD29_EXT          0x87ba
00526 #define      GL_OUTPUT_TEXTURE_COORD30_EXT          0x87bb
00527 #define      GL_OUTPUT_TEXTURE_COORD31_EXT          0x87bc
00528 #define      GL_OUTPUT_FOG_EXT                      0x87bd
00529 #define      GL_SCALAR_EXT                          0x87be
00530 #define      GL_VECTOR_EXT                          0x87bf
00531 #define      GL_MATRIX_EXT                          0x87c0
00532 #define      GL_VARIANT_EXT                                                                       0x87c1
00533 #define      GL_INVARIANT_EXT                                                                     0x87c2
00534 #define      GL_LOCAL_CONSTANT_EXT                                                            0x87c3
00535 #define      GL_LOCAL_EXT                                                                                 0x87c4
00536 #define      GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT               0x87c5
00537 #define      GL_MAX_VERTEX_SHADER_VARIANTS_EXT                   0x87c6
00538 #define      GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                 0x87c7
00539 #define      GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT            0x87c8
00540 #define      GL_MAX_VERTEX_SHADER_LOCALS_EXT                     0x87c9
00541 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT     0x87ca
00542 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT         0x87cb
00543 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT  0x87cc
00544 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT       0x87cd
00545 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT           0x87ce
00546 #define      GL_VERTEX_SHADER_INSTRUCTIONS_EXT                   0x87cf
00547 #define      GL_VERTEX_SHADER_VARIANTS_EXT                       0x87d0
00548 #define      GL_VERTEX_SHADER_INVARIANTS_EXT                     0x87d1
00549 #define      GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                0x87d2
00550 #define      GL_VERTEX_SHADER_LOCALS_EXT                         0x87d3
00551 #define      GL_VERTEX_SHADER_BINDING_EXT                        0x8781
00552 #define      GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87d4
00553 #define      GL_X_EXT                               0x87d5
00554 #define      GL_Y_EXT                               0x87d6
00555 #define      GL_Z_EXT                               0x87d7
00556 #define      GL_W_EXT                               0x87d8
00557 #define      GL_NEGATIVE_X_EXT                      0x87d9
00558 #define      GL_NEGATIVE_Y_EXT                      0x87da
00559 #define      GL_NEGATIVE_Z_EXT                      0x87db
00560 #define      GL_NEGATIVE_W_EXT                      0x87dc
00561 #define      GL_ZERO_EXT                            0x87dd
00562 #define      GL_ONE_EXT                             0x87de
00563 #define      GL_NEGEXTVE_ONE_EXT                    0x87df
00564 #define      GL_NORMALIZED_RANGE_EXT                0x87e0
00565 #define      GL_FULL_RANGE_EXT                      0x87e1
00566 #define      GL_CURRENT_VERTEX_EXT                  0x87e2
00567 #define      GL_MVP_MATRIX_EXT                      0x87e3
00568 #endif // GL_EXT_vertex_shader
00569 // Bad glext.h definition.....
00570 #ifndef GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
00571 #define      GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT       0x87cd
00572 #endif
00573 
00574 /* NV_vertex_array_range2 */
00575 #ifndef GL_NV_vertex_array_range2
00576 #define GL_NV_vertex_array_range2                       1
00577 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
00578 #endif
00579 
00580 
00581 /* GL_ATI_vertex_array_object */
00582 #ifndef GL_ATI_vertex_array_object
00583 #define GL_STATIC_ATI                     0x8760
00584 #define GL_DYNAMIC_ATI                    0x8761
00585 #define GL_PRESERVE_ATI                   0x8762
00586 #define GL_DISCARD_ATI                    0x8763
00587 #define GL_OBJECT_BUFFER_SIZE_ATI         0x8764
00588 #define GL_OBJECT_BUFFER_USAGE_ATI        0x8765
00589 #define GL_ARRAY_OBJECT_BUFFER_ATI        0x8766
00590 #define GL_ARRAY_OBJECT_OFFSET_ATI        0x8767
00591 #endif
00592 
00593 #ifndef GL_ATI_vertex_array_object
00594 #define GL_ATI_vertex_array_object 1
00595 #ifdef GL_GLEXT_PROTOTYPES
00596 GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei, const GLvoid *, GLenum);
00597 GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint);
00598 GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
00599 GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint, GLenum, GLfloat *);
00600 GLAPI void APIENTRY glGetObjectBufferivATI (GLuint, GLenum, GLint *);
00601 GLAPI void APIENTRY glDeleteObjectBufferATI (GLuint);
00602 GLAPI void APIENTRY glArrayObjectATI (GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
00603 GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum, GLenum, GLfloat *);
00604 GLAPI void APIENTRY glGetArrayObjectivATI (GLenum, GLenum, GLint *);
00605 GLAPI void APIENTRY glVariantArrayObjectATI (GLuint, GLenum, GLsizei, GLuint, GLuint);
00606 GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint, GLenum, GLfloat *);
00607 GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint, GLenum, GLint *);
00608 #endif /* GL_GLEXT_PROTOTYPES */
00609 typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
00610 typedef GLboolean (APIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
00611 typedef void (APIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
00612 typedef void (APIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
00613 typedef void (APIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
00614 typedef void (APIENTRY * PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer);
00615 typedef void (APIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
00616 typedef void (APIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
00617 typedef void (APIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
00618 typedef void (APIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
00619 typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
00620 typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
00621 #endif
00622 
00623 /* GL_ATIX_texture_env_combine3 */
00624 #ifndef GL_ATIX_texture_env_combine3
00625 #define GL_ATIX_texture_env_combine3
00626 
00627 #define GL_MODULATE_ADD_ATIX                            0x8744
00628 #define GL_MODULATE_SIGNED_ADD_ATIX                     0x8745
00629 #define GL_MODULATE_SUBTRACT_ATIX                       0x8746
00630 
00631 #endif /* GL_ATIX_texture_env_combine3 */
00632 
00633 
00634 
00635 /* GL_ATI_envmap_bumpmap */
00636 
00637 #ifndef GL_ATI_envmap_bumpmap
00638 #define GL_ATI_envmap_bumpmap 1
00639 
00640 #define GL_BUMP_ROT_MATRIX_ATI                                     0x8775
00641 #define GL_BUMP_ROT_MATRIX_SIZE_ATI                                0x8776
00642 #define GL_BUMP_NUM_TEX_UNITS_ATI                                  0x8777
00643 #define GL_BUMP_TEX_UNITS_ATI                                      0x8778
00644 #define GL_DUDV_ATI                                                                0x8779
00645 #define GL_DU8DV8_ATI                                                      0x877A
00646 #define GL_BUMP_ENVMAP_ATI                                                 0x877B
00647 #define GL_BUMP_TARGET_ATI                                                 0x877C
00648 
00649 typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
00650 typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
00651 typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
00652 typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
00653 
00654 
00655 #endif /* GL_ATI_envmap_bumpmap */
00656 
00657 
00658 
00659 
00660 // ***************************************************************************
00661 // ***************************************************************************
00662 // The NEL Functions Typedefs.
00663 // Must do it for compatibilities with futures version of gl.h
00664 // eg: version 1.2 does not define PFNGLACTIVETEXTUREARBPROC. Hence, do it now, with our special name
00665 // ***************************************************************************
00666 // ***************************************************************************
00667 
00668 
00669 // ARB_multitexture
00670 //=================
00671 typedef void (APIENTRY * NEL_PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
00672 typedef void (APIENTRY * NEL_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
00673 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
00674 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
00675 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
00676 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
00677 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
00678 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
00679 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
00680 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
00681 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
00682 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
00683 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
00684 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
00685 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
00686 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
00687 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
00688 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
00689 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00690 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
00691 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00692 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
00693 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
00694 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
00695 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
00696 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
00697 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00698 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
00699 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00700 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
00701 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
00702 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
00703 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00704 typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
00705 
00706 
00707 // ARB_TextureCompression.
00708 //========================
00709 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00710 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00711 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00712 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00713 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00714 typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00715 typedef void (APIENTRY * NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);
00716 
00717 
00718 // VertexArrayRangeNV.
00719 //====================
00720 typedef void (APIENTRY * NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
00721 typedef void (APIENTRY * NEL_PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer);
00722 
00723 
00724 // FenceNV.
00725 //====================
00726 typedef void (APIENTRY * NEL_PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
00727 typedef void (APIENTRY * NEL_PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
00728 typedef GLboolean (APIENTRY * NEL_PFNGLISFENCENVPROC) (GLuint fence);
00729 typedef GLboolean (APIENTRY * NEL_PFNGLTESTFENCENVPROC) (GLuint fence);
00730 typedef void (APIENTRY * NEL_PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
00731 typedef void (APIENTRY * NEL_PFNGLFINISHFENCENVPROC) (GLuint fence);
00732 typedef void (APIENTRY * NEL_PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
00733 
00734 
00735 // VertexWeighting.
00736 //==================
00737 typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
00738 typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
00739 typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
00740 
00741 
00742 // VertexProgramExtension.
00743 //========================
00744 typedef GLboolean (APIENTRY * NEL_PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
00745 typedef void (APIENTRY * NEL_PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
00746 typedef void (APIENTRY * NEL_PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00747 typedef void (APIENTRY * NEL_PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
00748 typedef void (APIENTRY * NEL_PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
00749 typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
00750 typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
00751 typedef void (APIENTRY * NEL_PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
00752 typedef void (APIENTRY * NEL_PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
00753 typedef void (APIENTRY * NEL_PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
00754 typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
00755 typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
00756 typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
00757 typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
00758 typedef GLboolean (APIENTRY * NEL_PFNGLISPROGRAMNVPROC) (GLuint id);
00759 typedef void (APIENTRY * NEL_PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
00760 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00761 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
00762 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00763 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
00764 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
00765 typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
00766 typedef void (APIENTRY * NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00767 typedef void (APIENTRY * NEL_PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
00768 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
00769 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
00770 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
00771 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
00772 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
00773 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
00774 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
00775 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
00776 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
00777 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
00778 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
00779 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
00780 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
00781 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
00782 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
00783 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
00784 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
00785 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
00786 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
00787 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00788 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
00789 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00790 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
00791 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00792 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
00793 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
00794 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00795 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00796 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00797 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00798 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00799 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00800 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00801 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00802 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00803 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00804 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00805 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00806 typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
00807 
00808 // VertexShaderExtension (EXT)
00809 //============================
00810 typedef void    (APIENTRY * NEL_PFNGLBEGINVERTEXSHADEREXTPROC) ( void );
00811 typedef void    (APIENTRY * NEL_PFNGLENDVERTEXSHADEREXTPROC) ( void );
00812 typedef void    (APIENTRY * NEL_PFNGLBINDVERTEXSHADEREXTPROC) ( GLuint id );
00813 typedef GLuint  (APIENTRY * NEL_PFNGLGENVERTEXSHADERSEXTPROC) ( GLuint range );
00814 typedef void    (APIENTRY * NEL_PFNGLDELETEVERTEXSHADEREXTPROC) ( GLuint id );
00815 typedef void    (APIENTRY * NEL_PFNGLSHADEROP1EXTPROC) ( GLenum op, GLuint res, GLuint arg1 );
00816 typedef void    (APIENTRY * NEL_PFNGLSHADEROP2EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2 );
00817 typedef void    (APIENTRY * NEL_PFNGLSHADEROP3EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 );
00818 typedef void    (APIENTRY * NEL_PFNGLSWIZZLEEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW );
00819 typedef void    (APIENTRY * NEL_PFNGLWRITEMASKEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW );
00820 typedef void    (APIENTRY * NEL_PFNGLINSERTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num );
00821 typedef void    (APIENTRY * NEL_PFNGLEXTRACTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num );
00822 typedef GLuint  (APIENTRY * NEL_PFNGLGENSYMBOLSEXTPROC) ( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) ;
00823 typedef void    (APIENTRY * NEL_PFNGLSETINVARIANTEXTPROC) ( GLuint id, GLenum type, void *addr );
00824 typedef void    (APIENTRY * NEL_PFNGLSETLOCALCONSTANTEXTPROC) ( GLuint id, GLenum type, void *addr );
00825 typedef void    (APIENTRY * NEL_PFNGLVARIANTPOINTEREXTPROC) ( GLuint id, GLenum type, GLuint stride, void *addr );
00826 typedef void    (APIENTRY * NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id);
00827 typedef void    (APIENTRY * NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id);
00828 typedef GLuint  (APIENTRY * NEL_PFNGLBINDLIGHTPARAMETEREXTPROC) ( GLenum light, GLenum value);
00829 typedef GLuint  (APIENTRY * NEL_PFNGLBINDMATERIALPARAMETEREXTPROC) ( GLenum face, GLenum value);
00830 typedef GLuint  (APIENTRY * NEL_PFNGLBINDTEXGENPARAMETEREXTPROC) ( GLenum unit, GLenum coord, GLenum value);
00831 typedef GLuint  (APIENTRY * NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) ( GLenum unit, GLenum value);
00832 typedef GLuint  (APIENTRY * NEL_PFNGLBINDPARAMETEREXTPROC) ( GLenum value);
00833 typedef GLboolean (APIENTRY * NEL_PFNGLISVARIANTENABLEDEXTPROC) ( GLuint id, GLenum cap);
00834 typedef void    (APIENTRY * NEL_PFNGLGETVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
00835 typedef void    (APIENTRY * NEL_PFNGLGETVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
00836 typedef void    (APIENTRY * NEL_PFNGLGETVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
00837 typedef void    (APIENTRY * NEL_PFNGLGETVARIANTPOINTERVEXTPROC) ( GLuint id, GLenum value, void **data);
00838 typedef void    (APIENTRY * NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
00839 typedef void    (APIENTRY * NEL_PFNGLGETINVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
00840 typedef void    (APIENTRY * NEL_PFNGLGETINVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
00841 typedef void    (APIENTRY * NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
00842 typedef void    (APIENTRY * NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
00843 typedef void    (APIENTRY * NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
00844 
00845 
00846 // SecondaryColor extension
00847 //========================
00848 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
00849 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
00850 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
00851 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
00852 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
00853 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
00854 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
00855 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
00856 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
00857 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
00858 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
00859 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
00860 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
00861 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
00862 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
00863 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
00864 typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
00865 
00866 
00867 // BlendColor extension
00868 //========================
00869 typedef void (APIENTRY * NEL_PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
00870 
00871 
00872 // GL_ATI_vertex_array_object extension
00873 //========================
00874 typedef GLuint (APIENTRY * NEL_PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
00875 typedef GLboolean (APIENTRY * NEL_PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
00876 typedef void (APIENTRY * NEL_PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
00877 typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
00878 typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
00879 typedef void (APIENTRY * NEL_PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer);
00880 typedef void (APIENTRY * NEL_PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
00881 typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
00882 typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
00883 typedef void (APIENTRY * NEL_PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
00884 typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
00885 typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
00886 
00887 
00888 #ifdef __cplusplus
00889 }
00890 #endif
00891 
00892 #endif // NL_OPENGL_EXTENSION_DEF_H
00893