1 /* GdkGLExt - OpenGL Extension to GDK 2 * Copyright (C) 2002-2004 Naofumi Yasufuku 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 */ 18 19 /* 20 * Additional OpenGL extensions. 21 */ 22 23 #ifndef __glext_extra_h_ 24 #define __glext_extra_h_ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) 31 #define WIN32_LEAN_AND_MEAN 1 32 #include <windows.h> 33 #endif 34 35 #ifndef APIENTRY 36 #define APIENTRY 37 #endif 38 #ifndef GLAPI 39 #define GLAPI extern 40 #endif 41 42 /* 43 * 3DFX 44 */ 45 46 /* 47 * APPLE 48 */ 49 50 #ifndef GL_APPLE_texture_range 51 #define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 52 #define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 53 #define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC 54 #endif 55 #if !defined(GL_APPLE_vertex_array_range) && !defined(GL_APPLE_texture_range) 56 #define GL_STORAGE_PRIVATE_APPLE 0x85BD 57 #define GL_STORAGE_CACHED_APPLE 0x85BE 58 #define GL_STORAGE_SHARED_APPLE 0x85BF 59 #endif 60 61 #ifndef GL_APPLE_float_pixels 62 #define GL_COLOR_FLOAT_APPLE 0x8A0F 63 #define GL_RGBA_FLOAT32_APPLE 0x8814 64 #define GL_RGB_FLOAT32_APPLE 0x8815 65 #define GL_ALPHA_FLOAT32_APPLE 0x8816 66 #define GL_INTENSITY_FLOAT32_APPLE 0x8817 67 #define GL_LUMINANCE_FLOAT32_APPLE 0x8818 68 #define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 69 #define GL_RGBA_FLOAT16_APPLE 0x881A 70 #define GL_RGB_FLOAT16_APPLE 0x881B 71 #define GL_ALPHA_FLOAT16_APPLE 0x881C 72 #define GL_INTENSITY_FLOAT16_APPLE 0x881D 73 #define GL_LUMINANCE_FLOAT16_APPLE 0x881E 74 #define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F 75 #endif 76 77 #ifndef GL_APPLE_vertex_program_evaluators 78 #define GL_VERTEX_ATTRIB_MAP1_ARB 0x8A00 79 #define GL_VERTEX_ATTRIB_MAP2_ARB 0x8A01 80 #define GL_VERTEX_ATTRIB_MAP1_SIZE_ARB 0x8A02 81 #define GL_VERTEX_ATTRIB_MAP1_COEFF_ARB 0x8A03 82 #define GL_VERTEX_ATTRIB_MAP1_ORDER_ARB 0x8A04 83 #define GL_VERTEX_ATTRIB_MAP1_DOMAIN_ARB 0x8A05 84 #define GL_VERTEX_ATTRIB_MAP2_SIZE_ARB 0x8A06 85 #define GL_VERTEX_ATTRIB_MAP2_COEFF_ARB 0x8A07 86 #define GL_VERTEX_ATTRIB_MAP2_ORDER_ARB 0x8A08 87 #define GL_VERTEX_ATTRIB_MAP2_DOMAIN_ARB 0x8A09 88 #endif 89 90 #ifndef GL_APPLE_packed_pixels 91 #define GL_APPLE_packed_pixels 1 92 #endif 93 94 #ifndef GL_APPLE_texture_range 95 #define GL_APPLE_texture_range 1 96 #ifdef GL_GLEXT_PROTOTYPES 97 GLAPI void APIENTRY glTextureRangeAPPLE (GLenum, GLsizei, const GLvoid *); 98 GLAPI void APIENTRY glGetTexParameterPointervAPPLE (GLenum, GLenum, GLvoid **); 99 #endif /* GL_GLEXT_PROTOTYPES */ 100 typedef void (APIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer); 101 typedef void (APIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params); 102 #endif 103 104 #ifndef GL_APPLE_float_pixels 105 #define GL_APPLE_float_pixels 1 106 #endif 107 108 #ifndef GL_APPLE_vertex_program_evaluators 109 #define GL_APPLE_vertex_program_evaluators 1 110 #ifdef GL_GLEXT_PROTOTYPES 111 GLAPI void APIENTRY glEnableVertexAttribAPPLE (GLuint index, GLenum pname); 112 GLAPI void APIENTRY glDisableVertexAttribAPPLE (GLuint index, GLenum pname); 113 GLAPI GLboolean APIENTRY glIsVertexAttribEnabledAPPLE (GLuint index, GLenum pname); 114 GLAPI void APIENTRY glMapVertexAttrib1dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); 115 GLAPI void APIENTRY glMapVertexAttrib1fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); 116 GLAPI void APIENTRY glMapVertexAttrib2dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); 117 GLAPI void APIENTRY glMapVertexAttrib2fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); 118 #endif /* GL_GLEXT_PROTOTYPES */ 119 typedef void (APIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); 120 typedef void (APIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); 121 typedef GLboolean (APIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); 122 typedef void (APIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); 123 typedef void (APIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); 124 typedef void (APIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); 125 typedef void (APIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); 126 #endif 127 128 /* 129 * ARB 130 */ 131 132 /* 133 * ATI 134 */ 135 136 #ifndef GL_ATI_blend_equation_separate 137 #define GL_ALPHA_BLEND_EQUATION_ATI 0x883D 138 #endif 139 140 #ifndef GL_ATI_blend_weighted_minmax 141 #define GL_MIN_WEIGHTED_ATI 0x877D 142 #define GL_MAX_WEIGHTED_ATI 0x877E 143 #endif 144 145 #ifndef GL_ATI_point_cull_mode 146 #define GL_POINT_CULL_MODE_ATI 0x60B3 147 #define GL_POINT_CULL_CENTER_ATI 0x60B4 148 #define GL_POINT_CULL_CLIP_ATI 0x60B5 149 #endif 150 151 #ifndef GL_ATI_blend_equation_separate 152 #define GL_ATI_blend_equation_separate 1 153 #ifdef GL_GLEXT_PROTOTYPES 154 GLAPI void APIENTRY glBlendEquationSeparateATI (GLenum, GLenum); 155 #endif /* GL_GLEXT_PROTOTYPES */ 156 typedef void (APIENTRY * PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum equationRGB, GLenum equationAlpha); 157 #endif 158 159 #ifndef GL_ATI_blend_weighted_minmax 160 #define GL_ATI_blend_weighted_minmax 1 161 #endif 162 163 #ifndef GL_ATI_point_cull_mode 164 #define GL_ATI_point_cull_mode 1 165 #endif 166 167 /* 168 * ATIX 169 */ 170 171 #ifndef GL_ATIX_pn_triangles 172 #define GL_PN_TRIANGLES_ATIX 0x6090 173 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATIX 0x6091 174 #define GL_PN_TRIANGLES_POINT_MODE_ATIX 0x6092 175 #define GL_PN_TRIANGLES_NORMAL_MODE_ATIX 0x6093 176 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATIX 0x6094 177 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATIX 0x6095 178 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATIX 0x6096 179 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATIX 0x6097 180 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATIX 0x6098 181 #endif 182 183 #ifndef GL_ATIX_texture_env_combine3 184 #define GL_MODULATE_ADD_ATIX 0x8744 185 #define GL_MODULATE_SIGNED_ADD_ATIX 0x8745 186 #define GL_MODULATE_SUBTRACT_ATIX 0x8746 187 #endif 188 189 #ifndef GL_ATIX_texture_env_route 190 #define GL_SECONDARY_COLOR_ATIX 0x8747 191 #define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 192 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 193 #endif 194 195 #ifndef GL_ATIX_vertex_shader_output_point_size 196 #define GL_OUTPUT_POINT_SIZE_ATIX 0x610E 197 #endif 198 199 #ifndef GL_ATIX_point_sprites 200 #define GL_ATIX_point_sprites 1 201 #endif 202 203 #ifndef GL_ATIX_pn_triangles 204 #define GL_ATIX_pn_triangles 1 205 #ifdef GL_GLEXT_PROTOTYPES 206 GLAPI void APIENTRY glPNTrianglesiATIX (GLenum, GLint); 207 GLAPI void APIENTRY glPNTrianglesfATIX (GLenum, GLfloat); 208 #endif /* GL_GLEXT_PROTOTYPES */ 209 typedef void (APIENTRY * PFNGLPNTRIANGLESIATIXPROC) (GLenum pname, GLint param); 210 typedef void (APIENTRY * PFNGLPNTRIANGLESFATIXPROC) (GLenum pname, GLfloat param); 211 #endif 212 213 #ifndef GL_ATIX_texture_env_combine3 214 #define GL_ATIX_texture_env_combine3 1 215 #endif 216 217 #ifndef GL_ATIX_texture_env_route 218 #define GL_ATIX_texture_env_route 1 219 #endif 220 221 #ifndef GL_ATIX_vertex_shader_output_point_size 222 #define GL_ATIX_vertex_shader_output_point_size 1 223 #endif 224 225 /* 226 * Autodesk 227 */ 228 229 #ifndef GL_Autodesk_facet_normal 230 #define GL_FACET_NORMAL 0x85D0 231 #endif 232 233 #ifndef GL_Autodesk_facet_normal 234 #define GL_Autodesk_facet_normal 1 235 #ifdef GL_GLEXT_PROTOTYPES 236 GLAPI void APIENTRY glFacetNormal3b (GLbyte, GLbyte, GLbyte); 237 GLAPI void APIENTRY glFacetNormal3d (GLdouble, GLdouble, GLdouble); 238 GLAPI void APIENTRY glFacetNormal3f (GLfloat, GLfloat, GLfloat); 239 GLAPI void APIENTRY glFacetNormal3i (GLint, GLint, GLint); 240 GLAPI void APIENTRY glFacetNormal3s (GLshort, GLshort, GLshort); 241 GLAPI void APIENTRY glFacetNormal3bv (const GLbyte *); 242 GLAPI void APIENTRY glFacetNormal3dv (const GLdouble *); 243 GLAPI void APIENTRY glFacetNormal3fv (const GLfloat *); 244 GLAPI void APIENTRY glFacetNormal3iv (const GLint *); 245 GLAPI void APIENTRY glFacetNormal3sv (const GLshort *); 246 #endif /* GL_GLEXT_PROTOTYPES */ 247 typedef void (APIENTRY * PFNGLFACETNORMAL3BPROC) (GLbyte nx, GLbyte ny, GLbyte nz); 248 typedef void (APIENTRY * PFNGLFACETNORMAL3DPROC) (GLdouble nx, GLdouble ny, GLdouble nz); 249 typedef void (APIENTRY * PFNGLFACETNORMAL3FPROC) (GLfloat nx, GLfloat ny, GLfloat nz); 250 typedef void (APIENTRY * PFNGLFACETNORMAL3IPROC) (GLint nx, GLint ny, GLint nz); 251 typedef void (APIENTRY * PFNGLFACETNORMAL3SPROC) (GLshort nx, GLshort ny, GLshort nz); 252 typedef void (APIENTRY * PFNGLFACETNORMAL3BVPROC) (const GLbyte *v); 253 typedef void (APIENTRY * PFNGLFACETNORMAL3DVPROC) (const GLdouble *v); 254 typedef void (APIENTRY * PFNGLFACETNORMAL3FVPROC) (const GLfloat *v); 255 typedef void (APIENTRY * PFNGLFACETNORMAL3IVPROC) (const GLint *v); 256 typedef void (APIENTRY * PFNGLFACETNORMAL3SVPROC) (const GLshort *v); 257 #endif 258 259 #ifndef GL_Autodesk_valid_back_buffer_hint 260 #define GL_Autodesk_valid_back_buffer_hint 1 261 #ifdef GL_GLEXT_PROTOTYPES 262 GLAPI void APIENTRY glWindowBackBufferHint (void); 263 GLAPI GLboolean APIENTRY glValidBackBufferHint (GLint, GLint, GLsizei, GLsizei); 264 #endif /* GL_GLEXT_PROTOTYPES */ 265 typedef void (APIENTRY * PFNGLWINDOWBACKBUFFERHINTPROC) (void); 266 typedef GLboolean (APIENTRY * PFNGLVALIDBACKBUFFERHINTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); 267 #endif 268 269 /* 270 * EXT 271 */ 272 273 #ifndef GL_EXT_depth_bounds_test 274 #define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 275 #define GL_DEPTH_BOUNDS_EXT 0x8891 276 #endif 277 278 #ifndef GL_EXT_fragment_lighting 279 #define GL_FRAGMENT_LIGHTING_EXT 0x8400 280 #define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401 281 #define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402 282 #define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403 283 #define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404 284 #define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405 285 #define GL_CURRENT_RASTER_NORMAL_EXT 0x8406 286 #define GL_LIGHT_ENV_MODE_EXT 0x8407 287 #define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408 288 #define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409 289 #define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A 290 #define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B 291 #define GL_FRAGMENT_LIGHT0_EXT 0x840C 292 #define GL_FRAGMENT_LIGHT1_EXT 0x840D 293 #define GL_FRAGMENT_LIGHT2_EXT 0x840E 294 #define GL_FRAGMENT_LIGHT3_EXT 0x840F 295 #define GL_FRAGMENT_LIGHT4_EXT 0x8410 296 #define GL_FRAGMENT_LIGHT5_EXT 0x8411 297 #define GL_FRAGMENT_LIGHT6_EXT 0x8412 298 #define GL_FRAGMENT_LIGHT7_EXT 0x8413 299 #endif 300 301 #ifndef GL_EXT_multitexture 302 #define GL_SELECTED_TEXTURE_EXT 0x83C0 303 #define GL_SELECTED_TEXTURE_COORD_SET_EXT 0x83C1 304 #define GL_SELECTED_TEXTURE_TRANSFORM_EXT 0x83C2 305 #define GL_MAX_TEXTURES_EXT 0x83C3 306 #define GL_MAX_TEXTURE_COORD_SETS_EXT 0x83C4 307 #define GL_TEXTURE_ENV_COORD_SET_EXT 0x83C5 308 #define GL_TEXTURE0_EXT 0x83C6 309 #define GL_TEXTURE1_EXT 0x83C7 310 #define GL_TEXTURE2_EXT 0x83C8 311 #define GL_TEXTURE3_EXT 0x83C9 312 #define GL_TEXTURE4_EXT 0x83CA 313 #define GL_TEXTURE5_EXT 0x83CB 314 #define GL_TEXTURE6_EXT 0x83CC 315 #define GL_TEXTURE7_EXT 0x83CD 316 #define GL_TEXTURE8_EXT 0x83CE 317 #define GL_TEXTURE9_EXT 0x83CF 318 #define GL_TEXTURE10_EXT 0x83D0 319 #define GL_TEXTURE11_EXT 0x83D1 320 #define GL_TEXTURE12_EXT 0x83D2 321 #define GL_TEXTURE13_EXT 0x83D3 322 #define GL_TEXTURE14_EXT 0x83D4 323 #define GL_TEXTURE15_EXT 0x83D5 324 #define GL_TEXTURE16_EXT 0x83D6 325 #define GL_TEXTURE17_EXT 0x83D7 326 #define GL_TEXTURE18_EXT 0x83D8 327 #define GL_TEXTURE19_EXT 0x83D9 328 #define GL_TEXTURE20_EXT 0x83DA 329 #define GL_TEXTURE21_EXT 0x83DB 330 #define GL_TEXTURE22_EXT 0x83DC 331 #define GL_TEXTURE23_EXT 0x83DD 332 #define GL_TEXTURE24_EXT 0x83DE 333 #define GL_TEXTURE25_EXT 0x83DF 334 #define GL_TEXTURE26_EXT 0x83E0 335 #define GL_TEXTURE27_EXT 0x83E1 336 #define GL_TEXTURE28_EXT 0x83E2 337 #define GL_TEXTURE29_EXT 0x83E3 338 #define GL_TEXTURE30_EXT 0x83E4 339 #define GL_TEXTURE31_EXT 0x83E5 340 #endif 341 342 /* unknown */ 343 #ifndef GL_EXT_scene_marker 344 /* 345 #define GL_SCENE_REQUIRED_EXT 0 346 */ 347 #endif 348 349 #ifndef GL_EXT_texgen_reflection 350 #define GL_NORMAL_MAP_EXT 0x8511 351 #define GL_REFLECTION_MAP_EXT 0x8512 352 #endif 353 354 #ifndef GL_EXT_texture_edge_clamp 355 #define GL_CLAMP_TO_EDGE_EXT 0x812F 356 #endif 357 358 #ifndef GL_EXT_texture_rectangle 359 #define GL_TEXTURE_RECTANGLE_EXT 0x84F5 360 #define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 361 #define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 362 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 363 #endif 364 365 #ifndef GL_EXT_depth_bounds_test 366 #define GL_EXT_depth_bounds_test 1 367 #ifdef GL_GLEXT_PROTOTYPES 368 GLAPI void APIENTRY glDepthBoundsEXT (GLclampd, GLclampd); 369 #endif /* GL_GLEXT_PROTOTYPES */ 370 typedef void (APIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); 371 #endif 372 373 #ifndef GL_EXT_fragment_lighting 374 #define GL_EXT_fragment_lighting 1 375 #ifdef GL_GLEXT_PROTOTYPES 376 GLAPI void APIENTRY glFragmentLightModelfEXT (GLenum, GLfloat); 377 GLAPI void APIENTRY glFragmentLightModelfvEXT (GLenum, GLfloat *); 378 GLAPI void APIENTRY glFragmentLightModeliEXT (GLenum, GLint); 379 GLAPI void APIENTRY glFragmentLightModelivEXT (GLenum, GLint *); 380 GLAPI void APIENTRY glFragmentLightfEXT (GLenum, GLenum, GLfloat); 381 GLAPI void APIENTRY glFragmentLightfvEXT (GLenum, GLenum, GLfloat *); 382 GLAPI void APIENTRY glFragmentLightiEXT (GLenum, GLenum, GLint); 383 GLAPI void APIENTRY glFragmentLightivEXT (GLenum, GLenum, GLint *); 384 GLAPI void APIENTRY glGetFragmentLightfvEXT (GLenum, GLenum, GLfloat *); 385 GLAPI void APIENTRY glGetFragmentLightivEXT (GLenum, GLenum, GLint *); 386 GLAPI void APIENTRY glFragmentMaterialfEXT (GLenum, GLenum, const GLfloat); 387 GLAPI void APIENTRY glFragmentMaterialfvEXT (GLenum, GLenum, const GLfloat *); 388 GLAPI void APIENTRY glFragmentMaterialiEXT (GLenum, GLenum, const GLint); 389 GLAPI void APIENTRY glFragmentMaterialivEXT (GLenum, GLenum, const GLint *); 390 GLAPI void APIENTRY glFragmentColorMaterialEXT (GLenum, GLenum); 391 GLAPI void APIENTRY glGetFragmentMaterialfvEXT (GLenum, GLenum, const GLfloat *); 392 GLAPI void APIENTRY glGetFragmentMaterialivEXT (GLenum, GLenum, const GLint *); 393 GLAPI void APIENTRY glLightEnviEXT (GLenum, GLint); 394 #endif /* GL_GLEXT_PROTOTYPES */ 395 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param); 396 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat *params); 397 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param); 398 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint *params); 399 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param); 400 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat *params); 401 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param); 402 typedef void (APIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint *params); 403 typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat *params); 404 typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint *params); 405 typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param); 406 typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat *params); 407 typedef void (APIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param); 408 typedef void (APIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint *params); 409 typedef void (APIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode); 410 typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat *params); 411 typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint *params); 412 typedef void (APIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param); 413 #endif 414 415 #ifndef GL_EXT_multitexture 416 #define GL_EXT_multitexture 1 417 #ifdef GL_GLEXT_PROTOTYPES 418 GLAPI void APIENTRY glMultiTexCoord1dEXT (GLenum, GLdouble); 419 GLAPI void APIENTRY glMultiTexCoord1dvEXT (GLenum, const GLdouble *); 420 GLAPI void APIENTRY glMultiTexCoord1fEXT (GLenum, GLfloat); 421 GLAPI void APIENTRY glMultiTexCoord1fvEXT (GLenum, const GLfloat *); 422 GLAPI void APIENTRY glMultiTexCoord1iEXT (GLenum, GLint); 423 GLAPI void APIENTRY glMultiTexCoord1ivEXT (GLenum, const GLint *); 424 GLAPI void APIENTRY glMultiTexCoord1sEXT (GLenum, GLshort); 425 GLAPI void APIENTRY glMultiTexCoord1svEXT (GLenum, const GLshort *); 426 GLAPI void APIENTRY glMultiTexCoord2dEXT (GLenum, GLdouble, GLdouble); 427 GLAPI void APIENTRY glMultiTexCoord2dvEXT (GLenum, const GLdouble *); 428 GLAPI void APIENTRY glMultiTexCoord2fEXT (GLenum, GLfloat, GLfloat); 429 GLAPI void APIENTRY glMultiTexCoord2fvEXT (GLenum, const GLfloat *); 430 GLAPI void APIENTRY glMultiTexCoord2iEXT (GLenum, GLint, GLint); 431 GLAPI void APIENTRY glMultiTexCoord2ivEXT (GLenum, const GLint *); 432 GLAPI void APIENTRY glMultiTexCoord2sEXT (GLenum, GLshort, GLshort); 433 GLAPI void APIENTRY glMultiTexCoord2svEXT (GLenum, const GLshort *); 434 GLAPI void APIENTRY glMultiTexCoord3dEXT (GLenum, GLdouble, GLdouble, GLdouble); 435 GLAPI void APIENTRY glMultiTexCoord3dvEXT (GLenum, const GLdouble *); 436 GLAPI void APIENTRY glMultiTexCoord3fEXT (GLenum, GLfloat, GLfloat, GLfloat); 437 GLAPI void APIENTRY glMultiTexCoord3fvEXT (GLenum, const GLfloat *); 438 GLAPI void APIENTRY glMultiTexCoord3iEXT (GLenum, GLint, GLint, GLint); 439 GLAPI void APIENTRY glMultiTexCoord3ivEXT (GLenum, const GLint *); 440 GLAPI void APIENTRY glMultiTexCoord3sEXT (GLenum, GLshort, GLshort, GLshort); 441 GLAPI void APIENTRY glMultiTexCoord3svEXT (GLenum, const GLshort *); 442 GLAPI void APIENTRY glMultiTexCoord4dEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); 443 GLAPI void APIENTRY glMultiTexCoord4dvEXT (GLenum, const GLdouble *); 444 GLAPI void APIENTRY glMultiTexCoord4fEXT (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); 445 GLAPI void APIENTRY glMultiTexCoord4fvEXT (GLenum, const GLfloat *); 446 GLAPI void APIENTRY glMultiTexCoord4iEXT (GLenum, GLint, GLint, GLint, GLint); 447 GLAPI void APIENTRY glMultiTexCoord4ivEXT (GLenum, const GLint *); 448 GLAPI void APIENTRY glMultiTexCoord4sEXT (GLenum, GLshort, GLshort, GLshort, GLshort); 449 GLAPI void APIENTRY glMultiTexCoord4svEXT (GLenum, const GLshort *); 450 GLAPI void APIENTRY glInterleavedTextureCoordSetsEXT (GLint); 451 GLAPI void APIENTRY glSelectTextureEXT (GLenum); 452 GLAPI void APIENTRY glSelectTextureCoordSetEXT (GLenum); 453 GLAPI void APIENTRY glSelectTextureTransformEXT (GLenum); 454 #endif /* GL_GLEXT_PROTOTYPES */ 455 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DEXTPROC) (GLenum target, GLdouble s); 456 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVEXTPROC) (GLenum target, const GLdouble *v); 457 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FEXTPROC) (GLenum target, GLfloat s); 458 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVEXTPROC) (GLenum target, const GLfloat *v); 459 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IEXTPROC) (GLenum target, GLint s); 460 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVEXTPROC) (GLenum target, const GLint *v); 461 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SEXTPROC) (GLenum target, GLshort s); 462 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVEXTPROC) (GLenum target, const GLshort *v); 463 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DEXTPROC) (GLenum target, GLdouble s, GLdouble t); 464 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVEXTPROC) (GLenum target, const GLdouble *v); 465 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FEXTPROC) (GLenum target, GLfloat s, GLfloat t); 466 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVEXTPROC) (GLenum target, const GLfloat *v); 467 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IEXTPROC) (GLenum target, GLint s, GLint t); 468 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVEXTPROC) (GLenum target, const GLint *v); 469 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SEXTPROC) (GLenum target, GLshort s, GLshort t); 470 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVEXTPROC) (GLenum target, const GLshort *v); 471 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DEXTPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); 472 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVEXTPROC) (GLenum target, const GLdouble *v); 473 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FEXTPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); 474 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVEXTPROC) (GLenum target, const GLfloat *v); 475 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IEXTPROC) (GLenum target, GLint s, GLint t, GLint r); 476 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVEXTPROC) (GLenum target, const GLint *v); 477 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SEXTPROC) (GLenum target, GLshort s, GLshort t, GLshort r); 478 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVEXTPROC) (GLenum target, const GLshort *v); 479 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DEXTPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 480 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVEXTPROC) (GLenum target, const GLdouble *v); 481 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FEXTPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 482 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVEXTPROC) (GLenum target, const GLfloat *v); 483 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IEXTPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); 484 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVEXTPROC) (GLenum target, const GLint *v); 485 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SEXTPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 486 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVEXTPROC) (GLenum target, const GLshort *v); 487 typedef void (APIENTRY * PFNGLINTERLEAVEDTEXTURECOORDSETSEXTPROC) (GLint factor); 488 typedef void (APIENTRY * PFNGLSELECTTEXTUREEXTPROC) (GLenum target); 489 typedef void (APIENTRY * PFNGLSELECTTEXTURECOORDSETEXTPROC) (GLenum target); 490 typedef void (APIENTRY * PFNGLSELECTTEXTURETRANSFORMEXTPROC) (GLenum target); 491 #endif 492 493 /* unknown */ 494 #ifndef GL_EXT_scene_marker 495 /* #define GL_EXT_scene_marker 1 */ 496 #ifdef GL_GLEXT_PROTOTYPES 497 GLAPI void APIENTRY glBeginSceneEXT (void); 498 GLAPI void APIENTRY glEndSceneEXT (void); 499 #endif /* GL_GLEXT_PROTOTYPES */ 500 typedef void (APIENTRY * PFNGLBEGINSCENEEXTPROC) (void); 501 typedef void (APIENTRY * PFNGLENDSCENEEXTPROC) (void); 502 #endif 503 504 #ifndef GL_EXT_texgen_reflection 505 #define GL_EXT_texgen_reflection 1 506 #endif 507 508 #ifndef GL_EXT_texture_edge_clamp 509 #define GL_EXT_texture_edge_clamp 1 510 #endif 511 512 #ifndef GL_EXT_texture_rectangle 513 #define GL_EXT_texture_rectangle 1 514 #endif 515 516 /* 517 * HP 518 */ 519 520 /* 521 * IBM 522 */ 523 524 #ifndef GL_IBM_static_data 525 #define GL_ALL_STATIC_DATA_IBM 103060 526 #define GL_STATIC_VERTEX_ARRAY_IBM 103061 527 #endif 528 529 #ifndef GL_IBM_static_data 530 #define GL_IBM_static_data 1 531 #ifdef GL_GLEXT_PROTOTYPES 532 GLAPI void APIENTRY glFlushStaticDataIBM (GLenum); 533 #endif /* GL_GLEXT_PROTOTYPES */ 534 typedef void (APIENTRY * PFNGLFLUSHSTATICDATAIBMPROC) (GLenum target); 535 #endif 536 537 /* 538 * INGR 539 */ 540 541 /* 542 * INTEL 543 */ 544 545 /* 546 * KTX 547 */ 548 549 #ifndef GL_KTX_buffer_region 550 #define GL_KTX_FRONT_REGION 0x0 551 #define GL_KTX_BACK_REGION 0x1 552 #define GL_KTX_Z_REGION 0x2 553 #define GL_KTX_STENCIL_REGION 0x3 554 #endif 555 556 #ifndef GL_KTX_buffer_region 557 #define GL_KTX_buffer_region 1 558 #ifdef GL_GLEXT_PROTOTYPES 559 GLAPI GLuint APIENTRY glBufferRegionEnabled (void); 560 GLAPI GLuint APIENTRY glNewBufferRegion (GLenum); 561 GLAPI void APIENTRY glDeleteBufferRegion (GLenum); 562 GLAPI void APIENTRY glReadBufferRegion (GLuint, GLint, GLint, GLsizei, GLsizei); 563 GLAPI void APIENTRY glDrawBufferRegion (GLuint, GLint, GLint, GLsizei, GLsizei, GLint, GLint); 564 #endif /* GL_GLEXT_PROTOTYPES */ 565 typedef GLuint (APIENTRY * PFNGLBUFFERREGIONENABLEDPROC) (void); 566 typedef GLuint (APIENTRY * PFNGLNEWBUFFERREGIONPROC) (GLenum region); 567 typedef void (APIENTRY * PFNGLDELETEBUFFERREGIONPROC) (GLenum region); 568 typedef void (APIENTRY * PFNGLREADBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); 569 typedef void (APIENTRY * PFNGLDRAWBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); 570 #endif 571 572 /* 573 * MESA 574 */ 575 576 /* 577 * NV 578 */ 579 580 #ifndef GL_NV_element_array 581 #define GL_ELEMENT_ARRAY_TYPE_NV 0x8769 582 #define GL_ELEMENT_ARRAY_POINTER_NV 0x876A 583 #endif 584 585 #ifndef GL_NV_stencil_two_side 586 #define GL_STENCIL_TEST_TWO_SIDE_NV 0x8910 587 #define GL_ACTIVE_STENCIL_FACE_NV 0x8911 588 #endif 589 590 #ifndef GL_NV_element_array 591 #define GL_NV_element_array 1 592 #ifdef GL_GLEXT_PROTOTYPES 593 GLAPI void APIENTRY glElementPointerNV (GLenum, const GLvoid *); 594 GLAPI void APIENTRY glDrawElementArrayNV (GLenum, GLint, GLsizei); 595 GLAPI void APIENTRY glDrawRangeElementArrayNV (GLenum, GLuint, GLuint, GLint, GLsizei); 596 GLAPI void APIENTRY glMultiDrawElementArrayNV (GLenum, const GLint *, const GLsizei *, GLsizei); 597 GLAPI void APIENTRY glMultiDrawRangeElementArrayNV (GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei); 598 #endif /* GL_GLEXT_PROTOTYPES */ 599 typedef void (APIENTRY * PFNGLELEMENTPOINTERNVPROC) (GLenum type, const GLvoid *pointer); 600 typedef void (APIENTRY * PFNGLDRAWELEMENTARRAYNVPROC) (GLenum mode, GLint first, GLsizei count); 601 typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTARRAYNVPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); 602 typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTARRAYNVPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); 603 typedef void (APIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYNVPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount); 604 #endif 605 606 #ifndef GL_NV_stencil_two_side 607 #define GL_NV_stencil_two_side 1 608 #ifdef GL_GLEXT_PROTOTYPES 609 GLAPI void APIENTRY glActiveStencilFaceNV (GLenum); 610 #endif /* GL_GLEXT_PROTOTYPES */ 611 typedef void (APIENTRY * PFNGLACTIVESTENCILFACENVPROC) (GLenum face); 612 #endif 613 614 /* 615 * OML 616 */ 617 618 /* 619 * PGI 620 */ 621 622 /* 623 * REND 624 */ 625 626 /* 627 * S3 628 */ 629 630 /* 631 * SGI 632 */ 633 634 #ifndef GL_SGI_texture_edge_clamp 635 #define GL_CLAMP_TO_EDGE_SGI 0x812F 636 #endif 637 638 #ifndef GL_SGI_texture_edge_clamp 639 #define GL_SGI_texture_edge_clamp 1 640 #endif 641 642 /* 643 * SGIS 644 */ 645 646 #ifndef GL_SGIS_color_range 647 #define EXTENDED_RANGE_SGIS 0x85A5 648 #define MIN_RED_SGIS 0x85A6 649 #define MAX_RED_SGIS 0x85A7 650 #define MIN_GREEN_SGIS 0x85A8 651 #define MAX_GREEN_SGIS 0x85A9 652 #define MIN_BLUE_SGIS 0x85AA 653 #define MAX_BLUE_SGIS 0x85AB 654 #define MIN_ALPHA_SGIS 0x85AC 655 #define MAX_ALPHA_SGIS 0x85AD 656 #endif 657 658 #ifndef GL_SGIS_multitexture 659 #define GL_SELECTED_TEXTURE_SGIS 0x835C 660 #define GL_SELECTED_TEXTURE_COORD_SET_SGIS 0x835D 661 #define GL_MAX_TEXTURES_SGIS 0x835E 662 #define GL_TEXTURE0_SGIS 0x835F 663 #define GL_TEXTURE1_SGIS 0x8360 664 #define GL_TEXTURE2_SGIS 0x8361 665 #define GL_TEXTURE3_SGIS 0x8362 666 #define GL_TEXTURE4_SGIS 0x8363 667 #define GL_TEXTURE5_SGIS 0x8364 668 #define GL_TEXTURE6_SGIS 0x8365 669 #define GL_TEXTURE7_SGIS 0x8366 670 #define GL_TEXTURE8_SGIS 0x8367 671 #define GL_TEXTURE9_SGIS 0x8368 672 #define GL_TEXTURE10_SGIS 0x8369 673 #define GL_TEXTURE11_SGIS 0x836A 674 #define GL_TEXTURE12_SGIS 0x836B 675 #define GL_TEXTURE13_SGIS 0x836C 676 #define GL_TEXTURE14_SGIS 0x836D 677 #define GL_TEXTURE15_SGIS 0x836E 678 #define GL_TEXTURE16_SGIS 0x836F 679 #define GL_TEXTURE17_SGIS 0x8370 680 #define GL_TEXTURE18_SGIS 0x8371 681 #define GL_TEXTURE19_SGIS 0x8372 682 #define GL_TEXTURE20_SGIS 0x8373 683 #define GL_TEXTURE21_SGIS 0x8374 684 #define GL_TEXTURE22_SGIS 0x8375 685 #define GL_TEXTURE23_SGIS 0x8376 686 #define GL_TEXTURE24_SGIS 0x8377 687 #define GL_TEXTURE25_SGIS 0x8378 688 #define GL_TEXTURE26_SGIS 0x8379 689 #define GL_TEXTURE27_SGIS 0x837A 690 #define GL_TEXTURE28_SGIS 0x837B 691 #define GL_TEXTURE29_SGIS 0x837C 692 #define GL_TEXTURE30_SGIS 0x837D 693 #define GL_TEXTURE31_SGIS 0x837E 694 #define GL_TEXTURE_COORD_SET_SOURCE_SGIS 0x8363 695 #endif 696 697 #ifndef GL_SGIS_color_range 698 #define GL_SGIS_color_range 1 699 #endif 700 701 #ifndef GL_SGIS_multitexture 702 #define GL_SGIS_multitexture 1 703 #ifdef GL_GLEXT_PROTOTYPES 704 GLAPI void APIENTRY glMultiTexCoord1dSGIS (GLenum, GLdouble); 705 GLAPI void APIENTRY glMultiTexCoord1dvSGIS (GLenum, const GLdouble *); 706 GLAPI void APIENTRY glMultiTexCoord1fSGIS (GLenum, GLfloat); 707 GLAPI void APIENTRY glMultiTexCoord1fvSGIS (GLenum, const GLfloat *); 708 GLAPI void APIENTRY glMultiTexCoord1iSGIS (GLenum, GLint); 709 GLAPI void APIENTRY glMultiTexCoord1ivSGIS (GLenum, const GLint *); 710 GLAPI void APIENTRY glMultiTexCoord1sSGIS (GLenum, GLshort); 711 GLAPI void APIENTRY glMultiTexCoord1svSGIS (GLenum, const GLshort *); 712 GLAPI void APIENTRY glMultiTexCoord2dSGIS (GLenum, GLdouble, GLdouble); 713 GLAPI void APIENTRY glMultiTexCoord2dvSGIS (GLenum, const GLdouble *); 714 GLAPI void APIENTRY glMultiTexCoord2fSGIS (GLenum, GLfloat, GLfloat); 715 GLAPI void APIENTRY glMultiTexCoord2fvSGIS (GLenum, const GLfloat *); 716 GLAPI void APIENTRY glMultiTexCoord2iSGIS (GLenum, GLint, GLint); 717 GLAPI void APIENTRY glMultiTexCoord2ivSGIS (GLenum, const GLint *); 718 GLAPI void APIENTRY glMultiTexCoord2sSGIS (GLenum, GLshort, GLshort); 719 GLAPI void APIENTRY glMultiTexCoord2svSGIS (GLenum, const GLshort *); 720 GLAPI void APIENTRY glMultiTexCoord3dSGIS (GLenum, GLdouble, GLdouble, GLdouble); 721 GLAPI void APIENTRY glMultiTexCoord3dvSGIS (GLenum, const GLdouble *); 722 GLAPI void APIENTRY glMultiTexCoord3fSGIS (GLenum, GLfloat, GLfloat, GLfloat); 723 GLAPI void APIENTRY glMultiTexCoord3fvSGIS (GLenum, const GLfloat *); 724 GLAPI void APIENTRY glMultiTexCoord3iSGIS (GLenum, GLint, GLint, GLint); 725 GLAPI void APIENTRY glMultiTexCoord3ivSGIS (GLenum, const GLint *); 726 GLAPI void APIENTRY glMultiTexCoord3sSGIS (GLenum, GLshort, GLshort, GLshort); 727 GLAPI void APIENTRY glMultiTexCoord3svSGIS (GLenum, const GLshort *); 728 GLAPI void APIENTRY glMultiTexCoord4dSGIS (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); 729 GLAPI void APIENTRY glMultiTexCoord4dvSGIS (GLenum, const GLdouble *); 730 GLAPI void APIENTRY glMultiTexCoord4fSGIS (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); 731 GLAPI void APIENTRY glMultiTexCoord4fvSGIS (GLenum, const GLfloat *); 732 GLAPI void APIENTRY glMultiTexCoord4iSGIS (GLenum, GLint, GLint, GLint, GLint); 733 GLAPI void APIENTRY glMultiTexCoord4ivSGIS (GLenum, const GLint *); 734 GLAPI void APIENTRY glMultiTexCoord4sSGIS (GLenum, GLshort, GLshort, GLshort, GLshort); 735 GLAPI void APIENTRY glMultiTexCoord4svSGIS (GLenum, const GLshort *); 736 GLAPI void APIENTRY glMultiTexCoordPointerSGIS (GLenum, GLint, GLenum, GLsizei, const void *); 737 GLAPI void APIENTRY glSelectTextureSGIS (GLenum); 738 GLAPI void APIENTRY glSelectTextureCoordSetSGIS (GLenum); 739 #endif /* GL_GLEXT_PROTOTYPES */ 740 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DSGISPROC) (GLenum target, GLdouble s); 741 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum target, const GLdouble *v); 742 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FSGISPROC) (GLenum target, GLfloat s); 743 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum target, const GLfloat *v); 744 typedef void (APIENTRY * PFNGLMULTITEXCOORD1ISGISPROC) (GLenum target, GLint s); 745 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum target, const GLint *v); 746 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SSGISPROC) (GLenum target, GLshort s); 747 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum target, const GLshort *v); 748 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DSGISPROC) (GLenum target, GLdouble s, GLdouble t); 749 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum target, const GLdouble *v); 750 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FSGISPROC) (GLenum target, GLfloat s, GLfloat t); 751 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum target, const GLfloat *v); 752 typedef void (APIENTRY * PFNGLMULTITEXCOORD2ISGISPROC) (GLenum target, GLint s, GLint t); 753 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum target, const GLint *v); 754 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SSGISPROC) (GLenum target, GLshort s, GLshort t); 755 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum target, const GLshort *v); 756 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); 757 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum target, const GLdouble *v); 758 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); 759 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum target, const GLfloat *v); 760 typedef void (APIENTRY * PFNGLMULTITEXCOORD3ISGISPROC) (GLenum target, GLint s, GLint t, GLint r); 761 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum target, const GLint *v); 762 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r); 763 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum target, const GLshort *v); 764 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 765 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum target, const GLdouble *v); 766 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 767 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum target, const GLfloat *v); 768 typedef void (APIENTRY * PFNGLMULTITEXCOORD4ISGISPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); 769 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum target, const GLint *v); 770 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 771 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum target, const GLshort *v); 772 typedef void (APIENTRY * PFNGLMULTITEXCOORDPOINTERSGISPROC) (GLenum target, GLint size, GLenum type, GLsizei stride, const void *pointer); 773 typedef void (APIENTRY * PFNGLSELECTTEXTURESGISPROC) (GLenum target); 774 typedef void (APIENTRY * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum target); 775 #endif 776 777 /* 778 * SGIX 779 */ 780 781 /* unknown */ 782 #ifndef GL_SGIX_fog_texture 783 /* 784 #define GL_FRAGMENT_FOG_SGIX 0 785 #define GL_TEXTURE_FOG_SGIX 0 786 #define GL_FOG_PATCHY_FACTOR_SGIX 0 787 */ 788 #endif 789 790 /* unknown */ 791 #ifndef GL_SGIX_pixel_texture_bits 792 /* 793 #define GL_COLOR_TO_TEXTURE_COORD_SGIX 0 794 #define GL_COLOR_BIT_PATTERN_SGIX 0 795 #define GL_COLOR_VALUE_SGIX 0 796 */ 797 #endif 798 799 #ifndef GL_SGIX_texture_range 800 #define GL_RGB_SIGNED_SGIX 0x85E0 801 #define GL_RGBA_SIGNED_SGIX 0x85E1 802 #define GL_ALPHA_SIGNED_SGIX 0x85E2 803 #define GL_LUMINANCE_SIGNED_SGIX 0x85E3 804 #define GL_INTENSITY_SIGNED_SGIX 0x85E4 805 #define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5 806 #define GL_RGB16_SIGNED_SGIX 0x85E6 807 #define GL_RGBA16_SIGNED_SGIX 0x85E7 808 #define GL_ALPHA16_SIGNED_SGIX 0x85E8 809 #define GL_LUMINANCE16_SIGNED_SGIX 0x85E9 810 #define GL_INTENSITY16_SIGNED_SGIX 0x85EA 811 #define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB 812 #define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC 813 #define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED 814 #define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE 815 #define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF 816 #define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0 817 #define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1 818 #define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2 819 #define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3 820 #define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4 821 #define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5 822 #define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6 823 #define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7 824 #define GL_MIN_LUMINANCE_SGIS 0x85F8 825 #define GL_MAX_LUMINANCE_SGIS 0x85F9 826 #define GL_MIN_INTENSITY_SGIS 0x85FA 827 #define GL_MAX_INTENSITY_SGIS 0x85FB 828 #endif 829 830 #ifndef GL_SGIX_vertex_preclip_hint 831 /* defined in glext.h 832 #define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF 833 */ 834 #endif 835 836 /* unknown */ 837 #ifndef GL_SGIX_fog_texture 838 /* #define GL_SGIX_fog_texture 1 */ 839 #ifdef GL_GLEXT_PROTOTYPES 840 GLAPI void APIENTRY glTextureFogSGIX (GLenum pname); 841 #endif /* GL_GLEXT_PROTOTYPES */ 842 typedef void (APIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname); 843 #endif 844 845 /* unknown */ 846 #ifndef GL_SGIX_pixel_texture_bits 847 /* #define GL_SGIX_pixel_texture_bits 1 */ 848 #endif 849 850 #ifndef GL_SGIX_texture_range 851 #define GL_SGIX_texture_range 1 852 #endif 853 854 #ifndef GL_SGIX_vertex_preclip_hint 855 #define GL_SGIX_vertex_preclip_hint 1 856 #endif 857 858 /* 859 * SUN 860 */ 861 862 #ifndef GL_SUN_multi_draw_arrays 863 #define GL_SUN_multi_draw_arrays 1 864 #ifdef GL_GLEXT_PROTOTYPES 865 GLAPI void APIENTRY glMultiDrawArraysSUN (GLenum, GLint *, GLsizei *, GLsizei); 866 GLAPI void APIENTRY glMultiDrawElementsSUN (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 867 #endif /* GL_GLEXT_PROTOTYPES */ 868 typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSSUNPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 869 typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSSUNPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 870 #endif 871 872 /* 873 * SUNX 874 */ 875 876 /* 877 * WIN 878 */ 879 880 #ifndef GL_WIN_swap_hint 881 #define GL_WIN_swap_hint 1 882 #ifdef GL_GLEXT_PROTOTYPES 883 GLAPI void APIENTRY glAddSwapHintRectWIN (GLint, GLint, GLsizei, GLsizei); 884 #endif /* GL_GLEXT_PROTOTYPES */ 885 typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); 886 #endif 887 888 #ifdef __cplusplus 889 } 890 #endif 891 892 #endif /* __glext_extra_h_ */ 893