1 #ifndef __glext_h_ 2 #define __glext_h_ 3 4 /* $Revision: 7172 $ on $Date:: 2009-01-09 11:17:41 -0800 #$ */ 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /* 11 * This document is licensed under the SGI Free Software B License Version 12 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 13 */ 14 15 #ifndef GL_APIENTRYP 16 # define GL_APIENTRYP GL_APIENTRY* 17 #endif 18 19 /*------------------------------------------------------------------------* 20 * OES extension tokens 21 *------------------------------------------------------------------------*/ 22 23 /* GL_OES_blend_equation_separate */ 24 #ifndef GL_OES_blend_equation_separate 25 /* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */ 26 #define GL_BLEND_EQUATION_RGB_OES 0x8009 27 #define GL_BLEND_EQUATION_ALPHA_OES 0x883D 28 #endif 29 30 /* GL_OES_blend_func_separate */ 31 #ifndef GL_OES_blend_func_separate 32 #define GL_BLEND_DST_RGB_OES 0x80C8 33 #define GL_BLEND_SRC_RGB_OES 0x80C9 34 #define GL_BLEND_DST_ALPHA_OES 0x80CA 35 #define GL_BLEND_SRC_ALPHA_OES 0x80CB 36 #endif 37 38 /* GL_OES_blend_subtract */ 39 #ifndef GL_OES_blend_subtract 40 #define GL_BLEND_EQUATION_OES 0x8009 41 #define GL_FUNC_ADD_OES 0x8006 42 #define GL_FUNC_SUBTRACT_OES 0x800A 43 #define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B 44 #endif 45 46 /* GL_OES_compressed_ETC1_RGB8_texture */ 47 #ifndef GL_OES_compressed_ETC1_RGB8_texture 48 #define GL_ETC1_RGB8_OES 0x8D64 49 #endif 50 51 /* GL_OES_depth24 */ 52 #ifndef GL_OES_depth24 53 #define GL_DEPTH_COMPONENT24_OES 0x81A6 54 #endif 55 56 /* GL_OES_depth32 */ 57 #ifndef GL_OES_depth32 58 #define GL_DEPTH_COMPONENT32_OES 0x81A7 59 #endif 60 61 /* GL_OES_draw_texture */ 62 #ifndef GL_OES_draw_texture 63 #define GL_TEXTURE_CROP_RECT_OES 0x8B9D 64 #endif 65 66 /* GL_OES_EGL_image */ 67 #ifndef GL_OES_EGL_image 68 typedef void* GLeglImageOES; 69 #endif 70 71 /* GL_OES_fixed_point */ 72 #ifndef GL_OES_fixed_point 73 #define GL_FIXED_OES 0x140C 74 #endif 75 76 /* GL_OES_framebuffer_object */ 77 #ifndef GL_OES_framebuffer_object 78 #define GL_NONE_OES 0 79 #define GL_FRAMEBUFFER_OES 0x8D40 80 #define GL_RENDERBUFFER_OES 0x8D41 81 #define GL_RGBA4_OES 0x8056 82 #define GL_RGB5_A1_OES 0x8057 83 #define GL_RGB565_OES 0x8D62 84 #define GL_DEPTH_COMPONENT16_OES 0x81A5 85 #define GL_RENDERBUFFER_WIDTH_OES 0x8D42 86 #define GL_RENDERBUFFER_HEIGHT_OES 0x8D43 87 #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44 88 #define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50 89 #define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51 90 #define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52 91 #define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53 92 #define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54 93 #define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55 94 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0 95 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1 96 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2 97 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3 98 #define GL_COLOR_ATTACHMENT0_OES 0x8CE0 99 #define GL_DEPTH_ATTACHMENT_OES 0x8D00 100 #define GL_STENCIL_ATTACHMENT_OES 0x8D20 101 #define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5 102 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6 103 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7 104 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9 105 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA 106 #define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD 107 #define GL_FRAMEBUFFER_BINDING_OES 0x8CA6 108 #define GL_RENDERBUFFER_BINDING_OES 0x8CA7 109 #define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8 110 #define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506 111 #endif 112 113 /* GL_OES_mapbuffer */ 114 #ifndef GL_OES_mapbuffer 115 #define GL_WRITE_ONLY_OES 0x88B9 116 #define GL_BUFFER_ACCESS_OES 0x88BB 117 #define GL_BUFFER_MAPPED_OES 0x88BC 118 #define GL_BUFFER_MAP_POINTER_OES 0x88BD 119 #endif 120 121 /* GL_OES_matrix_get */ 122 #ifndef GL_OES_matrix_get 123 #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D 124 #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E 125 #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F 126 #endif 127 128 /* GL_OES_matrix_palette */ 129 #ifndef GL_OES_matrix_palette 130 #define GL_MAX_VERTEX_UNITS_OES 0x86A4 131 #define GL_MAX_PALETTE_MATRICES_OES 0x8842 132 #define GL_MATRIX_PALETTE_OES 0x8840 133 #define GL_MATRIX_INDEX_ARRAY_OES 0x8844 134 #define GL_WEIGHT_ARRAY_OES 0x86AD 135 #define GL_CURRENT_PALETTE_MATRIX_OES 0x8843 136 #define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846 137 #define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847 138 #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848 139 #define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849 140 #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E 141 #define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB 142 #define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9 143 #define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA 144 #define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC 145 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E 146 #endif 147 148 /* GL_OES_packed_depth_stencil */ 149 #ifndef GL_OES_packed_depth_stencil 150 #define GL_DEPTH_STENCIL_OES 0x84F9 151 #define GL_UNSIGNED_INT_24_8_OES 0x84FA 152 #define GL_DEPTH24_STENCIL8_OES 0x88F0 153 #endif 154 155 /* GL_OES_rgb8_rgba8 */ 156 #ifndef GL_OES_rgb8_rgba8 157 #define GL_RGB8_OES 0x8051 158 #define GL_RGBA8_OES 0x8058 159 #endif 160 161 /* GL_OES_stencil1 */ 162 #ifndef GL_OES_stencil1 163 #define GL_STENCIL_INDEX1_OES 0x8D46 164 #endif 165 166 /* GL_OES_stencil4 */ 167 #ifndef GL_OES_stencil4 168 #define GL_STENCIL_INDEX4_OES 0x8D47 169 #endif 170 171 /* GL_OES_stencil8 */ 172 #ifndef GL_OES_stencil8 173 #define GL_STENCIL_INDEX8_OES 0x8D48 174 #endif 175 176 /* GL_OES_stencil_wrap */ 177 #ifndef GL_OES_stencil_wrap 178 #define GL_INCR_WRAP_OES 0x8507 179 #define GL_DECR_WRAP_OES 0x8508 180 #endif 181 182 /* GL_OES_texture_cube_map */ 183 #ifndef GL_OES_texture_cube_map 184 #define GL_NORMAL_MAP_OES 0x8511 185 #define GL_REFLECTION_MAP_OES 0x8512 186 #define GL_TEXTURE_CUBE_MAP_OES 0x8513 187 #define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514 188 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515 189 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516 190 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517 191 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518 192 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519 193 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A 194 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C 195 #define GL_TEXTURE_GEN_MODE_OES 0x2500 196 #define GL_TEXTURE_GEN_STR_OES 0x8D60 197 #endif 198 199 /* GL_OES_texture_mirrored_repeat */ 200 #ifndef GL_OES_texture_mirrored_repeat 201 #define GL_MIRRORED_REPEAT_OES 0x8370 202 #endif 203 204 /*------------------------------------------------------------------------* 205 * AMD extension tokens 206 *------------------------------------------------------------------------*/ 207 208 /* GL_AMD_compressed_3DC_texture */ 209 #ifndef GL_AMD_compressed_3DC_texture 210 #define GL_3DC_X_AMD 0x87F9 211 #define GL_3DC_XY_AMD 0x87FA 212 #endif 213 214 /* GL_AMD_compressed_ATC_texture */ 215 #ifndef GL_AMD_compressed_ATC_texture 216 #define GL_ATC_RGB_AMD 0x8C92 217 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 218 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 219 #endif 220 221 /*------------------------------------------------------------------------* 222 * EXT extension tokens 223 *------------------------------------------------------------------------*/ 224 225 /* GL_EXT_texture_filter_anisotropic */ 226 #ifndef GL_EXT_texture_filter_anisotropic 227 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 228 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 229 #endif 230 231 /*------------------------------------------------------------------------* 232 * OES extension functions 233 *------------------------------------------------------------------------*/ 234 235 /* GL_OES_blend_equation_separate */ 236 #ifndef GL_OES_blend_equation_separate 237 #define GL_OES_blend_equation_separate 1 238 #ifdef GL_GLEXT_PROTOTYPES 239 GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha); 240 #endif 241 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha); 242 #endif 243 244 /* GL_OES_blend_func_separate */ 245 #ifndef GL_OES_blend_func_separate 246 #define GL_OES_blend_func_separate 1 247 #ifdef GL_GLEXT_PROTOTYPES 248 GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 249 #endif 250 typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 251 #endif 252 253 /* GL_OES_blend_subtract */ 254 #ifndef GL_OES_blend_subtract 255 #define GL_OES_blend_subtract 1 256 #ifdef GL_GLEXT_PROTOTYPES 257 GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode); 258 #endif 259 typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode); 260 #endif 261 262 /* GL_OES_byte_coordinates */ 263 #ifndef GL_OES_byte_coordinates 264 #define GL_OES_byte_coordinates 1 265 #endif 266 267 /* GL_OES_compressed_ETC1_RGB8_texture */ 268 #ifndef GL_OES_compressed_ETC1_RGB8_texture 269 #define GL_OES_compressed_ETC1_RGB8_texture 1 270 #endif 271 272 /* GL_OES_depth24 */ 273 #ifndef GL_OES_depth24 274 #define GL_OES_depth24 1 275 #endif 276 277 /* GL_OES_depth32 */ 278 #ifndef GL_OES_depth32 279 #define GL_OES_depth32 1 280 #endif 281 282 /* GL_OES_draw_texture */ 283 #ifndef GL_OES_draw_texture 284 #define GL_OES_draw_texture 1 285 #ifdef GL_GLEXT_PROTOTYPES 286 GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); 287 GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); 288 GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); 289 GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords); 290 GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords); 291 GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords); 292 GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); 293 GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords); 294 #endif 295 typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); 296 typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height); 297 typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); 298 typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords); 299 typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords); 300 typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords); 301 typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); 302 typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords); 303 #endif 304 305 /* GL_OES_EGL_image */ 306 #ifndef GL_OES_EGL_image 307 #define GL_OES_EGL_image 1 308 #ifdef GL_GLEXT_PROTOTYPES 309 GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 310 GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 311 #endif 312 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 313 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 314 #endif 315 316 /* GL_OES_element_index_uint */ 317 #ifndef GL_OES_element_index_uint 318 #define GL_OES_element_index_uint 1 319 #endif 320 321 /* GL_OES_extended_matrix_palette */ 322 #ifndef GL_OES_extended_matrix_palette 323 #define GL_OES_extended_matrix_palette 1 324 #endif 325 326 /* GL_OES_fbo_render_mipmap */ 327 #ifndef GL_OES_fbo_render_mipmap 328 #define GL_OES_fbo_render_mipmap 1 329 #endif 330 331 /* GL_OES_fixed_point */ 332 #ifndef GL_OES_fixed_point 333 #define GL_OES_fixed_point 1 334 #ifdef GL_GLEXT_PROTOTYPES 335 GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref); 336 GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); 337 GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth); 338 GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation); 339 GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); 340 GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar); 341 GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param); 342 GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params); 343 GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 344 GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]); 345 GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params); 346 GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params); 347 GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params); 348 GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params); 349 GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params); 350 GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param); 351 GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params); 352 GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param); 353 GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params); 354 GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width); 355 GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m); 356 GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param); 357 GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params); 358 GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m); 359 GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); 360 GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz); 361 GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 362 GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param); 363 GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params); 364 GL_API void GL_APIENTRY glPointSizexOES (GLfixed size); 365 GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units); 366 GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); 367 GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert); 368 GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z); 369 GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); 370 GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); 371 GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param); 372 GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params); 373 GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z); 374 #endif 375 typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref); 376 typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); 377 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth); 378 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation); 379 typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); 380 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar); 381 typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param); 382 typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params); 383 typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 384 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]); 385 typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params); 386 typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params); 387 typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params); 388 typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params); 389 typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); 390 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); 391 typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params); 392 typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); 393 typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params); 394 typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width); 395 typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m); 396 typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); 397 typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params); 398 typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m); 399 typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); 400 typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); 401 typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 402 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param); 403 typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params); 404 typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size); 405 typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); 406 typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); 407 typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert); 408 typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); 409 typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); 410 typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); 411 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); 412 typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); 413 typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); 414 #endif 415 416 /* GL_OES_framebuffer_object */ 417 #ifndef GL_OES_framebuffer_object 418 #define GL_OES_framebuffer_object 1 419 #ifdef GL_GLEXT_PROTOTYPES 420 GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer); 421 GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer); 422 GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers); 423 GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers); 424 GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 425 GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params); 426 GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer); 427 GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer); 428 GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers); 429 GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers); 430 GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target); 431 GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 432 GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 433 GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params); 434 GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target); 435 #endif 436 typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); 437 typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); 438 typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); 439 typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); 440 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 441 typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); 442 typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); 443 typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); 444 typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); 445 typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); 446 typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); 447 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 448 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 449 typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); 450 typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target); 451 #endif 452 453 /* GL_OES_mapbuffer */ 454 #ifndef GL_OES_mapbuffer 455 #define GL_OES_mapbuffer 1 456 #ifdef GL_GLEXT_PROTOTYPES 457 GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 458 GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 459 GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params); 460 #endif 461 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 462 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 463 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); 464 #endif 465 466 /* GL_OES_matrix_get */ 467 #ifndef GL_OES_matrix_get 468 #define GL_OES_matrix_get 1 469 #endif 470 471 /* GL_OES_matrix_palette */ 472 #ifndef GL_OES_matrix_palette 473 #define GL_OES_matrix_palette 1 474 #ifdef GL_GLEXT_PROTOTYPES 475 GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); 476 GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void); 477 GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 478 GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 479 #endif 480 typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex); 481 typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void); 482 typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 483 typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 484 #endif 485 486 /* GL_OES_packed_depth_stencil */ 487 #ifndef GL_OES_packed_depth_stencil 488 #define GL_OES_packed_depth_stencil 1 489 #endif 490 491 /* GL_OES_query_matrix */ 492 #ifndef GL_OES_query_matrix 493 #define GL_OES_query_matrix 1 494 #ifdef GL_GLEXT_PROTOTYPES 495 GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]); 496 #endif 497 typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]); 498 #endif 499 500 /* GL_OES_rgb8_rgba8 */ 501 #ifndef GL_OES_rgb8_rgba8 502 #define GL_OES_rgb8_rgba8 1 503 #endif 504 505 /* GL_OES_single_precision */ 506 #ifndef GL_OES_single_precision 507 #define GL_OES_single_precision 1 508 #ifdef GL_GLEXT_PROTOTYPES 509 GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar); 510 GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 511 GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 512 GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation); 513 GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]); 514 GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth); 515 #endif 516 typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar); 517 typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 518 typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 519 typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation); 520 typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]); 521 typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); 522 #endif 523 524 /* GL_OES_stencil1 */ 525 #ifndef GL_OES_stencil1 526 #define GL_OES_stencil1 1 527 #endif 528 529 /* GL_OES_stencil4 */ 530 #ifndef GL_OES_stencil4 531 #define GL_OES_stencil4 1 532 #endif 533 534 /* GL_OES_stencil8 */ 535 #ifndef GL_OES_stencil8 536 #define GL_OES_stencil8 1 537 #endif 538 539 /* GL_OES_stencil_wrap */ 540 #ifndef GL_OES_stencil_wrap 541 #define GL_OES_stencil_wrap 1 542 #endif 543 544 /* GL_OES_texture_cube_map */ 545 #ifndef GL_OES_texture_cube_map 546 #define GL_OES_texture_cube_map 1 547 #ifdef GL_GLEXT_PROTOTYPES 548 GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param); 549 GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params); 550 GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param); 551 GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params); 552 GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param); 553 GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params); 554 GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params); 555 GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params); 556 GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params); 557 #endif 558 typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); 559 typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); 560 typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); 561 typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); 562 typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); 563 typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); 564 typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); 565 typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); 566 typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); 567 #endif 568 569 /* GL_OES_texture_env_crossbar */ 570 #ifndef GL_OES_texture_env_crossbar 571 #define GL_OES_texture_env_crossbar 1 572 #endif 573 574 /* GL_OES_texture_mirrored_repeat */ 575 #ifndef GL_OES_texture_mirrored_repeat 576 #define GL_OES_texture_mirrored_repeat 1 577 #endif 578 579 /*------------------------------------------------------------------------* 580 * AMD extension functions 581 *------------------------------------------------------------------------*/ 582 583 /* GL_AMD_compressed_3DC_texture */ 584 #ifndef GL_AMD_compressed_3DC_texture 585 #define GL_AMD_compressed_3DC_texture 1 586 #endif 587 588 /* GL_AMD_compressed_ATC_texture */ 589 #ifndef GL_AMD_compressed_ATC_texture 590 #define GL_AMD_compressed_ATC_texture 1 591 #endif 592 593 /*------------------------------------------------------------------------* 594 * EXT extension functions 595 *------------------------------------------------------------------------*/ 596 597 /* GL_EXT_texture_filter_anisotropic */ 598 #ifndef GL_EXT_texture_filter_anisotropic 599 #define GL_EXT_texture_filter_anisotropic 1 600 #endif 601 602 #ifdef __cplusplus 603 } 604 #endif 605 606 #endif /* __glext_h_ */ 607 608