1 /* 2 * This file is was based upon the Mesa 3D Graphics library version 4.1 file 3 * "gl.h"; The Mesa copyright notice is preserved below. 4 * 5 * It has been modified to include only OpenGL 1.1 and earlier headers 6 * as well as some system-specific information. It should not need to be 7 * modified in the event that the OpenGL specification changes; these changes 8 * should be reflected in the glext.h header file. This file should only need 9 * to modified to add or changed system-specific information. 10 */ 11 12 /* 13 * Copyright (C) 1999-2002 Brian Paul All Rights Reserved. 14 * 15 * Permission is hereby granted, free of charge, to any person obtaining a 16 * copy of this software and associated documentation files (the "Software"), 17 * to deal in the Software without restriction, including without limitation 18 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 19 * and/or sell copies of the Software, and to permit persons to whom the 20 * Software is furnished to do so, subject to the following conditions: 21 * 22 * The above copyright notice and this permission notice shall be included 23 * in all copies or substantial portions of the Software. 24 * 25 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 26 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 28 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 29 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 31 */ 32 33 #ifndef __gl_h_ 34 #define __gl_h_ 35 36 /* Function declaration macros - to move into gl-platform.h */ 37 #include "gl-platform.h" 38 39 #ifdef __cplusplus 40 extern "C" { 41 #endif 42 43 /* 44 * --------------------------------------------- 45 * OpenGL 1.0 Spec 46 * --------------------------------------------- 47 */ 48 #ifndef GL_VERSION_1_0 49 #define GL_VERSION_1_0 1 50 51 /* 52 * Datatypes 53 */ 54 typedef unsigned int GLenum; 55 typedef unsigned char GLboolean; 56 typedef unsigned int GLbitfield; 57 typedef void GLvoid; 58 typedef signed char GLbyte; /* 1-byte signed */ 59 typedef short GLshort; /* 2-byte signed */ 60 typedef int GLint; /* 4-byte signed */ 61 typedef unsigned char GLubyte; /* 1-byte unsigned */ 62 typedef unsigned short GLushort; /* 2-byte unsigned */ 63 typedef unsigned int GLuint; /* 4-byte unsigned */ 64 typedef int GLsizei; /* 4-byte signed */ 65 typedef float GLfloat; /* single precision float */ 66 typedef float GLclampf; /* single precision float in [0,1] */ 67 typedef double GLdouble; /* double precision float */ 68 typedef double GLclampd; /* double precision float in [0,1] */ 69 70 /* 71 * Constants 72 */ 73 74 /* Boolean values */ 75 #define GL_FALSE 0x0 76 #define GL_TRUE 0x1 77 78 /* Data types */ 79 #define GL_BYTE 0x1400 80 #define GL_UNSIGNED_BYTE 0x1401 81 #define GL_SHORT 0x1402 82 #define GL_UNSIGNED_SHORT 0x1403 83 #define GL_INT 0x1404 84 #define GL_UNSIGNED_INT 0x1405 85 #define GL_FLOAT 0x1406 86 #define GL_DOUBLE 0x140A 87 #define GL_2_BYTES 0x1407 88 #define GL_3_BYTES 0x1408 89 #define GL_4_BYTES 0x1409 90 91 /* Primitives */ 92 #define GL_POINTS 0x0000 93 #define GL_LINES 0x0001 94 #define GL_LINE_LOOP 0x0002 95 #define GL_LINE_STRIP 0x0003 96 #define GL_TRIANGLES 0x0004 97 #define GL_TRIANGLE_STRIP 0x0005 98 #define GL_TRIANGLE_FAN 0x0006 99 #define GL_QUADS 0x0007 100 #define GL_QUAD_STRIP 0x0008 101 #define GL_POLYGON 0x0009 102 103 /* Matrix Mode */ 104 #define GL_MATRIX_MODE 0x0BA0 105 #define GL_MODELVIEW 0x1700 106 #define GL_PROJECTION 0x1701 107 #define GL_TEXTURE 0x1702 108 109 /* Points */ 110 #define GL_POINT_SMOOTH 0x0B10 111 #define GL_POINT_SIZE 0x0B11 112 #define GL_POINT_SIZE_GRANULARITY 0x0B13 113 #define GL_POINT_SIZE_RANGE 0x0B12 114 115 /* Lines */ 116 #define GL_LINE_SMOOTH 0x0B20 117 #define GL_LINE_STIPPLE 0x0B24 118 #define GL_LINE_STIPPLE_PATTERN 0x0B25 119 #define GL_LINE_STIPPLE_REPEAT 0x0B26 120 #define GL_LINE_WIDTH 0x0B21 121 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 122 #define GL_LINE_WIDTH_RANGE 0x0B22 123 124 /* Polygons */ 125 #define GL_POINT 0x1B00 126 #define GL_LINE 0x1B01 127 #define GL_FILL 0x1B02 128 #define GL_CW 0x0900 129 #define GL_CCW 0x0901 130 #define GL_FRONT 0x0404 131 #define GL_BACK 0x0405 132 #define GL_POLYGON_MODE 0x0B40 133 #define GL_POLYGON_SMOOTH 0x0B41 134 #define GL_POLYGON_STIPPLE 0x0B42 135 #define GL_EDGE_FLAG 0x0B43 136 #define GL_CULL_FACE 0x0B44 137 #define GL_CULL_FACE_MODE 0x0B45 138 #define GL_FRONT_FACE 0x0B46 139 #define GL_POLYGON_OFFSET_FACTOR 0x8038 140 #define GL_POLYGON_OFFSET_UNITS 0x2A00 141 #define GL_POLYGON_OFFSET_POINT 0x2A01 142 #define GL_POLYGON_OFFSET_LINE 0x2A02 143 #define GL_POLYGON_OFFSET_FILL 0x8037 144 145 /* Display Lists */ 146 #define GL_COMPILE 0x1300 147 #define GL_COMPILE_AND_EXECUTE 0x1301 148 #define GL_LIST_BASE 0x0B32 149 #define GL_LIST_INDEX 0x0B33 150 #define GL_LIST_MODE 0x0B30 151 152 /* Depth buffer */ 153 #define GL_NEVER 0x0200 154 #define GL_LESS 0x0201 155 #define GL_EQUAL 0x0202 156 #define GL_LEQUAL 0x0203 157 #define GL_GREATER 0x0204 158 #define GL_NOTEQUAL 0x0205 159 #define GL_GEQUAL 0x0206 160 #define GL_ALWAYS 0x0207 161 #define GL_DEPTH_TEST 0x0B71 162 #define GL_DEPTH_BITS 0x0D56 163 #define GL_DEPTH_CLEAR_VALUE 0x0B73 164 #define GL_DEPTH_FUNC 0x0B74 165 #define GL_DEPTH_RANGE 0x0B70 166 #define GL_DEPTH_WRITEMASK 0x0B72 167 #define GL_DEPTH_COMPONENT 0x1902 168 169 /* Lighting */ 170 #define GL_LIGHTING 0x0B50 171 #define GL_LIGHT0 0x4000 172 #define GL_LIGHT1 0x4001 173 #define GL_LIGHT2 0x4002 174 #define GL_LIGHT3 0x4003 175 #define GL_LIGHT4 0x4004 176 #define GL_LIGHT5 0x4005 177 #define GL_LIGHT6 0x4006 178 #define GL_LIGHT7 0x4007 179 #define GL_SPOT_EXPONENT 0x1205 180 #define GL_SPOT_CUTOFF 0x1206 181 #define GL_CONSTANT_ATTENUATION 0x1207 182 #define GL_LINEAR_ATTENUATION 0x1208 183 #define GL_QUADRATIC_ATTENUATION 0x1209 184 #define GL_AMBIENT 0x1200 185 #define GL_DIFFUSE 0x1201 186 #define GL_SPECULAR 0x1202 187 #define GL_SHININESS 0x1601 188 #define GL_EMISSION 0x1600 189 #define GL_POSITION 0x1203 190 #define GL_SPOT_DIRECTION 0x1204 191 #define GL_AMBIENT_AND_DIFFUSE 0x1602 192 #define GL_COLOR_INDEXES 0x1603 193 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 194 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 195 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 196 #define GL_FRONT_AND_BACK 0x0408 197 #define GL_SHADE_MODEL 0x0B54 198 #define GL_FLAT 0x1D00 199 #define GL_SMOOTH 0x1D01 200 #define GL_COLOR_MATERIAL 0x0B57 201 #define GL_COLOR_MATERIAL_FACE 0x0B55 202 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 203 #define GL_NORMALIZE 0x0BA1 204 205 /* User clipping planes */ 206 #define GL_CLIP_PLANE0 0x3000 207 #define GL_CLIP_PLANE1 0x3001 208 #define GL_CLIP_PLANE2 0x3002 209 #define GL_CLIP_PLANE3 0x3003 210 #define GL_CLIP_PLANE4 0x3004 211 #define GL_CLIP_PLANE5 0x3005 212 213 /* Accumulation buffer */ 214 #define GL_ACCUM_RED_BITS 0x0D58 215 #define GL_ACCUM_GREEN_BITS 0x0D59 216 #define GL_ACCUM_BLUE_BITS 0x0D5A 217 #define GL_ACCUM_ALPHA_BITS 0x0D5B 218 #define GL_ACCUM_CLEAR_VALUE 0x0B80 219 #define GL_ACCUM 0x0100 220 #define GL_ADD 0x0104 221 #define GL_LOAD 0x0101 222 #define GL_MULT 0x0103 223 #define GL_RETURN 0x0102 224 225 /* Alpha testing */ 226 #define GL_ALPHA_TEST 0x0BC0 227 #define GL_ALPHA_TEST_REF 0x0BC2 228 #define GL_ALPHA_TEST_FUNC 0x0BC1 229 230 /* Blending */ 231 #define GL_BLEND 0x0BE2 232 #define GL_BLEND_SRC 0x0BE1 233 #define GL_BLEND_DST 0x0BE0 234 #define GL_ZERO 0x0 235 #define GL_ONE 0x1 236 #define GL_SRC_COLOR 0x0300 237 #define GL_ONE_MINUS_SRC_COLOR 0x0301 238 #define GL_SRC_ALPHA 0x0302 239 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 240 #define GL_DST_ALPHA 0x0304 241 #define GL_ONE_MINUS_DST_ALPHA 0x0305 242 #define GL_DST_COLOR 0x0306 243 #define GL_ONE_MINUS_DST_COLOR 0x0307 244 #define GL_SRC_ALPHA_SATURATE 0x0308 245 246 /* Render Mode */ 247 #define GL_FEEDBACK 0x1C01 248 #define GL_RENDER 0x1C00 249 #define GL_SELECT 0x1C02 250 251 /* Feedback */ 252 #define GL_2D 0x0600 253 #define GL_3D 0x0601 254 #define GL_3D_COLOR 0x0602 255 #define GL_3D_COLOR_TEXTURE 0x0603 256 #define GL_4D_COLOR_TEXTURE 0x0604 257 #define GL_POINT_TOKEN 0x0701 258 #define GL_LINE_TOKEN 0x0702 259 #define GL_LINE_RESET_TOKEN 0x0707 260 #define GL_POLYGON_TOKEN 0x0703 261 #define GL_BITMAP_TOKEN 0x0704 262 #define GL_DRAW_PIXEL_TOKEN 0x0705 263 #define GL_COPY_PIXEL_TOKEN 0x0706 264 #define GL_PASS_THROUGH_TOKEN 0x0700 265 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 266 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 267 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 268 269 /* Selection */ 270 #define GL_SELECTION_BUFFER_POINTER 0x0DF3 271 #define GL_SELECTION_BUFFER_SIZE 0x0DF4 272 273 /* Fog */ 274 #define GL_FOG 0x0B60 275 #define GL_FOG_MODE 0x0B65 276 #define GL_FOG_DENSITY 0x0B62 277 #define GL_FOG_COLOR 0x0B66 278 #define GL_FOG_INDEX 0x0B61 279 #define GL_FOG_START 0x0B63 280 #define GL_FOG_END 0x0B64 281 #define GL_LINEAR 0x2601 282 #define GL_EXP 0x0800 283 #define GL_EXP2 0x0801 284 285 /* Logic Ops */ 286 #define GL_LOGIC_OP 0x0BF1 287 #define GL_INDEX_LOGIC_OP 0x0BF1 288 #define GL_COLOR_LOGIC_OP 0x0BF2 289 #define GL_LOGIC_OP_MODE 0x0BF0 290 #define GL_CLEAR 0x1500 291 #define GL_SET 0x150F 292 #define GL_COPY 0x1503 293 #define GL_COPY_INVERTED 0x150C 294 #define GL_NOOP 0x1505 295 #define GL_INVERT 0x150A 296 #define GL_AND 0x1501 297 #define GL_NAND 0x150E 298 #define GL_OR 0x1507 299 #define GL_NOR 0x1508 300 #define GL_XOR 0x1506 301 #define GL_EQUIV 0x1509 302 #define GL_AND_REVERSE 0x1502 303 #define GL_AND_INVERTED 0x1504 304 #define GL_OR_REVERSE 0x150B 305 #define GL_OR_INVERTED 0x150D 306 307 /* Stencil */ 308 #define GL_STENCIL_TEST 0x0B90 309 #define GL_STENCIL_WRITEMASK 0x0B98 310 #define GL_STENCIL_BITS 0x0D57 311 #define GL_STENCIL_FUNC 0x0B92 312 #define GL_STENCIL_VALUE_MASK 0x0B93 313 #define GL_STENCIL_REF 0x0B97 314 #define GL_STENCIL_FAIL 0x0B94 315 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 316 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 317 #define GL_STENCIL_CLEAR_VALUE 0x0B91 318 #define GL_STENCIL_INDEX 0x1901 319 #define GL_KEEP 0x1E00 320 #define GL_REPLACE 0x1E01 321 #define GL_INCR 0x1E02 322 #define GL_DECR 0x1E03 323 324 /* Buffers, Pixel Drawing/Reading */ 325 #define GL_NONE 0x0 326 #define GL_LEFT 0x0406 327 #define GL_RIGHT 0x0407 328 /*GL_FRONT 0x0404 */ 329 /*GL_BACK 0x0405 */ 330 /*GL_FRONT_AND_BACK 0x0408 */ 331 #define GL_FRONT_LEFT 0x0400 332 #define GL_FRONT_RIGHT 0x0401 333 #define GL_BACK_LEFT 0x0402 334 #define GL_BACK_RIGHT 0x0403 335 #define GL_AUX0 0x0409 336 #define GL_AUX1 0x040A 337 #define GL_AUX2 0x040B 338 #define GL_AUX3 0x040C 339 #define GL_COLOR_INDEX 0x1900 340 #define GL_RED 0x1903 341 #define GL_GREEN 0x1904 342 #define GL_BLUE 0x1905 343 #define GL_ALPHA 0x1906 344 #define GL_LUMINANCE 0x1909 345 #define GL_LUMINANCE_ALPHA 0x190A 346 #define GL_ALPHA_BITS 0x0D55 347 #define GL_RED_BITS 0x0D52 348 #define GL_GREEN_BITS 0x0D53 349 #define GL_BLUE_BITS 0x0D54 350 #define GL_INDEX_BITS 0x0D51 351 #define GL_SUBPIXEL_BITS 0x0D50 352 #define GL_AUX_BUFFERS 0x0C00 353 #define GL_READ_BUFFER 0x0C02 354 #define GL_DRAW_BUFFER 0x0C01 355 #define GL_DOUBLEBUFFER 0x0C32 356 #define GL_STEREO 0x0C33 357 #define GL_BITMAP 0x1A00 358 #define GL_COLOR 0x1800 359 #define GL_DEPTH 0x1801 360 #define GL_STENCIL 0x1802 361 #define GL_DITHER 0x0BD0 362 #define GL_RGB 0x1907 363 #define GL_RGBA 0x1908 364 365 /* Implementation limits */ 366 #define GL_MAX_LIST_NESTING 0x0B31 367 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 368 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 369 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 370 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 371 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 372 #define GL_MAX_EVAL_ORDER 0x0D30 373 #define GL_MAX_LIGHTS 0x0D31 374 #define GL_MAX_CLIP_PLANES 0x0D32 375 #define GL_MAX_TEXTURE_SIZE 0x0D33 376 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 377 #define GL_MAX_VIEWPORT_DIMS 0x0D3A 378 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B 379 380 /* Gets */ 381 #define GL_ATTRIB_STACK_DEPTH 0x0BB0 382 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 383 #define GL_COLOR_CLEAR_VALUE 0x0C22 384 #define GL_COLOR_WRITEMASK 0x0C23 385 #define GL_CURRENT_INDEX 0x0B01 386 #define GL_CURRENT_COLOR 0x0B00 387 #define GL_CURRENT_NORMAL 0x0B02 388 #define GL_CURRENT_RASTER_COLOR 0x0B04 389 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 390 #define GL_CURRENT_RASTER_INDEX 0x0B05 391 #define GL_CURRENT_RASTER_POSITION 0x0B07 392 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 393 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 394 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 395 #define GL_INDEX_CLEAR_VALUE 0x0C20 396 #define GL_INDEX_MODE 0x0C30 397 #define GL_INDEX_WRITEMASK 0x0C21 398 #define GL_MODELVIEW_MATRIX 0x0BA6 399 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 400 #define GL_NAME_STACK_DEPTH 0x0D70 401 #define GL_PROJECTION_MATRIX 0x0BA7 402 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 403 #define GL_RENDER_MODE 0x0C40 404 #define GL_RGBA_MODE 0x0C31 405 #define GL_TEXTURE_MATRIX 0x0BA8 406 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 407 #define GL_VIEWPORT 0x0BA2 408 409 /* Evaluators */ 410 #define GL_AUTO_NORMAL 0x0D80 411 #define GL_MAP1_COLOR_4 0x0D90 412 #define GL_MAP1_INDEX 0x0D91 413 #define GL_MAP1_NORMAL 0x0D92 414 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 415 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 416 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 417 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 418 #define GL_MAP1_VERTEX_3 0x0D97 419 #define GL_MAP1_VERTEX_4 0x0D98 420 #define GL_MAP2_COLOR_4 0x0DB0 421 #define GL_MAP2_INDEX 0x0DB1 422 #define GL_MAP2_NORMAL 0x0DB2 423 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 424 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 425 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 426 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 427 #define GL_MAP2_VERTEX_3 0x0DB7 428 #define GL_MAP2_VERTEX_4 0x0DB8 429 #define GL_MAP1_GRID_DOMAIN 0x0DD0 430 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 431 #define GL_MAP2_GRID_DOMAIN 0x0DD2 432 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 433 #define GL_COEFF 0x0A00 434 #define GL_DOMAIN 0x0A02 435 #define GL_ORDER 0x0A01 436 437 /* Hints */ 438 #define GL_FOG_HINT 0x0C54 439 #define GL_LINE_SMOOTH_HINT 0x0C52 440 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 441 #define GL_POINT_SMOOTH_HINT 0x0C51 442 #define GL_POLYGON_SMOOTH_HINT 0x0C53 443 #define GL_DONT_CARE 0x1100 444 #define GL_FASTEST 0x1101 445 #define GL_NICEST 0x1102 446 447 /* Scissor box */ 448 #define GL_SCISSOR_TEST 0x0C11 449 #define GL_SCISSOR_BOX 0x0C10 450 451 /* Pixel Mode / Transfer */ 452 #define GL_MAP_COLOR 0x0D10 453 #define GL_MAP_STENCIL 0x0D11 454 #define GL_INDEX_SHIFT 0x0D12 455 #define GL_INDEX_OFFSET 0x0D13 456 #define GL_RED_SCALE 0x0D14 457 #define GL_RED_BIAS 0x0D15 458 #define GL_GREEN_SCALE 0x0D18 459 #define GL_GREEN_BIAS 0x0D19 460 #define GL_BLUE_SCALE 0x0D1A 461 #define GL_BLUE_BIAS 0x0D1B 462 #define GL_ALPHA_SCALE 0x0D1C 463 #define GL_ALPHA_BIAS 0x0D1D 464 #define GL_DEPTH_SCALE 0x0D1E 465 #define GL_DEPTH_BIAS 0x0D1F 466 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 467 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 468 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 469 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 470 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 471 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 472 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 473 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 474 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 475 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 476 #define GL_PIXEL_MAP_S_TO_S 0x0C71 477 #define GL_PIXEL_MAP_I_TO_I 0x0C70 478 #define GL_PIXEL_MAP_I_TO_R 0x0C72 479 #define GL_PIXEL_MAP_I_TO_G 0x0C73 480 #define GL_PIXEL_MAP_I_TO_B 0x0C74 481 #define GL_PIXEL_MAP_I_TO_A 0x0C75 482 #define GL_PIXEL_MAP_R_TO_R 0x0C76 483 #define GL_PIXEL_MAP_G_TO_G 0x0C77 484 #define GL_PIXEL_MAP_B_TO_B 0x0C78 485 #define GL_PIXEL_MAP_A_TO_A 0x0C79 486 #define GL_PACK_ALIGNMENT 0x0D05 487 #define GL_PACK_LSB_FIRST 0x0D01 488 #define GL_PACK_ROW_LENGTH 0x0D02 489 #define GL_PACK_SKIP_PIXELS 0x0D04 490 #define GL_PACK_SKIP_ROWS 0x0D03 491 #define GL_PACK_SWAP_BYTES 0x0D00 492 #define GL_UNPACK_ALIGNMENT 0x0CF5 493 #define GL_UNPACK_LSB_FIRST 0x0CF1 494 #define GL_UNPACK_ROW_LENGTH 0x0CF2 495 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 496 #define GL_UNPACK_SKIP_ROWS 0x0CF3 497 #define GL_UNPACK_SWAP_BYTES 0x0CF0 498 #define GL_ZOOM_X 0x0D16 499 #define GL_ZOOM_Y 0x0D17 500 501 /* Texture mapping */ 502 #define GL_TEXTURE_ENV 0x2300 503 #define GL_TEXTURE_ENV_MODE 0x2200 504 #define GL_TEXTURE_1D 0x0DE0 505 #define GL_TEXTURE_2D 0x0DE1 506 #define GL_TEXTURE_WRAP_S 0x2802 507 #define GL_TEXTURE_WRAP_T 0x2803 508 #define GL_TEXTURE_MAG_FILTER 0x2800 509 #define GL_TEXTURE_MIN_FILTER 0x2801 510 #define GL_TEXTURE_ENV_COLOR 0x2201 511 #define GL_TEXTURE_GEN_S 0x0C60 512 #define GL_TEXTURE_GEN_T 0x0C61 513 #define GL_TEXTURE_GEN_MODE 0x2500 514 #define GL_TEXTURE_BORDER_COLOR 0x1004 515 #define GL_TEXTURE_WIDTH 0x1000 516 #define GL_TEXTURE_HEIGHT 0x1001 517 #define GL_TEXTURE_BORDER 0x1005 518 #define GL_TEXTURE_COMPONENTS 0x1003 519 #define GL_TEXTURE_RED_SIZE 0x805C 520 #define GL_TEXTURE_GREEN_SIZE 0x805D 521 #define GL_TEXTURE_BLUE_SIZE 0x805E 522 #define GL_TEXTURE_ALPHA_SIZE 0x805F 523 #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 524 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 525 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 526 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 527 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 528 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 529 #define GL_OBJECT_LINEAR 0x2401 530 #define GL_OBJECT_PLANE 0x2501 531 #define GL_EYE_LINEAR 0x2400 532 #define GL_EYE_PLANE 0x2502 533 #define GL_SPHERE_MAP 0x2402 534 #define GL_DECAL 0x2101 535 #define GL_MODULATE 0x2100 536 #define GL_NEAREST 0x2600 537 #define GL_REPEAT 0x2901 538 #define GL_CLAMP 0x2900 539 #define GL_S 0x2000 540 #define GL_T 0x2001 541 #define GL_R 0x2002 542 #define GL_Q 0x2003 543 #define GL_TEXTURE_GEN_R 0x0C62 544 #define GL_TEXTURE_GEN_Q 0x0C63 545 546 /* Utility */ 547 #define GL_VENDOR 0x1F00 548 #define GL_RENDERER 0x1F01 549 #define GL_VERSION 0x1F02 550 #define GL_EXTENSIONS 0x1F03 551 552 /* Errors */ 553 #define GL_NO_ERROR 0x0 554 #define GL_INVALID_VALUE 0x0501 555 #define GL_INVALID_ENUM 0x0500 556 #define GL_INVALID_OPERATION 0x0502 557 #define GL_STACK_OVERFLOW 0x0503 558 #define GL_STACK_UNDERFLOW 0x0504 559 #define GL_OUT_OF_MEMORY 0x0505 560 561 /* glPush/PopAttrib bits */ 562 #define GL_CURRENT_BIT 0x00000001 563 #define GL_POINT_BIT 0x00000002 564 #define GL_LINE_BIT 0x00000004 565 #define GL_POLYGON_BIT 0x00000008 566 #define GL_POLYGON_STIPPLE_BIT 0x00000010 567 #define GL_PIXEL_MODE_BIT 0x00000020 568 #define GL_LIGHTING_BIT 0x00000040 569 #define GL_FOG_BIT 0x00000080 570 #define GL_DEPTH_BUFFER_BIT 0x00000100 571 #define GL_ACCUM_BUFFER_BIT 0x00000200 572 #define GL_STENCIL_BUFFER_BIT 0x00000400 573 #define GL_VIEWPORT_BIT 0x00000800 574 #define GL_TRANSFORM_BIT 0x00001000 575 #define GL_ENABLE_BIT 0x00002000 576 #define GL_COLOR_BUFFER_BIT 0x00004000 577 #define GL_HINT_BIT 0x00008000 578 #define GL_EVAL_BIT 0x00010000 579 #define GL_LIST_BIT 0x00020000 580 #define GL_TEXTURE_BIT 0x00040000 581 #define GL_SCISSOR_BIT 0x00080000 582 #define GL_ALL_ATTRIB_BITS 0x000FFFFF 583 584 /* 585 * Miscellaneous 586 */ 587 588 GLAPI void APIENTRY glClearIndex( GLfloat c ); 589 590 GLAPI void APIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 591 592 GLAPI void APIENTRY glClear( GLbitfield mask ); 593 594 GLAPI void APIENTRY glIndexMask( GLuint mask ); 595 596 GLAPI void APIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ); 597 598 GLAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref ); 599 600 GLAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor ); 601 602 GLAPI void APIENTRY glLogicOp( GLenum opcode ); 603 604 GLAPI void APIENTRY glCullFace( GLenum mode ); 605 606 GLAPI void APIENTRY glFrontFace( GLenum mode ); 607 608 GLAPI void APIENTRY glPointSize( GLfloat size ); 609 610 GLAPI void APIENTRY glLineWidth( GLfloat width ); 611 612 GLAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern ); 613 614 GLAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode ); 615 616 GLAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units ); 617 618 GLAPI void APIENTRY glPolygonStipple( const GLubyte *mask ); 619 620 GLAPI void APIENTRY glGetPolygonStipple( GLubyte *mask ); 621 622 GLAPI void APIENTRY glEdgeFlag( GLboolean flag ); 623 624 GLAPI void APIENTRY glEdgeFlagv( const GLboolean *flag ); 625 626 GLAPI void APIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height); 627 628 GLAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation ); 629 630 GLAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation ); 631 632 GLAPI void APIENTRY glDrawBuffer( GLenum mode ); 633 634 GLAPI void APIENTRY glReadBuffer( GLenum mode ); 635 636 GLAPI void APIENTRY glEnable( GLenum cap ); 637 638 GLAPI void APIENTRY glDisable( GLenum cap ); 639 640 GLAPI GLboolean APIENTRY glIsEnabled( GLenum cap ); 641 642 GLAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params ); 643 644 GLAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params ); 645 646 GLAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params ); 647 648 GLAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params ); 649 650 651 GLAPI void APIENTRY glPushAttrib( GLbitfield mask ); 652 653 GLAPI void APIENTRY glPopAttrib( void ); 654 655 656 657 GLAPI GLint APIENTRY glRenderMode( GLenum mode ); 658 659 GLAPI GLenum APIENTRY glGetError( void ); 660 661 GLAPI const GLubyte* APIENTRY glGetString( GLenum name ); 662 663 GLAPI void APIENTRY glFinish( void ); 664 665 GLAPI void APIENTRY glFlush( void ); 666 667 GLAPI void APIENTRY glHint( GLenum target, GLenum mode ); 668 669 670 /* 671 * Depth Buffer 672 */ 673 674 GLAPI void APIENTRY glClearDepth( GLclampd depth ); 675 676 GLAPI void APIENTRY glDepthFunc( GLenum func ); 677 678 GLAPI void APIENTRY glDepthMask( GLboolean flag ); 679 680 GLAPI void APIENTRY glDepthRange( GLclampd zNear, GLclampd zFar ); 681 682 683 /* 684 * Accumulation Buffer 685 */ 686 687 GLAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ); 688 689 GLAPI void APIENTRY glAccum( GLenum op, GLfloat value ); 690 691 692 /* 693 * Transformation 694 */ 695 696 GLAPI void APIENTRY glMatrixMode( GLenum mode ); 697 698 GLAPI void APIENTRY glOrtho( GLdouble left, GLdouble right, 699 GLdouble bottom, GLdouble top, 700 GLdouble near_val, GLdouble far_val ); 701 702 GLAPI void APIENTRY glFrustum( GLdouble left, GLdouble right, 703 GLdouble bottom, GLdouble top, 704 GLdouble near_val, GLdouble far_val ); 705 706 GLAPI void APIENTRY glViewport( GLint x, GLint y, 707 GLsizei width, GLsizei height ); 708 709 GLAPI void APIENTRY glPushMatrix( void ); 710 711 GLAPI void APIENTRY glPopMatrix( void ); 712 713 GLAPI void APIENTRY glLoadIdentity( void ); 714 715 GLAPI void APIENTRY glLoadMatrixd( const GLdouble *m ); 716 GLAPI void APIENTRY glLoadMatrixf( const GLfloat *m ); 717 718 GLAPI void APIENTRY glMultMatrixd( const GLdouble *m ); 719 GLAPI void APIENTRY glMultMatrixf( const GLfloat *m ); 720 721 GLAPI void APIENTRY glRotated( GLdouble angle, 722 GLdouble x, GLdouble y, GLdouble z ); 723 GLAPI void APIENTRY glRotatef( GLfloat angle, 724 GLfloat x, GLfloat y, GLfloat z ); 725 726 GLAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z ); 727 GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z ); 728 729 GLAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z ); 730 GLAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z ); 731 732 733 /* 734 * Display Lists 735 */ 736 737 GLAPI GLboolean APIENTRY glIsList( GLuint list ); 738 739 GLAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range ); 740 741 GLAPI GLuint APIENTRY glGenLists( GLsizei range ); 742 743 GLAPI void APIENTRY glNewList( GLuint list, GLenum mode ); 744 745 GLAPI void APIENTRY glEndList( void ); 746 747 GLAPI void APIENTRY glCallList( GLuint list ); 748 749 GLAPI void APIENTRY glCallLists( GLsizei n, GLenum type, 750 const GLvoid *lists ); 751 752 GLAPI void APIENTRY glListBase( GLuint base ); 753 754 755 /* 756 * Drawing Functions 757 */ 758 759 GLAPI void APIENTRY glBegin( GLenum mode ); 760 761 GLAPI void APIENTRY glEnd( void ); 762 763 764 GLAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y ); 765 GLAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y ); 766 GLAPI void APIENTRY glVertex2i( GLint x, GLint y ); 767 GLAPI void APIENTRY glVertex2s( GLshort x, GLshort y ); 768 769 GLAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z ); 770 GLAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z ); 771 GLAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z ); 772 GLAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z ); 773 774 GLAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 775 GLAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 776 GLAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w ); 777 GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w ); 778 779 GLAPI void APIENTRY glVertex2dv( const GLdouble *v ); 780 GLAPI void APIENTRY glVertex2fv( const GLfloat *v ); 781 GLAPI void APIENTRY glVertex2iv( const GLint *v ); 782 GLAPI void APIENTRY glVertex2sv( const GLshort *v ); 783 784 GLAPI void APIENTRY glVertex3dv( const GLdouble *v ); 785 GLAPI void APIENTRY glVertex3fv( const GLfloat *v ); 786 GLAPI void APIENTRY glVertex3iv( const GLint *v ); 787 GLAPI void APIENTRY glVertex3sv( const GLshort *v ); 788 789 GLAPI void APIENTRY glVertex4dv( const GLdouble *v ); 790 GLAPI void APIENTRY glVertex4fv( const GLfloat *v ); 791 GLAPI void APIENTRY glVertex4iv( const GLint *v ); 792 GLAPI void APIENTRY glVertex4sv( const GLshort *v ); 793 794 795 GLAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz ); 796 GLAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz ); 797 GLAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz ); 798 GLAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz ); 799 GLAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz ); 800 801 GLAPI void APIENTRY glNormal3bv( const GLbyte *v ); 802 GLAPI void APIENTRY glNormal3dv( const GLdouble *v ); 803 GLAPI void APIENTRY glNormal3fv( const GLfloat *v ); 804 GLAPI void APIENTRY glNormal3iv( const GLint *v ); 805 GLAPI void APIENTRY glNormal3sv( const GLshort *v ); 806 807 808 GLAPI void APIENTRY glIndexd( GLdouble c ); 809 GLAPI void APIENTRY glIndexf( GLfloat c ); 810 GLAPI void APIENTRY glIndexi( GLint c ); 811 GLAPI void APIENTRY glIndexs( GLshort c ); 812 813 GLAPI void APIENTRY glIndexdv( const GLdouble *c ); 814 GLAPI void APIENTRY glIndexfv( const GLfloat *c ); 815 GLAPI void APIENTRY glIndexiv( const GLint *c ); 816 GLAPI void APIENTRY glIndexsv( const GLshort *c ); 817 818 GLAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue ); 819 GLAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue ); 820 GLAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue ); 821 GLAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue ); 822 GLAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue ); 823 GLAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue ); 824 GLAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue ); 825 GLAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue ); 826 827 GLAPI void APIENTRY glColor4b( GLbyte red, GLbyte green, 828 GLbyte blue, GLbyte alpha ); 829 GLAPI void APIENTRY glColor4d( GLdouble red, GLdouble green, 830 GLdouble blue, GLdouble alpha ); 831 GLAPI void APIENTRY glColor4f( GLfloat red, GLfloat green, 832 GLfloat blue, GLfloat alpha ); 833 GLAPI void APIENTRY glColor4i( GLint red, GLint green, 834 GLint blue, GLint alpha ); 835 GLAPI void APIENTRY glColor4s( GLshort red, GLshort green, 836 GLshort blue, GLshort alpha ); 837 GLAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green, 838 GLubyte blue, GLubyte alpha ); 839 GLAPI void APIENTRY glColor4ui( GLuint red, GLuint green, 840 GLuint blue, GLuint alpha ); 841 GLAPI void APIENTRY glColor4us( GLushort red, GLushort green, 842 GLushort blue, GLushort alpha ); 843 844 845 GLAPI void APIENTRY glColor3bv( const GLbyte *v ); 846 GLAPI void APIENTRY glColor3dv( const GLdouble *v ); 847 GLAPI void APIENTRY glColor3fv( const GLfloat *v ); 848 GLAPI void APIENTRY glColor3iv( const GLint *v ); 849 GLAPI void APIENTRY glColor3sv( const GLshort *v ); 850 GLAPI void APIENTRY glColor3ubv( const GLubyte *v ); 851 GLAPI void APIENTRY glColor3uiv( const GLuint *v ); 852 GLAPI void APIENTRY glColor3usv( const GLushort *v ); 853 854 GLAPI void APIENTRY glColor4bv( const GLbyte *v ); 855 GLAPI void APIENTRY glColor4dv( const GLdouble *v ); 856 GLAPI void APIENTRY glColor4fv( const GLfloat *v ); 857 GLAPI void APIENTRY glColor4iv( const GLint *v ); 858 GLAPI void APIENTRY glColor4sv( const GLshort *v ); 859 GLAPI void APIENTRY glColor4ubv( const GLubyte *v ); 860 GLAPI void APIENTRY glColor4uiv( const GLuint *v ); 861 GLAPI void APIENTRY glColor4usv( const GLushort *v ); 862 863 864 GLAPI void APIENTRY glTexCoord1d( GLdouble s ); 865 GLAPI void APIENTRY glTexCoord1f( GLfloat s ); 866 GLAPI void APIENTRY glTexCoord1i( GLint s ); 867 GLAPI void APIENTRY glTexCoord1s( GLshort s ); 868 869 GLAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t ); 870 GLAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t ); 871 GLAPI void APIENTRY glTexCoord2i( GLint s, GLint t ); 872 GLAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t ); 873 874 GLAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r ); 875 GLAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r ); 876 GLAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r ); 877 GLAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r ); 878 879 GLAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 880 GLAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 881 GLAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q ); 882 GLAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ); 883 884 GLAPI void APIENTRY glTexCoord1dv( const GLdouble *v ); 885 GLAPI void APIENTRY glTexCoord1fv( const GLfloat *v ); 886 GLAPI void APIENTRY glTexCoord1iv( const GLint *v ); 887 GLAPI void APIENTRY glTexCoord1sv( const GLshort *v ); 888 889 GLAPI void APIENTRY glTexCoord2dv( const GLdouble *v ); 890 GLAPI void APIENTRY glTexCoord2fv( const GLfloat *v ); 891 GLAPI void APIENTRY glTexCoord2iv( const GLint *v ); 892 GLAPI void APIENTRY glTexCoord2sv( const GLshort *v ); 893 894 GLAPI void APIENTRY glTexCoord3dv( const GLdouble *v ); 895 GLAPI void APIENTRY glTexCoord3fv( const GLfloat *v ); 896 GLAPI void APIENTRY glTexCoord3iv( const GLint *v ); 897 GLAPI void APIENTRY glTexCoord3sv( const GLshort *v ); 898 899 GLAPI void APIENTRY glTexCoord4dv( const GLdouble *v ); 900 GLAPI void APIENTRY glTexCoord4fv( const GLfloat *v ); 901 GLAPI void APIENTRY glTexCoord4iv( const GLint *v ); 902 GLAPI void APIENTRY glTexCoord4sv( const GLshort *v ); 903 904 905 GLAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y ); 906 GLAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y ); 907 GLAPI void APIENTRY glRasterPos2i( GLint x, GLint y ); 908 GLAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y ); 909 910 GLAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z ); 911 GLAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z ); 912 GLAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z ); 913 GLAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z ); 914 915 GLAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 916 GLAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 917 GLAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w ); 918 GLAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w ); 919 920 GLAPI void APIENTRY glRasterPos2dv( const GLdouble *v ); 921 GLAPI void APIENTRY glRasterPos2fv( const GLfloat *v ); 922 GLAPI void APIENTRY glRasterPos2iv( const GLint *v ); 923 GLAPI void APIENTRY glRasterPos2sv( const GLshort *v ); 924 925 GLAPI void APIENTRY glRasterPos3dv( const GLdouble *v ); 926 GLAPI void APIENTRY glRasterPos3fv( const GLfloat *v ); 927 GLAPI void APIENTRY glRasterPos3iv( const GLint *v ); 928 GLAPI void APIENTRY glRasterPos3sv( const GLshort *v ); 929 930 GLAPI void APIENTRY glRasterPos4dv( const GLdouble *v ); 931 GLAPI void APIENTRY glRasterPos4fv( const GLfloat *v ); 932 GLAPI void APIENTRY glRasterPos4iv( const GLint *v ); 933 GLAPI void APIENTRY glRasterPos4sv( const GLshort *v ); 934 935 936 GLAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 ); 937 GLAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 ); 938 GLAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 ); 939 GLAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 ); 940 941 942 GLAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 ); 943 GLAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 ); 944 GLAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 ); 945 GLAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 ); 946 947 948 /* 949 * Lighting 950 */ 951 952 GLAPI void APIENTRY glShadeModel( GLenum mode ); 953 954 GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param ); 955 GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param ); 956 GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname, 957 const GLfloat *params ); 958 GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname, 959 const GLint *params ); 960 961 GLAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname, 962 GLfloat *params ); 963 GLAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname, 964 GLint *params ); 965 966 GLAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param ); 967 GLAPI void APIENTRY glLightModeli( GLenum pname, GLint param ); 968 GLAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params ); 969 GLAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params ); 970 971 GLAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param ); 972 GLAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param ); 973 GLAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params ); 974 GLAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params ); 975 976 GLAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params ); 977 GLAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params ); 978 979 GLAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode ); 980 981 982 /* 983 * Raster functions 984 */ 985 986 GLAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor ); 987 988 GLAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param ); 989 GLAPI void APIENTRY glPixelStorei( GLenum pname, GLint param ); 990 991 GLAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param ); 992 GLAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param ); 993 994 GLAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize, 995 const GLfloat *values ); 996 GLAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize, 997 const GLuint *values ); 998 GLAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize, 999 const GLushort *values ); 1000 1001 GLAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values ); 1002 GLAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values ); 1003 GLAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values ); 1004 1005 GLAPI void APIENTRY glBitmap( GLsizei width, GLsizei height, 1006 GLfloat xorig, GLfloat yorig, 1007 GLfloat xmove, GLfloat ymove, 1008 const GLubyte *bitmap ); 1009 1010 GLAPI void APIENTRY glReadPixels( GLint x, GLint y, 1011 GLsizei width, GLsizei height, 1012 GLenum format, GLenum type, 1013 GLvoid *pixels ); 1014 1015 GLAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height, 1016 GLenum format, GLenum type, 1017 const GLvoid *pixels ); 1018 1019 GLAPI void APIENTRY glCopyPixels( GLint x, GLint y, 1020 GLsizei width, GLsizei height, 1021 GLenum type ); 1022 1023 /* 1024 * Stenciling 1025 */ 1026 1027 GLAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask ); 1028 1029 GLAPI void APIENTRY glStencilMask( GLuint mask ); 1030 1031 GLAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass ); 1032 1033 GLAPI void APIENTRY glClearStencil( GLint s ); 1034 1035 1036 1037 /* 1038 * Texture mapping 1039 */ 1040 1041 GLAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param ); 1042 GLAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param ); 1043 GLAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param ); 1044 1045 GLAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params ); 1046 GLAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params ); 1047 GLAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params ); 1048 1049 GLAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params ); 1050 GLAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ); 1051 GLAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params ); 1052 1053 1054 GLAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param ); 1055 GLAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param ); 1056 1057 GLAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params ); 1058 GLAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params ); 1059 1060 GLAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ); 1061 GLAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params ); 1062 1063 1064 GLAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param ); 1065 GLAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param ); 1066 1067 GLAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname, 1068 const GLfloat *params ); 1069 GLAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname, 1070 const GLint *params ); 1071 1072 GLAPI void APIENTRY glGetTexParameterfv( GLenum target, 1073 GLenum pname, GLfloat *params); 1074 GLAPI void APIENTRY glGetTexParameteriv( GLenum target, 1075 GLenum pname, GLint *params ); 1076 1077 GLAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, 1078 GLenum pname, GLfloat *params ); 1079 GLAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, 1080 GLenum pname, GLint *params ); 1081 1082 1083 GLAPI void APIENTRY glTexImage1D( GLenum target, GLint level, 1084 GLint internalFormat, 1085 GLsizei width, GLint border, 1086 GLenum format, GLenum type, 1087 const GLvoid *pixels ); 1088 1089 GLAPI void APIENTRY glTexImage2D( GLenum target, GLint level, 1090 GLint internalFormat, 1091 GLsizei width, GLsizei height, 1092 GLint border, GLenum format, GLenum type, 1093 const GLvoid *pixels ); 1094 1095 GLAPI void APIENTRY glGetTexImage( GLenum target, GLint level, 1096 GLenum format, GLenum type, 1097 GLvoid *pixels ); 1098 1099 1100 /* 1101 * Evaluators 1102 */ 1103 1104 GLAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, 1105 GLint stride, 1106 GLint order, const GLdouble *points ); 1107 GLAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, 1108 GLint stride, 1109 GLint order, const GLfloat *points ); 1110 1111 GLAPI void APIENTRY glMap2d( GLenum target, 1112 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, 1113 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, 1114 const GLdouble *points ); 1115 GLAPI void APIENTRY glMap2f( GLenum target, 1116 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, 1117 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, 1118 const GLfloat *points ); 1119 1120 GLAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v ); 1121 GLAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v ); 1122 GLAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v ); 1123 1124 GLAPI void APIENTRY glEvalCoord1d( GLdouble u ); 1125 GLAPI void APIENTRY glEvalCoord1f( GLfloat u ); 1126 1127 GLAPI void APIENTRY glEvalCoord1dv( const GLdouble *u ); 1128 GLAPI void APIENTRY glEvalCoord1fv( const GLfloat *u ); 1129 1130 GLAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v ); 1131 GLAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v ); 1132 1133 GLAPI void APIENTRY glEvalCoord2dv( const GLdouble *u ); 1134 GLAPI void APIENTRY glEvalCoord2fv( const GLfloat *u ); 1135 1136 GLAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 ); 1137 GLAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 ); 1138 1139 GLAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, 1140 GLint vn, GLdouble v1, GLdouble v2 ); 1141 GLAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, 1142 GLint vn, GLfloat v1, GLfloat v2 ); 1143 1144 GLAPI void APIENTRY glEvalPoint1( GLint i ); 1145 1146 GLAPI void APIENTRY glEvalPoint2( GLint i, GLint j ); 1147 1148 GLAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 ); 1149 1150 GLAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ); 1151 1152 1153 /* 1154 * Fog 1155 */ 1156 1157 GLAPI void APIENTRY glFogf( GLenum pname, GLfloat param ); 1158 1159 GLAPI void APIENTRY glFogi( GLenum pname, GLint param ); 1160 1161 GLAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params ); 1162 1163 GLAPI void APIENTRY glFogiv( GLenum pname, const GLint *params ); 1164 1165 1166 /* 1167 * Selection and Feedback 1168 */ 1169 1170 GLAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ); 1171 1172 GLAPI void APIENTRY glPassThrough( GLfloat token ); 1173 1174 GLAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer ); 1175 1176 GLAPI void APIENTRY glInitNames( void ); 1177 1178 GLAPI void APIENTRY glLoadName( GLuint name ); 1179 1180 GLAPI void APIENTRY glPushName( GLuint name ); 1181 1182 GLAPI void APIENTRY glPopName( void ); 1183 1184 #endif /* GL_VERSION_1_0 */ 1185 1186 /* 1187 * --------------------------------------------- 1188 * OpenGL 1.1 Spec 1189 * --------------------------------------------- 1190 */ 1191 1192 /* OpenGL 1.1 */ 1193 #ifndef GL_VERSION_1_1 1194 #define GL_VERSION_1_1 1 1195 1196 #define GL_PROXY_TEXTURE_1D 0x8063 1197 #define GL_PROXY_TEXTURE_2D 0x8064 1198 #define GL_TEXTURE_PRIORITY 0x8066 1199 #define GL_TEXTURE_RESIDENT 0x8067 1200 #define GL_TEXTURE_BINDING_1D 0x8068 1201 #define GL_TEXTURE_BINDING_2D 0x8069 1202 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003 1203 #define GL_ALPHA4 0x803B 1204 #define GL_ALPHA8 0x803C 1205 #define GL_ALPHA12 0x803D 1206 #define GL_ALPHA16 0x803E 1207 #define GL_LUMINANCE4 0x803F 1208 #define GL_LUMINANCE8 0x8040 1209 #define GL_LUMINANCE12 0x8041 1210 #define GL_LUMINANCE16 0x8042 1211 #define GL_LUMINANCE4_ALPHA4 0x8043 1212 #define GL_LUMINANCE6_ALPHA2 0x8044 1213 #define GL_LUMINANCE8_ALPHA8 0x8045 1214 #define GL_LUMINANCE12_ALPHA4 0x8046 1215 #define GL_LUMINANCE12_ALPHA12 0x8047 1216 #define GL_LUMINANCE16_ALPHA16 0x8048 1217 #define GL_INTENSITY 0x8049 1218 #define GL_INTENSITY4 0x804A 1219 #define GL_INTENSITY8 0x804B 1220 #define GL_INTENSITY12 0x804C 1221 #define GL_INTENSITY16 0x804D 1222 #define GL_R3_G3_B2 0x2A10 1223 #define GL_RGB4 0x804F 1224 #define GL_RGB5 0x8050 1225 #define GL_RGB8 0x8051 1226 #define GL_RGB10 0x8052 1227 #define GL_RGB12 0x8053 1228 #define GL_RGB16 0x8054 1229 #define GL_RGBA2 0x8055 1230 #define GL_RGBA4 0x8056 1231 #define GL_RGB5_A1 0x8057 1232 #define GL_RGBA8 0x8058 1233 #define GL_RGB10_A2 0x8059 1234 #define GL_RGBA12 0x805A 1235 #define GL_RGBA16 0x805B 1236 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 1237 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 1238 #define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF 1239 #define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF 1240 1241 #define GL_VERTEX_ARRAY 0x8074 1242 #define GL_NORMAL_ARRAY 0x8075 1243 #define GL_COLOR_ARRAY 0x8076 1244 #define GL_INDEX_ARRAY 0x8077 1245 #define GL_TEXTURE_COORD_ARRAY 0x8078 1246 #define GL_EDGE_FLAG_ARRAY 0x8079 1247 #define GL_VERTEX_ARRAY_SIZE 0x807A 1248 #define GL_VERTEX_ARRAY_TYPE 0x807B 1249 #define GL_VERTEX_ARRAY_STRIDE 0x807C 1250 #define GL_NORMAL_ARRAY_TYPE 0x807E 1251 #define GL_NORMAL_ARRAY_STRIDE 0x807F 1252 #define GL_COLOR_ARRAY_SIZE 0x8081 1253 #define GL_COLOR_ARRAY_TYPE 0x8082 1254 #define GL_COLOR_ARRAY_STRIDE 0x8083 1255 #define GL_INDEX_ARRAY_TYPE 0x8085 1256 #define GL_INDEX_ARRAY_STRIDE 0x8086 1257 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 1258 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 1259 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A 1260 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C 1261 #define GL_VERTEX_ARRAY_POINTER 0x808E 1262 #define GL_NORMAL_ARRAY_POINTER 0x808F 1263 #define GL_COLOR_ARRAY_POINTER 0x8090 1264 #define GL_INDEX_ARRAY_POINTER 0x8091 1265 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 1266 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 1267 #define GL_V2F 0x2A20 1268 #define GL_V3F 0x2A21 1269 #define GL_C4UB_V2F 0x2A22 1270 #define GL_C4UB_V3F 0x2A23 1271 #define GL_C3F_V3F 0x2A24 1272 #define GL_N3F_V3F 0x2A25 1273 #define GL_C4F_N3F_V3F 0x2A26 1274 #define GL_T2F_V3F 0x2A27 1275 #define GL_T4F_V4F 0x2A28 1276 #define GL_T2F_C4UB_V3F 0x2A29 1277 #define GL_T2F_C3F_V3F 0x2A2A 1278 #define GL_T2F_N3F_V3F 0x2A2B 1279 #define GL_T2F_C4F_N3F_V3F 0x2A2C 1280 #define GL_T4F_C4F_N3F_V4F 0x2A2D 1281 1282 GLAPI void APIENTRY glIndexub( GLubyte c ); 1283 GLAPI void APIENTRY glIndexubv( const GLubyte *c ); 1284 1285 GLAPI void APIENTRY glPushClientAttrib( GLbitfield mask ); 1286 GLAPI void APIENTRY glPopClientAttrib( void ); 1287 GLAPI void APIENTRY glEnableClientState( GLenum cap ); 1288 GLAPI void APIENTRY glDisableClientState( GLenum cap ); 1289 GLAPI void APIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ); 1290 GLAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride, const GLvoid *ptr ); 1291 GLAPI void APIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ); 1292 GLAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr ); 1293 GLAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ); 1294 GLAPI void APIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr ); 1295 GLAPI void APIENTRY glGetPointerv( GLenum pname, GLvoid **params ); 1296 GLAPI void APIENTRY glArrayElement( GLint i ); 1297 GLAPI void APIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count ); 1298 GLAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ); 1299 GLAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer ); 1300 1301 GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures ); 1302 GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures); 1303 GLAPI void APIENTRY glBindTexture( GLenum target, GLuint texture ); 1304 GLAPI void APIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities ); 1305 GLAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences ); 1306 GLAPI GLboolean APIENTRY glIsTexture( GLuint texture ); 1307 GLAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels ); 1308 GLAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ); 1309 GLAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ); 1310 GLAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ); 1311 GLAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ); 1312 GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ); 1313 1314 #endif /* GL_VERSION_1_1 */ 1315 1316 /* Include Post-GL 1.1 changes and extensions */ 1317 // Due to 'glext-supplement.h', we prefer to include it manually afterwards. 1318 // This gives us the same behavior as the vanilla GLES, GLES2, GLES3 and glcorearb header. 1319 // #include <GL/glext.h> 1320 1321 1322 /********************************************************************** 1323 * Begin system-specific stuff 1324 */ 1325 #if defined(PRAGMA_EXPORT_SUPPORTED) 1326 #pragma export off 1327 #endif 1328 1329 #if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED 1330 #pragma import off 1331 #endif 1332 /* 1333 * End system-specific stuff 1334 **********************************************************************/ 1335 1336 1337 #ifdef __cplusplus 1338 } 1339 #endif 1340 1341 #endif /* __gl_h_ */ 1342