gl.h revision 3849b44d666482a14aac41f4e19a596c420cfa80
1/* $Id: gl.h,v 1.4 1999/09/17 02:44:19 tjump Exp $ */ 2 3/* 4 * Mesa 3-D graphics library 5 * Version: 3.1 6 * 7 * Copyright (C) 1999 Brian Paul All Rights Reserved. 8 * 9 * Permission is hereby granted, free of charge, to any person obtaining a 10 * copy of this software and associated documentation files (the "Software"), 11 * to deal in the Software without restriction, including without limitation 12 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 13 * and/or sell copies of the Software, and to permit persons to whom the 14 * Software is furnished to do so, subject to the following conditions: 15 * 16 * The above copyright notice and this permission notice shall be included 17 * in all copies or substantial portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 */ 26 27 28 29 30#ifndef GL_H 31#define GL_H 32 33#if defined(USE_MGL_NAMESPACE) 34#include "gl_mangle.h" 35#endif 36 37 38#if defined(__BEOS__) 39#include <stdlib.h> /* to get some BeOS-isms */ 40#endif 41 42 43#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO)) 44#define OPENSTEP 45#endif 46 47 48#if defined(_WIN32) && !defined(__WIN32__) 49# define __WIN32__ 50#endif 51 52#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__)) 53# pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */ 54# pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */ 55# pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */ 56# pragma warning( disable : 4550 ) /* 'function' undefined; assuming extern returning int */ 57# pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */ 58# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ 59# define GLAPI __declspec(dllexport) 60# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ 61# define GLAPI __declspec(dllimport) 62# else /* for use with static link lib build of Win32 edition only */ 63# define GLAPI extern 64# endif /* _STATIC_MESA support */ 65# define GLAPIENTRY __stdcall 66# define GLCALLBACK __stdcall 67# define GLWINAPI __stdcall 68# define GLWINAPIV __cdecl 69#else 70/* non-Windows compilation */ 71# define GLAPI extern 72# define GLAPIENTRY 73# define GLCALLBACK 74# define GLWINAPI 75# define GLWINAPIV 76#endif /* WIN32 / CYGWIN32 bracket */ 77 78/* compatability guard so we don't need to change client code */ 79 80#if defined(_WIN32) && !defined(_WINDEF_) && !defined(OPENSTEP) 81# if !defined(MESA_MINWARN) 82# pragma message( "note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro" ) 83# pragma message( "----: and PROC typedef. If you receive compiler warnings about either ") 84# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/gl.h" ) 85# endif 86# define CALLBACK GLCALLBACK 87typedef int (GLAPIENTRY *PROC)(); 88typedef void *HGLRC; 89typedef void *HDC; 90typedef unsigned long COLORREF; 91#endif 92 93#if defined(_WIN32) && !defined(_WINGDI_) && !defined(OPENSTEP) 94# if !defined(MESA_MINWARN) 95# pragma message( "note: WINDOWS.H not included, providing Mesa definition of wgl functions" ) 96# pragma message( "----: and macros. If you receive compiler warnings about any being multiply ") 97# pragma message( "----: defined you should include WINDOWS.H priot to gl/gl.h" ) 98# endif 99# define WGL_FONT_LINES 0 100# define WGL_FONT_POLYGONS 1 101# ifdef UNICODE 102# define wglUseFontBitmaps wglUseFontBitmapsW 103# define wglUseFontOutlines wglUseFontOutlinesW 104# else 105# define wglUseFontBitmaps wglUseFontBitmapsA 106# define wglUseFontOutlines wglUseFontOutlinesA 107# endif /* !UNICODE */ 108typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR; 109typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT; 110GLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int); 111GLAPI HGLRC GLAPIENTRY wglCreateContext(HDC); 112GLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC, int); 113GLAPI int GLAPIENTRY wglDeleteContext(HGLRC); 114GLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void); 115GLAPI HDC GLAPIENTRY wglGetCurrentDC(void); 116GLAPI PROC GLAPIENTRY wglGetProcAddress(char*); 117GLAPI int GLAPIENTRY wglMakeCurrent(HDC, HGLRC); 118GLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC); 119GLAPI int GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long); 120GLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long); 121GLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); 122GLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); 123GLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR); 124GLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *); 125GLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *); 126GLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int); 127GLAPI int GLAPIENTRY wglSwapLayerBuffers(HDC, unsigned int); 128GLAPI int GLAPIENTRY SwapBuffers(HDC); 129#endif 130 131 132#ifdef __cplusplus 133extern "C" { 134#endif 135 136 137#ifdef macintosh 138 #pragma enumsalwaysint on 139 #if PRAGMA_IMPORT_SUPPORTED 140 #pragma import on 141 #endif 142#endif 143 144 145 146/* 147 * Apps can test for this symbol to do conditional compilation if needed. 148 */ 149#define MESA 150 151#define MESA_MAJOR_VERSION 3 152#define MESA_MINOR_VERSION 1 153 154 155#define GL_VERSION_1_1 1 156#define GL_VERSION_1_2 1 157 158 159/* 160 * 161 * Enumerations 162 * 163 */ 164 165typedef enum { 166 /* Boolean values */ 167 GL_FALSE = 0, 168 GL_TRUE = 1, 169 170 /* Data types */ 171 GL_BYTE = 0x1400, 172 GL_UNSIGNED_BYTE = 0x1401, 173 GL_SHORT = 0x1402, 174 GL_UNSIGNED_SHORT = 0x1403, 175 GL_INT = 0x1404, 176 GL_UNSIGNED_INT = 0x1405, 177 GL_FLOAT = 0x1406, 178 GL_DOUBLE = 0x140A, 179 GL_2_BYTES = 0x1407, 180 GL_3_BYTES = 0x1408, 181 GL_4_BYTES = 0x1409, 182 183 /* Primitives */ 184 GL_POINTS = 0x0000, 185 GL_LINES = 0x0001, 186 GL_LINE_LOOP = 0x0002, 187 GL_LINE_STRIP = 0x0003, 188 GL_TRIANGLES = 0x0004, 189 GL_TRIANGLE_STRIP = 0x0005, 190 GL_TRIANGLE_FAN = 0x0006, 191 GL_QUADS = 0x0007, 192 GL_QUAD_STRIP = 0x0008, 193 GL_POLYGON = 0x0009, 194 195 /* Vertex Arrays */ 196 GL_VERTEX_ARRAY = 0x8074, 197 GL_NORMAL_ARRAY = 0x8075, 198 GL_COLOR_ARRAY = 0x8076, 199 GL_INDEX_ARRAY = 0x8077, 200 GL_TEXTURE_COORD_ARRAY = 0x8078, 201 GL_EDGE_FLAG_ARRAY = 0x8079, 202 GL_VERTEX_ARRAY_SIZE = 0x807A, 203 GL_VERTEX_ARRAY_TYPE = 0x807B, 204 GL_VERTEX_ARRAY_STRIDE = 0x807C, 205 GL_NORMAL_ARRAY_TYPE = 0x807E, 206 GL_NORMAL_ARRAY_STRIDE = 0x807F, 207 GL_COLOR_ARRAY_SIZE = 0x8081, 208 GL_COLOR_ARRAY_TYPE = 0x8082, 209 GL_COLOR_ARRAY_STRIDE = 0x8083, 210 GL_INDEX_ARRAY_TYPE = 0x8085, 211 GL_INDEX_ARRAY_STRIDE = 0x8086, 212 GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088, 213 GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089, 214 GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A, 215 GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C, 216 GL_VERTEX_ARRAY_POINTER = 0x808E, 217 GL_NORMAL_ARRAY_POINTER = 0x808F, 218 GL_COLOR_ARRAY_POINTER = 0x8090, 219 GL_INDEX_ARRAY_POINTER = 0x8091, 220 GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092, 221 GL_EDGE_FLAG_ARRAY_POINTER = 0x8093, 222 GL_V2F = 0x2A20, 223 GL_V3F = 0x2A21, 224 GL_C4UB_V2F = 0x2A22, 225 GL_C4UB_V3F = 0x2A23, 226 GL_C3F_V3F = 0x2A24, 227 GL_N3F_V3F = 0x2A25, 228 GL_C4F_N3F_V3F = 0x2A26, 229 GL_T2F_V3F = 0x2A27, 230 GL_T4F_V4F = 0x2A28, 231 GL_T2F_C4UB_V3F = 0x2A29, 232 GL_T2F_C3F_V3F = 0x2A2A, 233 GL_T2F_N3F_V3F = 0x2A2B, 234 GL_T2F_C4F_N3F_V3F = 0x2A2C, 235 GL_T4F_C4F_N3F_V4F = 0x2A2D, 236 237 /* Matrix Mode */ 238 GL_MATRIX_MODE = 0x0BA0, 239 GL_MODELVIEW = 0x1700, 240 GL_PROJECTION = 0x1701, 241 GL_TEXTURE = 0x1702, 242 243 /* Points */ 244 GL_POINT_SMOOTH = 0x0B10, 245 GL_POINT_SIZE = 0x0B11, 246 GL_POINT_SIZE_GRANULARITY = 0x0B13, 247 GL_POINT_SIZE_RANGE = 0x0B12, 248 249 /* Lines */ 250 GL_LINE_SMOOTH = 0x0B20, 251 GL_LINE_STIPPLE = 0x0B24, 252 GL_LINE_STIPPLE_PATTERN = 0x0B25, 253 GL_LINE_STIPPLE_REPEAT = 0x0B26, 254 GL_LINE_WIDTH = 0x0B21, 255 GL_LINE_WIDTH_GRANULARITY = 0x0B23, 256 GL_LINE_WIDTH_RANGE = 0x0B22, 257 258 /* Polygons */ 259 GL_POINT = 0x1B00, 260 GL_LINE = 0x1B01, 261 GL_FILL = 0x1B02, 262 GL_CW = 0x0900, 263 GL_CCW = 0x0901, 264 GL_FRONT = 0x0404, 265 GL_BACK = 0x0405, 266 GL_POLYGON_MODE = 0x0B40, 267 GL_POLYGON_SMOOTH = 0x0B41, 268 GL_POLYGON_STIPPLE = 0x0B42, 269 GL_EDGE_FLAG = 0x0B43, 270 GL_CULL_FACE = 0x0B44, 271 GL_CULL_FACE_MODE = 0x0B45, 272 GL_FRONT_FACE = 0x0B46, 273 GL_POLYGON_OFFSET_FACTOR = 0x8038, 274 GL_POLYGON_OFFSET_UNITS = 0x2A00, 275 GL_POLYGON_OFFSET_POINT = 0x2A01, 276 GL_POLYGON_OFFSET_LINE = 0x2A02, 277 GL_POLYGON_OFFSET_FILL = 0x8037, 278 279 /* Display Lists */ 280 GL_COMPILE = 0x1300, 281 GL_COMPILE_AND_EXECUTE = 0x1301, 282 GL_LIST_BASE = 0x0B32, 283 GL_LIST_INDEX = 0x0B33, 284 GL_LIST_MODE = 0x0B30, 285 286 /* Depth buffer */ 287 GL_NEVER = 0x0200, 288 GL_LESS = 0x0201, 289 GL_GEQUAL = 0x0206, 290 GL_LEQUAL = 0x0203, 291 GL_GREATER = 0x0204, 292 GL_NOTEQUAL = 0x0205, 293 GL_EQUAL = 0x0202, 294 GL_ALWAYS = 0x0207, 295 GL_DEPTH_TEST = 0x0B71, 296 GL_DEPTH_BITS = 0x0D56, 297 GL_DEPTH_CLEAR_VALUE = 0x0B73, 298 GL_DEPTH_FUNC = 0x0B74, 299 GL_DEPTH_RANGE = 0x0B70, 300 GL_DEPTH_WRITEMASK = 0x0B72, 301 GL_DEPTH_COMPONENT = 0x1902, 302 303 /* Lighting */ 304 GL_LIGHTING = 0x0B50, 305 GL_LIGHT0 = 0x4000, 306 GL_LIGHT1 = 0x4001, 307 GL_LIGHT2 = 0x4002, 308 GL_LIGHT3 = 0x4003, 309 GL_LIGHT4 = 0x4004, 310 GL_LIGHT5 = 0x4005, 311 GL_LIGHT6 = 0x4006, 312 GL_LIGHT7 = 0x4007, 313 GL_SPOT_EXPONENT = 0x1205, 314 GL_SPOT_CUTOFF = 0x1206, 315 GL_CONSTANT_ATTENUATION = 0x1207, 316 GL_LINEAR_ATTENUATION = 0x1208, 317 GL_QUADRATIC_ATTENUATION = 0x1209, 318 GL_AMBIENT = 0x1200, 319 GL_DIFFUSE = 0x1201, 320 GL_SPECULAR = 0x1202, 321 GL_SHININESS = 0x1601, 322 GL_EMISSION = 0x1600, 323 GL_POSITION = 0x1203, 324 GL_SPOT_DIRECTION = 0x1204, 325 GL_AMBIENT_AND_DIFFUSE = 0x1602, 326 GL_COLOR_INDEXES = 0x1603, 327 GL_LIGHT_MODEL_TWO_SIDE = 0x0B52, 328 GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51, 329 GL_LIGHT_MODEL_AMBIENT = 0x0B53, 330 GL_FRONT_AND_BACK = 0x0408, 331 GL_SHADE_MODEL = 0x0B54, 332 GL_FLAT = 0x1D00, 333 GL_SMOOTH = 0x1D01, 334 GL_COLOR_MATERIAL = 0x0B57, 335 GL_COLOR_MATERIAL_FACE = 0x0B55, 336 GL_COLOR_MATERIAL_PARAMETER = 0x0B56, 337 GL_NORMALIZE = 0x0BA1, 338 339 /* User clipping planes */ 340 GL_CLIP_PLANE0 = 0x3000, 341 GL_CLIP_PLANE1 = 0x3001, 342 GL_CLIP_PLANE2 = 0x3002, 343 GL_CLIP_PLANE3 = 0x3003, 344 GL_CLIP_PLANE4 = 0x3004, 345 GL_CLIP_PLANE5 = 0x3005, 346 347 /* Accumulation buffer */ 348 GL_ACCUM_RED_BITS = 0x0D58, 349 GL_ACCUM_GREEN_BITS = 0x0D59, 350 GL_ACCUM_BLUE_BITS = 0x0D5A, 351 GL_ACCUM_ALPHA_BITS = 0x0D5B, 352 GL_ACCUM_CLEAR_VALUE = 0x0B80, 353 GL_ACCUM = 0x0100, 354 GL_ADD = 0x0104, 355 GL_LOAD = 0x0101, 356 GL_MULT = 0x0103, 357 GL_RETURN = 0x0102, 358 359 /* Alpha testing */ 360 GL_ALPHA_TEST = 0x0BC0, 361 GL_ALPHA_TEST_REF = 0x0BC2, 362 GL_ALPHA_TEST_FUNC = 0x0BC1, 363 364 /* Blending */ 365 GL_BLEND = 0x0BE2, 366 GL_BLEND_SRC = 0x0BE1, 367 GL_BLEND_DST = 0x0BE0, 368 GL_ZERO = 0, 369 GL_ONE = 1, 370 GL_SRC_COLOR = 0x0300, 371 GL_ONE_MINUS_SRC_COLOR = 0x0301, 372 GL_DST_COLOR = 0x0306, 373 GL_ONE_MINUS_DST_COLOR = 0x0307, 374 GL_SRC_ALPHA = 0x0302, 375 GL_ONE_MINUS_SRC_ALPHA = 0x0303, 376 GL_DST_ALPHA = 0x0304, 377 GL_ONE_MINUS_DST_ALPHA = 0x0305, 378 GL_SRC_ALPHA_SATURATE = 0x0308, 379 GL_CONSTANT_COLOR = 0x8001, 380 GL_ONE_MINUS_CONSTANT_COLOR = 0x8002, 381 GL_CONSTANT_ALPHA = 0x8003, 382 GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004, 383 384 /* Render Mode */ 385 GL_FEEDBACK = 0x1C01, 386 GL_RENDER = 0x1C00, 387 GL_SELECT = 0x1C02, 388 389 /* Feedback */ 390 GL_2D = 0x0600, 391 GL_3D = 0x0601, 392 GL_3D_COLOR = 0x0602, 393 GL_3D_COLOR_TEXTURE = 0x0603, 394 GL_4D_COLOR_TEXTURE = 0x0604, 395 GL_POINT_TOKEN = 0x0701, 396 GL_LINE_TOKEN = 0x0702, 397 GL_LINE_RESET_TOKEN = 0x0707, 398 GL_POLYGON_TOKEN = 0x0703, 399 GL_BITMAP_TOKEN = 0x0704, 400 GL_DRAW_PIXEL_TOKEN = 0x0705, 401 GL_COPY_PIXEL_TOKEN = 0x0706, 402 GL_PASS_THROUGH_TOKEN = 0x0700, 403 GL_FEEDBACK_BUFFER_POINTER = 0x0DF0, 404 GL_FEEDBACK_BUFFER_SIZE = 0x0DF1, 405 GL_FEEDBACK_BUFFER_TYPE = 0x0DF2, 406 407 /* Selection */ 408 GL_SELECTION_BUFFER_POINTER = 0x0DF3, 409 GL_SELECTION_BUFFER_SIZE = 0x0DF4, 410 411 /* Fog */ 412 GL_FOG = 0x0B60, 413 GL_FOG_MODE = 0x0B65, 414 GL_FOG_DENSITY = 0x0B62, 415 GL_FOG_COLOR = 0x0B66, 416 GL_FOG_INDEX = 0x0B61, 417 GL_FOG_START = 0x0B63, 418 GL_FOG_END = 0x0B64, 419 GL_LINEAR = 0x2601, 420 GL_EXP = 0x0800, 421 GL_EXP2 = 0x0801, 422 423 /* Logic Ops */ 424 GL_LOGIC_OP = 0x0BF1, 425 GL_INDEX_LOGIC_OP = 0x0BF1, 426 GL_COLOR_LOGIC_OP = 0x0BF2, 427 GL_LOGIC_OP_MODE = 0x0BF0, 428 GL_CLEAR = 0x1500, 429 GL_SET = 0x150F, 430 GL_COPY = 0x1503, 431 GL_COPY_INVERTED = 0x150C, 432 GL_NOOP = 0x1505, 433 GL_INVERT = 0x150A, 434 GL_AND = 0x1501, 435 GL_NAND = 0x150E, 436 GL_OR = 0x1507, 437 GL_NOR = 0x1508, 438 GL_XOR = 0x1506, 439 GL_EQUIV = 0x1509, 440 GL_AND_REVERSE = 0x1502, 441 GL_AND_INVERTED = 0x1504, 442 GL_OR_REVERSE = 0x150B, 443 GL_OR_INVERTED = 0x150D, 444 445 /* Stencil */ 446 GL_STENCIL_TEST = 0x0B90, 447 GL_STENCIL_WRITEMASK = 0x0B98, 448 GL_STENCIL_BITS = 0x0D57, 449 GL_STENCIL_FUNC = 0x0B92, 450 GL_STENCIL_VALUE_MASK = 0x0B93, 451 GL_STENCIL_REF = 0x0B97, 452 GL_STENCIL_FAIL = 0x0B94, 453 GL_STENCIL_PASS_DEPTH_PASS = 0x0B96, 454 GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95, 455 GL_STENCIL_CLEAR_VALUE = 0x0B91, 456 GL_STENCIL_INDEX = 0x1901, 457 GL_KEEP = 0x1E00, 458 GL_REPLACE = 0x1E01, 459 GL_INCR = 0x1E02, 460 GL_DECR = 0x1E03, 461 462 /* Buffers, Pixel Drawing/Reading */ 463 GL_NONE = 0, 464 GL_LEFT = 0x0406, 465 GL_RIGHT = 0x0407, 466 /*GL_FRONT = 0x0404, */ 467 /*GL_BACK = 0x0405, */ 468 /*GL_FRONT_AND_BACK = 0x0408, */ 469 GL_FRONT_LEFT = 0x0400, 470 GL_FRONT_RIGHT = 0x0401, 471 GL_BACK_LEFT = 0x0402, 472 GL_BACK_RIGHT = 0x0403, 473 GL_AUX0 = 0x0409, 474 GL_AUX1 = 0x040A, 475 GL_AUX2 = 0x040B, 476 GL_AUX3 = 0x040C, 477 GL_COLOR_INDEX = 0x1900, 478 GL_RED = 0x1903, 479 GL_GREEN = 0x1904, 480 GL_BLUE = 0x1905, 481 GL_ALPHA = 0x1906, 482 GL_LUMINANCE = 0x1909, 483 GL_LUMINANCE_ALPHA = 0x190A, 484 GL_ALPHA_BITS = 0x0D55, 485 GL_RED_BITS = 0x0D52, 486 GL_GREEN_BITS = 0x0D53, 487 GL_BLUE_BITS = 0x0D54, 488 GL_INDEX_BITS = 0x0D51, 489 GL_SUBPIXEL_BITS = 0x0D50, 490 GL_AUX_BUFFERS = 0x0C00, 491 GL_READ_BUFFER = 0x0C02, 492 GL_DRAW_BUFFER = 0x0C01, 493 GL_DOUBLEBUFFER = 0x0C32, 494 GL_STEREO = 0x0C33, 495 GL_BITMAP = 0x1A00, 496 GL_COLOR = 0x1800, 497 GL_DEPTH = 0x1801, 498 GL_STENCIL = 0x1802, 499 GL_DITHER = 0x0BD0, 500 GL_RGB = 0x1907, 501 GL_RGBA = 0x1908, 502 503 /* Implementation limits */ 504 GL_MAX_LIST_NESTING = 0x0B31, 505 GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35, 506 GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36, 507 GL_MAX_NAME_STACK_DEPTH = 0x0D37, 508 GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38, 509 GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39, 510 GL_MAX_EVAL_ORDER = 0x0D30, 511 GL_MAX_LIGHTS = 0x0D31, 512 GL_MAX_CLIP_PLANES = 0x0D32, 513 GL_MAX_TEXTURE_SIZE = 0x0D33, 514 GL_MAX_PIXEL_MAP_TABLE = 0x0D34, 515 GL_MAX_VIEWPORT_DIMS = 0x0D3A, 516 GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B, 517 518 /* Gets */ 519 GL_ATTRIB_STACK_DEPTH = 0x0BB0, 520 GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1, 521 GL_COLOR_CLEAR_VALUE = 0x0C22, 522 GL_COLOR_WRITEMASK = 0x0C23, 523 GL_CURRENT_INDEX = 0x0B01, 524 GL_CURRENT_COLOR = 0x0B00, 525 GL_CURRENT_NORMAL = 0x0B02, 526 GL_CURRENT_RASTER_COLOR = 0x0B04, 527 GL_CURRENT_RASTER_DISTANCE = 0x0B09, 528 GL_CURRENT_RASTER_INDEX = 0x0B05, 529 GL_CURRENT_RASTER_POSITION = 0x0B07, 530 GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06, 531 GL_CURRENT_RASTER_POSITION_VALID = 0x0B08, 532 GL_CURRENT_TEXTURE_COORDS = 0x0B03, 533 GL_INDEX_CLEAR_VALUE = 0x0C20, 534 GL_INDEX_MODE = 0x0C30, 535 GL_INDEX_WRITEMASK = 0x0C21, 536 GL_MODELVIEW_MATRIX = 0x0BA6, 537 GL_MODELVIEW_STACK_DEPTH = 0x0BA3, 538 GL_NAME_STACK_DEPTH = 0x0D70, 539 GL_PROJECTION_MATRIX = 0x0BA7, 540 GL_PROJECTION_STACK_DEPTH = 0x0BA4, 541 GL_RENDER_MODE = 0x0C40, 542 GL_RGBA_MODE = 0x0C31, 543 GL_TEXTURE_MATRIX = 0x0BA8, 544 GL_TEXTURE_STACK_DEPTH = 0x0BA5, 545 GL_VIEWPORT = 0x0BA2, 546 547 /* Evaluators */ 548 GL_AUTO_NORMAL = 0x0D80, 549 GL_MAP1_COLOR_4 = 0x0D90, 550 GL_MAP1_GRID_DOMAIN = 0x0DD0, 551 GL_MAP1_GRID_SEGMENTS = 0x0DD1, 552 GL_MAP1_INDEX = 0x0D91, 553 GL_MAP1_NORMAL = 0x0D92, 554 GL_MAP1_TEXTURE_COORD_1 = 0x0D93, 555 GL_MAP1_TEXTURE_COORD_2 = 0x0D94, 556 GL_MAP1_TEXTURE_COORD_3 = 0x0D95, 557 GL_MAP1_TEXTURE_COORD_4 = 0x0D96, 558 GL_MAP1_VERTEX_3 = 0x0D97, 559 GL_MAP1_VERTEX_4 = 0x0D98, 560 GL_MAP2_COLOR_4 = 0x0DB0, 561 GL_MAP2_GRID_DOMAIN = 0x0DD2, 562 GL_MAP2_GRID_SEGMENTS = 0x0DD3, 563 GL_MAP2_INDEX = 0x0DB1, 564 GL_MAP2_NORMAL = 0x0DB2, 565 GL_MAP2_TEXTURE_COORD_1 = 0x0DB3, 566 GL_MAP2_TEXTURE_COORD_2 = 0x0DB4, 567 GL_MAP2_TEXTURE_COORD_3 = 0x0DB5, 568 GL_MAP2_TEXTURE_COORD_4 = 0x0DB6, 569 GL_MAP2_VERTEX_3 = 0x0DB7, 570 GL_MAP2_VERTEX_4 = 0x0DB8, 571 GL_COEFF = 0x0A00, 572 GL_DOMAIN = 0x0A02, 573 GL_ORDER = 0x0A01, 574 575 /* Hints */ 576 GL_FOG_HINT = 0x0C54, 577 GL_LINE_SMOOTH_HINT = 0x0C52, 578 GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50, 579 GL_POINT_SMOOTH_HINT = 0x0C51, 580 GL_POLYGON_SMOOTH_HINT = 0x0C53, 581 GL_DONT_CARE = 0x1100, 582 GL_FASTEST = 0x1101, 583 GL_NICEST = 0x1102, 584 585 /* Scissor box */ 586 GL_SCISSOR_TEST = 0x0C11, 587 GL_SCISSOR_BOX = 0x0C10, 588 589 /* Pixel Mode / Transfer */ 590 GL_MAP_COLOR = 0x0D10, 591 GL_MAP_STENCIL = 0x0D11, 592 GL_INDEX_SHIFT = 0x0D12, 593 GL_INDEX_OFFSET = 0x0D13, 594 GL_RED_SCALE = 0x0D14, 595 GL_RED_BIAS = 0x0D15, 596 GL_GREEN_SCALE = 0x0D18, 597 GL_GREEN_BIAS = 0x0D19, 598 GL_BLUE_SCALE = 0x0D1A, 599 GL_BLUE_BIAS = 0x0D1B, 600 GL_ALPHA_SCALE = 0x0D1C, 601 GL_ALPHA_BIAS = 0x0D1D, 602 GL_DEPTH_SCALE = 0x0D1E, 603 GL_DEPTH_BIAS = 0x0D1F, 604 GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1, 605 GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0, 606 GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2, 607 GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3, 608 GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4, 609 GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5, 610 GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6, 611 GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7, 612 GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8, 613 GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9, 614 GL_PIXEL_MAP_S_TO_S = 0x0C71, 615 GL_PIXEL_MAP_I_TO_I = 0x0C70, 616 GL_PIXEL_MAP_I_TO_R = 0x0C72, 617 GL_PIXEL_MAP_I_TO_G = 0x0C73, 618 GL_PIXEL_MAP_I_TO_B = 0x0C74, 619 GL_PIXEL_MAP_I_TO_A = 0x0C75, 620 GL_PIXEL_MAP_R_TO_R = 0x0C76, 621 GL_PIXEL_MAP_G_TO_G = 0x0C77, 622 GL_PIXEL_MAP_B_TO_B = 0x0C78, 623 GL_PIXEL_MAP_A_TO_A = 0x0C79, 624 GL_PACK_ALIGNMENT = 0x0D05, 625 GL_PACK_LSB_FIRST = 0x0D01, 626 GL_PACK_ROW_LENGTH = 0x0D02, 627 GL_PACK_SKIP_PIXELS = 0x0D04, 628 GL_PACK_SKIP_ROWS = 0x0D03, 629 GL_PACK_SWAP_BYTES = 0x0D00, 630 GL_UNPACK_ALIGNMENT = 0x0CF5, 631 GL_UNPACK_LSB_FIRST = 0x0CF1, 632 GL_UNPACK_ROW_LENGTH = 0x0CF2, 633 GL_UNPACK_SKIP_PIXELS = 0x0CF4, 634 GL_UNPACK_SKIP_ROWS = 0x0CF3, 635 GL_UNPACK_SWAP_BYTES = 0x0CF0, 636 GL_ZOOM_X = 0x0D16, 637 GL_ZOOM_Y = 0x0D17, 638 639 /* Texture mapping */ 640 GL_TEXTURE_ENV = 0x2300, 641 GL_TEXTURE_ENV_MODE = 0x2200, 642 GL_TEXTURE_1D = 0x0DE0, 643 GL_TEXTURE_2D = 0x0DE1, 644 GL_TEXTURE_WRAP_S = 0x2802, 645 GL_TEXTURE_WRAP_T = 0x2803, 646 GL_TEXTURE_MAG_FILTER = 0x2800, 647 GL_TEXTURE_MIN_FILTER = 0x2801, 648 GL_TEXTURE_ENV_COLOR = 0x2201, 649 GL_TEXTURE_GEN_S = 0x0C60, 650 GL_TEXTURE_GEN_T = 0x0C61, 651 GL_TEXTURE_GEN_MODE = 0x2500, 652 GL_TEXTURE_BORDER_COLOR = 0x1004, 653 GL_TEXTURE_WIDTH = 0x1000, 654 GL_TEXTURE_HEIGHT = 0x1001, 655 GL_TEXTURE_BORDER = 0x1005, 656 GL_TEXTURE_COMPONENTS = 0x1003, 657 GL_TEXTURE_RED_SIZE = 0x805C, 658 GL_TEXTURE_GREEN_SIZE = 0x805D, 659 GL_TEXTURE_BLUE_SIZE = 0x805E, 660 GL_TEXTURE_ALPHA_SIZE = 0x805F, 661 GL_TEXTURE_LUMINANCE_SIZE = 0x8060, 662 GL_TEXTURE_INTENSITY_SIZE = 0x8061, 663 GL_NEAREST_MIPMAP_NEAREST = 0x2700, 664 GL_NEAREST_MIPMAP_LINEAR = 0x2702, 665 GL_LINEAR_MIPMAP_NEAREST = 0x2701, 666 GL_LINEAR_MIPMAP_LINEAR = 0x2703, 667 GL_OBJECT_LINEAR = 0x2401, 668 GL_OBJECT_PLANE = 0x2501, 669 GL_EYE_LINEAR = 0x2400, 670 GL_EYE_PLANE = 0x2502, 671 GL_SPHERE_MAP = 0x2402, 672 GL_DECAL = 0x2101, 673 GL_MODULATE = 0x2100, 674 GL_NEAREST = 0x2600, 675 GL_REPEAT = 0x2901, 676 GL_CLAMP = 0x2900, 677 GL_S = 0x2000, 678 GL_T = 0x2001, 679 GL_R = 0x2002, 680 GL_Q = 0x2003, 681 GL_TEXTURE_GEN_R = 0x0C62, 682 GL_TEXTURE_GEN_Q = 0x0C63, 683 684 /* GL 1.1 texturing */ 685 GL_PROXY_TEXTURE_1D = 0x8063, 686 GL_PROXY_TEXTURE_2D = 0x8064, 687 GL_TEXTURE_PRIORITY = 0x8066, 688 GL_TEXTURE_RESIDENT = 0x8067, 689 GL_TEXTURE_BINDING_1D = 0x8068, 690 GL_TEXTURE_BINDING_2D = 0x8069, 691 GL_TEXTURE_INTERNAL_FORMAT = 0x1003, 692 693 /* GL 1.2 texturing */ 694 GL_PACK_SKIP_IMAGES = 0x806B, 695 GL_PACK_IMAGE_HEIGHT = 0x806C, 696 GL_UNPACK_SKIP_IMAGES = 0x806D, 697 GL_UNPACK_IMAGE_HEIGHT = 0x806E, 698 GL_TEXTURE_3D = 0x806F, 699 GL_PROXY_TEXTURE_3D = 0x8070, 700 GL_TEXTURE_DEPTH = 0x8071, 701 GL_TEXTURE_WRAP_R = 0x8072, 702 GL_MAX_3D_TEXTURE_SIZE = 0x8073, 703 GL_TEXTURE_BINDING_3D = 0x806A, 704 705 /* Internal texture formats (GL 1.1) */ 706 GL_ALPHA4 = 0x803B, 707 GL_ALPHA8 = 0x803C, 708 GL_ALPHA12 = 0x803D, 709 GL_ALPHA16 = 0x803E, 710 GL_LUMINANCE4 = 0x803F, 711 GL_LUMINANCE8 = 0x8040, 712 GL_LUMINANCE12 = 0x8041, 713 GL_LUMINANCE16 = 0x8042, 714 GL_LUMINANCE4_ALPHA4 = 0x8043, 715 GL_LUMINANCE6_ALPHA2 = 0x8044, 716 GL_LUMINANCE8_ALPHA8 = 0x8045, 717 GL_LUMINANCE12_ALPHA4 = 0x8046, 718 GL_LUMINANCE12_ALPHA12 = 0x8047, 719 GL_LUMINANCE16_ALPHA16 = 0x8048, 720 GL_INTENSITY = 0x8049, 721 GL_INTENSITY4 = 0x804A, 722 GL_INTENSITY8 = 0x804B, 723 GL_INTENSITY12 = 0x804C, 724 GL_INTENSITY16 = 0x804D, 725 GL_R3_G3_B2 = 0x2A10, 726 GL_RGB4 = 0x804F, 727 GL_RGB5 = 0x8050, 728 GL_RGB8 = 0x8051, 729 GL_RGB10 = 0x8052, 730 GL_RGB12 = 0x8053, 731 GL_RGB16 = 0x8054, 732 GL_RGBA2 = 0x8055, 733 GL_RGBA4 = 0x8056, 734 GL_RGB5_A1 = 0x8057, 735 GL_RGBA8 = 0x8058, 736 GL_RGB10_A2 = 0x8059, 737 GL_RGBA12 = 0x805A, 738 GL_RGBA16 = 0x805B, 739 740 /* Utility */ 741 GL_VENDOR = 0x1F00, 742 GL_RENDERER = 0x1F01, 743 GL_VERSION = 0x1F02, 744 GL_EXTENSIONS = 0x1F03, 745 746 /* Errors */ 747 GL_INVALID_VALUE = 0x0501, 748 GL_INVALID_ENUM = 0x0500, 749 GL_INVALID_OPERATION = 0x0502, 750 GL_STACK_OVERFLOW = 0x0503, 751 GL_STACK_UNDERFLOW = 0x0504, 752 GL_OUT_OF_MEMORY = 0x0505, 753 754 /* 755 * Extensions 756 */ 757 758 /* GL_EXT_blend_minmax and GL_EXT_blend_color */ 759 GL_CONSTANT_COLOR_EXT = 0x8001, 760 GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002, 761 GL_CONSTANT_ALPHA_EXT = 0x8003, 762 GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004, 763 GL_BLEND_EQUATION_EXT = 0x8009, 764 GL_MIN_EXT = 0x8007, 765 GL_MAX_EXT = 0x8008, 766 GL_FUNC_ADD_EXT = 0x8006, 767 GL_FUNC_SUBTRACT_EXT = 0x800A, 768 GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B, 769 GL_BLEND_COLOR_EXT = 0x8005, 770 771 /* GL_EXT_polygon_offset */ 772 GL_POLYGON_OFFSET_EXT = 0x8037, 773 GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038, 774 GL_POLYGON_OFFSET_BIAS_EXT = 0x8039, 775 776 /* GL_EXT_vertex_array */ 777 GL_VERTEX_ARRAY_EXT = 0x8074, 778 GL_NORMAL_ARRAY_EXT = 0x8075, 779 GL_COLOR_ARRAY_EXT = 0x8076, 780 GL_INDEX_ARRAY_EXT = 0x8077, 781 GL_TEXTURE_COORD_ARRAY_EXT = 0x8078, 782 GL_EDGE_FLAG_ARRAY_EXT = 0x8079, 783 GL_VERTEX_ARRAY_SIZE_EXT = 0x807A, 784 GL_VERTEX_ARRAY_TYPE_EXT = 0x807B, 785 GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C, 786 GL_VERTEX_ARRAY_COUNT_EXT = 0x807D, 787 GL_NORMAL_ARRAY_TYPE_EXT = 0x807E, 788 GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F, 789 GL_NORMAL_ARRAY_COUNT_EXT = 0x8080, 790 GL_COLOR_ARRAY_SIZE_EXT = 0x8081, 791 GL_COLOR_ARRAY_TYPE_EXT = 0x8082, 792 GL_COLOR_ARRAY_STRIDE_EXT = 0x8083, 793 GL_COLOR_ARRAY_COUNT_EXT = 0x8084, 794 GL_INDEX_ARRAY_TYPE_EXT = 0x8085, 795 GL_INDEX_ARRAY_STRIDE_EXT = 0x8086, 796 GL_INDEX_ARRAY_COUNT_EXT = 0x8087, 797 GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088, 798 GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089, 799 GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A, 800 GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B, 801 GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C, 802 GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D, 803 GL_VERTEX_ARRAY_POINTER_EXT = 0x808E, 804 GL_NORMAL_ARRAY_POINTER_EXT = 0x808F, 805 GL_COLOR_ARRAY_POINTER_EXT = 0x8090, 806 GL_INDEX_ARRAY_POINTER_EXT = 0x8091, 807 GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092, 808 GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093, 809 810 /* GL_EXT_texture_object */ 811 GL_TEXTURE_PRIORITY_EXT = 0x8066, 812 GL_TEXTURE_RESIDENT_EXT = 0x8067, 813 GL_TEXTURE_1D_BINDING_EXT = 0x8068, 814 GL_TEXTURE_2D_BINDING_EXT = 0x8069, 815 816 /* GL_EXT_texture3D */ 817 GL_PACK_SKIP_IMAGES_EXT = 0x806B, 818 GL_PACK_IMAGE_HEIGHT_EXT = 0x806C, 819 GL_UNPACK_SKIP_IMAGES_EXT = 0x806D, 820 GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E, 821 GL_TEXTURE_3D_EXT = 0x806F, 822 GL_PROXY_TEXTURE_3D_EXT = 0x8070, 823 GL_TEXTURE_DEPTH_EXT = 0x8071, 824 GL_TEXTURE_WRAP_R_EXT = 0x8072, 825 GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073, 826 GL_TEXTURE_3D_BINDING_EXT = 0x806A, 827 828 /* GL_EXT_paletted_texture */ 829 GL_TABLE_TOO_LARGE_EXT = 0x8031, 830 GL_COLOR_TABLE_FORMAT_EXT = 0x80D8, 831 GL_COLOR_TABLE_WIDTH_EXT = 0x80D9, 832 GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA, 833 GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB, 834 GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC, 835 GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD, 836 GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE, 837 GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF, 838 GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED, 839 GL_COLOR_INDEX1_EXT = 0x80E2, 840 GL_COLOR_INDEX2_EXT = 0x80E3, 841 GL_COLOR_INDEX4_EXT = 0x80E4, 842 GL_COLOR_INDEX8_EXT = 0x80E5, 843 GL_COLOR_INDEX12_EXT = 0x80E6, 844 GL_COLOR_INDEX16_EXT = 0x80E7, 845 846 /* GL_EXT_shared_texture_palette */ 847 GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB, 848 849 /* GL_EXT_point_parameters */ 850 GL_POINT_SIZE_MIN_EXT = 0x8126, 851 GL_POINT_SIZE_MAX_EXT = 0x8127, 852 GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128, 853 GL_DISTANCE_ATTENUATION_EXT = 0x8129, 854 855 /* GL_EXT_rescale_normal */ 856 GL_RESCALE_NORMAL_EXT = 0x803A, 857 858 /* GL_EXT_abgr */ 859 GL_ABGR_EXT = 0x8000, 860 861 /* GL_EXT_stencil_wrap */ 862 GL_INCR_WRAP_EXT = 0x8507, 863 GL_DECR_WRAP_EXT = 0x8508, 864 865 /* GL_SGIS_texture_edge_clamp */ 866 GL_CLAMP_TO_EDGE_SGIS = 0x812F, 867 868 /* GL_INGR_blend_func_separate */ 869 GL_BLEND_DST_RGB_INGR = 0x80C8, 870 GL_BLEND_SRC_RGB_INGR = 0x80C9, 871 GL_BLEND_DST_ALPHA_INGR = 0x80CA, 872 GL_BLEND_SRC_ALPHA_INGR = 0x80CB, 873 874 /* OpenGL 1.2 */ 875 GL_RESCALE_NORMAL = 0x803A, 876 GL_CLAMP_TO_EDGE = 0x812F, 877 GL_MAX_ELEMENTS_VERTICES = 0xF0E8, 878 GL_MAX_ELEMENTS_INDICES = 0xF0E9, 879 GL_BGR = 0x80E0, 880 GL_BGRA = 0x80E1, 881 GL_UNSIGNED_BYTE_3_3_2 = 0x8032, 882 GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362, 883 GL_UNSIGNED_SHORT_5_6_5 = 0x8363, 884 GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364, 885 GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033, 886 GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365, 887 GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034, 888 GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366, 889 GL_UNSIGNED_INT_8_8_8_8 = 0x8035, 890 GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367, 891 GL_UNSIGNED_INT_10_10_10_2 = 0x8036, 892 GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368, 893 GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8, 894 GL_SINGLE_COLOR = 0x81F9, 895 GL_SEPARATE_SPECULAR_COLOR = 0x81FA, 896 GL_TEXTURE_MIN_LOD = 0x813A, 897 GL_TEXTURE_MAX_LOD = 0x813B, 898 GL_TEXTURE_BASE_LEVEL = 0x813C, 899 GL_TEXTURE_MAX_LEVEL = 0x813D, 900 901 /* GL_ARB_multitexture */ 902 GL_TEXTURE0_ARB = 0x84C0, 903 GL_TEXTURE1_ARB = 0x84C1, 904 GL_TEXTURE2_ARB = 0x84C2, 905 GL_TEXTURE3_ARB = 0x84C3, 906 GL_TEXTURE4_ARB = 0x84C4, 907 GL_TEXTURE5_ARB = 0x84C5, 908 GL_TEXTURE6_ARB = 0x84C6, 909 GL_TEXTURE7_ARB = 0x84C7, 910 GL_TEXTURE8_ARB = 0x84C8, 911 GL_TEXTURE9_ARB = 0x84C9, 912 GL_TEXTURE10_ARB = 0x84CA, 913 GL_TEXTURE11_ARB = 0x84CB, 914 GL_TEXTURE12_ARB = 0x84CC, 915 GL_TEXTURE13_ARB = 0x84CD, 916 GL_TEXTURE14_ARB = 0x84CE, 917 GL_TEXTURE15_ARB = 0x84CF, 918 GL_TEXTURE16_ARB = 0x84D0, 919 GL_TEXTURE17_ARB = 0x84D1, 920 GL_TEXTURE18_ARB = 0x84D2, 921 GL_TEXTURE19_ARB = 0x84D3, 922 GL_TEXTURE20_ARB = 0x84D4, 923 GL_TEXTURE21_ARB = 0x84D5, 924 GL_TEXTURE22_ARB = 0x84D6, 925 GL_TEXTURE23_ARB = 0x84D7, 926 GL_TEXTURE24_ARB = 0x84D8, 927 GL_TEXTURE25_ARB = 0x84D9, 928 GL_TEXTURE26_ARB = 0x84DA, 929 GL_TEXTURE27_ARB = 0x84DB, 930 GL_TEXTURE28_ARB = 0x84DC, 931 GL_TEXTURE29_ARB = 0x84DD, 932 GL_TEXTURE30_ARB = 0x84DE, 933 GL_TEXTURE31_ARB = 0x84DF, 934 GL_ACTIVE_TEXTURE_ARB = 0x84E0, 935 GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1, 936 GL_MAX_TEXTURE_UNITS_ARB = 0x84E2, 937 938 /* 939 * OpenGL 1.2 imaging subset (NOT IMPLEMENTED BY MESA) 940 */ 941 /* GL_EXT_color_table */ 942 GL_COLOR_TABLE = 0x80D0, 943 GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1, 944 GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2, 945 GL_PROXY_COLOR_TABLE = 0x80D3, 946 GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4, 947 GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5, 948 GL_COLOR_TABLE_SCALE = 0x80D6, 949 GL_COLOR_TABLE_BIAS = 0x80D7, 950 GL_COLOR_TABLE_FORMAT = 0x80D8, 951 GL_COLOR_TABLE_WIDTH = 0x80D9, 952 GL_COLOR_TABLE_RED_SIZE = 0x80DA, 953 GL_COLOR_TABLE_GREEN_SIZE = 0x80DB, 954 GL_COLOR_TABLE_BLUE_SIZE = 0x80DC, 955 GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD, 956 GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE, 957 GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF, 958 959 /* GL_EXT_convolution and GL_HP_convolution_border_modes */ 960 GL_CONVOLUTION_1D = 0x8010, 961 GL_CONVOLUTION_2D = 0x8011, 962 GL_SEPARABLE_2D = 0x8012, 963 GL_CONVOLUTION_BORDER_MODE = 0x8013, 964 GL_CONVOLUTION_FILTER_SCALE = 0x8014, 965 GL_CONVOLUTION_FILTER_BIAS = 0x8015, 966 GL_REDUCE = 0x8016, 967 GL_CONVOLUTION_FORMAT = 0x8017, 968 GL_CONVOLUTION_WIDTH = 0x8018, 969 GL_CONVOLUTION_HEIGHT = 0x8019, 970 GL_MAX_CONVOLUTION_WIDTH = 0x801A, 971 GL_MAX_CONVOLUTION_HEIGHT = 0x801B, 972 GL_POST_CONVOLUTION_RED_SCALE = 0x801C, 973 GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D, 974 GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E, 975 GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F, 976 GL_POST_CONVOLUTION_RED_BIAS = 0x8020, 977 GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021, 978 GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022, 979 GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023, 980 GL_CONSTANT_BORDER = 0x8151, 981 GL_REPLICATE_BORDER = 0x8153, 982 GL_CONVOLUTION_BORDER_COLOR = 0x8154, 983 984 /* GL_SGI_color_matrix */ 985 GL_COLOR_MATRIX = 0x80B1, 986 GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2, 987 GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3, 988 GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4, 989 GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5, 990 GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6, 991 GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7, 992 GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8, 993 GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9, 994 GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA, 995 GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB, 996 997 /* GL_EXT_histogram */ 998 GL_HISTOGRAM = 0x8024, 999 GL_PROXY_HISTOGRAM = 0x8025, 1000 GL_HISTOGRAM_WIDTH = 0x8026, 1001 GL_HISTOGRAM_FORMAT = 0x8027, 1002 GL_HISTOGRAM_RED_SIZE = 0x8028, 1003 GL_HISTOGRAM_GREEN_SIZE = 0x8029, 1004 GL_HISTOGRAM_BLUE_SIZE = 0x802A, 1005 GL_HISTOGRAM_ALPHA_SIZE = 0x802B, 1006 GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C, 1007 GL_HISTOGRAM_SINK = 0x802D, 1008 GL_MINMAX = 0x802E, 1009 GL_MINMAX_FORMAT = 0x802F, 1010 GL_MINMAX_SINK = 0x8030, 1011 GL_TABLE_TOO_LARGE = 0x8031, 1012 1013 /* GL_NV_texgen_reflection (nVidia) */ 1014 GL_NORMAL_MAP_NV = 0x8511, 1015 GL_REFLECTION_MAP_NV = 0x8512, 1016 1017 /* GL_PGI_misc_hints */ 1018 GL_PREFER_DOUBLEBUFFER_HINT_PGI = 107000, 1019 GL_STRICT_DEPTHFUNC_HINT_PGI = 107030, 1020 GL_STRICT_LIGHTING_HINT_PGI = 107031, 1021 GL_STRICT_SCISSOR_HINT_PGI = 107032, 1022 GL_FULL_STIPPLE_HINT_PGI = 107033, 1023 GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 107011, 1024 GL_NATIVE_GRAPHICS_END_HINT_PGI = 107012, 1025 GL_CONSERVE_MEMORY_HINT_PGI = 107005, 1026 GL_RECLAIM_MEMORY_HINT_PGI = 107006, 1027 GL_ALWAYS_FAST_HINT_PGI = 107020, 1028 GL_ALWAYS_SOFT_HINT_PGI = 107021, 1029 GL_ALLOW_DRAW_OBJ_HINT_PGI = 107022, 1030 GL_ALLOW_DRAW_WIN_HINT_PGI = 107023, 1031 GL_ALLOW_DRAW_FRG_HINT_PGI = 107024, 1032 GL_ALLOW_DRAW_SPN_HINT_PGI = 107024, 1033 GL_ALLOW_DRAW_MEM_HINT_PGI = 107025, 1034 GL_CLIP_NEAR_HINT_PGI = 107040, 1035 GL_CLIP_FAR_HINT_PGI = 107041, 1036 GL_WIDE_LINE_HINT_PGI = 107042, 1037 GL_BACK_NORMALS_HINT_PGI = 107043, 1038 GL_NATIVE_GRAPHICS_HANDLE_PGI = 107010, 1039 1040 /* GL_EXT_compiled_vertex_array */ 1041 GL_ARRAY_ELEMENT_LOCK_FIRST_SGI = 0x81A8, 1042 GL_ARRAY_ELEMENT_LOCK_COUNT_SGI = 0x81A9, 1043 1044 /* GL_EXT_clip_volume_hint */ 1045 GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0 1046 1047 1048/* When you add new enums, please make sure you update the strings 1049 * in enums.c as well... 1050 */ 1051 1052} 1053#ifdef CENTERLINE_CLPP 1054 /* CenterLine C++ workaround: */ 1055 gl_enum; 1056 typedef int GLenum; 1057#else 1058 /* all other compilers */ 1059 GLenum; 1060#endif 1061 1062 1063/* GL_NO_ERROR must be zero */ 1064#define GL_NO_ERROR 0 1065 1066 1067 1068enum { 1069 GL_CURRENT_BIT = 0x00000001, 1070 GL_POINT_BIT = 0x00000002, 1071 GL_LINE_BIT = 0x00000004, 1072 GL_POLYGON_BIT = 0x00000008, 1073 GL_POLYGON_STIPPLE_BIT = 0x00000010, 1074 GL_PIXEL_MODE_BIT = 0x00000020, 1075 GL_LIGHTING_BIT = 0x00000040, 1076 GL_FOG_BIT = 0x00000080, 1077 GL_DEPTH_BUFFER_BIT = 0x00000100, 1078 GL_ACCUM_BUFFER_BIT = 0x00000200, 1079 GL_STENCIL_BUFFER_BIT = 0x00000400, 1080 GL_VIEWPORT_BIT = 0x00000800, 1081 GL_TRANSFORM_BIT = 0x00001000, 1082 GL_ENABLE_BIT = 0x00002000, 1083 GL_COLOR_BUFFER_BIT = 0x00004000, 1084 GL_HINT_BIT = 0x00008000, 1085 GL_EVAL_BIT = 0x00010000, 1086 GL_LIST_BIT = 0x00020000, 1087 GL_TEXTURE_BIT = 0x00040000, 1088 GL_SCISSOR_BIT = 0x00080000, 1089 GL_ALL_ATTRIB_BITS = 0x000FFFFF 1090}; 1091 1092 1093enum { 1094 GL_CLIENT_PIXEL_STORE_BIT = 0x00000001, 1095 GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002 1096}; 1097#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF 1098 1099 1100typedef unsigned int GLbitfield; 1101 1102 1103#ifdef CENTERLINE_CLPP 1104#define signed 1105#endif 1106 1107 1108/* 1109 * 1110 * Data types (may be architecture dependent in some cases) 1111 * 1112 */ 1113 1114/* C type GL type storage */ 1115/*-------------------------------------------------------------------------*/ 1116typedef void GLvoid; 1117typedef unsigned char GLboolean; 1118typedef signed char GLbyte; /* 1-byte signed */ 1119typedef short GLshort; /* 2-byte signed */ 1120typedef int GLint; /* 4-byte signed */ 1121typedef unsigned char GLubyte; /* 1-byte unsigned */ 1122typedef unsigned short GLushort; /* 2-byte unsigned */ 1123typedef unsigned int GLuint; /* 4-byte unsigned */ 1124typedef int GLsizei; /* 4-byte signed */ 1125typedef float GLfloat; /* single precision float */ 1126typedef float GLclampf; /* single precision float in [0,1] */ 1127typedef double GLdouble; /* double precision float */ 1128typedef double GLclampd; /* double precision float in [0,1] */ 1129 1130 1131 1132#if defined(__BEOS__) || defined(__QUICKDRAW__) 1133#pragma export on 1134#endif 1135 1136 1137/* 1138 * Miscellaneous 1139 */ 1140 1141GLAPI void GLAPIENTRY glClearIndex( GLfloat c ); 1142 1143GLAPI void GLAPIENTRY glClearColor( GLclampf red, 1144 GLclampf green, 1145 GLclampf blue, 1146 GLclampf alpha ); 1147 1148GLAPI void GLAPIENTRY glClear( GLbitfield mask ); 1149 1150GLAPI void GLAPIENTRY glIndexMask( GLuint mask ); 1151 1152GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, 1153 GLboolean blue, GLboolean alpha ); 1154 1155GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref ); 1156 1157GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor ); 1158 1159GLAPI void GLAPIENTRY glLogicOp( GLenum opcode ); 1160 1161GLAPI void GLAPIENTRY glCullFace( GLenum mode ); 1162 1163GLAPI void GLAPIENTRY glFrontFace( GLenum mode ); 1164 1165GLAPI void GLAPIENTRY glPointSize( GLfloat size ); 1166 1167GLAPI void GLAPIENTRY glLineWidth( GLfloat width ); 1168 1169GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern ); 1170 1171GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode ); 1172 1173GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units ); 1174 1175GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask ); 1176 1177GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask ); 1178 1179GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag ); 1180 1181GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag ); 1182 1183GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, 1184 GLsizei width, GLsizei height); 1185 1186GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation ); 1187 1188GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation ); 1189 1190GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode ); 1191 1192GLAPI void GLAPIENTRY glReadBuffer( GLenum mode ); 1193 1194GLAPI void GLAPIENTRY glEnable( GLenum cap ); 1195 1196GLAPI void GLAPIENTRY glDisable( GLenum cap ); 1197 1198GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap ); 1199 1200 1201GLAPI void GLAPIENTRY glEnableClientState( GLenum cap ); /* 1.1 */ 1202 1203GLAPI void GLAPIENTRY glDisableClientState( GLenum cap ); /* 1.1 */ 1204 1205 1206GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params ); 1207 1208GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params ); 1209 1210GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params ); 1211 1212GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params ); 1213 1214 1215GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask ); 1216 1217GLAPI void GLAPIENTRY glPopAttrib( void ); 1218 1219 1220GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */ 1221 1222GLAPI void GLAPIENTRY glPopClientAttrib( void ); /* 1.1 */ 1223 1224 1225GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode ); 1226 1227GLAPI GLenum GLAPIENTRY glGetError( void ); 1228 1229GLAPI const GLubyte* GLAPIENTRY glGetString( GLenum name ); 1230 1231GLAPI void GLAPIENTRY glFinish( void ); 1232 1233GLAPI void GLAPIENTRY glFlush( void ); 1234 1235GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode ); 1236 1237 1238 1239/* 1240 * Depth Buffer 1241 */ 1242 1243GLAPI void GLAPIENTRY glClearDepth( GLclampd depth ); 1244 1245GLAPI void GLAPIENTRY glDepthFunc( GLenum func ); 1246 1247GLAPI void GLAPIENTRY glDepthMask( GLboolean flag ); 1248 1249GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val ); 1250 1251 1252/* 1253 * Accumulation Buffer 1254 */ 1255 1256GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, 1257 GLfloat blue, GLfloat alpha ); 1258 1259GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value ); 1260 1261 1262 1263/* 1264 * Transformation 1265 */ 1266 1267GLAPI void GLAPIENTRY glMatrixMode( GLenum mode ); 1268 1269GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right, 1270 GLdouble bottom, GLdouble top, 1271 GLdouble near_val, GLdouble far_val ); 1272 1273GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right, 1274 GLdouble bottom, GLdouble top, 1275 GLdouble near_val, GLdouble far_val ); 1276 1277GLAPI void GLAPIENTRY glViewport( GLint x, GLint y, 1278 GLsizei width, GLsizei height ); 1279 1280GLAPI void GLAPIENTRY glPushMatrix( void ); 1281 1282GLAPI void GLAPIENTRY glPopMatrix( void ); 1283 1284GLAPI void GLAPIENTRY glLoadIdentity( void ); 1285 1286GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m ); 1287GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m ); 1288 1289GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m ); 1290GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m ); 1291 1292GLAPI void GLAPIENTRY glRotated( GLdouble angle, 1293 GLdouble x, GLdouble y, GLdouble z ); 1294GLAPI void GLAPIENTRY glRotatef( GLfloat angle, 1295 GLfloat x, GLfloat y, GLfloat z ); 1296 1297GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z ); 1298GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z ); 1299 1300GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z ); 1301GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z ); 1302 1303 1304 1305/* 1306 * Display Lists 1307 */ 1308 1309GLAPI GLboolean GLAPIENTRY glIsList( GLuint list ); 1310 1311GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range ); 1312 1313GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range ); 1314 1315GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode ); 1316 1317GLAPI void GLAPIENTRY glEndList( void ); 1318 1319GLAPI void GLAPIENTRY glCallList( GLuint list ); 1320 1321GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type, 1322 const GLvoid *lists ); 1323 1324GLAPI void GLAPIENTRY glListBase( GLuint base ); 1325 1326 1327 1328/* 1329 * Drawing Functions 1330 */ 1331 1332GLAPI void GLAPIENTRY glBegin( GLenum mode ); 1333 1334GLAPI void GLAPIENTRY glEnd( void ); 1335 1336 1337GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y ); 1338GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y ); 1339GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y ); 1340GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y ); 1341 1342GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z ); 1343GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z ); 1344GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z ); 1345GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z ); 1346 1347GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 1348GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 1349GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w ); 1350GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w ); 1351 1352GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v ); 1353GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v ); 1354GLAPI void GLAPIENTRY glVertex2iv( const GLint *v ); 1355GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v ); 1356 1357GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v ); 1358GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v ); 1359GLAPI void GLAPIENTRY glVertex3iv( const GLint *v ); 1360GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v ); 1361 1362GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v ); 1363GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v ); 1364GLAPI void GLAPIENTRY glVertex4iv( const GLint *v ); 1365GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v ); 1366 1367 1368GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz ); 1369GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz ); 1370GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz ); 1371GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz ); 1372GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz ); 1373 1374GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v ); 1375GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v ); 1376GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v ); 1377GLAPI void GLAPIENTRY glNormal3iv( const GLint *v ); 1378GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v ); 1379 1380 1381GLAPI void GLAPIENTRY glIndexd( GLdouble c ); 1382GLAPI void GLAPIENTRY glIndexf( GLfloat c ); 1383GLAPI void GLAPIENTRY glIndexi( GLint c ); 1384GLAPI void GLAPIENTRY glIndexs( GLshort c ); 1385GLAPI void GLAPIENTRY glIndexub( GLubyte c ); /* 1.1 */ 1386 1387GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c ); 1388GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c ); 1389GLAPI void GLAPIENTRY glIndexiv( const GLint *c ); 1390GLAPI void GLAPIENTRY glIndexsv( const GLshort *c ); 1391GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */ 1392 1393GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue ); 1394GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue ); 1395GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue ); 1396GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue ); 1397GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue ); 1398GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue ); 1399GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue ); 1400GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue ); 1401 1402GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green, 1403 GLbyte blue, GLbyte alpha ); 1404GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green, 1405 GLdouble blue, GLdouble alpha ); 1406GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green, 1407 GLfloat blue, GLfloat alpha ); 1408GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green, 1409 GLint blue, GLint alpha ); 1410GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green, 1411 GLshort blue, GLshort alpha ); 1412GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green, 1413 GLubyte blue, GLubyte alpha ); 1414GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green, 1415 GLuint blue, GLuint alpha ); 1416GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green, 1417 GLushort blue, GLushort alpha ); 1418 1419 1420GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v ); 1421GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v ); 1422GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v ); 1423GLAPI void GLAPIENTRY glColor3iv( const GLint *v ); 1424GLAPI void GLAPIENTRY glColor3sv( const GLshort *v ); 1425GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v ); 1426GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v ); 1427GLAPI void GLAPIENTRY glColor3usv( const GLushort *v ); 1428 1429GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v ); 1430GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v ); 1431GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v ); 1432GLAPI void GLAPIENTRY glColor4iv( const GLint *v ); 1433GLAPI void GLAPIENTRY glColor4sv( const GLshort *v ); 1434GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v ); 1435GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v ); 1436GLAPI void GLAPIENTRY glColor4usv( const GLushort *v ); 1437 1438 1439GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s ); 1440GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s ); 1441GLAPI void GLAPIENTRY glTexCoord1i( GLint s ); 1442GLAPI void GLAPIENTRY glTexCoord1s( GLshort s ); 1443 1444GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t ); 1445GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t ); 1446GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t ); 1447GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t ); 1448 1449GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r ); 1450GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r ); 1451GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r ); 1452GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r ); 1453 1454GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 1455GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 1456GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q ); 1457GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ); 1458 1459GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v ); 1460GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v ); 1461GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v ); 1462GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v ); 1463 1464GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v ); 1465GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v ); 1466GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v ); 1467GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v ); 1468 1469GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v ); 1470GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v ); 1471GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v ); 1472GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v ); 1473 1474GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v ); 1475GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v ); 1476GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v ); 1477GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v ); 1478 1479 1480GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y ); 1481GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y ); 1482GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y ); 1483GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y ); 1484 1485GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z ); 1486GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z ); 1487GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z ); 1488GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z ); 1489 1490GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ); 1491GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 1492GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w ); 1493GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w ); 1494 1495GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v ); 1496GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v ); 1497GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v ); 1498GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v ); 1499 1500GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v ); 1501GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v ); 1502GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v ); 1503GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v ); 1504 1505GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v ); 1506GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v ); 1507GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v ); 1508GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v ); 1509 1510 1511GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 ); 1512GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 ); 1513GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 ); 1514GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 ); 1515 1516 1517GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 ); 1518GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 ); 1519GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 ); 1520GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 ); 1521 1522 1523 1524/* 1525 * Vertex Arrays (1.1) 1526 */ 1527 1528GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type, 1529 GLsizei stride, const GLvoid *ptr ); 1530 1531GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride, 1532 const GLvoid *ptr ); 1533 1534GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type, 1535 GLsizei stride, const GLvoid *ptr ); 1536 1537GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride, 1538 const GLvoid *ptr ); 1539 1540GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type, 1541 GLsizei stride, const GLvoid *ptr ); 1542 1543GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr ); 1544 1545GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, void **params ); 1546 1547GLAPI void GLAPIENTRY glArrayElement( GLint i ); 1548 1549GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count ); 1550 1551GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count, 1552 GLenum type, const GLvoid *indices ); 1553 1554GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride, 1555 const GLvoid *pointer ); 1556 1557 1558/* 1559 * Lighting 1560 */ 1561 1562GLAPI void GLAPIENTRY glShadeModel( GLenum mode ); 1563 1564GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param ); 1565GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param ); 1566GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname, 1567 const GLfloat *params ); 1568GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname, 1569 const GLint *params ); 1570 1571GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname, 1572 GLfloat *params ); 1573GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname, 1574 GLint *params ); 1575 1576GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param ); 1577GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param ); 1578GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params ); 1579GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params ); 1580 1581GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param ); 1582GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param ); 1583GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params ); 1584GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params ); 1585 1586GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params ); 1587GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params ); 1588 1589GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode ); 1590 1591 1592 1593 1594/* 1595 * Raster functions 1596 */ 1597 1598GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor ); 1599 1600GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param ); 1601GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param ); 1602 1603GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param ); 1604GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param ); 1605 1606GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLint mapsize, 1607 const GLfloat *values ); 1608GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLint mapsize, 1609 const GLuint *values ); 1610GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLint mapsize, 1611 const GLushort *values ); 1612 1613GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values ); 1614GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values ); 1615GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values ); 1616 1617GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height, 1618 GLfloat xorig, GLfloat yorig, 1619 GLfloat xmove, GLfloat ymove, 1620 const GLubyte *bitmap ); 1621 1622GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y, 1623 GLsizei width, GLsizei height, 1624 GLenum format, GLenum type, 1625 GLvoid *pixels ); 1626 1627GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height, 1628 GLenum format, GLenum type, 1629 const GLvoid *pixels ); 1630 1631GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y, 1632 GLsizei width, GLsizei height, 1633 GLenum type ); 1634 1635 1636 1637/* 1638 * Stenciling 1639 */ 1640 1641GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask ); 1642 1643GLAPI void GLAPIENTRY glStencilMask( GLuint mask ); 1644 1645GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass ); 1646 1647GLAPI void GLAPIENTRY glClearStencil( GLint s ); 1648 1649 1650 1651/* 1652 * Texture mapping 1653 */ 1654 1655GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param ); 1656GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param ); 1657GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param ); 1658 1659GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params ); 1660GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params ); 1661GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params ); 1662 1663GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params ); 1664GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ); 1665GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params ); 1666 1667 1668GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param ); 1669GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param ); 1670 1671GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params ); 1672GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params ); 1673 1674GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ); 1675GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params ); 1676 1677 1678GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param ); 1679GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param ); 1680 1681GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname, 1682 const GLfloat *params ); 1683GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname, 1684 const GLint *params ); 1685 1686GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target, 1687 GLenum pname, GLfloat *params); 1688GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target, 1689 GLenum pname, GLint *params ); 1690 1691GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, 1692 GLenum pname, GLfloat *params ); 1693GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, 1694 GLenum pname, GLint *params ); 1695 1696 1697GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level, 1698 GLint internalFormat, 1699 GLsizei width, GLint border, 1700 GLenum format, GLenum type, 1701 const GLvoid *pixels ); 1702 1703GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level, 1704 GLint internalFormat, 1705 GLsizei width, GLsizei height, 1706 GLint border, GLenum format, GLenum type, 1707 const GLvoid *pixels ); 1708 1709GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level, 1710 GLenum format, GLenum type, 1711 GLvoid *pixels ); 1712 1713 1714 1715/* 1.1 functions */ 1716 1717GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures ); 1718 1719GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures); 1720 1721GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture ); 1722 1723GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n, 1724 const GLuint *textures, 1725 const GLclampf *priorities ); 1726 1727GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n, 1728 const GLuint *textures, 1729 GLboolean *residences ); 1730 1731GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture ); 1732 1733 1734GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level, 1735 GLint xoffset, 1736 GLsizei width, GLenum format, 1737 GLenum type, const GLvoid *pixels ); 1738 1739 1740GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level, 1741 GLint xoffset, GLint yoffset, 1742 GLsizei width, GLsizei height, 1743 GLenum format, GLenum type, 1744 const GLvoid *pixels ); 1745 1746 1747GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level, 1748 GLenum internalformat, 1749 GLint x, GLint y, 1750 GLsizei width, GLint border ); 1751 1752 1753GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level, 1754 GLenum internalformat, 1755 GLint x, GLint y, 1756 GLsizei width, GLsizei height, 1757 GLint border ); 1758 1759 1760GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level, 1761 GLint xoffset, GLint x, GLint y, 1762 GLsizei width ); 1763 1764 1765GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level, 1766 GLint xoffset, GLint yoffset, 1767 GLint x, GLint y, 1768 GLsizei width, GLsizei height ); 1769 1770 1771 1772 1773/* 1774 * Evaluators 1775 */ 1776 1777GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, 1778 GLint stride, 1779 GLint order, const GLdouble *points ); 1780GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, 1781 GLint stride, 1782 GLint order, const GLfloat *points ); 1783 1784GLAPI void GLAPIENTRY glMap2d( GLenum target, 1785 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, 1786 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, 1787 const GLdouble *points ); 1788GLAPI void GLAPIENTRY glMap2f( GLenum target, 1789 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, 1790 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, 1791 const GLfloat *points ); 1792 1793GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v ); 1794GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v ); 1795GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v ); 1796 1797GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u ); 1798GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u ); 1799 1800GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u ); 1801GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u ); 1802 1803GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v ); 1804GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v ); 1805 1806GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u ); 1807GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u ); 1808 1809GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 ); 1810GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 ); 1811 1812GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, 1813 GLint vn, GLdouble v1, GLdouble v2 ); 1814GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, 1815 GLint vn, GLfloat v1, GLfloat v2 ); 1816 1817GLAPI void GLAPIENTRY glEvalPoint1( GLint i ); 1818 1819GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j ); 1820 1821GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 ); 1822 1823GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ); 1824 1825 1826 1827/* 1828 * Fog 1829 */ 1830 1831GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param ); 1832 1833GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param ); 1834 1835GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params ); 1836 1837GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params ); 1838 1839 1840 1841/* 1842 * Selection and Feedback 1843 */ 1844 1845GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ); 1846 1847GLAPI void GLAPIENTRY glPassThrough( GLfloat token ); 1848 1849GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer ); 1850 1851GLAPI void GLAPIENTRY glInitNames( void ); 1852 1853GLAPI void GLAPIENTRY glLoadName( GLuint name ); 1854 1855GLAPI void GLAPIENTRY glPushName( GLuint name ); 1856 1857GLAPI void GLAPIENTRY glPopName( void ); 1858 1859 1860 1861/* 1862 * Extensions 1863 */ 1864 1865/* GL_EXT_blend_minmax */ 1866GLAPI void GLAPIENTRY glBlendEquationEXT( GLenum mode ); 1867 1868 1869 1870/* GL_EXT_blend_color */ 1871GLAPI void GLAPIENTRY glBlendColorEXT( GLclampf red, GLclampf green, 1872 GLclampf blue, GLclampf alpha ); 1873 1874 1875 1876/* GL_EXT_polygon_offset */ 1877GLAPI void GLAPIENTRY glPolygonOffsetEXT( GLfloat factor, GLfloat bias ); 1878 1879 1880 1881/* GL_EXT_vertex_array */ 1882 1883GLAPI void GLAPIENTRY glVertexPointerEXT( GLint size, GLenum type, 1884 GLsizei stride, 1885 GLsizei count, const GLvoid *ptr ); 1886 1887GLAPI void GLAPIENTRY glNormalPointerEXT( GLenum type, GLsizei stride, 1888 GLsizei count, const GLvoid *ptr ); 1889 1890GLAPI void GLAPIENTRY glColorPointerEXT( GLint size, GLenum type, 1891 GLsizei stride, 1892 GLsizei count, const GLvoid *ptr ); 1893 1894GLAPI void GLAPIENTRY glIndexPointerEXT( GLenum type, GLsizei stride, 1895 GLsizei count, const GLvoid *ptr ); 1896 1897GLAPI void GLAPIENTRY glTexCoordPointerEXT( GLint size, GLenum type, 1898 GLsizei stride, GLsizei count, 1899 const GLvoid *ptr ); 1900 1901GLAPI void GLAPIENTRY glEdgeFlagPointerEXT( GLsizei stride, GLsizei count, 1902 const GLboolean *ptr ); 1903 1904GLAPI void GLAPIENTRY glGetPointervEXT( GLenum pname, void **params ); 1905 1906GLAPI void GLAPIENTRY glArrayElementEXT( GLint i ); 1907 1908GLAPI void GLAPIENTRY glDrawArraysEXT( GLenum mode, GLint first, 1909 GLsizei count ); 1910 1911 1912 1913/* GL_EXT_texture_object */ 1914 1915GLAPI void GLAPIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures ); 1916 1917GLAPI void GLAPIENTRY glDeleteTexturesEXT( GLsizei n, const GLuint *textures); 1918 1919GLAPI void GLAPIENTRY glBindTextureEXT( GLenum target, GLuint texture ); 1920 1921GLAPI void GLAPIENTRY glPrioritizeTexturesEXT( GLsizei n, 1922 const GLuint *textures, 1923 const GLclampf *priorities ); 1924 1925GLAPI GLboolean GLAPIENTRY glAreTexturesResidentEXT( GLsizei n, 1926 const GLuint *textures, 1927 GLboolean *residences ); 1928 1929GLAPI GLboolean GLAPIENTRY glIsTextureEXT( GLuint texture ); 1930 1931 1932 1933/* GL_EXT_texture3D */ 1934 1935GLAPI void GLAPIENTRY glTexImage3DEXT( GLenum target, GLint level, 1936 GLenum internalFormat, 1937 GLsizei width, GLsizei height, 1938 GLsizei depth, GLint border, 1939 GLenum format, GLenum type, 1940 const GLvoid *pixels ); 1941 1942GLAPI void GLAPIENTRY glTexSubImage3DEXT( GLenum target, GLint level, 1943 GLint xoffset, GLint yoffset, 1944 GLint zoffset, GLsizei width, 1945 GLsizei height, GLsizei depth, 1946 GLenum format, 1947 GLenum type, const GLvoid *pixels); 1948 1949GLAPI void GLAPIENTRY glCopyTexSubImage3DEXT( GLenum target, GLint level, 1950 GLint xoffset, GLint yoffset, 1951 GLint zoffset, GLint x, 1952 GLint y, GLsizei width, 1953 GLsizei height ); 1954 1955 1956 1957/* GL_EXT_color_table */ 1958 1959GLAPI void GLAPIENTRY glColorTableEXT( GLenum target, GLenum internalformat, 1960 GLsizei width, GLenum format, 1961 GLenum type, const GLvoid *table ); 1962 1963GLAPI void GLAPIENTRY glColorSubTableEXT( GLenum target, 1964 GLsizei start, GLsizei count, 1965 GLenum format, GLenum type, 1966 const GLvoid *data ); 1967 1968GLAPI void GLAPIENTRY glGetColorTableEXT( GLenum target, GLenum format, 1969 GLenum type, GLvoid *table ); 1970 1971GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT( GLenum target, 1972 GLenum pname, 1973 GLfloat *params ); 1974 1975GLAPI void GLAPIENTRY glGetColorTableParameterivEXT( GLenum target, 1976 GLenum pname, 1977 GLint *params ); 1978 1979 1980/* GL_ARB_multitexture */ 1981 1982GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture); 1983GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture); 1984GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s); 1985GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v); 1986GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s); 1987GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v); 1988GLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s); 1989GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v); 1990GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s); 1991GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v); 1992GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t); 1993GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v); 1994GLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t); 1995GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v); 1996GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t); 1997GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v); 1998GLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t); 1999GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v); 2000GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r); 2001GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v); 2002GLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r); 2003GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v); 2004GLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r); 2005GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v); 2006GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r); 2007GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v); 2008GLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 2009GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v); 2010GLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 2011GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v); 2012GLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q); 2013GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v); 2014GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 2015GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v); 2016 2017 2018 2019/* GL_EXT_point_parameters */ 2020GLAPI void GLAPIENTRY glPointParameterfEXT( GLenum pname, GLfloat param ); 2021GLAPI void GLAPIENTRY glPointParameterfvEXT( GLenum pname, 2022 const GLfloat *params ); 2023 2024 2025 2026/* GL_INGR_blend_func_separate */ 2027GLAPI void GLAPIENTRY glBlendFuncSeparateINGR( GLenum sfactorRGB, 2028 GLenum dfactorRGB, 2029 GLenum sfactorAlpha, 2030 GLenum dfactorAlpha ); 2031 2032 2033 2034/* GL_MESA_window_pos */ 2035 2036GLAPI void GLAPIENTRY glWindowPos2iMESA( GLint x, GLint y ); 2037GLAPI void GLAPIENTRY glWindowPos2sMESA( GLshort x, GLshort y ); 2038GLAPI void GLAPIENTRY glWindowPos2fMESA( GLfloat x, GLfloat y ); 2039GLAPI void GLAPIENTRY glWindowPos2dMESA( GLdouble x, GLdouble y ); 2040 2041GLAPI void GLAPIENTRY glWindowPos2ivMESA( const GLint *p ); 2042GLAPI void GLAPIENTRY glWindowPos2svMESA( const GLshort *p ); 2043GLAPI void GLAPIENTRY glWindowPos2fvMESA( const GLfloat *p ); 2044GLAPI void GLAPIENTRY glWindowPos2dvMESA( const GLdouble *p ); 2045 2046GLAPI void GLAPIENTRY glWindowPos3iMESA( GLint x, GLint y, GLint z ); 2047GLAPI void GLAPIENTRY glWindowPos3sMESA( GLshort x, GLshort y, GLshort z ); 2048GLAPI void GLAPIENTRY glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z ); 2049GLAPI void GLAPIENTRY glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z ); 2050 2051GLAPI void GLAPIENTRY glWindowPos3ivMESA( const GLint *p ); 2052GLAPI void GLAPIENTRY glWindowPos3svMESA( const GLshort *p ); 2053GLAPI void GLAPIENTRY glWindowPos3fvMESA( const GLfloat *p ); 2054GLAPI void GLAPIENTRY glWindowPos3dvMESA( const GLdouble *p ); 2055 2056GLAPI void GLAPIENTRY glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w ); 2057GLAPI void GLAPIENTRY glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w ); 2058GLAPI void GLAPIENTRY glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 2059GLAPI void GLAPIENTRY glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w); 2060 2061GLAPI void GLAPIENTRY glWindowPos4ivMESA( const GLint *p ); 2062GLAPI void GLAPIENTRY glWindowPos4svMESA( const GLshort *p ); 2063GLAPI void GLAPIENTRY glWindowPos4fvMESA( const GLfloat *p ); 2064GLAPI void GLAPIENTRY glWindowPos4dvMESA( const GLdouble *p ); 2065 2066 2067/* GL_MESA_resize_buffers */ 2068 2069GLAPI void GLAPIENTRY glResizeBuffersMESA( void ); 2070 2071 2072/* 1.2 functions */ 2073GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start, 2074 GLuint end, GLsizei count, GLenum type, const GLvoid *indices ); 2075 2076GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level, 2077 GLint internalFormat, 2078 GLsizei width, GLsizei height, 2079 GLsizei depth, GLint border, 2080 GLenum format, GLenum type, 2081 const GLvoid *pixels ); 2082 2083GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level, 2084 GLint xoffset, GLint yoffset, 2085 GLint zoffset, GLsizei width, 2086 GLsizei height, GLsizei depth, 2087 GLenum format, 2088 GLenum type, const GLvoid *pixels); 2089 2090GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level, 2091 GLint xoffset, GLint yoffset, 2092 GLint zoffset, GLint x, 2093 GLint y, GLsizei width, 2094 GLsizei height ); 2095 2096 2097/* 1.2 imaging extension functions */ 2098 2099GLAPI void GLAPIENTRY glBlendEquation( GLenum mode ); 2100 2101GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green, 2102 GLclampf blue, GLclampf alpha ); 2103 2104GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width, 2105 GLenum internalformat, GLboolean sink ); 2106 2107GLAPI void GLAPIENTRY glResetHistogram( GLenum target ); 2108 2109GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset, 2110 GLenum format, GLenum type, 2111 GLvoid *values ); 2112 2113GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname, 2114 GLfloat *params ); 2115 2116GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname, 2117 GLint *params ); 2118 2119GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat, 2120 GLboolean sink ); 2121 2122GLAPI void GLAPIENTRY glResetMinmax( GLenum target ); 2123 2124GLAPI void GLAPIENTRY glGetMinMax( GLenum target, GLboolean reset, 2125 GLenum format, GLenum types, 2126 GLvoid *values ); 2127 2128GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname, 2129 GLfloat *params ); 2130 2131GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname, 2132 GLint *params ); 2133 2134GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target, 2135 GLenum internalformat, GLsizei width, GLenum format, GLenum type, 2136 const GLvoid *image ); 2137 2138GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target, 2139 GLenum internalformat, GLsizei width, GLsizei height, GLenum format, 2140 GLenum type, const GLvoid *image ); 2141 2142GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname, 2143 GLfloat params ); 2144 2145GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname, 2146 const GLfloat *params ); 2147 2148GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname, 2149 GLint params ); 2150 2151GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname, 2152 const GLint *params ); 2153 2154GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target, 2155 GLenum internalformat, GLint x, GLint y, GLsizei width ); 2156 2157GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target, 2158 GLenum internalformat, GLint x, GLint y, GLsizei width, 2159 GLsizei height); 2160 2161GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format, 2162 GLenum type, GLvoid *image ); 2163 2164GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname, 2165 GLfloat *params ); 2166 2167GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname, 2168 GLint *params ); 2169 2170GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target, 2171 GLenum internalformat, GLsizei width, GLsizei height, GLenum format, 2172 GLenum type, const GLvoid *row, const GLvoid *column ); 2173 2174GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format, 2175 GLenum type, GLvoid *row, GLvoid *column, GLvoid *span ); 2176 2177GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start, 2178 GLint x, GLint y, GLsizei width ); 2179 2180GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat, 2181 GLint x, GLint y, GLsizei width ); 2182 2183 2184 2185/* GL_EXT_compiled_vertex_array */ 2186GLAPI void GLAPIENTRY glLockArraysEXT( GLint first, GLsizei count ); 2187GLAPI void GLAPIENTRY glUnlockArraysEXT( void ); 2188 2189 2190/* 2191 * GL_EXT_get_proc_address 2192 * 2193 * XXX this is a preliminary extension. It may change! Use at your 2194 * own risk! Do not release code which uses this extension yet! 2195 * If you want to try it out, #define GL_EXT_get_proc_address before 2196 * #include <GL/gl.h> 2197 */ 2198#ifdef GL_EXT_get_proc_address 2199typedef (void (GLAPIENTRY *glProcAddress))(); 2200glProcAddress GLAPIENTRY glGetProcAddressEXT(const GLubyte *procName); 2201#endif 2202 2203 2204#if defined(__BEOS__) || defined(__QUICKDRAW__) 2205#pragma export off 2206#endif 2207 2208 2209/* 2210 * Compile-time tests for extensions: 2211 */ 2212#define GL_EXT_blend_color 1 2213#define GL_EXT_blend_logic_op 1 2214#define GL_EXT_blend_minmax 1 2215#define GL_EXT_blend_subtract 1 2216#define GL_EXT_polygon_offset 1 2217#define GL_EXT_vertex_array 1 2218#define GL_EXT_texture_object 1 2219#define GL_EXT_texture3D 1 2220#define GL_EXT_paletted_texture 1 2221#define GL_EXT_shared_texture_palette 1 2222#define GL_EXT_point_parameters 1 2223#define GL_EXT_rescale_normal 1 2224#define GL_EXT_abgr 1 2225#define GL_EXT_stencil_wrap 1 2226#define GL_MESA_window_pos 1 2227#define GL_MESA_resize_buffers 1 2228#define GL_SGIS_texture_edge_clamp 1 2229#define GL_INGR_blend_func_separate 1 2230#define GL_ARB_multitexture 1 2231#define GL_NV_texgen_reflection 1 2232#define GL_PGI_misc_hints 1 2233#define GL_EXT_compiled_vertex_array 1 2234#define GL_EXT_clip_volume_hint 1 2235 2236 2237#ifdef macintosh 2238 #pragma enumsalwaysint reset 2239 #if PRAGMA_IMPORT_SUPPORTED 2240 #pragma import off 2241 #endif 2242#endif 2243 2244 2245#ifdef __cplusplus 2246} 2247#endif 2248 2249#endif 2250