00001
00002
00003 #ifndef _CELENGINE_GLEXT_H_
00004 #define _CELENGINE_GLEXT_H_
00005
00006 #include <cstddef>
00007
00008 #ifndef APIENTRY
00009 #define APIENTRY
00010 #endif
00011
00012 #ifndef GL_ARB_shader_objects
00013
00014 typedef char GLcharARB;
00015 typedef unsigned int GLhandleARB;
00016 #endif
00017
00018
00019 #ifndef GL_EXT_rescale_normal
00020 #define GL_EXT_rescale_normal 1
00021 #define GL_RESCALE_NORMAL_EXT 0x803A
00022 #endif
00023
00024
00025 #ifndef GL_EXT_texture_edge_clamp
00026 #define GL_EXT_texture_edge_clamp 1
00027 #define GL_CLAMP_TO_EDGE_EXT ((GLenum) 0x812F)
00028 #endif
00029
00030
00031 #ifndef GL_ARB_texture_border_clamp
00032 #define GL_ARB_texture_border_clamp 1
00033 #define GL_CLAMP_TO_BORDER_ARB ((GLenum) 0x812D)
00034 #endif
00035
00036
00037 #ifndef GL_EXT_bgra
00038 #define GL_EXT_bgra 1
00039 #define GL_BGR_EXT 0x80E0
00040 #define GL_BGRA_EXT 0x80E1
00041 #endif
00042
00043
00044 #ifndef GL_ARB_texture_compression
00045 #define GL_ARB_texture_compression 1
00046
00047 #define GL_COMPRESSED_ALPHA_ARB 0x84E9
00048 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
00049 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
00050 #define GL_COMPRESSED_INTENSITY_ARB 0x84EC
00051 #define GL_COMPRESSED_RGB_ARB 0x84ED
00052 #define GL_COMPRESSED_RGBA_ARB 0x84EE
00053 #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
00054 #define GL_TEXTURE_IMAGE_SIZE_ARB 0x86A0
00055 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1
00056 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
00057 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
00058 #endif
00059
00060 namespace glx
00061 {
00062 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00063 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00064 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00065 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00066 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00067 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00068 typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);
00069 extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glCompressedTexImage3DARB;
00070 extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
00071 extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glCompressedTexImage1DARB;
00072 extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glCompressedTexSubImage3DARB;
00073 extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glCompressedTexSubImage2DARB;
00074 extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glCompressedTexSubImage1DARB;
00075 };
00076
00077
00078
00079 #ifndef GL_EXT_texture_compression_s3tc
00080 #define GL_EXT_texture_compression_s3tc 1
00081 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
00082 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
00083 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
00084 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
00085 #endif
00086
00087
00088 #ifndef GL_ARB_multitexture
00089 #define GL_ARB_multitexture 1
00090 #define GL_ACTIVE_TEXTURE_ARB 0x84E0
00091 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
00092 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
00093 #define GL_TEXTURE0_ARB 0x84C0
00094 #define GL_TEXTURE1_ARB 0x84C1
00095 #define GL_TEXTURE2_ARB 0x84C2
00096 #define GL_TEXTURE3_ARB 0x84C3
00097 #endif
00098
00099 namespace glx
00100 {
00101 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
00102 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
00103 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
00104 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
00105 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
00106 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
00107 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
00108 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
00109 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
00110 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
00111 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
00112 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
00113 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
00114 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
00115 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
00116 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
00117 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00118 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
00119 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00120 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
00121 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
00122 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
00123 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
00124 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
00125 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00126 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
00127 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00128 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
00129 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
00130 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
00131 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00132 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
00133 typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum target);
00134 typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum target);
00135
00136 extern PFNGLMULTITEXCOORD2IARBPROC glMultiTexCoord2iARB;
00137 extern PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
00138 extern PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3fARB;
00139 extern PFNGLMULTITEXCOORD3FVARBPROC glMultiTexCoord3fvARB;
00140 extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
00141 extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
00142 };
00143
00144
00145 #if !(defined( GL_EXT_texture_cube_map) || defined(__glext_h_)) || defined(MACOSX)
00146 #define GL_NORMAL_MAP_EXT ((GLenum) 0x8511)
00147 #define GL_REFLECTION_MAP_EXT ((GLenum) 0x8512)
00148 #define GL_TEXTURE_CUBE_MAP_EXT ((GLenum) 0x8513)
00149 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT ((GLenum) 0x8514)
00150 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT ((GLenum) 0x8515)
00151 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT ((GLenum) 0x8516)
00152 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT ((GLenum) 0x8517)
00153 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT ((GLenum) 0x8518)
00154 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT ((GLenum) 0x8519)
00155 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT ((GLenum) 0x851A)
00156 #define GL_PROXY_TEXTURE_CUBE_MAP_EXT ((GLenum) 0x851B)
00157 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT ((GLenum) 0x851C)
00158 #endif
00159
00160
00161 #ifndef GL_EXT_separate_specular_color
00162 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
00163 #define GL_SINGLE_COLOR_EXT 0x81F9
00164 #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
00165 #endif
00166
00167
00168 #ifndef GL_EXT_texture_env_combine
00169
00170
00171
00172 #define GL_COMBINE_EXT 0x8570
00173
00174
00175
00176 #define GL_COMBINE_RGB_EXT 0x8571
00177 #define GL_COMBINE_ALPHA_EXT 0x8572
00178 #define GL_SOURCE0_RGB_EXT 0x8580
00179 #define GL_SOURCE1_RGB_EXT 0x8581
00180 #define GL_SOURCE2_RGB_EXT 0x8582
00181 #define GL_SOURCE0_ALPHA_EXT 0x8588
00182 #define GL_SOURCE1_ALPHA_EXT 0x8589
00183 #define GL_SOURCE2_ALPHA_EXT 0x858A
00184 #define GL_OPERAND0_RGB_EXT 0x8590
00185 #define GL_OPERAND1_RGB_EXT 0x8591
00186 #define GL_OPERAND2_RGB_EXT 0x8592
00187 #define GL_OPERAND0_ALPHA_EXT 0x8598
00188 #define GL_OPERAND1_ALPHA_EXT 0x8599
00189 #define GL_OPERAND2_ALPHA_EXT 0x859A
00190 #define GL_RGB_SCALE_EXT 0x8573
00191
00192
00193
00194
00195 #define GL_ADD_SIGNED_EXT 0x8574
00196 #define GL_INTERPOLATE_EXT 0x8575
00197
00198
00199
00200
00201
00202 #define GL_CONSTANT_EXT 0x8576
00203 #define GL_PRIMARY_COLOR_EXT 0x8577
00204 #define GL_PREVIOUS_EXT 0x8578
00205
00206 #endif // GL_EXT_texture_env_combine
00207
00208
00209 #ifndef GL_SGIS_generate_mipmap
00210 #define GL_GENERATE_MIPMAP_SGIS 0x8191
00211 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
00212 #endif
00213
00214
00215 #ifndef GL_EXT_texture_lod_bias
00216 #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
00217 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
00218 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501
00219 #endif
00220
00221
00222
00223 #ifndef GL_NV_register_combiners
00224 #define GL_NV_register_combiners 1
00225 #define GL_REGISTER_COMBINERS_NV ((GLenum) 0x8522)
00226 #define GL_COMBINER0_NV ((GLenum) 0x8550)
00227 #define GL_COMBINER1_NV ((GLenum) 0x8551)
00228 #define GL_COMBINER2_NV ((GLenum) 0x8552)
00229 #define GL_COMBINER3_NV ((GLenum) 0x8553)
00230 #define GL_COMBINER4_NV ((GLenum) 0x8554)
00231 #define GL_COMBINER5_NV ((GLenum) 0x8555)
00232 #define GL_COMBINER6_NV ((GLenum) 0x8556)
00233 #define GL_COMBINER7_NV ((GLenum) 0x8557)
00234 #define GL_VARIABLE_A_NV ((GLenum) 0x8523)
00235 #define GL_VARIABLE_B_NV ((GLenum) 0x8524)
00236 #define GL_VARIABLE_C_NV ((GLenum) 0x8525)
00237 #define GL_VARIABLE_D_NV ((GLenum) 0x8526)
00238 #define GL_VARIABLE_E_NV ((GLenum) 0x8527)
00239 #define GL_VARIABLE_F_NV ((GLenum) 0x8528)
00240 #define GL_VARIABLE_G_NV ((GLenum) 0x8529)
00241
00242 #define GL_CONSTANT_COLOR0_NV ((GLenum) 0x852A)
00243 #define GL_CONSTANT_COLOR1_NV ((GLenum) 0x852B)
00244
00245 #define GL_PRIMARY_COLOR_NV ((GLenum) 0x852C)
00246 #define GL_SECONDARY_COLOR_NV ((GLenum) 0x852D)
00247 #define GL_SPARE0_NV ((GLenum) 0x852E)
00248 #define GL_SPARE1_NV ((GLenum) 0x852F)
00249
00250
00251 #define GL_UNSIGNED_IDENTITY_NV ((GLenum) 0x8536)
00252 #define GL_UNSIGNED_INVERT_NV ((GLenum) 0x8537)
00253 #define GL_EXPAND_NORMAL_NV ((GLenum) 0x8538)
00254 #define GL_EXPAND_NEGATE_NV ((GLenum) 0x8539)
00255 #define GL_HALF_BIAS_NORMAL_NV ((GLenum) 0x853A)
00256 #define GL_HALF_BIAS_NEGATE_NV ((GLenum) 0x853B)
00257 #define GL_SIGNED_IDENTITY_NV ((GLenum) 0x853C)
00258 #define GL_SIGNED_NEGATE_NV ((GLenum) 0x853D)
00259 #define GL_E_TIMES_F_NV ((GLenum) 0x8531)
00260 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV ((GLenum) 0x8532)
00261
00262 #define GL_SCALE_BY_TWO_NV ((GLenum) 0x853E)
00263 #define GL_SCALE_BY_FOUR_NV ((GLenum) 0x853F)
00264 #define GL_SCALE_BY_ONE_HALF_NV ((GLenum) 0x8540)
00265 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV ((GLenum) 0x8541)
00266 #define GL_DISCARD_NV ((GLenum) 0x8530)
00267 #define GL_COMBINER_INPUT_NV ((GLenum) 0x8542)
00268 #define GL_COMBINER_MAPPING_NV ((GLenum) 0x8543)
00269 #define GL_COMBINER_COMPONENT_USAGE_NV ((GLenum) 0x8544)
00270 #define GL_COMBINER_AB_DOT_PRODUCT_NV ((GLenum) 0x8545)
00271 #define GL_COMBINER_CD_DOT_PRODUCT_NV ((GLenum) 0x8546)
00272 #define GL_COMBINER_MUX_SUM_NV ((GLenum) 0x8547)
00273 #define GL_COMBINER_SCALE_NV ((GLenum) 0x8548)
00274 #define GL_COMBINER_BIAS_NV ((GLenum) 0x8549)
00275 #define GL_COMBINER_AB_OUTPUT_NV ((GLenum) 0x854A)
00276 #define GL_COMBINER_CD_OUTPUT_NV ((GLenum) 0x854B)
00277 #define GL_COMBINER_SUM_OUTPUT_NV ((GLenum) 0x854C)
00278 #define GL_MAX_GENERAL_COMBINERS_NV ((GLenum) 0x854D)
00279 #define GL_NUM_GENERAL_COMBINERS_NV ((GLenum) 0x854E)
00280 #define GL_COLOR_SUM_CLAMP_NV ((GLenum) 0x854F)
00281 #endif
00282
00283 namespace glx
00284 {
00285 typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
00286 typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
00287 typedef void (APIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
00288 typedef void (APIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
00289 typedef void (APIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00290 typedef void (APIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
00291 typedef void (APIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00292 typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
00293 typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
00294 typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
00295 typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
00296 typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
00297 typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
00298
00299
00300 extern PFNGLCOMBINERPARAMETERFVNVPROC glCombinerParameterfvNV;
00301 extern PFNGLCOMBINERPARAMETERIVNVPROC glCombinerParameterivNV;
00302 extern PFNGLCOMBINERPARAMETERFNVPROC glCombinerParameterfNV;
00303 extern PFNGLCOMBINERPARAMETERINVPROC glCombinerParameteriNV;
00304 extern PFNGLCOMBINERINPUTNVPROC glCombinerInputNV;
00305 extern PFNGLCOMBINEROUTPUTNVPROC glCombinerOutputNV;
00306 extern PFNGLFINALCOMBINERINPUTNVPROC glFinalCombinerInputNV;
00307 extern PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glGetCombinerInputParameterfvNV;
00308 extern PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glGetCombinerInputParameterivNV;
00309 extern PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glGetCombinerOutputParameterfvNV;
00310 extern PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV;
00311 extern PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
00312 extern PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
00313 };
00314
00315
00316
00317 #ifndef GL_NV_register_combiners2
00318 #define GL_PER_STAGE_CONSTANTS_NV 0x8535
00319 #endif
00320
00321 namespace glx
00322 {
00323 typedef void (APIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
00324 typedef void (APIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
00325
00326 extern PFNGLCOMBINERSTAGEPARAMETERFVNVPROC glCombinerStageParameterfvNV;
00327 extern PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glGetCombinerStageParameterfvNV;
00328 };
00329
00330
00331
00332 #ifndef GL_NV_texture_shader
00333 #define GL_NV_texture_shader
00334
00335 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
00336 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
00337 #define GL_UNSIGNED_INT_S8_S8_8_8_REV_NV 0x86DB
00338 #define GL_DSDT_MAG_INTENSITY_NV 0x86DC
00339 #define GL_SHADER_CONSISTENT_NV 0x86DD
00340 #define GL_TEXTURE_SHADER_NV 0x86DE
00341 #define GL_SHADER_OPERATION_NV 0x86DF
00342 #define GL_CULL_MODES_NV 0x86E0
00343 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
00344 #define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
00345 #define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
00346 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
00347 #define GL_CONST_EYE_NV 0x86E5
00348 #define GL_PASS_THROUGH_NV 0x86E6
00349 #define GL_CULL_FRAGMENT_NV 0x86E7
00350 #define GL_OFFSET_TEXTURE_2D_NV 0x86E8
00351 #define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
00352 #define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
00353 #define GL_DOT_PRODUCT_NV 0x86EC
00354 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
00355 #define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
00356 #define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
00357 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
00358 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
00359 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
00360 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
00361 #define GL_HILO_NV 0x86F4
00362 #define GL_DSDT_NV 0x86F5
00363 #define GL_DSDT_MAG_NV 0x86F6
00364 #define GL_DSDT_MAG_VIB_NV 0x86F7
00365 #define GL_HILO16_NV 0x86F8
00366 #define GL_SIGNED_HILO_NV 0x86F9
00367 #define GL_SIGNED_HILO16_NV 0x86FA
00368 #define GL_SIGNED_RGBA_NV 0x86FB
00369 #define GL_SIGNED_RGBA8_NV 0x86FC
00370 #define GL_SIGNED_RGB_NV 0x86FE
00371 #define GL_SIGNED_RGB8_NV 0x86FF
00372 #define GL_SIGNED_LUMINANCE_NV 0x8701
00373 #define GL_SIGNED_LUMINANCE8_NV 0x8702
00374 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
00375 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
00376 #define GL_SIGNED_ALPHA_NV 0x8705
00377 #define GL_SIGNED_ALPHA8_NV 0x8706
00378 #define GL_SIGNED_INTENSITY_NV 0x8707
00379 #define GL_SIGNED_INTENSITY8_NV 0x8708
00380 #define GL_DSDT8_NV 0x8709
00381 #define GL_DSDT8_MAG8_NV 0x870A
00382 #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
00383 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
00384 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
00385 #define GL_HI_SCALE_NV 0x870E
00386 #define GL_LO_SCALE_NV 0x870F
00387 #define GL_DS_SCALE_NV 0x8710
00388 #define GL_DT_SCALE_NV 0x8711
00389 #define GL_MAGNITUDE_SCALE_NV 0x8712
00390 #define GL_VIBRANCE_SCALE_NV 0x8713
00391 #define GL_HI_BIAS_NV 0x8714
00392 #define GL_LO_BIAS_NV 0x8715
00393 #define GL_DS_BIAS_NV 0x8716
00394 #define GL_DT_BIAS_NV 0x8717
00395 #define GL_MAGNITUDE_BIAS_NV 0x8718
00396 #define GL_VIBRANCE_BIAS_NV 0x8719
00397 #define GL_TEXTURE_BORDER_VALUES_NV 0x871A
00398 #define GL_TEXTURE_HI_SIZE_NV 0x871B
00399 #define GL_TEXTURE_LO_SIZE_NV 0x871C
00400 #define GL_TEXTURE_DS_SIZE_NV 0x871D
00401 #define GL_TEXTURE_DT_SIZE_NV 0x871E
00402 #define GL_TEXTURE_MAG_SIZE_NV 0x871F
00403
00404 #endif
00405
00406
00407
00408 #if !defined(GL_NV_vertex_program)||defined(MACOSX)
00409
00410 #define GL_VERTEX_PROGRAM_NV 0x8620
00411 #define GL_VERTEX_STATE_PROGRAM_NV 0x8621
00412 #define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
00413 #define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
00414 #define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
00415 #define GL_CURRENT_ATTRIB_NV 0x8626
00416 #define GL_PROGRAM_LENGTH_NV 0x8627
00417 #define GL_PROGRAM_STRING_NV 0x8628
00418 #define GL_MODELVIEW_PROJECTION_NV 0x8629
00419 #define GL_IDENTITY_NV 0x862A
00420 #define GL_INVERSE_NV 0x862B
00421 #define GL_TRANSPOSE_NV 0x862C
00422 #define GL_INVERSE_TRANSPOSE_NV 0x862D
00423 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
00424 #define GL_MAX_TRACK_MATRICES_NV 0x862F
00425 #define GL_MATRIX0_NV 0x8630
00426 #define GL_MATRIX1_NV 0x8631
00427 #define GL_MATRIX2_NV 0x8632
00428 #define GL_MATRIX3_NV 0x8633
00429 #define GL_MATRIX4_NV 0x8634
00430 #define GL_MATRIX5_NV 0x8635
00431 #define GL_MATRIX6_NV 0x8636
00432 #define GL_MATRIX7_NV 0x8637
00433 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
00434 #define GL_CURRENT_MATRIX_NV 0x8641
00435 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
00436 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
00437 #define GL_PROGRAM_PARAMETER_NV 0x8644
00438 #define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
00439 #define GL_PROGRAM_TARGET_NV 0x8646
00440 #define GL_PROGRAM_RESIDENT_NV 0x8647
00441 #define GL_TRACK_MATRIX_NV 0x8648
00442 #define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
00443 #define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
00444 #define GL_PROGRAM_ERROR_POSITION_NV 0x864B
00445 #define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
00446 #define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
00447 #define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
00448 #define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
00449 #define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
00450 #define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
00451 #define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
00452 #define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
00453 #define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
00454 #define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
00455 #define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
00456 #define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
00457 #define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
00458 #define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
00459 #define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
00460 #define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
00461 #define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
00462 #define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
00463 #define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
00464 #define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
00465 #define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
00466 #define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
00467 #define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
00468 #define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
00469 #define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
00470 #define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
00471 #define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
00472 #define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
00473 #define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
00474 #define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
00475 #define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
00476 #define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
00477 #define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
00478 #define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
00479 #define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
00480 #define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
00481 #define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
00482 #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
00483
00484 #endif // !defined(GL_NV_VERTEX_PROGRAM) || defined(MACOSX)
00485
00486 #ifndef GL_VERTEX_ATTRIB_ARRAY6_NV
00487 #define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
00488 #define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
00489 #define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
00490 #define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
00491 #define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
00492 #define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
00493 #define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
00494 #define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
00495 #define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
00496 #define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
00497 #endif
00498
00499 namespace glx
00500 {
00501 typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
00502 typedef void (APIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
00503 typedef void (APIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00504 typedef void (APIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
00505 typedef void (APIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
00506 typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
00507 typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
00508 typedef void (APIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
00509 typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
00510 typedef void (APIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
00511 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
00512 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
00513 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
00514 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
00515 typedef GLboolean (APIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
00516 typedef void (APIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
00517 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00518 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
00519 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00520 typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
00521 typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
00522 typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
00523 typedef void (APIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00524 typedef void (APIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
00525 typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
00526 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
00527 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
00528 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
00529 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
00530 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
00531 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
00532 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
00533 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
00534 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
00535 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
00536 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
00537 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
00538 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
00539 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
00540 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
00541 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
00542 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
00543 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
00544 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00545 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
00546 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00547 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
00548 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00549 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
00550 typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
00551 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00552 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00553 typedef void (APIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00554 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00555 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00556 typedef void (APIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00557 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00558 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00559 typedef void (APIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00560 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
00561 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
00562 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
00563 typedef void (APIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
00564
00565 extern PFNGLAREPROGRAMSRESIDENTNVPROC glAreProgramsResidentNV ;
00566 extern PFNGLBINDPROGRAMNVPROC glBindProgramNV ;
00567 extern PFNGLDELETEPROGRAMSNVPROC glDeleteProgramsNV ;
00568 extern PFNGLEXECUTEPROGRAMNVPROC glExecuteProgramNV ;
00569 extern PFNGLGENPROGRAMSNVPROC glGenProgramsNV ;
00570 extern PFNGLGETPROGRAMPARAMETERDVNVPROC glGetProgramParameterdvNV ;
00571 extern PFNGLGETPROGRAMPARAMETERFVNVPROC glGetProgramParameterfvNV ;
00572 extern PFNGLGETPROGRAMIVNVPROC glGetProgramivNV ;
00573 extern PFNGLGETPROGRAMSTRINGNVPROC glGetProgramStringNV ;
00574 extern PFNGLGETTRACKMATRIXIVNVPROC glGetTrackMatrixivNV ;
00575 extern PFNGLGETVERTEXATTRIBDVNVPROC glGetVertexAttribdvNV ;
00576 extern PFNGLGETVERTEXATTRIBFVNVPROC glGetVertexAttribfvNV ;
00577 extern PFNGLGETVERTEXATTRIBIVNVPROC glGetVertexAttribivNV ;
00578 extern PFNGLGETVERTEXATTRIBPOINTERVNVPROC glGetVertexAttribPointervNV ;
00579 extern PFNGLISPROGRAMNVPROC glIsProgramNV ;
00580 extern PFNGLLOADPROGRAMNVPROC glLoadProgramNV ;
00581 extern PFNGLPROGRAMPARAMETER4DNVPROC glProgramParameter4dNV ;
00582 extern PFNGLPROGRAMPARAMETER4DVNVPROC glProgramParameter4dvNV ;
00583 extern PFNGLPROGRAMPARAMETER4FNVPROC glProgramParameter4fNV ;
00584 extern PFNGLPROGRAMPARAMETER4FVNVPROC glProgramParameter4fvNV ;
00585 extern PFNGLPROGRAMPARAMETERS4DVNVPROC glProgramParameters4dvNV ;
00586 extern PFNGLPROGRAMPARAMETERS4FVNVPROC glProgramParameters4fvNV ;
00587 extern PFNGLREQUESTRESIDENTPROGRAMSNVPROC glRequestResidentProgramsNV ;
00588 extern PFNGLTRACKMATRIXNVPROC glTrackMatrixNV ;
00589 extern PFNGLVERTEXATTRIBPOINTERNVPROC glVertexAttribPointerNV ;
00590 extern PFNGLVERTEXATTRIB1DNVPROC glVertexAttrib1dNV ;
00591 extern PFNGLVERTEXATTRIB1DVNVPROC glVertexAttrib1dvNV ;
00592 extern PFNGLVERTEXATTRIB1FNVPROC glVertexAttrib1fNV ;
00593 extern PFNGLVERTEXATTRIB1FVNVPROC glVertexAttrib1fvNV ;
00594 extern PFNGLVERTEXATTRIB1SNVPROC glVertexAttrib1sNV ;
00595 extern PFNGLVERTEXATTRIB1SVNVPROC glVertexAttrib1svNV ;
00596 extern PFNGLVERTEXATTRIB2DNVPROC glVertexAttrib2dNV ;
00597 extern PFNGLVERTEXATTRIB2DVNVPROC glVertexAttrib2dvNV ;
00598 extern PFNGLVERTEXATTRIB2FNVPROC glVertexAttrib2fNV ;
00599 extern PFNGLVERTEXATTRIB2FVNVPROC glVertexAttrib2fvNV ;
00600 extern PFNGLVERTEXATTRIB2SNVPROC glVertexAttrib2sNV ;
00601 extern PFNGLVERTEXATTRIB2SVNVPROC glVertexAttrib2svNV ;
00602 extern PFNGLVERTEXATTRIB3DNVPROC glVertexAttrib3dNV ;
00603 extern PFNGLVERTEXATTRIB3DVNVPROC glVertexAttrib3dvNV ;
00604 extern PFNGLVERTEXATTRIB3FNVPROC glVertexAttrib3fNV ;
00605 extern PFNGLVERTEXATTRIB3FVNVPROC glVertexAttrib3fvNV ;
00606 extern PFNGLVERTEXATTRIB3SNVPROC glVertexAttrib3sNV ;
00607 extern PFNGLVERTEXATTRIB3SVNVPROC glVertexAttrib3svNV ;
00608 extern PFNGLVERTEXATTRIB4DNVPROC glVertexAttrib4dNV ;
00609 extern PFNGLVERTEXATTRIB4DVNVPROC glVertexAttrib4dvNV ;
00610 extern PFNGLVERTEXATTRIB4FNVPROC glVertexAttrib4fNV ;
00611 extern PFNGLVERTEXATTRIB4FVNVPROC glVertexAttrib4fvNV ;
00612 extern PFNGLVERTEXATTRIB4SNVPROC glVertexAttrib4sNV ;
00613 extern PFNGLVERTEXATTRIB4SVNVPROC glVertexAttrib4svNV ;
00614 extern PFNGLVERTEXATTRIB4UBVNVPROC glVertexAttrib4ubvNV ;
00615 extern PFNGLVERTEXATTRIBS1DVNVPROC glVertexAttribs1dvNV ;
00616 extern PFNGLVERTEXATTRIBS1FVNVPROC glVertexAttribs1fvNV ;
00617 extern PFNGLVERTEXATTRIBS1SVNVPROC glVertexAttribs1svNV ;
00618 extern PFNGLVERTEXATTRIBS2DVNVPROC glVertexAttribs2dvNV ;
00619 extern PFNGLVERTEXATTRIBS2FVNVPROC glVertexAttribs2fvNV ;
00620 extern PFNGLVERTEXATTRIBS2SVNVPROC glVertexAttribs2svNV ;
00621 extern PFNGLVERTEXATTRIBS3DVNVPROC glVertexAttribs3dvNV ;
00622 extern PFNGLVERTEXATTRIBS3FVNVPROC glVertexAttribs3fvNV ;
00623 extern PFNGLVERTEXATTRIBS3SVNVPROC glVertexAttribs3svNV ;
00624 extern PFNGLVERTEXATTRIBS4DVNVPROC glVertexAttribs4dvNV ;
00625 extern PFNGLVERTEXATTRIBS4FVNVPROC glVertexAttribs4fvNV ;
00626 extern PFNGLVERTEXATTRIBS4SVNVPROC glVertexAttribs4svNV ;
00627 extern PFNGLVERTEXATTRIBS4UBVNVPROC glVertexAttribs4ubvNV ;
00628 };
00629
00630
00631
00632 #ifndef GL_EXT_paletted_texture
00633 #define GL_COLOR_INDEX1_EXT 0x80E2
00634 #define GL_COLOR_INDEX2_EXT 0x80E3
00635 #define GL_COLOR_INDEX4_EXT 0x80E4
00636 #define GL_COLOR_INDEX8_EXT 0x80E5
00637 #define GL_COLOR_INDEX12_EXT 0x80E6
00638 #define GL_COLOR_INDEX16_EXT 0x80E7
00639 #endif
00640
00641 namespace glx
00642 {
00643 typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
00644 extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
00645 };
00646
00647
00648 #ifndef GL_EXT_blend_minmax
00649 #define GL_FUNC_ADD_EXT 0x8006
00650 #define GL_MIN_EXT 0x8007
00651 #define GL_MAX_EXT 0x8008
00652
00653 #endif
00654
00655 namespace glx
00656 {
00657 typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
00658 extern PFNGLBLENDEQUATIONEXTPROC glBlendEquationEXT;
00659 };
00660
00661
00662
00663 #ifndef GL_EXT_blend_subtract
00664 #define GL_FUNC_SUBTRACT_EXT 0x800A
00665 #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
00666 #endif
00667
00668
00669 namespace glx
00670 {
00671 typedef int (APIENTRY * PFNWGLSWAPINTERVALEXTPROC) (int);
00672 typedef int (APIENTRY * PFNWGLGETSWAPINTERVALEXTPROC) (void);
00673 extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
00674 extern PFNWGLGETSWAPINTERVALEXTPROC wglGetSwapIntervalEXT;
00675 };
00676
00677
00678 #ifndef GL_CLAMP_TO_EDGE
00679 #define GL_CLAMP_TO_EDGE 0x812F
00680 #endif
00681
00682
00683
00684 #ifndef GL_EXT_texture_env_dot3
00685 #define GL_EXT_texture_env_dot3
00686 #define GL_DOT3_RGB_EXT 0x8740
00687 #define GL_DOT3_RGBA_EXT 0x8741
00688 #endif
00689
00690
00691 #ifndef GL_ARB_texture_env_dot3
00692 #define GL_ARB_texture_env_dot3
00693 #define GL_DOT3_RGB_ARB 0x86AE
00694 #define GL_DOT3_RGBA_ARB 0x86AF
00695 #endif
00696
00697
00698
00699 #ifndef GL_ARB_vertex_program
00700 #define GL_ARB_vertex_program 1
00701 #define GL_VERTEX_PROGRAM_ARB 0x8620
00702 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
00703 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
00704 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
00705 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
00706 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
00707 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
00708 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
00709 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
00710 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
00711 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
00712 #define GL_PROGRAM_LENGTH_ARB 0x8627
00713 #define GL_PROGRAM_FORMAT_ARB 0x8876
00714 #define GL_PROGRAM_NAME_ARB 0x8677
00715 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
00716 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
00717 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
00718 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
00719 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
00720 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
00721 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
00722 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
00723 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8
00724 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
00725 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
00726 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
00727 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC
00728 #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
00729 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
00730 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
00731 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
00732 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
00733 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
00734 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
00735 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
00736 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
00737 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
00738 #define GL_PROGRAM_STRING_ARB 0x8628
00739 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
00740 #define GL_CURRENT_MATRIX_ARB 0x8641
00741 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
00742 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
00743 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
00744 #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
00745 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
00746 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874
00747
00748 #define GL_MATRIX0_ARB 0x88C0
00749 #define GL_MATRIX1_ARB 0x88C1
00750 #define GL_MATRIX2_ARB 0x88C2
00751 #define GL_MATRIX3_ARB 0x88C3
00752 #define GL_MATRIX4_ARB 0x88C4
00753 #define GL_MATRIX5_ARB 0x88C5
00754 #define GL_MATRIX6_ARB 0x88C6
00755 #define GL_MATRIX7_ARB 0x88C7
00756 #define GL_MATRIX8_ARB 0x88C8
00757 #define GL_MATRIX9_ARB 0x88C9
00758 #define GL_MATRIX10_ARB 0x88CA
00759 #define GL_MATRIX11_ARB 0x88CB
00760 #define GL_MATRIX12_ARB 0x88CC
00761 #define GL_MATRIX13_ARB 0x88CD
00762 #define GL_MATRIX14_ARB 0x88CE
00763 #define GL_MATRIX15_ARB 0x88CF
00764 #define GL_MATRIX16_ARB 0x88D0
00765 #define GL_MATRIX17_ARB 0x88D1
00766 #define GL_MATRIX18_ARB 0x88D2
00767 #define GL_MATRIX19_ARB 0x88D3
00768 #define GL_MATRIX20_ARB 0x88D4
00769 #define GL_MATRIX21_ARB 0x88D5
00770 #define GL_MATRIX22_ARB 0x88D6
00771 #define GL_MATRIX23_ARB 0x88D7
00772 #define GL_MATRIX24_ARB 0x88D8
00773 #define GL_MATRIX25_ARB 0x88D9
00774 #define GL_MATRIX26_ARB 0x88DA
00775 #define GL_MATRIX27_ARB 0x88DB
00776 #define GL_MATRIX28_ARB 0x88DC
00777 #define GL_MATRIX29_ARB 0x88DD
00778 #define GL_MATRIX30_ARB 0x88DE
00779 #define GL_MATRIX31_ARB 0x88DF
00780 #endif
00781
00782 namespace glx
00783 {
00784 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
00785 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
00786 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
00787 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
00788 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
00789 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
00790 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
00791 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
00792 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
00793 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00794 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00795 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00796 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
00797 typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
00798 typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
00799 typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
00800 typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
00801 typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
00802 typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
00803 typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
00804 typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
00805 typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
00806 typedef void (APIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
00807 typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
00808 typedef void (APIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
00809 typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
00810 typedef void (APIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
00811 typedef void (APIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
00812 typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
00813 typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
00814 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
00815 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
00816 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
00817 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
00818 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
00819 typedef void (APIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
00820 typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
00821 typedef void (APIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
00822 typedef void (APIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
00823 typedef void (APIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void *string);
00824 typedef void (APIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
00825 typedef void (APIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
00826 typedef void (APIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
00827 typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00828 typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
00829 typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00830 typedef void (APIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
00831 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00832 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
00833 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00834 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
00835 typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
00836 typedef void (APIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
00837 typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
00838 typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
00839 typedef void (APIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
00840 typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void *string);
00841 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
00842 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
00843 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
00844 typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, void **pointer);
00845 typedef GLboolean (APIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program);
00846
00847 extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
00848 extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
00849 extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
00850 extern PFNGLISPROGRAMARBPROC glIsProgramARB;
00851
00852 extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
00853 extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
00854 extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
00855 extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
00856 extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
00857 extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
00858 extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
00859 extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
00860 extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
00861 extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
00862 extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
00863 extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
00864 extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4NubARB;
00865 extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
00866 extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
00867 extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
00868 extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
00869 extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
00870 extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
00871 extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
00872 extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
00873 extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
00874 extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
00875 extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
00876 extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
00877 extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
00878 extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
00879 extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
00880 extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
00881 extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
00882 extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4NbvARB;
00883 extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4NsvARB;
00884 extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4NivARB;
00885 extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4NubvARB;
00886 extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4NusvARB;
00887 extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4NuivARB;
00888
00889 extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
00890
00891 extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
00892 extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
00893
00894 extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
00895 extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
00896 extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
00897 extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
00898
00899 extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
00900 extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
00901 extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
00902 extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
00903 extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
00904 extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
00905 extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
00906 extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
00907
00908 extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
00909 extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
00910 extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
00911 extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
00912
00913 extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
00914 extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
00915
00916 extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
00917 };
00918
00919
00920
00921 #ifndef GL_NV_fragment_program
00922 #define GL_NV_fragment_program 1
00923 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
00924 #define GL_FRAGMENT_PROGRAM_NV 0x8870
00925 #define GL_MAX_TEXTURE_COORDS_NV 0x8871
00926 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
00927 #define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
00928 #define GL_PROGRAM_ERROR_STRING_NV 0x8874
00929 #endif
00930
00931 #ifndef GL_ARB_vertex_shader
00932 #define GL_VERTEX_SHADER_ARB 0x8B31
00933 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
00934 #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
00935 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
00936 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
00937 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
00938 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
00939 #endif
00940
00941 namespace glx
00942 {
00943 typedef void (APIENTRY* PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
00944 typedef void (APIENTRY* PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
00945 typedef GLint (APIENTRY* PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
00946
00947 extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
00948 extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
00949 extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
00950 };
00951
00952
00953 #ifndef GL_ARB_point_sprite
00954 #define GL_ARB_point_sprite 1
00955 #define GL_POINT_SPRITE_ARB 0x8861
00956 #define GL_COORD_REPLACE_ARB 0x8862
00957 #endif
00958
00959
00960 #ifndef GL_ARB_fragment_shader
00961 #define GL_ARB_fragment_shader 1
00962 #define GL_FRAGMENT_SHADER_ARB 0x8B30
00963 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
00964 #endif
00965
00966 #ifndef GL_ARB_shading_language_100
00967 #define GL_ARB_shading_language_100 1
00968 #endif
00969
00970 namespace glx
00971 {
00972 typedef void (APIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00973 typedef void (APIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00974 typedef void (APIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat v[]);
00975 typedef void (APIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble v[]);
00976 typedef void (APIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
00977 typedef void (APIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
00978
00979 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FNVPROC) (GLenum target, GLuint id, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00980 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DNVPROC) (GLenum target, GLuint id, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00981 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVNVPROC) (GLenum target, GLuint id, const GLfloat v[]);
00982 typedef void (APIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVNVPROC) (GLenum target, GLuint id, const GLdouble v[]);
00983 typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVNVPROC) (GLenum target, GLuint id, GLfloat *params);
00984 typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVNVPROC) (GLenum target, GLuint id, GLdouble *params);
00985
00986
00987 extern PFNGLPROGRAMNAMEDPARAMETER4FNVPROC glProgramNamedParameter4fNV;
00988 extern PFNGLPROGRAMNAMEDPARAMETER4DNVPROC glProgramNamedParameter4dNV;
00989 extern PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glProgramNamedParameter4fvNV;
00990 extern PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glProgramNamedParameter4dvNV;
00991 extern PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glGetProgramNamedParameterfvNV;
00992 extern PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glGetProgramNamedParameterdvNV;
00993
00994 extern PFNGLPROGRAMLOCALPARAMETER4FNVPROC glProgramLocalParameter4fNV;
00995 extern PFNGLPROGRAMLOCALPARAMETER4DNVPROC glProgramLocalParameter4dNV;
00996 extern PFNGLPROGRAMLOCALPARAMETER4FVNVPROC glProgramLocalParameter4fvNV;
00997 extern PFNGLPROGRAMLOCALPARAMETER4DVNVPROC glProgramLocalParameter4dvNV;
00998 extern PFNGLGETPROGRAMLOCALPARAMETERFVNVPROC glGetProgramLocalParameterfvNV;
00999 extern PFNGLGETPROGRAMLOCALPARAMETERDVNVPROC glGetProgramLocalParameterdvNV;
01000 };
01001
01002
01003 #ifndef GL_ARB_fragment_program
01004 #define GL_ARB_fragment_program 1
01005
01006
01007 #define GL_FRAGMENT_PROGRAM_ARB 0x8804
01008 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
01009 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
01010 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
01011 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
01012 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
01013 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
01014 #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
01015 #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
01016 #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
01017 #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
01018 #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
01019 #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
01020 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871
01021 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
01022 #endif
01023
01024
01025 #ifndef GL_ARB_shader_objects
01026 #define GL_ARB_shader_objects 1
01027 #define GL_PROGRAM_OBJECT_ARB 0x8B40
01028 #define GL_SHADER_OBJECT_ARB 0x8B48
01029 #define GL_OBJECT_TYPE_ARB 0x8B4E
01030 #define GL_OBJECT_SUBTYPE_ARB 0x8B4F
01031 #define GL_FLOAT_VEC2_ARB 0x8B50
01032 #define GL_FLOAT_VEC3_ARB 0x8B51
01033 #define GL_FLOAT_VEC4_ARB 0x8B52
01034 #define GL_INT_VEC2_ARB 0x8B53
01035 #define GL_INT_VEC3_ARB 0x8B54
01036 #define GL_INT_VEC4_ARB 0x8B55
01037 #define GL_BOOL_ARB 0x8B56
01038 #define GL_BOOL_VEC2_ARB 0x8B57
01039 #define GL_BOOL_VEC3_ARB 0x8B58
01040 #define GL_BOOL_VEC4_ARB 0x8B59
01041 #define GL_FLOAT_MAT2_ARB 0x8B5A
01042 #define GL_FLOAT_MAT3_ARB 0x8B5B
01043 #define GL_FLOAT_MAT4_ARB 0x8B5C
01044 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
01045 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
01046 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82
01047 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
01048 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
01049 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
01050 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
01051 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
01052 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
01053
01054 typedef char GLcharARB;
01055 typedef unsigned int GLhandleARB;
01056 #endif
01057
01058
01059 namespace glx
01060 {
01061 typedef void (APIENTRY* PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
01062 typedef GLhandleARB (APIENTRY* PFNGLGETHANDLEARBPROC) (GLenum pname);
01063 typedef void (APIENTRY* PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
01064 typedef GLhandleARB (APIENTRY* PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
01065 typedef void (APIENTRY* PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
01066 typedef void (APIENTRY* PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
01067 typedef GLhandleARB (APIENTRY* PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
01068 typedef void (APIENTRY* PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
01069 typedef void (APIENTRY* PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
01070 typedef void (APIENTRY* PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
01071 typedef void (APIENTRY* PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
01072 typedef void (APIENTRY* PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
01073 typedef void (APIENTRY* PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
01074 typedef void (APIENTRY* PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
01075 typedef void (APIENTRY* PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
01076 typedef void (APIENTRY* PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
01077 typedef void (APIENTRY* PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
01078 typedef void (APIENTRY* PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
01079 typedef void (APIENTRY* PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
01080 typedef void (APIENTRY* PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01081 typedef void (APIENTRY* PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01082 typedef void (APIENTRY* PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01083 typedef void (APIENTRY* PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01084 typedef void (APIENTRY* PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01085 typedef void (APIENTRY* PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01086 typedef void (APIENTRY* PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01087 typedef void (APIENTRY* PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01088 typedef void (APIENTRY* PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01089 typedef void (APIENTRY* PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01090 typedef void (APIENTRY* PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01091 typedef void (APIENTRY* PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
01092 typedef void (APIENTRY* PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
01093 typedef void (APIENTRY* PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
01094 typedef void (APIENTRY* PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
01095 typedef GLint (APIENTRY* PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
01096 typedef void (APIENTRY* PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
01097 typedef void (APIENTRY* PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
01098 typedef void (APIENTRY* PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
01099 typedef void (APIENTRY* PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
01100
01101 extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
01102 extern PFNGLGETHANDLEARBPROC glGetHandleARB;
01103 extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
01104 extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
01105 extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
01106 extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
01107 extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
01108 extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
01109 extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
01110 extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
01111 extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
01112 extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
01113 extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
01114 extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
01115 extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
01116 extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
01117 extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
01118 extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
01119 extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
01120 extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
01121 extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
01122 extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
01123 extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
01124 extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
01125 extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
01126 extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
01127 extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
01128 extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
01129 extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
01130 extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
01131 extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
01132 extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
01133 extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
01134 extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
01135 extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
01136 extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
01137 extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
01138 extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
01139 extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
01140 };
01141
01142
01143 #ifndef GL_VERSION_1_5
01144
01145 typedef ptrdiff_t GLintptr;
01146 typedef ptrdiff_t GLsizeiptr;
01147 #endif
01148
01149 #ifndef GL_ARB_vertex_buffer_object
01150
01151 typedef ptrdiff_t GLintptrARB;
01152 typedef ptrdiff_t GLsizeiptrARB;
01153 #endif
01154
01155 #ifndef GL_ARB_vertex_buffer_object
01156 #define GL_BUFFER_SIZE_ARB 0x8764
01157 #define GL_BUFFER_USAGE_ARB 0x8765
01158 #define GL_ARRAY_BUFFER_ARB 0x8892
01159 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
01160 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
01161 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
01162 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
01163 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
01164 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
01165 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
01166 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
01167 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
01168 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
01169 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
01170 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
01171 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
01172 #define GL_READ_ONLY_ARB 0x88B8
01173 #define GL_WRITE_ONLY_ARB 0x88B9
01174 #define GL_READ_WRITE_ARB 0x88BA
01175 #define GL_BUFFER_ACCESS_ARB 0x88BB
01176 #define GL_BUFFER_MAPPED_ARB 0x88BC
01177 #define GL_BUFFER_MAP_POINTER_ARB 0x88BD
01178 #define GL_STREAM_DRAW_ARB 0x88E0
01179 #define GL_STREAM_READ_ARB 0x88E1
01180 #define GL_STREAM_COPY_ARB 0x88E2
01181 #define GL_STATIC_DRAW_ARB 0x88E4
01182 #define GL_STATIC_READ_ARB 0x88E5
01183 #define GL_STATIC_COPY_ARB 0x88E6
01184 #define GL_DYNAMIC_DRAW_ARB 0x88E8
01185 #define GL_DYNAMIC_READ_ARB 0x88E9
01186 #define GL_DYNAMIC_COPY_ARB 0x88EA
01187 #endif
01188
01189 namespace glx
01190 {
01191 typedef void (APIENTRY* PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
01192 typedef void (APIENTRY* PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
01193 typedef void (APIENTRY* PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
01194 typedef GLboolean (APIENTRY* PFNGLISBUFFERARBPROC) (GLuint buffer);
01195 typedef void (APIENTRY* PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
01196 typedef void (APIENTRY* PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
01197 typedef void (APIENTRY* PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
01198 typedef GLvoid* (APIENTRY* PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
01199 typedef GLboolean (APIENTRY* PFNGLUNMAPBUFFERARBPROC) (GLenum target);
01200 typedef void (APIENTRY* PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
01201 typedef void (APIENTRY* PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
01202
01203 extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
01204 extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
01205 extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
01206 extern PFNGLISBUFFERARBPROC glIsBufferARB;
01207 extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
01208 extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
01209 extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
01210 extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
01211 extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
01212 extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
01213 extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
01214 };
01215
01216
01217 extern void InitExtension(const char* ext);
01218 extern bool ExtensionSupported(const char *ext);
01219
01220
01221
01222 #endif // _CELENGINE_GLEXT_H_