1 /* 2 Copyright (c) 2012, Broadcom Europe Ltd 3 All rights reserved. 4 5 Redistribution and use in source and binary forms, with or without 6 modification, are permitted provided that the following conditions are met: 7 * Redistributions of source code must retain the above copyright 8 notice, this list of conditions and the following disclaimer. 9 * Redistributions in binary form must reproduce the above copyright 10 notice, this list of conditions and the following disclaimer in the 11 documentation and/or other materials provided with the distribution. 12 * Neither the name of the copyright holder nor the 13 names of its contributors may be used to endorse or promote products 14 derived from this software without specific prior written permission. 15 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY 20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 #ifndef __gl_h_ 28 #define __gl_h_ 29 30 /* $Revision: 10601 $ on $Date:: 2010-03-04 22:15:27 -0800 #$ */ 31 32 #include "glplatform.h" 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 /* 39 * This document is licensed under the SGI Free Software B License Version 40 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 41 */ 42 43 #ifndef __gl2_h_ 44 typedef void GLvoid; 45 typedef char GLchar; 46 typedef unsigned int GLenum; 47 typedef unsigned char GLboolean; 48 typedef unsigned int GLbitfield; 49 typedef khronos_int8_t GLbyte; 50 typedef short GLshort; 51 typedef int GLint; 52 typedef int GLsizei; 53 typedef khronos_uint8_t GLubyte; 54 typedef unsigned short GLushort; 55 typedef unsigned int GLuint; 56 typedef khronos_float_t GLfloat; 57 typedef khronos_float_t GLclampf; 58 typedef khronos_int32_t GLfixed; 59 60 typedef khronos_intptr_t GLintptr; 61 typedef khronos_ssize_t GLsizeiptr; 62 #endif 63 typedef khronos_int32_t GLclampx; 64 65 /*************************************************************/ 66 67 /* OpenGL ES core versions */ 68 #define GL_VERSION_ES_CM_1_0 1 69 #define GL_VERSION_ES_CL_1_0 1 70 #define GL_VERSION_ES_CM_1_1 1 71 #define GL_VERSION_ES_CL_1_1 1 72 73 /* ClearBufferMask */ 74 #define GL_DEPTH_BUFFER_BIT 0x00000100 75 #define GL_STENCIL_BUFFER_BIT 0x00000400 76 #define GL_COLOR_BUFFER_BIT 0x00004000 77 78 /* Boolean */ 79 #define GL_FALSE (GLboolean)0 80 #define GL_TRUE (GLboolean)1 81 82 /* BeginMode */ 83 #define GL_POINTS 0x0000 84 #define GL_LINES 0x0001 85 #define GL_LINE_LOOP 0x0002 86 #define GL_LINE_STRIP 0x0003 87 #define GL_TRIANGLES 0x0004 88 #define GL_TRIANGLE_STRIP 0x0005 89 #define GL_TRIANGLE_FAN 0x0006 90 91 /* AlphaFunction */ 92 #define GL_NEVER 0x0200 93 #define GL_LESS 0x0201 94 #define GL_EQUAL 0x0202 95 #define GL_LEQUAL 0x0203 96 #define GL_GREATER 0x0204 97 #define GL_NOTEQUAL 0x0205 98 #define GL_GEQUAL 0x0206 99 #define GL_ALWAYS 0x0207 100 101 /* BlendingFactorDest */ 102 #define GL_ZERO 0 103 #define GL_ONE 1 104 #define GL_SRC_COLOR 0x0300 105 #define GL_ONE_MINUS_SRC_COLOR 0x0301 106 #define GL_SRC_ALPHA 0x0302 107 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 108 #define GL_DST_ALPHA 0x0304 109 #define GL_ONE_MINUS_DST_ALPHA 0x0305 110 111 /* BlendingFactorSrc */ 112 /* GL_ZERO */ 113 /* GL_ONE */ 114 #define GL_DST_COLOR 0x0306 115 #define GL_ONE_MINUS_DST_COLOR 0x0307 116 #define GL_SRC_ALPHA_SATURATE 0x0308 117 /* GL_SRC_ALPHA */ 118 /* GL_ONE_MINUS_SRC_ALPHA */ 119 /* GL_DST_ALPHA */ 120 /* GL_ONE_MINUS_DST_ALPHA */ 121 122 /* ClipPlaneName */ 123 #define GL_CLIP_PLANE0 0x3000 124 #define GL_CLIP_PLANE1 0x3001 125 #define GL_CLIP_PLANE2 0x3002 126 #define GL_CLIP_PLANE3 0x3003 127 #define GL_CLIP_PLANE4 0x3004 128 #define GL_CLIP_PLANE5 0x3005 129 130 /* ColorMaterialFace */ 131 /* GL_FRONT_AND_BACK */ 132 133 /* ColorMaterialParameter */ 134 /* GL_AMBIENT_AND_DIFFUSE */ 135 136 /* ColorPointerType */ 137 /* GL_UNSIGNED_BYTE */ 138 /* GL_FLOAT */ 139 /* GL_FIXED */ 140 141 /* CullFaceMode */ 142 #define GL_FRONT 0x0404 143 #define GL_BACK 0x0405 144 #define GL_FRONT_AND_BACK 0x0408 145 146 /* DepthFunction */ 147 /* GL_NEVER */ 148 /* GL_LESS */ 149 /* GL_EQUAL */ 150 /* GL_LEQUAL */ 151 /* GL_GREATER */ 152 /* GL_NOTEQUAL */ 153 /* GL_GEQUAL */ 154 /* GL_ALWAYS */ 155 156 /* EnableCap */ 157 #define GL_FOG 0x0B60 158 #define GL_LIGHTING 0x0B50 159 #define GL_TEXTURE_2D 0x0DE1 160 #define GL_CULL_FACE 0x0B44 161 #define GL_ALPHA_TEST 0x0BC0 162 #define GL_BLEND 0x0BE2 163 #define GL_COLOR_LOGIC_OP 0x0BF2 164 #define GL_DITHER 0x0BD0 165 #define GL_STENCIL_TEST 0x0B90 166 #define GL_DEPTH_TEST 0x0B71 167 /* GL_LIGHT0 */ 168 /* GL_LIGHT1 */ 169 /* GL_LIGHT2 */ 170 /* GL_LIGHT3 */ 171 /* GL_LIGHT4 */ 172 /* GL_LIGHT5 */ 173 /* GL_LIGHT6 */ 174 /* GL_LIGHT7 */ 175 #define GL_POINT_SMOOTH 0x0B10 176 #define GL_LINE_SMOOTH 0x0B20 177 #define GL_SCISSOR_TEST 0x0C11 178 #define GL_COLOR_MATERIAL 0x0B57 179 #define GL_NORMALIZE 0x0BA1 180 #define GL_RESCALE_NORMAL 0x803A 181 #define GL_POLYGON_OFFSET_FILL 0x8037 182 #define GL_VERTEX_ARRAY 0x8074 183 #define GL_NORMAL_ARRAY 0x8075 184 #define GL_COLOR_ARRAY 0x8076 185 #define GL_TEXTURE_COORD_ARRAY 0x8078 186 #define GL_MULTISAMPLE 0x809D 187 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E 188 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F 189 #define GL_SAMPLE_COVERAGE 0x80A0 190 191 /* ErrorCode */ 192 #define GL_NO_ERROR 0 193 #define GL_INVALID_ENUM 0x0500 194 #define GL_INVALID_VALUE 0x0501 195 #define GL_INVALID_OPERATION 0x0502 196 #define GL_STACK_OVERFLOW 0x0503 197 #define GL_STACK_UNDERFLOW 0x0504 198 #define GL_OUT_OF_MEMORY 0x0505 199 200 /* FogMode */ 201 /* GL_LINEAR */ 202 #define GL_EXP 0x0800 203 #define GL_EXP2 0x0801 204 205 /* FogParameter */ 206 #define GL_FOG_DENSITY 0x0B62 207 #define GL_FOG_START 0x0B63 208 #define GL_FOG_END 0x0B64 209 #define GL_FOG_MODE 0x0B65 210 #define GL_FOG_COLOR 0x0B66 211 212 /* FrontFaceDirection */ 213 #define GL_CW 0x0900 214 #define GL_CCW 0x0901 215 216 /* GetPName */ 217 #define GL_CURRENT_COLOR 0x0B00 218 #define GL_CURRENT_NORMAL 0x0B02 219 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 220 #define GL_POINT_SIZE 0x0B11 221 #define GL_POINT_SIZE_MIN 0x8126 222 #define GL_POINT_SIZE_MAX 0x8127 223 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 224 #define GL_POINT_DISTANCE_ATTENUATION 0x8129 225 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 226 #define GL_LINE_WIDTH 0x0B21 227 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 228 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D 229 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E 230 #define GL_CULL_FACE_MODE 0x0B45 231 #define GL_FRONT_FACE 0x0B46 232 #define GL_SHADE_MODEL 0x0B54 233 #define GL_DEPTH_RANGE 0x0B70 234 #define GL_DEPTH_WRITEMASK 0x0B72 235 #define GL_DEPTH_CLEAR_VALUE 0x0B73 236 #define GL_DEPTH_FUNC 0x0B74 237 #define GL_STENCIL_CLEAR_VALUE 0x0B91 238 #define GL_STENCIL_FUNC 0x0B92 239 #define GL_STENCIL_VALUE_MASK 0x0B93 240 #define GL_STENCIL_FAIL 0x0B94 241 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 242 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 243 #define GL_STENCIL_REF 0x0B97 244 #define GL_STENCIL_WRITEMASK 0x0B98 245 #define GL_MATRIX_MODE 0x0BA0 246 #define GL_VIEWPORT 0x0BA2 247 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 248 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 249 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 250 #define GL_MODELVIEW_MATRIX 0x0BA6 251 #define GL_PROJECTION_MATRIX 0x0BA7 252 #define GL_TEXTURE_MATRIX 0x0BA8 253 #define GL_ALPHA_TEST_FUNC 0x0BC1 254 #define GL_ALPHA_TEST_REF 0x0BC2 255 #define GL_BLEND_DST 0x0BE0 256 #define GL_BLEND_SRC 0x0BE1 257 #define GL_LOGIC_OP_MODE 0x0BF0 258 #define GL_SCISSOR_BOX 0x0C10 259 #define GL_SCISSOR_TEST 0x0C11 260 #define GL_COLOR_CLEAR_VALUE 0x0C22 261 #define GL_COLOR_WRITEMASK 0x0C23 262 #define GL_UNPACK_ALIGNMENT 0x0CF5 263 #define GL_PACK_ALIGNMENT 0x0D05 264 #define GL_MAX_LIGHTS 0x0D31 265 #define GL_MAX_CLIP_PLANES 0x0D32 266 #define GL_MAX_TEXTURE_SIZE 0x0D33 267 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 268 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 269 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 270 #define GL_MAX_VIEWPORT_DIMS 0x0D3A 271 #define GL_MAX_TEXTURE_UNITS 0x84E2 272 #define GL_SUBPIXEL_BITS 0x0D50 273 #define GL_RED_BITS 0x0D52 274 #define GL_GREEN_BITS 0x0D53 275 #define GL_BLUE_BITS 0x0D54 276 #define GL_ALPHA_BITS 0x0D55 277 #define GL_DEPTH_BITS 0x0D56 278 #define GL_STENCIL_BITS 0x0D57 279 #define GL_POLYGON_OFFSET_UNITS 0x2A00 280 #define GL_POLYGON_OFFSET_FILL 0x8037 281 #define GL_POLYGON_OFFSET_FACTOR 0x8038 282 #define GL_TEXTURE_BINDING_2D 0x8069 283 #define GL_VERTEX_ARRAY_SIZE 0x807A 284 #define GL_VERTEX_ARRAY_TYPE 0x807B 285 #define GL_VERTEX_ARRAY_STRIDE 0x807C 286 #define GL_NORMAL_ARRAY_TYPE 0x807E 287 #define GL_NORMAL_ARRAY_STRIDE 0x807F 288 #define GL_COLOR_ARRAY_SIZE 0x8081 289 #define GL_COLOR_ARRAY_TYPE 0x8082 290 #define GL_COLOR_ARRAY_STRIDE 0x8083 291 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 292 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 293 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A 294 #define GL_VERTEX_ARRAY_POINTER 0x808E 295 #define GL_NORMAL_ARRAY_POINTER 0x808F 296 #define GL_COLOR_ARRAY_POINTER 0x8090 297 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 298 #define GL_SAMPLE_BUFFERS 0x80A8 299 #define GL_SAMPLES 0x80A9 300 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA 301 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB 302 303 /* GetTextureParameter */ 304 /* GL_TEXTURE_MAG_FILTER */ 305 /* GL_TEXTURE_MIN_FILTER */ 306 /* GL_TEXTURE_WRAP_S */ 307 /* GL_TEXTURE_WRAP_T */ 308 309 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 310 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 311 312 /* HintMode */ 313 #define GL_DONT_CARE 0x1100 314 #define GL_FASTEST 0x1101 315 #define GL_NICEST 0x1102 316 317 /* HintTarget */ 318 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 319 #define GL_POINT_SMOOTH_HINT 0x0C51 320 #define GL_LINE_SMOOTH_HINT 0x0C52 321 #define GL_FOG_HINT 0x0C54 322 #define GL_GENERATE_MIPMAP_HINT 0x8192 323 324 /* LightModelParameter */ 325 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 326 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 327 328 /* LightParameter */ 329 #define GL_AMBIENT 0x1200 330 #define GL_DIFFUSE 0x1201 331 #define GL_SPECULAR 0x1202 332 #define GL_POSITION 0x1203 333 #define GL_SPOT_DIRECTION 0x1204 334 #define GL_SPOT_EXPONENT 0x1205 335 #define GL_SPOT_CUTOFF 0x1206 336 #define GL_CONSTANT_ATTENUATION 0x1207 337 #define GL_LINEAR_ATTENUATION 0x1208 338 #define GL_QUADRATIC_ATTENUATION 0x1209 339 340 /* DataType */ 341 #define GL_BYTE 0x1400 342 #define GL_UNSIGNED_BYTE 0x1401 343 #define GL_SHORT 0x1402 344 #define GL_UNSIGNED_SHORT 0x1403 345 #define GL_FLOAT 0x1406 346 #define GL_FIXED 0x140C 347 348 /* LogicOp */ 349 #define GL_CLEAR 0x1500 350 #define GL_AND 0x1501 351 #define GL_AND_REVERSE 0x1502 352 #define GL_COPY 0x1503 353 #define GL_AND_INVERTED 0x1504 354 #define GL_NOOP 0x1505 355 #define GL_XOR 0x1506 356 #define GL_OR 0x1507 357 #define GL_NOR 0x1508 358 #define GL_EQUIV 0x1509 359 #define GL_INVERT 0x150A 360 #define GL_OR_REVERSE 0x150B 361 #define GL_COPY_INVERTED 0x150C 362 #define GL_OR_INVERTED 0x150D 363 #define GL_NAND 0x150E 364 #define GL_SET 0x150F 365 366 /* MaterialFace */ 367 /* GL_FRONT_AND_BACK */ 368 369 /* MaterialParameter */ 370 #define GL_EMISSION 0x1600 371 #define GL_SHININESS 0x1601 372 #define GL_AMBIENT_AND_DIFFUSE 0x1602 373 /* GL_AMBIENT */ 374 /* GL_DIFFUSE */ 375 /* GL_SPECULAR */ 376 377 /* MatrixMode */ 378 #define GL_MODELVIEW 0x1700 379 #define GL_PROJECTION 0x1701 380 #define GL_TEXTURE 0x1702 381 382 /* NormalPointerType */ 383 /* GL_BYTE */ 384 /* GL_SHORT */ 385 /* GL_FLOAT */ 386 /* GL_FIXED */ 387 388 /* PixelFormat */ 389 #define GL_ALPHA 0x1906 390 #define GL_RGB 0x1907 391 #define GL_RGBA 0x1908 392 #define GL_LUMINANCE 0x1909 393 #define GL_LUMINANCE_ALPHA 0x190A 394 395 /* PixelStoreParameter */ 396 #define GL_UNPACK_ALIGNMENT 0x0CF5 397 #define GL_PACK_ALIGNMENT 0x0D05 398 399 /* PixelType */ 400 /* GL_UNSIGNED_BYTE */ 401 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 402 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 403 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 404 405 /* ShadingModel */ 406 #define GL_FLAT 0x1D00 407 #define GL_SMOOTH 0x1D01 408 409 /* StencilFunction */ 410 /* GL_NEVER */ 411 /* GL_LESS */ 412 /* GL_EQUAL */ 413 /* GL_LEQUAL */ 414 /* GL_GREATER */ 415 /* GL_NOTEQUAL */ 416 /* GL_GEQUAL */ 417 /* GL_ALWAYS */ 418 419 /* StencilOp */ 420 /* GL_ZERO */ 421 #define GL_KEEP 0x1E00 422 #define GL_REPLACE 0x1E01 423 #define GL_INCR 0x1E02 424 #define GL_DECR 0x1E03 425 /* GL_INVERT */ 426 427 /* StringName */ 428 #define GL_VENDOR 0x1F00 429 #define GL_RENDERER 0x1F01 430 #define GL_VERSION 0x1F02 431 #define GL_EXTENSIONS 0x1F03 432 433 /* TexCoordPointerType */ 434 /* GL_SHORT */ 435 /* GL_FLOAT */ 436 /* GL_FIXED */ 437 /* GL_BYTE */ 438 439 /* TextureEnvMode */ 440 #define GL_MODULATE 0x2100 441 #define GL_DECAL 0x2101 442 /* GL_BLEND */ 443 #define GL_ADD 0x0104 444 /* GL_REPLACE */ 445 446 /* TextureEnvParameter */ 447 #define GL_TEXTURE_ENV_MODE 0x2200 448 #define GL_TEXTURE_ENV_COLOR 0x2201 449 450 /* TextureEnvTarget */ 451 #define GL_TEXTURE_ENV 0x2300 452 453 /* TextureMagFilter */ 454 #define GL_NEAREST 0x2600 455 #define GL_LINEAR 0x2601 456 457 /* TextureMinFilter */ 458 /* GL_NEAREST */ 459 /* GL_LINEAR */ 460 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 461 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 462 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 463 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 464 465 /* TextureParameterName */ 466 #define GL_TEXTURE_MAG_FILTER 0x2800 467 #define GL_TEXTURE_MIN_FILTER 0x2801 468 #define GL_TEXTURE_WRAP_S 0x2802 469 #define GL_TEXTURE_WRAP_T 0x2803 470 #define GL_GENERATE_MIPMAP 0x8191 471 472 /* TextureTarget */ 473 /* GL_TEXTURE_2D */ 474 475 /* TextureUnit */ 476 #define GL_TEXTURE0 0x84C0 477 #define GL_TEXTURE1 0x84C1 478 #define GL_TEXTURE2 0x84C2 479 #define GL_TEXTURE3 0x84C3 480 #define GL_TEXTURE4 0x84C4 481 #define GL_TEXTURE5 0x84C5 482 #define GL_TEXTURE6 0x84C6 483 #define GL_TEXTURE7 0x84C7 484 #define GL_TEXTURE8 0x84C8 485 #define GL_TEXTURE9 0x84C9 486 #define GL_TEXTURE10 0x84CA 487 #define GL_TEXTURE11 0x84CB 488 #define GL_TEXTURE12 0x84CC 489 #define GL_TEXTURE13 0x84CD 490 #define GL_TEXTURE14 0x84CE 491 #define GL_TEXTURE15 0x84CF 492 #define GL_TEXTURE16 0x84D0 493 #define GL_TEXTURE17 0x84D1 494 #define GL_TEXTURE18 0x84D2 495 #define GL_TEXTURE19 0x84D3 496 #define GL_TEXTURE20 0x84D4 497 #define GL_TEXTURE21 0x84D5 498 #define GL_TEXTURE22 0x84D6 499 #define GL_TEXTURE23 0x84D7 500 #define GL_TEXTURE24 0x84D8 501 #define GL_TEXTURE25 0x84D9 502 #define GL_TEXTURE26 0x84DA 503 #define GL_TEXTURE27 0x84DB 504 #define GL_TEXTURE28 0x84DC 505 #define GL_TEXTURE29 0x84DD 506 #define GL_TEXTURE30 0x84DE 507 #define GL_TEXTURE31 0x84DF 508 #define GL_ACTIVE_TEXTURE 0x84E0 509 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 510 511 /* TextureWrapMode */ 512 #define GL_REPEAT 0x2901 513 #define GL_CLAMP_TO_EDGE 0x812F 514 515 /* VertexPointerType */ 516 /* GL_SHORT */ 517 /* GL_FLOAT */ 518 /* GL_FIXED */ 519 /* GL_BYTE */ 520 521 /* LightName */ 522 #define GL_LIGHT0 0x4000 523 #define GL_LIGHT1 0x4001 524 #define GL_LIGHT2 0x4002 525 #define GL_LIGHT3 0x4003 526 #define GL_LIGHT4 0x4004 527 #define GL_LIGHT5 0x4005 528 #define GL_LIGHT6 0x4006 529 #define GL_LIGHT7 0x4007 530 531 /* Buffer Objects */ 532 #define GL_ARRAY_BUFFER 0x8892 533 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 534 535 #define GL_ARRAY_BUFFER_BINDING 0x8894 536 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 537 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 538 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 539 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 540 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A 541 542 #define GL_STATIC_DRAW 0x88E4 543 #define GL_DYNAMIC_DRAW 0x88E8 544 545 #define GL_BUFFER_SIZE 0x8764 546 #define GL_BUFFER_USAGE 0x8765 547 548 /* Texture combine + dot3 */ 549 #define GL_SUBTRACT 0x84E7 550 #define GL_COMBINE 0x8570 551 #define GL_COMBINE_RGB 0x8571 552 #define GL_COMBINE_ALPHA 0x8572 553 #define GL_RGB_SCALE 0x8573 554 #define GL_ADD_SIGNED 0x8574 555 #define GL_INTERPOLATE 0x8575 556 #define GL_CONSTANT 0x8576 557 #define GL_PRIMARY_COLOR 0x8577 558 #define GL_PREVIOUS 0x8578 559 #define GL_OPERAND0_RGB 0x8590 560 #define GL_OPERAND1_RGB 0x8591 561 #define GL_OPERAND2_RGB 0x8592 562 #define GL_OPERAND0_ALPHA 0x8598 563 #define GL_OPERAND1_ALPHA 0x8599 564 #define GL_OPERAND2_ALPHA 0x859A 565 566 #define GL_ALPHA_SCALE 0x0D1C 567 568 #define GL_SRC0_RGB 0x8580 569 #define GL_SRC1_RGB 0x8581 570 #define GL_SRC2_RGB 0x8582 571 #define GL_SRC0_ALPHA 0x8588 572 #define GL_SRC1_ALPHA 0x8589 573 #define GL_SRC2_ALPHA 0x858A 574 575 #define GL_DOT3_RGB 0x86AE 576 #define GL_DOT3_RGBA 0x86AF 577 578 /*------------------------------------------------------------------------* 579 * required OES extension tokens 580 *------------------------------------------------------------------------*/ 581 582 /* OES_read_format */ 583 #ifndef GL_OES_read_format 584 #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A 585 #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B 586 #endif 587 588 /* GL_OES_compressed_paletted_texture */ 589 #ifndef GL_OES_compressed_paletted_texture 590 #define GL_PALETTE4_RGB8_OES 0x8B90 591 #define GL_PALETTE4_RGBA8_OES 0x8B91 592 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 593 #define GL_PALETTE4_RGBA4_OES 0x8B93 594 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 595 #define GL_PALETTE8_RGB8_OES 0x8B95 596 #define GL_PALETTE8_RGBA8_OES 0x8B96 597 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 598 #define GL_PALETTE8_RGBA4_OES 0x8B98 599 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 600 #endif 601 602 /* OES_point_size_array */ 603 #ifndef GL_OES_point_size_array 604 #define GL_POINT_SIZE_ARRAY_OES 0x8B9C 605 #define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A 606 #define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B 607 #define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C 608 #define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F 609 #endif 610 611 /* GL_OES_point_sprite */ 612 #ifndef GL_OES_point_sprite 613 #define GL_POINT_SPRITE_OES 0x8861 614 #define GL_COORD_REPLACE_OES 0x8862 615 #endif 616 617 /*************************************************************/ 618 619 /* Available only in Common profile */ 620 GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLclampf ref); 621 GL_API void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 622 GL_API void GL_APIENTRY glClearDepthf (GLclampf depth); 623 GL_API void GL_APIENTRY glClipPlanef (GLenum plane, const GLfloat *equation); 624 GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 625 GL_API void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); 626 GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param); 627 GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params); 628 GL_API void GL_APIENTRY glFrustumf (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 629 GL_API void GL_APIENTRY glGetClipPlanef (GLenum pname, GLfloat eqn[4]); 630 GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params); 631 GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); 632 GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); 633 GL_API void GL_APIENTRY glGetTexEnvfv (GLenum env, GLenum pname, GLfloat *params); 634 GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); 635 GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param); 636 GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params); 637 GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); 638 GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); 639 GL_API void GL_APIENTRY glLineWidth (GLfloat width); 640 GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m); 641 GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); 642 GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); 643 GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m); 644 GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 645 GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); 646 GL_API void GL_APIENTRY glOrthof (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); 647 GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param); 648 GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params); 649 GL_API void GL_APIENTRY glPointSize (GLfloat size); 650 GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); 651 GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); 652 GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); 653 GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); 654 GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); 655 GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); 656 GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); 657 GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); 658 659 /* Available in both Common and Common-Lite profiles */ 660 GL_API void GL_APIENTRY glActiveTexture (GLenum texture); 661 GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLclampx ref); 662 GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); 663 GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); 664 GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); 665 GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); 666 GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); 667 GL_API void GL_APIENTRY glClear (GLbitfield mask); 668 GL_API void GL_APIENTRY glClearColorx (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); 669 GL_API void GL_APIENTRY glClearDepthx (GLclampx depth); 670 GL_API void GL_APIENTRY glClearStencil (GLint s); 671 GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture); 672 GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation); 673 GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); 674 GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); 675 GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 676 GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 677 GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); 678 GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); 679 GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 680 GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 681 GL_API void GL_APIENTRY glCullFace (GLenum mode); 682 GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers); 683 GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); 684 GL_API void GL_APIENTRY glDepthFunc (GLenum func); 685 GL_API void GL_APIENTRY glDepthMask (GLboolean flag); 686 GL_API void GL_APIENTRY glDepthRangex (GLclampx zNear, GLclampx zFar); 687 GL_API void GL_APIENTRY glDisable (GLenum cap); 688 GL_API void GL_APIENTRY glDisableClientState (GLenum array); 689 GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); 690 GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); 691 GL_API void GL_APIENTRY glEnable (GLenum cap); 692 GL_API void GL_APIENTRY glEnableClientState (GLenum array); 693 GL_API void GL_APIENTRY glFinish (void); 694 GL_API void GL_APIENTRY glFlush (void); 695 GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param); 696 GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *params); 697 GL_API void GL_APIENTRY glFrontFace (GLenum mode); 698 GL_API void GL_APIENTRY glFrustumx (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 699 GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params); 700 GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); 701 GL_API void GL_APIENTRY glGetClipPlanex (GLenum pname, GLfixed eqn[4]); 702 GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); 703 GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures); 704 GL_API GLenum GL_APIENTRY glGetError (void); 705 GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params); 706 GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params); 707 GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params); 708 GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params); 709 GL_API void GL_APIENTRY glGetPointerv (GLenum pname, GLvoid **params); 710 GL_API const GLubyte * GL_APIENTRY glGetString (GLenum name); 711 GL_API void GL_APIENTRY glGetTexEnviv (GLenum env, GLenum pname, GLint *params); 712 GL_API void GL_APIENTRY glGetTexEnvxv (GLenum env, GLenum pname, GLfixed *params); 713 GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); 714 GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params); 715 GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode); 716 GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); 717 GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap); 718 GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture); 719 GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param); 720 GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *params); 721 GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param); 722 GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params); 723 GL_API void GL_APIENTRY glLineWidthx (GLfixed width); 724 GL_API void GL_APIENTRY glLoadIdentity (void); 725 GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m); 726 GL_API void GL_APIENTRY glLogicOp (GLenum opcode); 727 GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param); 728 GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *params); 729 GL_API void GL_APIENTRY glMatrixMode (GLenum mode); 730 GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m); 731 GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); 732 GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz); 733 GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); 734 GL_API void GL_APIENTRY glOrthox (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); 735 GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); 736 GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param); 737 GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params); 738 GL_API void GL_APIENTRY glPointSizex (GLfixed size); 739 GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units); 740 GL_API void GL_APIENTRY glPopMatrix (void); 741 GL_API void GL_APIENTRY glPushMatrix (void); 742 GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); 743 GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); 744 GL_API void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); 745 GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert); 746 GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z); 747 GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); 748 GL_API void GL_APIENTRY glShadeModel (GLenum mode); 749 GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); 750 GL_API void GL_APIENTRY glStencilMask (GLuint mask); 751 GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); 752 GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 753 GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); 754 GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param); 755 GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); 756 GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params); 757 GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); 758 GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); 759 GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param); 760 GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); 761 GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params); 762 GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); 763 GL_API void GL_APIENTRY texSubImage2DAsync (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLint hpixels); 764 GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z); 765 GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 766 GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); 767 768 /*------------------------------------------------------------------------* 769 * Required OES extension functions 770 *------------------------------------------------------------------------*/ 771 772 /* GL_OES_read_format */ 773 #ifndef GL_OES_read_format 774 #define GL_OES_read_format 1 775 #endif 776 777 /* GL_OES_compressed_paletted_texture */ 778 #ifndef GL_OES_compressed_paletted_texture 779 #define GL_OES_compressed_paletted_texture 1 780 #endif 781 782 /* GL_OES_point_size_array */ 783 #ifndef GL_OES_point_size_array 784 #define GL_OES_point_size_array 1 785 GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const GLvoid *pointer); 786 #endif 787 788 /* GL_OES_point_sprite */ 789 #ifndef GL_OES_point_sprite 790 #define GL_OES_point_sprite 1 791 #endif 792 793 #ifdef __cplusplus 794 } 795 #endif 796 797 #endif /* __gl_h_ */ 798 799