1#lang mzscheme 2(require mzlib/foreign 3 ffi/winapi 4 "gl-types.rkt" 5 "gl-vectors.rkt" 6 "init.rkt") 7 8(unsafe!) 9 10(define stype (system-type)) 11 12(define gl-lib (case stype 13 [(windows) (ffi-lib "opengl32")] 14 [(macosx) (ffi-lib "/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL")] 15 [else (ffi-lib "libGL" '("1" ""))])) 16(define glu-lib (case stype 17 [(windows) (ffi-lib "glu32")] 18 [(macosx) (ffi-lib "/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU")] 19 [else (ffi-lib "libGLU" '("1" ""))])) 20 21(define win32? 22 (and (eq? 'windows stype) 23 (equal? "win32\\i386" (path->string (system-library-subpath #f))))) 24 25(define-syntax _fun* 26 (syntax-rules () 27 [(_fun* x ...) 28 (_fun #:abi winapi x ...)])) 29 30(define wglGetProcAddress 31 (if (eq? 'windows stype) 32 (get-ffi-obj 'wglGetProcAddress gl-lib (_fun* _string -> _fpointer)) 33 (lambda (x) #f))) 34 35(define (unavailable name fun-type) 36 (if (eq? 'windows stype) 37 ;; Windows: try to get proc via wglGetProcAddress; 38 ;; note that we need to delay the lookup until the 39 ;; function is called, because wglGetProcAddress is 40 ;; sensitive to the current GL context 41 (lambda () 42 (let ([sname (symbol->string name)]) 43 (lambda args 44 (let ([f (wglGetProcAddress sname)]) 45 (if f 46 (apply (function-ptr f fun-type) args) 47 (error name "unavailable on this system")))))) 48 ;; Other platforms: proc is not available 49 (lambda () (lambda x (error name "unavailable on this system"))))) 50 51(define-syntax define-foreign-lib 52 (syntax-rules (->) 53 [(_ lib name type ... ->) 54 (define-foreign-lib lib name type ... -> _void)] 55 [(_ lib name type ...) 56 (begin 57 ;; (printf "~a\n" 'name) 58 (provide name) 59 (define name 60 (let ([fun-type (_fun* type ...) ]) 61 (get-ffi-obj 'name lib fun-type 62 (unavailable 'name fun-type)))))])) 63 64(define-syntax define-foreign 65 (syntax-rules () 66 [(_ args ...) (define-foreign-lib gl-lib args ...)])) 67 68(define-for-syntax (get-type x err) 69 (case (syntax-object->datum x) 70 [(b) #'_gl-byte] 71 [(s) #'_gl-short] 72 [(i) #'_gl-int] 73 [(f) #'_gl-float] 74 [(d) #'_gl-double] 75 [(ub) #'_gl-ubyte] 76 [(us) #'_gl-ushort] 77 [(ui) #'_gl-uint] 78 [(bv) #'_gl-bytev] 79 [(sv) #'_gl-shortv] 80 [(iv) #'_gl-intv] 81 [(fv) #'_gl-floatv] 82 [(dv) #'_gl-doublev] 83 [(ubv) #'_gl-ubytev] 84 [(usv) #'_gl-ushortv] 85 [(uiv) #'_gl-uintv] 86 [else (raise-syntax-error #f "unknown GL type abbreviation" err x)])) 87 88(define-for-syntax (get-vtype x err) 89 (case (syntax-object->datum x) 90 [(bv) #'_gl-byte] 91 [(sv) #'_gl-short] 92 [(iv) #'_gl-int] 93 [(fv) #'_gl-float] 94 [(dv) #'_gl-double] 95 [(ubv) #'_gl-ubyte] 96 [(usv) #'_gl-ushort] 97 [(uiv) #'_gl-uint] 98 [else (raise-syntax-error #f "unknown GL type abbreviation" err x)])) 99 100(define-for-syntax (type-map type convert) 101 (syntax-case type (: =) 102 [(label : type) #`(label : #,(type-map #'type convert))] 103 [(type = expr) #`(#,(type-map #'type convert) = expr)] 104 [(label : type = expr) #`(label : #,(type-map #'type convert) = expr)] 105 [_ (convert type)])) 106 107(define-syntax (define-foreign-tparm stx) 108 (syntax-case stx (->) 109 [(_ name (suffix ...) type ...) 110 (let* ([name-sym (syntax-object->datum #'name)] 111 [build-def 112 (lambda (suffix) 113 (with-syntax ([new-name 114 (datum->syntax-object 115 #'name 116 (string->symbol 117 (format "~a~a" 118 name-sym 119 (syntax-object->datum suffix))) 120 #'name)] 121 [(new-type ...) 122 (map 123 (lambda (type) 124 (type-map 125 type 126 (lambda (type) 127 (syntax-case type (T outT) 128 [T (get-type suffix stx)] 129 [(T n) 130 #`(_cvector o 131 #,(get-vtype suffix stx) 132 n)] 133 [_ type])))) 134 (syntax->list #'(type ...)))]) 135 #'(define-foreign new-name new-type ...)))]) 136 (with-syntax ([(defs ...) 137 (map build-def (syntax->list #'(suffix ...)))]) 138 #'(begin defs ...)))])) 139 140;; 2.5 141(define-foreign glGetError -> _gl-enum) 142 143;; 2.6.1 144(define-foreign glBegin _gl-enum ->) 145(define-foreign glEnd ->) 146 147;; 2.6.2 148(define-foreign glEdgeFlag _gl-boolean ->) 149(define-foreign glEdgeFlagv _gl-booleanv ->) 150 151;; 2.7 152(define-foreign-tparm glVertex2 (s i f d) T T ->) 153(define-foreign-tparm glVertex3 (s i f d) T T T ->) 154(define-foreign-tparm glVertex4 (s i f d) T T T T ->) 155(define-foreign-tparm glVertex2 (sv iv fv dv) T ->) 156(define-foreign-tparm glVertex3 (sv iv fv dv) T ->) 157(define-foreign-tparm glVertex4 (sv iv fv dv) T ->) 158(define-foreign-tparm glTexCoord1 (s i f d) T ->) 159(define-foreign-tparm glTexCoord2 (s i f d) T T ->) 160(define-foreign-tparm glTexCoord3 (s i f d) T T T ->) 161(define-foreign-tparm glTexCoord4 (s i f d) T T T T ->) 162(define-foreign-tparm glTexCoord1 (sv iv fv dv) T ->) 163(define-foreign-tparm glTexCoord2 (sv iv fv dv) T ->) 164(define-foreign-tparm glTexCoord3 (sv iv fv dv) T ->) 165(define-foreign-tparm glTexCoord4 (sv iv fv dv) T ->) 166(define-foreign-tparm glMultiTexCoord1 (s i f d) _gl-enum T ->) 167(define-foreign-tparm glMultiTexCoord2 (s i f d) _gl-enum T T ->) 168(define-foreign-tparm glMultiTexCoord3 (s i f d) _gl-enum T T T ->) 169(define-foreign-tparm glMultiTexCoord4 (s i f d) _gl-enum T T T T ->) 170(define-foreign-tparm glMultiTexCoord1 (sv iv fv dv) _gl-enum T ->) 171(define-foreign-tparm glMultiTexCoord2 (sv iv fv dv) _gl-enum T ->) 172(define-foreign-tparm glMultiTexCoord3 (sv iv fv dv) _gl-enum T ->) 173(define-foreign-tparm glMultiTexCoord4 (sv iv fv dv) _gl-enum T ->) 174(define-foreign-tparm glNormal3 (b s i f d) T T T ->) 175(define-foreign-tparm glNormal3 (bv sv iv fv dv) T ->) 176(define-foreign-tparm glFogCoord (f d) T ->) 177(define-foreign-tparm glFogCoord (fv dv) T ->) 178(define-foreign-tparm glColor3 (b s i f d ub us ui) T T T ->) 179(define-foreign-tparm glColor4 (b s i f d ub us ui) T T T T ->) 180(define-foreign-tparm glColor3 (bv sv iv fv dv ubv usv uiv) T ->) 181(define-foreign-tparm glColor4 (bv sv iv fv dv ubv usv uiv) T ->) 182(define-foreign-tparm glSecondaryColor3 (b s i f d ub us ui) T T T ->) 183(define-foreign-tparm glSecondaryColor3 (bv sv iv fv dv ubv usv uiv) T ->) 184(define-foreign-tparm glIndex (s i f d ub) T ->) 185(define-foreign-tparm glIndex (sv iv fv dv ubv) T ->) 186 187;; 2.8 188#| 189(define-foreign glVertexPointer _gl-int _gl-enum _gl-sizei _gl-voidv ->) 190(define-foreign glNormalPointer _gl-enum _gl-sizei _gl-voidv ->) 191(define-foreign glColorPointer _gl-int _gl-enum _gl-sizei _gl-voidv ->) 192(define-foreign glSecondaryColorPointer 193 _gl-int _gl-enum _gl-sizei _gl-voidv ->) 194(define-foreign glIndexPointer _gl-enum _gl-sizei _gl-voidv ->) 195(define-foreign glFogCoordPointer _gl-enum _gl-sizei _gl-voidv ->) 196(define-foreign glTexCoordPointer _gl-int _gl-enum _gl-sizei _gl-voidv ->) 197(define-foreign glEdgeFlagPointer _gl-sizei _gl-voidv ->) 198(define-foreign glEnableClientState _gl-enum ->) 199(define-foreign glDisableClientState _gl-enum ->) 200(define-foreign glClientActiveTexture _gl-enum ->) 201(define-foreign glArrayElement _gl-int ->) 202(define-foreign glDrawArrays _gl-enum _gl-int _gl-sizei ->) 203(define-foreign glMultiDrawArrays _gl-enum _gl-intv _gl-sizeiv _gl-sizei ->) 204(define-foreign glDrawElements _gl-enum _gl-sizei _gl-enum _gl-voidv ->) 205(define-foreign glMultiDrawElements 206 _gl-enum _gl-sizeiv _gl-enum _gl-voidvv _gl-sizei ->) 207(define-foreign glDrawRangeElements 208 _gl-enum _gl-uint _gl-uint _gl-sizei _gl-enum _gl-voidv ->) 209(define-foreign glInterleavedArrays _gl-enum _gl-sizei _gl-voidv) 210|# 211 212;; 2.9 213#| 214(define-foreign glBindBuffer _gl-enum _gl-uint ->) 215(define-foreign glDeleteBuffers _gl-sizei gl_uintv ->) 216(define-foreign glGenBuffers _gl-sizei gl_uintv ->) 217(define-foreign glBufferData _gl-enum _gl-sizeiptr _gl_voidv _gl-enum ->) 218(define-foreign glBufferSubData _gl-enum _gl-intptr _gl-sizeiptr _gl_voidv ->) 219(define-foreign glMapBuffer _gl-enum _gl-enum -> _gl-voidv) 220(define-foreign glUnmapBuffer _gl-enum -> _gl-boolean) 221|# 222 223;; 2.10 224(define-foreign-tparm glRect (s i f d) T T T T ->) 225(define-foreign-tparm glRect (sv iv fv dv) T ->) 226 227;; 2.11.1 228(define-foreign glDepthRange _gl-clampd _gl-clampd ->) 229(define-foreign glViewport _gl-int _gl-int _gl-sizei _gl-sizei ->) 230 231;; 2.11.2 232(define-foreign glMatrixMode _gl-enum ->) 233(define-foreign glLoadMatrixf _gl-floatv ->) 234(define-foreign glLoadMatrixd _gl-doublev ->) 235(define-foreign glMultMatrixf _gl-floatv ->) 236(define-foreign glMultMatrixd _gl-doublev ->) 237(define-foreign glLoadTransposeMatrixf _gl-floatv ->) 238(define-foreign glLoadTransposeMatrixd _gl-doublev ->) 239(define-foreign glMultTransposeMatrixf _gl-floatv ->) 240(define-foreign glMultTransposeMatrixd _gl-doublev ->) 241(define-foreign glLoadIdentity ->) 242(define-foreign-tparm glRotate (f d) T T T T ->) 243(define-foreign-tparm glTranslate (f d) T T T ->) 244(define-foreign-tparm glScale (f d) T T T ->) 245(define-foreign glFrustum _gl-double _gl-double _gl-double 246 _gl-double _gl-double _gl-double ->) 247(define-foreign glOrtho _gl-double _gl-double _gl-double 248 _gl-double _gl-double _gl-double ->) 249(define-foreign glActiveTexture _gl-enum ->) 250(define-foreign glPushMatrix ->) 251(define-foreign glPopMatrix ->) 252 253;; 2.11.3 254(define-foreign glEnable _gl-enum ->) 255(define-foreign glDisable _gl-enum ->) 256 257;; 2.11.4 258(define-foreign-tparm glTexGen (i f d) _gl-enum _gl-enum T ->) 259(define-foreign-tparm glTexGen (iv fv dv) _gl-enum _gl-enum T ->) 260 261;; 2.12 262(define-foreign glClipPlane _gl-enum _gl-doublev ->) 263 264;; 2.13 265(define-foreign-tparm glRasterPos2 (s i f d) T T ->) 266(define-foreign-tparm glRasterPos3 (s i f d) T T T ->) 267(define-foreign-tparm glRasterPos4 (s i f d) T T T T ->) 268(define-foreign-tparm glRasterPos2 (sv iv fv dv) T ->) 269(define-foreign-tparm glRasterPos3 (sv iv fv dv) T ->) 270(define-foreign-tparm glRasterPos4 (sv iv fv dv) T ->) 271(define-foreign-tparm glWindowPos2 (s i f d) T T ->) 272(define-foreign-tparm glWindowPos3 (s i f d) T T T ->) 273(define-foreign-tparm glWindowPos2 (sv iv fv dv) T ->) 274(define-foreign-tparm glWindowPos3 (sv iv fv dv) T ->) 275 276;; 2.14.1 277(define-foreign glFrontFace _gl-enum ->) 278 279;; 2.14.2 280(define-foreign-tparm glMaterial (i f) _gl-enum _gl-enum T ->) 281(define-foreign-tparm glMaterial (iv fv) _gl-enum _gl-enum T ->) 282(define-foreign-tparm glLight (i f) _gl-enum _gl-enum T ->) 283(define-foreign-tparm glLight (iv fv) _gl-enum _gl-enum T ->) 284(define-foreign-tparm glLightModel (i f) _gl-enum T ->) 285(define-foreign-tparm glLightModel (iv fv) _gl-enum T ->) 286 287;; 2.14.3 288(define-foreign glColorMaterial _gl-enum _gl-enum ->) 289 290;; 2.14.7 291(define-foreign glShadeModel _gl-enum ->) 292 293;; 3.3 294(define-foreign glPointSize _gl-float ->) 295(define-foreign-tparm glPointParameter (i f) _gl-enum _gl-float ->) 296(define-foreign-tparm glPointParameter (iv fv) _gl-enum _gl-floatv ->) 297 298;; 3.4 299(define-foreign glLineWidth _gl-float ->) 300 301;; 3.4.2 302(define-foreign glLineStipple _gl-int _gl-ushort ->) 303 304;; 3.5.1 305(define-foreign glCullFace _gl-enum ->) 306 307;; 3.5.2 308(define-foreign glPolygonStipple _gl-ubytev ->) 309 310;; 3.5.4 311(define-foreign glPolygonMode _gl-enum _gl-enum ->) 312 313;; 3.5.5 314(define-foreign glPolygonOffset _gl-float _gl-float ->) 315 316;; 3.6.1 317(define-foreign-tparm glPixelStore (i f) _gl-enum T ->) 318 319;; 3.6.3 320(define-foreign-tparm glPixelTransfer (i f) _gl-enum T ->) 321(define-foreign-tparm glPixelMap (uiv usv fv) 322 _gl-enum [_gl-sizei = (cvector-length l)] [l : T] ->) 323(define-foreign glColorTable 324 _gl-enum _gl-enum _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 325(define-foreign-tparm glColorTableParameter (iv fv) _gl-enum _gl-enum T ->) 326(define-foreign glCopyColorTable 327 _gl-enum _gl-enum _gl-int _gl-int _gl-sizei ->) 328(define-foreign glColorSubTable 329 _gl-enum _gl-sizei _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 330(define-foreign glCopyColorSubTable 331 _gl-enum _gl-sizei _gl-int _gl-int _gl-sizei ->) 332(define-foreign glConvolutionFilter2D _gl-enum _gl-enum _gl-sizei _gl-sizei 333 _gl-enum _gl-enum _gl-voidv ->) 334(define-foreign-tparm glConvolutionParameter (iv fv) _gl-enum _gl-enum T ->) 335(define-foreign glConvolutionFilter1D 336 _gl-enum _gl-enum _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 337(define-foreign glSeparableFilter2D _gl-enum _gl-enum _gl-sizei _gl-sizei 338 _gl-enum _gl-enum _gl-voidv _gl-voidv ->) 339(define-foreign glCopyConvolutionFilter2D 340 _gl-enum _gl-enum _gl-int _gl-int _gl-sizei _gl-sizei ->) 341(define-foreign glCopyConvolutionFilter1D 342 _gl-enum _gl-enum _gl-int _gl-int _gl-sizei ->) 343(define-foreign glHistogram _gl-enum _gl-sizei _gl-enum _gl-boolean ->) 344(define-foreign glMinmax _gl-enum _gl-enum _gl-boolean ->) 345 346;; 3.6.4 347(define-foreign glDrawPixels 348 _gl-sizei _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 349(define-foreign glPixelZoom _gl-float _gl-float ->) 350 351;; 3.6.5 352(define-foreign-tparm glConvolutionParameter (i f) _gl-enum _gl-enum T ->) 353 354;; 3.7 355(define-foreign glBitmap _gl-sizei _gl-sizei _gl-float _gl-float _gl-float 356 _gl-float _gl-ubytev ->) 357 358;; 3.8.1 359(define-foreign glTexImage3D _gl-enum _gl-int _gl-int _gl-sizei _gl-sizei 360 _gl-sizei _gl-int _gl-enum _gl-enum _gl-voidv ->) 361(define-foreign glTexImage2D _gl-enum _gl-int _gl-int _gl-sizei _gl-sizei 362 _gl-int _gl-enum _gl-enum _gl-voidv ->) 363(define-foreign glTexImage1D _gl-enum _gl-int _gl-int _gl-sizei _gl-int 364 _gl-enum _gl-enum _gl-voidv ->) 365 366;; 3.8.2 367(define-foreign glCopyTexImage2D _gl-enum _gl-int _gl-enum _gl-int _gl-int 368 _gl-sizei _gl-sizei _gl-int ->) 369(define-foreign glCopyTexImage1D _gl-enum _gl-int _gl-enum _gl-int _gl-int 370 _gl-sizei _gl-int ->) 371(define-foreign glTexSubImage3D 372 _gl-enum _gl-int _gl-int _gl-int _gl-int _gl-sizei _gl-sizei 373 _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 374(define-foreign glTexSubImage2D 375 _gl-enum _gl-int _gl-int _gl-int _gl-sizei _gl-sizei 376 _gl-enum _gl-enum _gl-voidv ->) 377(define-foreign glTexSubImage1D _gl-enum _gl-int _gl-int _gl-sizei 378 _gl-enum _gl-enum _gl-voidv ->) 379(define-foreign glCopyTexSubImage3D 380 _gl-enum _gl-int _gl-int _gl-int _gl-int _gl-int _gl-int 381 _gl-sizei _gl-sizei ->) 382(define-foreign glCopyTexSubImage2D 383 _gl-enum _gl-int _gl-int _gl-int _gl-int _gl-int 384 _gl-sizei _gl-sizei ->) 385(define-foreign glCopyTexSubImage1D 386 _gl-enum _gl-int _gl-int _gl-int _gl-int _gl-sizei ->) 387 388;; 3.8.3 389(define-foreign glCompressedTexImage1D 390 _gl-enum _gl-int _gl-enum _gl-sizei _gl-int _gl-sizei 391 _gl-voidv ->) 392(define-foreign glCompressedTexImage2D 393 _gl-enum _gl-int _gl-enum _gl-sizei _gl-sizei _gl-int 394 _gl-sizei _gl-voidv ->) 395(define-foreign glCompressedTexImage3D 396 _gl-enum _gl-int _gl-enum _gl-sizei _gl-sizei _gl-sizei 397 _gl-int _gl-sizei _gl-voidv ->) 398(define-foreign glCompressedTexSubImage1D 399 _gl-enum _gl-int _gl-int _gl-sizei _gl-enum _gl-sizei 400 _gl-voidv ->) 401(define-foreign glCompressedTexSubImage2D 402 _gl-enum _gl-int _gl-int _gl-int _gl-sizei _gl-sizei _gl-enum 403 _gl-sizei _gl-voidv ->) 404(define-foreign glCompressedTexSubImage3D 405 _gl-enum _gl-int _gl-int _gl-int _gl-int _gl-sizei _gl-sizei 406 _gl-sizei _gl-enum _gl-sizei _gl-voidv ->) 407 408;; 3.8.4 409(define-foreign-tparm glTexParameter (i f) _gl-enum _gl-enum T ->) 410(define-foreign-tparm glTexParameter (iv fv) _gl-enum _gl-enum T ->) 411 412;; 3.8.12 413(define-foreign glBindTexture _gl-enum _gl-uint ->) 414(define-foreign glDeleteTextures 415 [_gl-sizei = (cvector-length v)] [v : _gl-uintv] ->) 416(define-foreign glGenTextures 417 [n : _gl-sizei] [r : (_cvector o _gl-uint n)] -> _void -> r) 418(define-foreign glAreTexturesResident 419 [n : _gl-sizei = (cvector-length v)] [v : _gl-uintv] 420 [r : (_cvector o _gl-boolean n)] -> 421 [r2 : _gl-boolean] -> (values r2 r)) 422 423;; 3.8.13 424(define-foreign-tparm glTexEnv (i f) _gl-enum _gl-enum T ->) 425(define-foreign-tparm glTexEnv (iv fv) _gl-enum _gl-enum T ->) 426 427;; 3.10 428(define-foreign-tparm glFog (i f) _gl-enum T ->) 429(define-foreign-tparm glFog (iv fv) _gl-enum T ->) 430 431;; 4.1.2 432(define-foreign glScissor _gl-int _gl-int _gl-sizei _gl-sizei ->) 433 434;; 4.1.3 435(define-foreign glSampleCoverage _gl-clampf _gl-boolean ->) 436 437;; 4.1.4 438(define-foreign glAlphaFunc _gl-enum _gl-clampf ->) 439 440;; 4.1.5 441(define-foreign glStencilFunc _gl-enum _gl-int _gl-uint ->) 442(define-foreign glStencilOp _gl-enum _gl-enum _gl-enum ->) 443 444;; 4.1.6 445(define-foreign glDepthFunc _gl-enum ->) 446 447;; 4.1.7 448(define-foreign glBeginQuery _gl-enum _gl-uint ->) 449(define-foreign glEndQuery _gl-enum ->) 450(define-foreign glGenQueries 451 [n : _gl-sizei] [r : (_cvector o _gl-uint n)] -> _void -> r) 452(define-foreign glDeleteQueries [_gl-sizei = (cvector-length v)] 453 [v : _gl-uintv] ->) 454 455;; 4.1.8 456(define-foreign glBlendEquation _gl-enum ->) 457(define-foreign glBlendFuncSeparate _gl-enum _gl-enum _gl-enum _gl-enum ->) 458(define-foreign glBlendFunc _gl-enum _gl-enum ->) 459(define-foreign glBlendColor _gl-clampf _gl-clampf _gl-clampf _gl-clampf ->) 460 461;; 4.1.10 462(define-foreign glLogicOp _gl-enum ->) 463 464;; 4.2.1 465(define-foreign glDrawBuffer _gl-enum ->) 466 467;; 4.2.2 468(define-foreign glIndexMask _gl-uint ->) 469(define-foreign glColorMask 470 _gl-boolean _gl-boolean _gl-boolean _gl-boolean ->) 471(define-foreign glDepthMask _gl-boolean ->) 472(define-foreign glStencilMask _gl-uint ->) 473 474;; 4.2.3 475(define-foreign glClear _gl-bitfield ->) 476(define-foreign glClearColor _gl-clampf _gl-clampf _gl-clampf _gl-clampf ->) 477(define-foreign glClearIndex _gl-float ->) 478(define-foreign glClearDepth _gl-clampd ->) 479(define-foreign glClearStencil _gl-int ->) 480(define-foreign glClearAccum _gl-float _gl-float _gl-float _gl-float ->) 481 482;; 4.2.4 483(define-foreign glAccum _gl-enum _gl-float ->) 484 485;; 4.3.2 486(define-foreign glReadPixels _gl-int _gl-int _gl-sizei _gl-sizei 487 _gl-enum _gl-enum _gl-voidv ->) 488(define-foreign glReadBuffer _gl-enum ->) 489 490;; 4.3.3 491(define-foreign glCopyPixels _gl-int _gl-int _gl-sizei _gl-sizei _gl-enum ->) 492 493;; 5.1 494;; Map1 and 2 appear to have a bug in the spec where the last argument is not 495;; declared as a pointer 496(define-foreign-tparm glMap1 (f) _gl-enum T T _gl-int _gl-int _gl-floatv ->) 497(define-foreign-tparm glMap1 (d) _gl-enum T T _gl-int _gl-int _gl-doublev ->) 498(define-foreign-tparm glMap2 (f) 499 _gl-enum T T _gl-int _gl-int T T _gl-int _gl-int 500 _gl-floatv ->) 501(define-foreign-tparm glMap2 (d) 502 _gl-enum T T _gl-int _gl-int T T _gl-int _gl-int 503 _gl-doublev ->) 504(define-foreign-tparm glEvalCoord1 (f d) T ->) 505(define-foreign-tparm glEvalCoord2 (f d) T T ->) 506(define-foreign-tparm glEvalCoord1 (fv dv) T ->) 507(define-foreign-tparm glEvalCoord2 (fv dv) T ->) 508(define-foreign-tparm glMapGrid1 (f d) _gl-int T T ->) 509(define-foreign-tparm glMapGrid2 (f d) _gl-int T T _gl-int T T ->) 510(define-foreign glEvalMesh1 _gl-enum _gl-int _gl-int ->) 511(define-foreign glEvalMesh2 _gl-enum _gl-int _gl-int _gl-int _gl-int ->) 512(define-foreign glEvalPoint1 _gl-int ->) 513(define-foreign glEvalPoint2 _gl-int _gl-int ->) 514 515;; 5.2 516(define-foreign glInitNames ->) 517(define-foreign glPopName ->) 518(define-foreign glPushName _gl-uint ->) 519(define-foreign glLoadName _gl-uint ->) 520(define-foreign glRenderMode _gl-enum -> _gl-int) 521(define-struct select-buffer-object (ptr len)) 522(provide select-buffer->gl-uint-vector) 523(define (select-buffer->gl-uint-vector sbo) 524 (unless (select-buffer-object? sbo) 525 (raise-type-error 'select-buffer->gl-uint-vector "select-buffer-object" sbo)) 526 (let* ([l (select-buffer-object-len sbo)] 527 [p (select-buffer-object-ptr sbo)] 528 [v (make-gl-uint-vector l)]) 529 (let loop ([i 0]) 530 (when (< i l) 531 (gl-vector-set! v i (ptr-ref p _gl-uint i)) 532 (loop (add1 i)))) 533 v)) 534 535(define-foreign glSelectBuffer 536 [n : _gl-sizei] [mem : _pointer = (malloc n _gl-uint 'raw)] -> 537 _void -> 538 (let ([o (make-select-buffer-object mem n)]) 539 (register-finalizer o (lambda (sbo) (free (select-buffer-object-ptr sbo)))) 540 o)) 541 542;; 5.3 543(define-struct feedback-buffer-object (ptr len)) 544(provide feedback-buffer->gl-float-vector) 545(define (feedback-buffer->gl-float-vector fbo) 546 (unless (feedback-buffer-object? fbo) 547 (raise-type-error 'feedback-buffer->gl-uint-vector 548 "feedback-buffer-object" fbo)) 549 (let* ([l (feedback-buffer-object-len fbo)] 550 [p (feedback-buffer-object-ptr fbo)] 551 [v (make-gl-float-vector l)]) 552 (let loop ([i 0]) 553 (when (< i l) 554 (gl-vector-set! v i (ptr-ref p _gl-float i)) 555 (loop (add1 i)))) 556 v)) 557(define-foreign glFeedbackBuffer 558 [n : _gl-sizei] _gl-enum [mem : _pointer = (malloc _gl-float n 'raw)] -> 559 _void -> 560 (let ([o (make-feedback-buffer-object mem n)]) 561 (register-finalizer o (lambda (fbo) (free (feedback-buffer-object-ptr fbo)))) 562 o)) 563(define-foreign glPassThrough _gl-float ->) 564 565;; 5.4 566(define-foreign glNewList _gl-uint _gl-enum ->) 567(define-foreign glEndList ->) 568(define-foreign glCallList _gl-uint ->) 569(define-foreign glCallLists _gl-sizei _gl-enum _gl-voidv ->) 570(define-foreign glListBase _gl-uint ->) 571(define-foreign glGenLists _gl-sizei -> _gl-uint) 572(define-foreign glIsList _gl-uint -> _gl-boolean) 573(define-foreign glDeleteLists _gl-uint _gl-sizei ->) 574 575;; 5.5 576(define-foreign glFlush ->) 577(define-foreign glFinish ->) 578 579;; 5.6 580(define-foreign glHint _gl-enum _gl-enum ->) 581 582;; 6.1.1 583(define-foreign glGetBooleanv 584 _gl-enum [n : _?] [r : (_cvector o _gl-boolean n)] -> 585 _void -> r) 586(define-foreign glGetIntegerv 587 _gl-enum [n : _?] [r : (_cvector o _gl-int n)] -> _void -> r) 588(define-foreign glGetFloatv 589 _gl-enum [n : _?] [r : (_cvector o _gl-float n)] -> 590 _void -> r) 591(define-foreign glGetDoublev 592 _gl-enum [n : _?] [r : (_cvector o _gl-double n)] -> 593 _void -> r) 594(define-foreign glIsEnabled _gl-enum -> _gl-boolean) 595 596;; 6.1.3 597(define-foreign glGetClipPlane 598 _gl-enum [r : (_cvector o _gl-double 4)] -> _void -> r) 599(define-foreign-tparm glGetLight (iv fv) 600 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 601(define-foreign-tparm glGetMaterial (iv fv) 602 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 603(define-foreign-tparm glGetTexEnv (iv fv) 604 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 605(define-foreign-tparm glGetTexGen (iv fv dv) 606 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 607(define-foreign-tparm glGetTexParameter (iv fv) 608 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 609(define-foreign-tparm glGetTexLevelParameter (iv fv) 610 _gl-enum _gl-int _gl-enum [n : _?] [r : (T n)] -> 611 _void -> r) 612(define-foreign-tparm glGetPixelMap (uiv usv fv) 613 _gl-enum [n : _?] [r : (T n)] -> _void -> r) 614(define-foreign-tparm glGetMap (iv fv dv) 615 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 616(define-foreign-tparm glGetBufferParameter (iv) 617 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 618 619 620;; 6.1.4 621(define-foreign glGetTexImage _gl-enum _gl-int _gl-enum _gl-enum _gl-voidv ->) 622(define-foreign glGetCompressedTexImage _gl-enum _gl-int _gl-voidv ->) 623(define-foreign glIsTexture _gl-uint -> _gl-boolean) 624 625;; 6.1.5 626(define-foreign glGetPolygonStipple _gl-voidv ->) 627 628;; 6.1.7 629(define-foreign glGetColorTable _gl-enum _gl-enum _gl-enum _gl-voidv ->) 630 631;; 6.1.8 632(define-foreign glGetConvolutionFilter 633 _gl-enum _gl-enum _gl-enum _gl-voidv ->) 634(define-foreign glGetSeparableFilter 635 _gl-enum _gl-enum _gl-enum _gl-voidv _gl-voidv _gl-voidv ->) 636(define-foreign-tparm glGetConvolutionParameter (iv fv) 637 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 638 639;; 6.1.9 640(define-foreign glGetHistogram 641 _gl-enum _gl-boolean _gl-enum _gl-enum _gl-voidv ->) 642(define-foreign glResetHistogram _gl-enum ->) 643(define-foreign-tparm glGetHistogramParameter (iv fv) 644 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 645 646;; 6.1.10 647(define-foreign glGetMinmax 648 _gl-enum _gl-boolean _gl-enum _gl-enum _gl-voidv ->) 649(define-foreign glResetMinmax _gl-enum ->) 650(define-foreign-tparm glGetMinmaxParameter (iv fv) 651 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 652 653;; 6.1.11 654#| 655(define-foreign glGetPointerv _gl-enum _gl-voidvv ->) 656|# 657(define-foreign glGetString _gl-enum -> _string) 658 659;; 6.1.12 660(define-foreign glIsQuery _gl-uint -> _gl-boolean) 661(define-foreign-tparm glGetQuery (iv) 662 _gl-enum _gl-enum [n : _?] [r : (T n)] -> _void -> r) 663(define-foreign-tparm glGetQueryObject (iv uiv) 664 _gl-uint _gl-enum [n : _?] [r : (T n)] -> _void -> r) 665 666;; 6.1.13 667(define-foreign glIsBuffer _gl-uint -> _gl-boolean) 668#| 669(define-foreign glGetBufferSubData 670 _gl-enum _gl-intptr _gl-sizeiptr _gl-voidv ->) 671(define-foreign glGetBufferPointerv _gl-enum _gl-enum _gl-voidvv ->) 672|# 673 674;; 6.1.14 675(define-foreign glPushAttrib _gl-bitfield ->) 676(define-foreign glPushClientAttrib _gl-bitfield ->) 677(define-foreign glPopAttrib ->) 678(define-foreign glPopClientAttrib ->) 679 680(define-syntax define-foreignu 681 (syntax-rules () 682 [(_ args ...) (define-foreign-lib glu-lib args ...)])) 683 684;; 2 685(define-foreignu gluGetString _gl-enum -> _string) 686(define-foreignu gluCheckExtension _string _string -> _gl-boolean) 687 688;; 3.1 689(define-foreignu gluScaleImage _gl-enum _gl-sizei _gl-sizei _gl-enum _gl-voidv 690 _gl-sizei _gl-sizei _gl-enum _gl-voidv ->) 691 692;; 3.2 693(define-foreignu gluBuild1DMipmaps 694 _gl-enum _gl-int _gl-sizei _gl-enum _gl-enum _gl-voidv ->) 695(define-foreignu gluBuild2DMipmaps 696 _gl-enum _gl-int _gl-sizei _gl-sizei _gl-enum _gl-enum 697 _gl-voidv ->) 698(define-foreignu gluBuild3DMipmaps 699 _gl-enum _gl-int _gl-sizei _gl-sizei _gl-sizei 700 _gl-enum _gl-enum _gl-voidv ->) 701(define-foreignu gluBuild1DMipmapLevels 702 _gl-enum _gl-int _gl-sizei _gl-enum _gl-enum 703 _gl-int _gl-int _gl-int _gl-voidv ->) 704(define-foreignu gluBuild2DMipmapLevels 705 _gl-enum _gl-int _gl-sizei _gl-sizei _gl-enum _gl-enum 706 _gl-int _gl-int _gl-int _gl-voidv ->) 707(define-foreignu gluBuild3DMipmapLevels 708 _gl-enum _gl-int _gl-sizei _gl-sizei _gl-sizei 709 _gl-enum _gl-enum _gl-int _gl-int _gl-int _gl-voidv ->) 710 711;; 4.1 712(define-foreignu gluOrtho2D _gl-double _gl-double _gl-double _gl-double ->) 713(define-foreignu gluPerspective 714 _gl-double _gl-double _gl-double _gl-double ->) 715(define-foreignu gluLookAt _gl-double _gl-double _gl-double 716 _gl-double _gl-double _gl-double 717 _gl-double _gl-double _gl-double ->) 718(define-foreignu gluPickMatrix 719 _gl-double _gl-double _gl-double _gl-double _gl-intv ->) 720 721;; 4.2 722(define-foreignu gluProject _gl-double _gl-double _gl-double 723 _gl-doublev _gl-doublev _gl-intv 724 [r1 : (_ptr o _gl-double)] 725 [r2 : (_ptr o _gl-double)] 726 [r3 : (_ptr o _gl-double)] -> 727 _void -> (gl-double-vector r1 r2 r3)) 728(define-foreignu gluUnProject _gl-double _gl-double _gl-double 729 _gl-doublev _gl-doublev _gl-intv 730 [r1 : (_ptr o _gl-double)] 731 [r2 : (_ptr o _gl-double)] 732 [r3 : (_ptr o _gl-double)] -> 733 _void -> (gl-double-vector r1 r2 r3)) 734(define-foreignu gluUnProject4 _gl-double _gl-double _gl-double _gl-double 735 _gl-doublev _gl-doublev _gl-intv 736 _gl-clampd _gl-clampd 737 [r1 : (_ptr o _gl-double)] 738 [r2 : (_ptr o _gl-double)] 739 [r3 : (_ptr o _gl-double)] 740 [r4 : (_ptr o _gl-double)] -> 741 _void -> (gl-double-vector r1 r2 r3 r4)) 742 743;; 5.1 744#| 745(define-foreignu gluNewTess -> _glu-tessalator*) 746(define-foreignu gluDeleteTess _glu-tessalator* ->) 747|# 748 749;; 5.2 750#| 751(define-foreignu gluTessBeginPolygon _glu-tessalator* _gl-voidv ->) 752(define-foreignu gluTessBeginContour _glu-tessalator* ->) 753(define-foreignu gluTessVertex _glu-tessalator* _gl-doublev _gl-voidv ->) 754(define-foreignu gluTessEndContour _glu-tessalator* ->) 755(define-foreignu gluTessEndPolygon _glu-tessalator* ->) 756|# 757 758;; 5.3 759#| 760(define-foreignu gluTessCallback _glu-tessalator _gl-enum ??? ->) 761|# 762 763;; 5.4 764#| 765(define-foreignu gluTessProperty _glu-tessalator* _gl-enum _gl-double ->) 766(define-foreignu gluGetTessProperty _glu-tessalator* _gl-enum _gl-doublev ->) 767(define-foreignu gluTessNormal _glu-tessalator* _gl-double _gl-double _gl-double ->) 768|# 769 770;; 5.7 771#| 772(define-foreignu gluBeginPolygon _glu-tessalator* ->) 773(define-foreignu gluNextContour _glu-tessalator* _gl-enum ->) 774(define-foreignu gluEndPolygon _glu-tessalator* ->) 775|# 776 777 ;; 6.1 778(define _glu-quadric 779 (_cpointer 'quadric _pointer #f 780 (lambda (q*) (register-finalizer q* gluDeleteQuadric) q*))) 781 782(define-foreignu gluNewQuadric -> _glu-quadric) 783 784;; Don't use define-foreign, because this shouldn't be provided 785(define gluDeleteQuadric 786 (with-handlers ([exn:fail:filesystem? 787 (lambda (ex) 788 (lambda x 789 (error 'gluDeleteQuadric 790 "unavailable on this system")))]) 791 (get-ffi-obj 'gluDeleteQuadric glu-lib (_fun* _glu-quadric -> _void)))) 792 793;; 6.2 794;;(define-foreignu gluQuadricCallback 795;; _glu-quadric [_gl-enum = GLU_ERROR] (_fun* _gl-enum -> _void) ->) 796 797;; 6.3 798(define-foreignu gluQuadricNormals _glu-quadric _gl-enum ->) 799(define-foreignu gluQuadricTexture _glu-quadric _gl-boolean ->) 800(define-foreignu gluQuadricOrientation _glu-quadric _gl-enum ->) 801(define-foreignu gluQuadricDrawStyle _glu-quadric _gl-enum ->) 802 803;; 6.4 804(define-foreignu gluSphere _glu-quadric _gl-double _gl-int _gl-int ->) 805(define-foreignu gluCylinder 806 _glu-quadric _gl-double _gl-double _gl-double _gl-int _gl-int ->) 807(define-foreignu gluDisk _glu-quadric _gl-double _gl-double _gl-int _gl-int ->) 808(define-foreignu gluPartialDisk 809 _glu-quadric _gl-double _gl-double _gl-int _gl-int _gl-double _gl-double ->) 810 811;; 7.1 812(define _glu-nurbs 813 (_cpointer 'nurbs _pointer #f 814 (lambda (q*) (register-finalizer q* gluDeleteNurbsRenderer) q*))) 815 816(define-foreignu gluNewNurbsRenderer -> _glu-nurbs) 817(define-foreignu gluDeleteNurbsRenderer _glu-nurbs ->) 818 819 820;; 7.2 821#| 822(define-foreignu gluNurbsCallback _glu-nurbs* _gl-enum ??? ->) 823(define-foreignu gluNurbsCallbackData _glu-nurbs* _gl-voidv ->) 824|# 825 826;; 7.3 827(define-foreignu gluBeginCurve _glu-nurbs ->) 828(define-foreignu gluNurbsCurve 829 _glu-nurbs _gl-int _gl-floatv _gl-int _gl-floatv _gl-int _gl-enum ->) 830(define-foreignu gluEndCurve _glu-nurbs ->) 831 832;; 7.4 833 834(define-foreignu gluBeginSurface _glu-nurbs ->) 835(define-foreignu gluNurbsSurface 836 _glu-nurbs _gl-int _gl-floatv _gl-int _gl-floatv _gl-int 837 _gl-int _gl-floatv _gl-int _gl-int _gl-enum ->) 838(define-foreignu gluEndSurface _glu-nurbs ->) 839 840 841;; 7.5 842#| 843(define-foreignu gluBeginTrim _glu-nurbs* ->) 844(define-foreignu gluPwlCurve _glu-nurbs* _gl-int _gl-floatv _gl-int _gl-enum ->) 845(define-foreignu gluEndTrim _glu-nurbs* ->) 846|# 847 848;; 7.6 849(define-foreignu gluNurbsProperty _glu-nurbs _gl-enum _gl-float ->) 850#| 851(define-foreignu gluLoadSamplingMatrix _glu-nurbs* _gl-floatv _gl-floatv _gl-intv ->) 852(define-foreignu gluGetNurbsProperty _glu-nurbs* _gl-enum _gl-floatv ->) 853|# 854 855;; 8 856(define-foreignu gluErrorString _gl-enum -> _string) 857 858 859(define-syntax define-enum 860 (syntax-rules () 861 [(_ d v) (begin (provide d) (define d v))] 862 [(_ _ d v) (define-enum d v)])) 863 864;; Enumeration constants for version 1.0 and 1.1 865;; These values are all taken from MESA's gl.h. 866;; Although the standard doesn't define these, they seem to be used on all 867;; platforms. 868(define-enum GL_FALSE #x0) 869(define-enum GL_TRUE #x1) 870(define-enum GL_BYTE #x1400) 871(define-enum GL_UNSIGNED_BYTE #x1401) 872(define-enum GL_SHORT #x1402) 873(define-enum GL_UNSIGNED_SHORT #x1403) 874(define-enum GL_INT #x1404) 875(define-enum GL_UNSIGNED_INT #x1405) 876(define-enum GL_FLOAT #x1406) 877(define-enum GL_DOUBLE #x140A) 878(define-enum GL_2_BYTES #x1407) 879(define-enum GL_3_BYTES #x1408) 880(define-enum GL_4_BYTES #x1409) 881(define-enum GL_POINTS #x0000) 882(define-enum GL_LINES #x0001) 883(define-enum GL_LINE_LOOP #x0002) 884(define-enum GL_LINE_STRIP #x0003) 885(define-enum GL_TRIANGLES #x0004) 886(define-enum GL_TRIANGLE_STRIP #x0005) 887(define-enum GL_TRIANGLE_FAN #x0006) 888(define-enum GL_QUADS #x0007) 889(define-enum GL_QUAD_STRIP #x0008) 890(define-enum GL_POLYGON #x0009) 891(define-enum GL_VERTEX_ARRAY #x8074) 892(define-enum GL_NORMAL_ARRAY #x8075) 893(define-enum GL_COLOR_ARRAY #x8076) 894(define-enum GL_INDEX_ARRAY #x8077) 895(define-enum GL_TEXTURE_COORD_ARRAY #x8078) 896(define-enum GL_EDGE_FLAG_ARRAY #x8079) 897(define-enum GL_VERTEX_ARRAY_SIZE #x807A) 898(define-enum GL_VERTEX_ARRAY_TYPE #x807B) 899(define-enum GL_VERTEX_ARRAY_STRIDE #x807C) 900(define-enum GL_NORMAL_ARRAY_TYPE #x807E) 901(define-enum GL_NORMAL_ARRAY_STRIDE #x807F) 902(define-enum GL_COLOR_ARRAY_SIZE #x8081) 903(define-enum GL_COLOR_ARRAY_TYPE #x8082) 904(define-enum GL_COLOR_ARRAY_STRIDE #x8083) 905(define-enum GL_INDEX_ARRAY_TYPE #x8085) 906(define-enum GL_INDEX_ARRAY_STRIDE #x8086) 907(define-enum GL_TEXTURE_COORD_ARRAY_SIZE #x8088) 908(define-enum GL_TEXTURE_COORD_ARRAY_TYPE #x8089) 909(define-enum GL_TEXTURE_COORD_ARRAY_STRIDE #x808A) 910(define-enum GL_EDGE_FLAG_ARRAY_STRIDE #x808C) 911(define-enum GL_VERTEX_ARRAY_POINTER #x808E) 912(define-enum GL_NORMAL_ARRAY_POINTER #x808F) 913(define-enum GL_COLOR_ARRAY_POINTER #x8090) 914(define-enum GL_INDEX_ARRAY_POINTER #x8091) 915(define-enum GL_TEXTURE_COORD_ARRAY_POINTER #x8092) 916(define-enum GL_EDGE_FLAG_ARRAY_POINTER #x8093) 917(define-enum GL_V2F #x2A20) 918(define-enum GL_V3F #x2A21) 919(define-enum GL_C4UB_V2F #x2A22) 920(define-enum GL_C4UB_V3F #x2A23) 921(define-enum GL_C3F_V3F #x2A24) 922(define-enum GL_N3F_V3F #x2A25) 923(define-enum GL_C4F_N3F_V3F #x2A26) 924(define-enum GL_T2F_V3F #x2A27) 925(define-enum GL_T4F_V4F #x2A28) 926(define-enum GL_T2F_C4UB_V3F #x2A29) 927(define-enum GL_T2F_C3F_V3F #x2A2A) 928(define-enum GL_T2F_N3F_V3F #x2A2B) 929(define-enum GL_T2F_C4F_N3F_V3F #x2A2C) 930(define-enum GL_T4F_C4F_N3F_V4F #x2A2D) 931(define-enum GL_MATRIX_MODE #x0BA0) 932(define-enum GL_MODELVIEW #x1700) 933(define-enum GL_PROJECTION #x1701) 934(define-enum GL_TEXTURE #x1702) 935(define-enum GL_POINT_SMOOTH #x0B10) 936(define-enum GL_POINT_SIZE #x0B11) 937(define-enum GL_POINT_SIZE_GRANULARITY #x0B13) 938(define-enum GL_POINT_SIZE_RANGE #x0B12) 939(define-enum GL_LINE_SMOOTH #x0B20) 940(define-enum GL_LINE_STIPPLE #x0B24) 941(define-enum GL_LINE_STIPPLE_PATTERN #x0B25) 942(define-enum GL_LINE_STIPPLE_REPEAT #x0B26) 943(define-enum GL_LINE_WIDTH #x0B21) 944(define-enum GL_LINE_WIDTH_GRANULARITY #x0B23) 945(define-enum GL_LINE_WIDTH_RANGE #x0B22) 946(define-enum GL_POINT #x1B00) 947(define-enum GL_LINE #x1B01) 948(define-enum GL_FILL #x1B02) 949(define-enum GL_CW #x0900) 950(define-enum GL_CCW #x0901) 951(define-enum GL_FRONT #x0404) 952(define-enum GL_BACK #x0405) 953(define-enum GL_POLYGON_MODE #x0B40) 954(define-enum GL_POLYGON_SMOOTH #x0B41) 955(define-enum GL_POLYGON_STIPPLE #x0B42) 956(define-enum GL_EDGE_FLAG #x0B43) 957(define-enum GL_CULL_FACE #x0B44) 958(define-enum GL_CULL_FACE_MODE #x0B45) 959(define-enum GL_FRONT_FACE #x0B46) 960(define-enum GL_POLYGON_OFFSET_FACTOR #x8038) 961(define-enum GL_POLYGON_OFFSET_UNITS #x2A00) 962(define-enum GL_POLYGON_OFFSET_POINT #x2A01) 963(define-enum GL_POLYGON_OFFSET_LINE #x2A02) 964(define-enum GL_POLYGON_OFFSET_FILL #x8037) 965(define-enum GL_COMPILE #x1300) 966(define-enum GL_COMPILE_AND_EXECUTE #x1301) 967(define-enum GL_LIST_BASE #x0B32) 968(define-enum GL_LIST_INDEX #x0B33) 969(define-enum GL_LIST_MODE #x0B30) 970(define-enum GL_NEVER #x0200) 971(define-enum GL_LESS #x0201) 972(define-enum GL_EQUAL #x0202) 973(define-enum GL_LEQUAL #x0203) 974(define-enum GL_GREATER #x0204) 975(define-enum GL_NOTEQUAL #x0205) 976(define-enum GL_GEQUAL #x0206) 977(define-enum GL_ALWAYS #x0207) 978(define-enum GL_DEPTH_TEST #x0B71) 979(define-enum GL_DEPTH_BITS #x0D56) 980(define-enum GL_DEPTH_CLEAR_VALUE #x0B73) 981(define-enum GL_DEPTH_FUNC #x0B74) 982(define-enum GL_DEPTH_RANGE #x0B70) 983(define-enum GL_DEPTH_WRITEMASK #x0B72) 984(define-enum GL_DEPTH_COMPONENT #x1902) 985(define-enum GL_LIGHTING #x0B50) 986(define-enum GL_LIGHT0 #x4000) 987(define-enum GL_LIGHT1 #x4001) 988(define-enum GL_LIGHT2 #x4002) 989(define-enum GL_LIGHT3 #x4003) 990(define-enum GL_LIGHT4 #x4004) 991(define-enum GL_LIGHT5 #x4005) 992(define-enum GL_LIGHT6 #x4006) 993(define-enum GL_LIGHT7 #x4007) 994(define-enum GL_SPOT_EXPONENT #x1205) 995(define-enum GL_SPOT_CUTOFF #x1206) 996(define-enum GL_CONSTANT_ATTENUATION #x1207) 997(define-enum GL_LINEAR_ATTENUATION #x1208) 998(define-enum GL_QUADRATIC_ATTENUATION #x1209) 999(define-enum GL_AMBIENT #x1200) 1000(define-enum GL_DIFFUSE #x1201) 1001(define-enum GL_SPECULAR #x1202) 1002(define-enum GL_SHININESS #x1601) 1003(define-enum GL_EMISSION #x1600) 1004(define-enum GL_POSITION #x1203) 1005(define-enum GL_SPOT_DIRECTION #x1204) 1006(define-enum GL_AMBIENT_AND_DIFFUSE #x1602) 1007(define-enum GL_COLOR_INDEXES #x1603) 1008(define-enum GL_LIGHT_MODEL_TWO_SIDE #x0B52) 1009(define-enum GL_LIGHT_MODEL_LOCAL_VIEWER #x0B51) 1010(define-enum GL_LIGHT_MODEL_AMBIENT #x0B53) 1011(define-enum GL_FRONT_AND_BACK #x0408) 1012(define-enum GL_SHADE_MODEL #x0B54) 1013(define-enum GL_FLAT #x1D00) 1014(define-enum GL_SMOOTH #x1D01) 1015(define-enum GL_COLOR_MATERIAL #x0B57) 1016(define-enum GL_COLOR_MATERIAL_FACE #x0B55) 1017(define-enum GL_COLOR_MATERIAL_PARAMETER #x0B56) 1018(define-enum GL_NORMALIZE #x0BA1) 1019(define-enum GL_CLIP_PLANE0 #x3000) 1020(define-enum GL_CLIP_PLANE1 #x3001) 1021(define-enum GL_CLIP_PLANE2 #x3002) 1022(define-enum GL_CLIP_PLANE3 #x3003) 1023(define-enum GL_CLIP_PLANE4 #x3004) 1024(define-enum GL_CLIP_PLANE5 #x3005) 1025(define-enum GL_ACCUM_RED_BITS #x0D58) 1026(define-enum GL_ACCUM_GREEN_BITS #x0D59) 1027(define-enum GL_ACCUM_BLUE_BITS #x0D5A) 1028(define-enum GL_ACCUM_ALPHA_BITS #x0D5B) 1029(define-enum GL_ACCUM_CLEAR_VALUE #x0B80) 1030(define-enum GL_ACCUM #x0100) 1031(define-enum GL_ADD #x0104) 1032(define-enum GL_LOAD #x0101) 1033(define-enum GL_MULT #x0103) 1034(define-enum GL_RETURN #x0102) 1035(define-enum GL_ALPHA_TEST #x0BC0) 1036(define-enum GL_ALPHA_TEST_REF #x0BC2) 1037(define-enum GL_ALPHA_TEST_FUNC #x0BC1) 1038(define-enum GL_BLEND #x0BE2) 1039(define-enum GL_BLEND_SRC #x0BE1) 1040(define-enum GL_BLEND_DST #x0BE0) 1041(define-enum GL_ZERO #x0) 1042(define-enum GL_ONE #x1) 1043(define-enum GL_SRC_COLOR #x0300) 1044(define-enum GL_ONE_MINUS_SRC_COLOR #x0301) 1045(define-enum GL_SRC_ALPHA #x0302) 1046(define-enum GL_ONE_MINUS_SRC_ALPHA #x0303) 1047(define-enum GL_DST_ALPHA #x0304) 1048(define-enum GL_ONE_MINUS_DST_ALPHA #x0305) 1049(define-enum GL_DST_COLOR #x0306) 1050(define-enum GL_ONE_MINUS_DST_COLOR #x0307) 1051(define-enum GL_SRC_ALPHA_SATURATE #x0308) 1052(define-enum GL_FEEDBACK #x1C01) 1053(define-enum GL_RENDER #x1C00) 1054(define-enum GL_SELECT #x1C02) 1055(define-enum GL_2D #x0600) 1056(define-enum GL_3D #x0601) 1057(define-enum GL_3D_COLOR #x0602) 1058(define-enum GL_3D_COLOR_TEXTURE #x0603) 1059(define-enum GL_4D_COLOR_TEXTURE #x0604) 1060(define-enum GL_POINT_TOKEN #x0701) 1061(define-enum GL_LINE_TOKEN #x0702) 1062(define-enum GL_LINE_RESET_TOKEN #x0707) 1063(define-enum GL_POLYGON_TOKEN #x0703) 1064(define-enum GL_BITMAP_TOKEN #x0704) 1065(define-enum GL_DRAW_PIXEL_TOKEN #x0705) 1066(define-enum GL_COPY_PIXEL_TOKEN #x0706) 1067(define-enum GL_PASS_THROUGH_TOKEN #x0700) 1068(define-enum GL_FEEDBACK_BUFFER_POINTER #x0DF0) 1069(define-enum GL_FEEDBACK_BUFFER_SIZE #x0DF1) 1070(define-enum GL_FEEDBACK_BUFFER_TYPE #x0DF2) 1071(define-enum GL_SELECTION_BUFFER_POINTER #x0DF3) 1072(define-enum GL_SELECTION_BUFFER_SIZE #x0DF4) 1073(define-enum GL_FOG #x0B60) 1074(define-enum GL_FOG_MODE #x0B65) 1075(define-enum GL_FOG_DENSITY #x0B62) 1076(define-enum GL_FOG_COLOR #x0B66) 1077(define-enum GL_FOG_INDEX #x0B61) 1078(define-enum GL_FOG_START #x0B63) 1079(define-enum GL_FOG_END #x0B64) 1080(define-enum GL_LINEAR #x2601) 1081(define-enum GL_EXP #x0800) 1082(define-enum GL_EXP2 #x0801) 1083(define-enum GL_LOGIC_OP #x0BF1) 1084(define-enum GL_INDEX_LOGIC_OP #x0BF1) 1085(define-enum GL_COLOR_LOGIC_OP #x0BF2) 1086(define-enum GL_LOGIC_OP_MODE #x0BF0) 1087(define-enum GL_CLEAR #x1500) 1088(define-enum GL_SET #x150F) 1089(define-enum GL_COPY #x1503) 1090(define-enum GL_COPY_INVERTED #x150C) 1091(define-enum GL_NOOP #x1505) 1092(define-enum GL_INVERT #x150A) 1093(define-enum GL_AND #x1501) 1094(define-enum GL_NAND #x150E) 1095(define-enum GL_OR #x1507) 1096(define-enum GL_NOR #x1508) 1097(define-enum GL_XOR #x1506) 1098(define-enum GL_EQUIV #x1509) 1099(define-enum GL_AND_REVERSE #x1502) 1100(define-enum GL_AND_INVERTED #x1504) 1101(define-enum GL_OR_REVERSE #x150B) 1102(define-enum GL_OR_INVERTED #x150D) 1103(define-enum GL_STENCIL_TEST #x0B90) 1104(define-enum GL_STENCIL_WRITEMASK #x0B98) 1105(define-enum GL_STENCIL_BITS #x0D57) 1106(define-enum GL_STENCIL_FUNC #x0B92) 1107(define-enum GL_STENCIL_VALUE_MASK #x0B93) 1108(define-enum GL_STENCIL_REF #x0B97) 1109(define-enum GL_STENCIL_FAIL #x0B94) 1110(define-enum GL_STENCIL_PASS_DEPTH_PASS #x0B96) 1111(define-enum GL_STENCIL_PASS_DEPTH_FAIL #x0B95) 1112(define-enum GL_STENCIL_CLEAR_VALUE #x0B91) 1113(define-enum GL_STENCIL_INDEX #x1901) 1114(define-enum GL_KEEP #x1E00) 1115(define-enum GL_REPLACE #x1E01) 1116(define-enum GL_INCR #x1E02) 1117(define-enum GL_DECR #x1E03) 1118(define-enum GL_NONE #x0) 1119(define-enum GL_LEFT #x0406) 1120(define-enum GL_RIGHT #x0407) 1121(define-enum GL_FRONT_LEFT #x0400) 1122(define-enum GL_FRONT_RIGHT #x0401) 1123(define-enum GL_BACK_LEFT #x0402) 1124(define-enum GL_BACK_RIGHT #x0403) 1125(define-enum GL_AUX0 #x0409) 1126(define-enum GL_AUX1 #x040A) 1127(define-enum GL_AUX2 #x040B) 1128(define-enum GL_AUX3 #x040C) 1129(define-enum GL_COLOR_INDEX #x1900) 1130(define-enum GL_RED #x1903) 1131(define-enum GL_GREEN #x1904) 1132(define-enum GL_BLUE #x1905) 1133(define-enum GL_ALPHA #x1906) 1134(define-enum GL_LUMINANCE #x1909) 1135(define-enum GL_LUMINANCE_ALPHA #x190A) 1136(define-enum GL_ALPHA_BITS #x0D55) 1137(define-enum GL_RED_BITS #x0D52) 1138(define-enum GL_GREEN_BITS #x0D53) 1139(define-enum GL_BLUE_BITS #x0D54) 1140(define-enum GL_INDEX_BITS #x0D51) 1141(define-enum GL_SUBPIXEL_BITS #x0D50) 1142(define-enum GL_AUX_BUFFERS #x0C00) 1143(define-enum GL_READ_BUFFER #x0C02) 1144(define-enum GL_DRAW_BUFFER #x0C01) 1145(define-enum GL_DOUBLEBUFFER #x0C32) 1146(define-enum GL_STEREO #x0C33) 1147(define-enum GL_BITMAP #x1A00) 1148(define-enum GL_COLOR #x1800) 1149(define-enum GL_DEPTH #x1801) 1150(define-enum GL_STENCIL #x1802) 1151(define-enum GL_DITHER #x0BD0) 1152(define-enum GL_RGB #x1907) 1153(define-enum GL_RGBA #x1908) 1154(define-enum GL_MAX_LIST_NESTING #x0B31) 1155(define-enum GL_MAX_ATTRIB_STACK_DEPTH #x0D35) 1156(define-enum GL_MAX_MODELVIEW_STACK_DEPTH #x0D36) 1157(define-enum GL_MAX_NAME_STACK_DEPTH #x0D37) 1158(define-enum GL_MAX_PROJECTION_STACK_DEPTH #x0D38) 1159(define-enum GL_MAX_TEXTURE_STACK_DEPTH #x0D39) 1160(define-enum GL_MAX_EVAL_ORDER #x0D30) 1161(define-enum GL_MAX_LIGHTS #x0D31) 1162(define-enum GL_MAX_CLIP_PLANES #x0D32) 1163(define-enum GL_MAX_TEXTURE_SIZE #x0D33) 1164(define-enum GL_MAX_PIXEL_MAP_TABLE #x0D34) 1165(define-enum GL_MAX_VIEWPORT_DIMS #x0D3A) 1166(define-enum GL_MAX_CLIENT_ATTRIB_STACK_DEPTH #x0D3B) 1167(define-enum GL_ATTRIB_STACK_DEPTH #x0BB0) 1168(define-enum GL_CLIENT_ATTRIB_STACK_DEPTH #x0BB1) 1169(define-enum GL_COLOR_CLEAR_VALUE #x0C22) 1170(define-enum GL_COLOR_WRITEMASK #x0C23) 1171(define-enum GL_CURRENT_INDEX #x0B01) 1172(define-enum GL_CURRENT_COLOR #x0B00) 1173(define-enum GL_CURRENT_NORMAL #x0B02) 1174(define-enum GL_CURRENT_RASTER_COLOR #x0B04) 1175(define-enum GL_CURRENT_RASTER_DISTANCE #x0B09) 1176(define-enum GL_CURRENT_RASTER_INDEX #x0B05) 1177(define-enum GL_CURRENT_RASTER_POSITION #x0B07) 1178(define-enum GL_CURRENT_RASTER_TEXTURE_COORDS #x0B06) 1179(define-enum GL_CURRENT_RASTER_POSITION_VALID #x0B08) 1180(define-enum GL_CURRENT_TEXTURE_COORDS #x0B03) 1181(define-enum GL_INDEX_CLEAR_VALUE #x0C20) 1182(define-enum GL_INDEX_MODE #x0C30) 1183(define-enum GL_INDEX_WRITEMASK #x0C21) 1184(define-enum GL_MODELVIEW_MATRIX #x0BA6) 1185(define-enum GL_MODELVIEW_STACK_DEPTH #x0BA3) 1186(define-enum GL_NAME_STACK_DEPTH #x0D70) 1187(define-enum GL_PROJECTION_MATRIX #x0BA7) 1188(define-enum GL_PROJECTION_STACK_DEPTH #x0BA4) 1189(define-enum GL_RENDER_MODE #x0C40) 1190(define-enum GL_RGBA_MODE #x0C31) 1191(define-enum GL_TEXTURE_MATRIX #x0BA8) 1192(define-enum GL_TEXTURE_STACK_DEPTH #x0BA5) 1193(define-enum GL_VIEWPORT #x0BA2) 1194(define-enum GL_AUTO_NORMAL #x0D80) 1195(define-enum GL_MAP1_COLOR_4 #x0D90) 1196(define-enum GL_MAP1_GRID_DOMAIN #x0DD0) 1197(define-enum GL_MAP1_GRID_SEGMENTS #x0DD1) 1198(define-enum GL_MAP1_INDEX #x0D91) 1199(define-enum GL_MAP1_NORMAL #x0D92) 1200(define-enum GL_MAP1_TEXTURE_COORD_1 #x0D93) 1201(define-enum GL_MAP1_TEXTURE_COORD_2 #x0D94) 1202(define-enum GL_MAP1_TEXTURE_COORD_3 #x0D95) 1203(define-enum GL_MAP1_TEXTURE_COORD_4 #x0D96) 1204(define-enum GL_MAP1_VERTEX_3 #x0D97) 1205(define-enum GL_MAP1_VERTEX_4 #x0D98) 1206(define-enum GL_MAP2_COLOR_4 #x0DB0) 1207(define-enum GL_MAP2_GRID_DOMAIN #x0DD2) 1208(define-enum GL_MAP2_GRID_SEGMENTS #x0DD3) 1209(define-enum GL_MAP2_INDEX #x0DB1) 1210(define-enum GL_MAP2_NORMAL #x0DB2) 1211(define-enum GL_MAP2_TEXTURE_COORD_1 #x0DB3) 1212(define-enum GL_MAP2_TEXTURE_COORD_2 #x0DB4) 1213(define-enum GL_MAP2_TEXTURE_COORD_3 #x0DB5) 1214(define-enum GL_MAP2_TEXTURE_COORD_4 #x0DB6) 1215(define-enum GL_MAP2_VERTEX_3 #x0DB7) 1216(define-enum GL_MAP2_VERTEX_4 #x0DB8) 1217(define-enum GL_COEFF #x0A00) 1218(define-enum GL_DOMAIN #x0A02) 1219(define-enum GL_ORDER #x0A01) 1220(define-enum GL_FOG_HINT #x0C54) 1221(define-enum GL_LINE_SMOOTH_HINT #x0C52) 1222(define-enum GL_PERSPECTIVE_CORRECTION_HINT #x0C50) 1223(define-enum GL_POINT_SMOOTH_HINT #x0C51) 1224(define-enum GL_POLYGON_SMOOTH_HINT #x0C53) 1225(define-enum GL_DONT_CARE #x1100) 1226(define-enum GL_FASTEST #x1101) 1227(define-enum GL_NICEST #x1102) 1228(define-enum GL_SCISSOR_TEST #x0C11) 1229(define-enum GL_SCISSOR_BOX #x0C10) 1230(define-enum GL_MAP_COLOR #x0D10) 1231(define-enum GL_MAP_STENCIL #x0D11) 1232(define-enum GL_INDEX_SHIFT #x0D12) 1233(define-enum GL_INDEX_OFFSET #x0D13) 1234(define-enum GL_RED_SCALE #x0D14) 1235(define-enum GL_RED_BIAS #x0D15) 1236(define-enum GL_GREEN_SCALE #x0D18) 1237(define-enum GL_GREEN_BIAS #x0D19) 1238(define-enum GL_BLUE_SCALE #x0D1A) 1239(define-enum GL_BLUE_BIAS #x0D1B) 1240(define-enum GL_ALPHA_SCALE #x0D1C) 1241(define-enum GL_ALPHA_BIAS #x0D1D) 1242(define-enum GL_DEPTH_SCALE #x0D1E) 1243(define-enum GL_DEPTH_BIAS #x0D1F) 1244(define-enum GL_PIXEL_MAP_S_TO_S_SIZE #x0CB1) 1245(define-enum GL_PIXEL_MAP_I_TO_I_SIZE #x0CB0) 1246(define-enum GL_PIXEL_MAP_I_TO_R_SIZE #x0CB2) 1247(define-enum GL_PIXEL_MAP_I_TO_G_SIZE #x0CB3) 1248(define-enum GL_PIXEL_MAP_I_TO_B_SIZE #x0CB4) 1249(define-enum GL_PIXEL_MAP_I_TO_A_SIZE #x0CB5) 1250(define-enum GL_PIXEL_MAP_R_TO_R_SIZE #x0CB6) 1251(define-enum GL_PIXEL_MAP_G_TO_G_SIZE #x0CB7) 1252(define-enum GL_PIXEL_MAP_B_TO_B_SIZE #x0CB8) 1253(define-enum GL_PIXEL_MAP_A_TO_A_SIZE #x0CB9) 1254(define-enum GL_PIXEL_MAP_S_TO_S #x0C71) 1255(define-enum GL_PIXEL_MAP_I_TO_I #x0C70) 1256(define-enum GL_PIXEL_MAP_I_TO_R #x0C72) 1257(define-enum GL_PIXEL_MAP_I_TO_G #x0C73) 1258(define-enum GL_PIXEL_MAP_I_TO_B #x0C74) 1259(define-enum GL_PIXEL_MAP_I_TO_A #x0C75) 1260(define-enum GL_PIXEL_MAP_R_TO_R #x0C76) 1261(define-enum GL_PIXEL_MAP_G_TO_G #x0C77) 1262(define-enum GL_PIXEL_MAP_B_TO_B #x0C78) 1263(define-enum GL_PIXEL_MAP_A_TO_A #x0C79) 1264(define-enum GL_PACK_ALIGNMENT #x0D05) 1265(define-enum GL_PACK_LSB_FIRST #x0D01) 1266(define-enum GL_PACK_ROW_LENGTH #x0D02) 1267(define-enum GL_PACK_SKIP_PIXELS #x0D04) 1268(define-enum GL_PACK_SKIP_ROWS #x0D03) 1269(define-enum GL_PACK_SWAP_BYTES #x0D00) 1270(define-enum GL_UNPACK_ALIGNMENT #x0CF5) 1271(define-enum GL_UNPACK_LSB_FIRST #x0CF1) 1272(define-enum GL_UNPACK_ROW_LENGTH #x0CF2) 1273(define-enum GL_UNPACK_SKIP_PIXELS #x0CF4) 1274(define-enum GL_UNPACK_SKIP_ROWS #x0CF3) 1275(define-enum GL_UNPACK_SWAP_BYTES #x0CF0) 1276(define-enum GL_ZOOM_X #x0D16) 1277(define-enum GL_ZOOM_Y #x0D17) 1278(define-enum GL_TEXTURE_ENV #x2300) 1279(define-enum GL_TEXTURE_ENV_MODE #x2200) 1280(define-enum GL_TEXTURE_1D #x0DE0) 1281(define-enum GL_TEXTURE_2D #x0DE1) 1282(define-enum GL_TEXTURE_WRAP_S #x2802) 1283(define-enum GL_TEXTURE_WRAP_T #x2803) 1284(define-enum GL_TEXTURE_MAG_FILTER #x2800) 1285(define-enum GL_TEXTURE_MIN_FILTER #x2801) 1286(define-enum GL_TEXTURE_ENV_COLOR #x2201) 1287(define-enum GL_TEXTURE_GEN_S #x0C60) 1288(define-enum GL_TEXTURE_GEN_T #x0C61) 1289(define-enum GL_TEXTURE_GEN_MODE #x2500) 1290(define-enum GL_TEXTURE_BORDER_COLOR #x1004) 1291(define-enum GL_TEXTURE_WIDTH #x1000) 1292(define-enum GL_TEXTURE_HEIGHT #x1001) 1293(define-enum GL_TEXTURE_BORDER #x1005) 1294(define-enum GL_TEXTURE_COMPONENTS #x1003) 1295(define-enum GL_TEXTURE_RED_SIZE #x805C) 1296(define-enum GL_TEXTURE_GREEN_SIZE #x805D) 1297(define-enum GL_TEXTURE_BLUE_SIZE #x805E) 1298(define-enum GL_TEXTURE_ALPHA_SIZE #x805F) 1299(define-enum GL_TEXTURE_LUMINANCE_SIZE #x8060) 1300(define-enum GL_TEXTURE_INTENSITY_SIZE #x8061) 1301(define-enum GL_NEAREST_MIPMAP_NEAREST #x2700) 1302(define-enum GL_NEAREST_MIPMAP_LINEAR #x2702) 1303(define-enum GL_LINEAR_MIPMAP_NEAREST #x2701) 1304(define-enum GL_LINEAR_MIPMAP_LINEAR #x2703) 1305(define-enum GL_OBJECT_LINEAR #x2401) 1306(define-enum GL_OBJECT_PLANE #x2501) 1307(define-enum GL_EYE_LINEAR #x2400) 1308(define-enum GL_EYE_PLANE #x2502) 1309(define-enum GL_SPHERE_MAP #x2402) 1310(define-enum GL_DECAL #x2101) 1311(define-enum GL_MODULATE #x2100) 1312(define-enum GL_NEAREST #x2600) 1313(define-enum GL_REPEAT #x2901) 1314(define-enum GL_CLAMP #x2900) 1315(define-enum GL_S #x2000) 1316(define-enum GL_T #x2001) 1317(define-enum GL_R #x2002) 1318(define-enum GL_Q #x2003) 1319(define-enum GL_TEXTURE_GEN_R #x0C62) 1320(define-enum GL_TEXTURE_GEN_Q #x0C63) 1321(define-enum GL_VENDOR #x1F00) 1322(define-enum GL_RENDERER #x1F01) 1323(define-enum GL_VERSION #x1F02) 1324(define-enum GL_EXTENSIONS #x1F03) 1325(define-enum GL_NO_ERROR #x0) 1326(define-enum GL_INVALID_VALUE #x0501) 1327(define-enum GL_INVALID_ENUM #x0500) 1328(define-enum GL_INVALID_OPERATION #x0502) 1329(define-enum GL_STACK_OVERFLOW #x0503) 1330(define-enum GL_STACK_UNDERFLOW #x0504) 1331(define-enum GL_OUT_OF_MEMORY #x0505) 1332(define-enum GL_CURRENT_BIT #x00000001) 1333(define-enum GL_POINT_BIT #x00000002) 1334(define-enum GL_LINE_BIT #x00000004) 1335(define-enum GL_POLYGON_BIT #x00000008) 1336(define-enum GL_POLYGON_STIPPLE_BIT #x00000010) 1337(define-enum GL_PIXEL_MODE_BIT #x00000020) 1338(define-enum GL_LIGHTING_BIT #x00000040) 1339(define-enum GL_FOG_BIT #x00000080) 1340(define-enum GL_DEPTH_BUFFER_BIT #x00000100) 1341(define-enum GL_ACCUM_BUFFER_BIT #x00000200) 1342(define-enum GL_STENCIL_BUFFER_BIT #x00000400) 1343(define-enum GL_VIEWPORT_BIT #x00000800) 1344(define-enum GL_TRANSFORM_BIT #x00001000) 1345(define-enum GL_ENABLE_BIT #x00002000) 1346(define-enum GL_COLOR_BUFFER_BIT #x00004000) 1347(define-enum GL_HINT_BIT #x00008000) 1348(define-enum GL_EVAL_BIT #x00010000) 1349(define-enum GL_LIST_BIT #x00020000) 1350(define-enum GL_TEXTURE_BIT #x00040000) 1351(define-enum GL_SCISSOR_BIT #x00080000) 1352(define-enum GL_ALL_ATTRIB_BITS #x000FFFFF) 1353(define-enum GL_PROXY_TEXTURE_1D #x8063) 1354(define-enum GL_PROXY_TEXTURE_2D #x8064) 1355(define-enum GL_TEXTURE_PRIORITY #x8066) 1356(define-enum GL_TEXTURE_RESIDENT #x8067) 1357(define-enum GL_TEXTURE_BINDING_1D #x8068) 1358(define-enum GL_TEXTURE_BINDING_2D #x8069) 1359(define-enum GL_TEXTURE_INTERNAL_FORMAT #x1003) 1360(define-enum GL_ALPHA4 #x803B) 1361(define-enum GL_ALPHA8 #x803C) 1362(define-enum GL_ALPHA12 #x803D) 1363(define-enum GL_ALPHA16 #x803E) 1364(define-enum GL_LUMINANCE4 #x803F) 1365(define-enum GL_LUMINANCE8 #x8040) 1366(define-enum GL_LUMINANCE12 #x8041) 1367(define-enum GL_LUMINANCE16 #x8042) 1368(define-enum GL_LUMINANCE4_ALPHA4 #x8043) 1369(define-enum GL_LUMINANCE6_ALPHA2 #x8044) 1370(define-enum GL_LUMINANCE8_ALPHA8 #x8045) 1371(define-enum GL_LUMINANCE12_ALPHA4 #x8046) 1372(define-enum GL_LUMINANCE12_ALPHA12 #x8047) 1373(define-enum GL_LUMINANCE16_ALPHA16 #x8048) 1374(define-enum GL_INTENSITY #x8049) 1375(define-enum GL_INTENSITY4 #x804A) 1376(define-enum GL_INTENSITY8 #x804B) 1377(define-enum GL_INTENSITY12 #x804C) 1378(define-enum GL_INTENSITY16 #x804D) 1379(define-enum GL_R3_G3_B2 #x2A10) 1380(define-enum GL_RGB4 #x804F) 1381(define-enum GL_RGB5 #x8050) 1382(define-enum GL_RGB8 #x8051) 1383(define-enum GL_RGB10 #x8052) 1384(define-enum GL_RGB12 #x8053) 1385(define-enum GL_RGB16 #x8054) 1386(define-enum GL_RGBA2 #x8055) 1387(define-enum GL_RGBA4 #x8056) 1388(define-enum GL_RGB5_A1 #x8057) 1389(define-enum GL_RGBA8 #x8058) 1390(define-enum GL_RGB10_A2 #x8059) 1391(define-enum GL_RGBA12 #x805A) 1392(define-enum GL_RGBA16 #x805B) 1393(define-enum GL_CLIENT_PIXEL_STORE_BIT #x00000001) 1394(define-enum GL_CLIENT_VERTEX_ARRAY_BIT #x00000002) 1395(define-enum GL_ALL_CLIENT_ATTRIB_BITS #xFFFFFFFF) 1396(define-enum GL_CLIENT_ALL_ATTRIB_BITS #xFFFFFFFF) 1397 1398;; These values are taken from SGI's glext.h. 1399(define-enum 12 GL_UNSIGNED_BYTE_3_3_2 #x8032) 1400(define-enum 12 GL_UNSIGNED_SHORT_4_4_4_4 #x8033) 1401(define-enum 12 GL_UNSIGNED_SHORT_5_5_5_1 #x8034) 1402(define-enum 12 GL_UNSIGNED_INT_8_8_8_8 #x8035) 1403(define-enum 12 GL_UNSIGNED_INT_10_10_10_2 #x8036) 1404(define-enum 12 GL_RESCALE_NORMAL #x803A) 1405(define-enum 12 GL_TEXTURE_BINDING_3D #x806A) 1406(define-enum 12 GL_PACK_SKIP_IMAGES #x806B) 1407(define-enum 12 GL_PACK_IMAGE_HEIGHT #x806C) 1408(define-enum 12 GL_UNPACK_SKIP_IMAGES #x806D) 1409(define-enum 12 GL_UNPACK_IMAGE_HEIGHT #x806E) 1410(define-enum 12 GL_TEXTURE_3D #x806F) 1411(define-enum 12 GL_PROXY_TEXTURE_3D #x8070) 1412(define-enum 12 GL_TEXTURE_DEPTH #x8071) 1413(define-enum 12 GL_TEXTURE_WRAP_R #x8072) 1414(define-enum 12 GL_MAX_3D_TEXTURE_SIZE #x8073) 1415(define-enum 12 GL_UNSIGNED_BYTE_2_3_3_REV #x8362) 1416(define-enum 12 GL_UNSIGNED_SHORT_5_6_5 #x8363) 1417(define-enum 12 GL_UNSIGNED_SHORT_5_6_5_REV #x8364) 1418(define-enum 12 GL_UNSIGNED_SHORT_4_4_4_4_REV #x8365) 1419(define-enum 12 GL_UNSIGNED_SHORT_1_5_5_5_REV #x8366) 1420(define-enum 12 GL_UNSIGNED_INT_8_8_8_8_REV #x8367) 1421(define-enum 12 GL_UNSIGNED_INT_2_10_10_10_REV #x8368) 1422(define-enum 12 GL_BGR #x80E0) 1423(define-enum 12 GL_BGRA #x80E1) 1424(define-enum 12 GL_MAX_ELEMENTS_VERTICES #x80E8) 1425(define-enum 12 GL_MAX_ELEMENTS_INDICES #x80E9) 1426(define-enum 12 GL_CLAMP_TO_EDGE #x812F) 1427(define-enum 12 GL_TEXTURE_MIN_LOD #x813A) 1428(define-enum 12 GL_TEXTURE_MAX_LOD #x813B) 1429(define-enum 12 GL_TEXTURE_BASE_LEVEL #x813C) 1430(define-enum 12 GL_TEXTURE_MAX_LEVEL #x813D) 1431(define-enum 12 GL_LIGHT_MODEL_COLOR_CONTROL #x81F8) 1432(define-enum 12 GL_SINGLE_COLOR #x81F9) 1433(define-enum 12 GL_SEPARATE_SPECULAR_COLOR #x81FA) 1434(define-enum 12 GL_SMOOTH_POINT_SIZE_RANGE #x0B12) 1435(define-enum 12 GL_SMOOTH_POINT_SIZE_GRANULARITY #x0B13) 1436(define-enum 12 GL_SMOOTH_LINE_WIDTH_RANGE #x0B22) 1437(define-enum 12 GL_SMOOTH_LINE_WIDTH_GRANULARITY #x0B23) 1438(define-enum 12 GL_ALIASED_POINT_SIZE_RANGE #x846D) 1439(define-enum 12 GL_ALIASED_LINE_WIDTH_RANGE #x846E) 1440 1441(define-enum 'img GL_CONSTANT_COLOR #x8001) 1442(define-enum 'img GL_ONE_MINUS_CONSTANT_COLOR #x8002) 1443(define-enum 'img GL_CONSTANT_ALPHA #x8003) 1444(define-enum 'img GL_ONE_MINUS_CONSTANT_ALPHA #x8004) 1445(define-enum 'img GL_BLEND_COLOR #x8005) 1446(define-enum 'img GL_FUNC_ADD #x8006) 1447(define-enum 'img GL_MIN #x8007) 1448(define-enum 'img GL_MAX #x8008) 1449(define-enum 'img GL_BLEND_EQUATION #x8009) 1450(define-enum 'img GL_FUNC_SUBTRACT #x800A) 1451(define-enum 'img GL_FUNC_REVERSE_SUBTRACT #x800B) 1452(define-enum 'img GL_CONVOLUTION_1D #x8010) 1453(define-enum 'img GL_CONVOLUTION_2D #x8011) 1454(define-enum 'img GL_SEPARABLE_2D #x8012) 1455(define-enum 'img GL_CONVOLUTION_BORDER_MODE #x8013) 1456(define-enum 'img GL_CONVOLUTION_FILTER_SCALE #x8014) 1457(define-enum 'img GL_CONVOLUTION_FILTER_BIAS #x8015) 1458(define-enum 'img GL_REDUCE #x8016) 1459(define-enum 'img GL_CONVOLUTION_FORMAT #x8017) 1460(define-enum 'img GL_CONVOLUTION_WIDTH #x8018) 1461(define-enum 'img GL_CONVOLUTION_HEIGHT #x8019) 1462(define-enum 'img GL_MAX_CONVOLUTION_WIDTH #x801A) 1463(define-enum 'img GL_MAX_CONVOLUTION_HEIGHT #x801B) 1464(define-enum 'img GL_POST_CONVOLUTION_RED_SCALE #x801C) 1465(define-enum 'img GL_POST_CONVOLUTION_GREEN_SCALE #x801D) 1466(define-enum 'img GL_POST_CONVOLUTION_BLUE_SCALE #x801E) 1467(define-enum 'img GL_POST_CONVOLUTION_ALPHA_SCALE #x801F) 1468(define-enum 'img GL_POST_CONVOLUTION_RED_BIAS #x8020) 1469(define-enum 'img GL_POST_CONVOLUTION_GREEN_BIAS #x8021) 1470(define-enum 'img GL_POST_CONVOLUTION_BLUE_BIAS #x8022) 1471(define-enum 'img GL_POST_CONVOLUTION_ALPHA_BIAS #x8023) 1472(define-enum 'img GL_HISTOGRAM #x8024) 1473(define-enum 'img GL_PROXY_HISTOGRAM #x8025) 1474(define-enum 'img GL_HISTOGRAM_WIDTH #x8026) 1475(define-enum 'img GL_HISTOGRAM_FORMAT #x8027) 1476(define-enum 'img GL_HISTOGRAM_RED_SIZE #x8028) 1477(define-enum 'img GL_HISTOGRAM_GREEN_SIZE #x8029) 1478(define-enum 'img GL_HISTOGRAM_BLUE_SIZE #x802A) 1479(define-enum 'img GL_HISTOGRAM_ALPHA_SIZE #x802B) 1480(define-enum 'img GL_HISTOGRAM_LUMINANCE_SIZE #x802C) 1481(define-enum 'img GL_HISTOGRAM_SINK #x802D) 1482(define-enum 'img GL_MINMAX #x802E) 1483(define-enum 'img GL_MINMAX_FORMAT #x802F) 1484(define-enum 'img GL_MINMAX_SINK #x8030) 1485(define-enum 'img GL_TABLE_TOO_LARGE #x8031) 1486(define-enum 'img GL_COLOR_MATRIX #x80B1) 1487(define-enum 'img GL_COLOR_MATRIX_STACK_DEPTH #x80B2) 1488(define-enum 'img GL_MAX_COLOR_MATRIX_STACK_DEPTH #x80B3) 1489(define-enum 'img GL_POST_COLOR_MATRIX_RED_SCALE #x80B4) 1490(define-enum 'img GL_POST_COLOR_MATRIX_GREEN_SCALE #x80B5) 1491(define-enum 'img GL_POST_COLOR_MATRIX_BLUE_SCALE #x80B6) 1492(define-enum 'img GL_POST_COLOR_MATRIX_ALPHA_SCALE #x80B7) 1493(define-enum 'img GL_POST_COLOR_MATRIX_RED_BIAS #x80B8) 1494(define-enum 'img GL_POST_COLOR_MATRIX_GREEN_BIAS #x80B9) 1495(define-enum 'img GL_POST_COLOR_MATRIX_BLUE_BIAS #x80BA) 1496(define-enum 'img GL_POST_COLOR_MATRIX_ALPHA_BIAS #x80BB) 1497(define-enum 'img GL_COLOR_TABLE #x80D0) 1498(define-enum 'img GL_POST_CONVOLUTION_COLOR_TABLE #x80D1) 1499(define-enum 'img GL_POST_COLOR_MATRIX_COLOR_TABLE #x80D2) 1500(define-enum 'img GL_PROXY_COLOR_TABLE #x80D3) 1501(define-enum 'img GL_PROXY_POST_CONVOLUTION_COLOR_TABLE #x80D4) 1502(define-enum 'img GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE #x80D5) 1503(define-enum 'img GL_COLOR_TABLE_SCALE #x80D6) 1504(define-enum 'img GL_COLOR_TABLE_BIAS #x80D7) 1505(define-enum 'img GL_COLOR_TABLE_FORMAT #x80D8) 1506(define-enum 'img GL_COLOR_TABLE_WIDTH #x80D9) 1507(define-enum 'img GL_COLOR_TABLE_RED_SIZE #x80DA) 1508(define-enum 'img GL_COLOR_TABLE_GREEN_SIZE #x80DB) 1509(define-enum 'img GL_COLOR_TABLE_BLUE_SIZE #x80DC) 1510(define-enum 'img GL_COLOR_TABLE_ALPHA_SIZE #x80DD) 1511(define-enum 'img GL_COLOR_TABLE_LUMINANCE_SIZE #x80DE) 1512(define-enum 'img GL_COLOR_TABLE_INTENSITY_SIZE #x80DF) 1513(define-enum 'img GL_CONSTANT_BORDER #x8151) 1514(define-enum 'img GL_REPLICATE_BORDER #x8153) 1515(define-enum 'img GL_CONVOLUTION_BORDER_COLOR #x8154) 1516 1517(define-enum 13 GL_TEXTURE0 #x84C0) 1518(define-enum 13 GL_TEXTURE1 #x84C1) 1519(define-enum 13 GL_TEXTURE2 #x84C2) 1520(define-enum 13 GL_TEXTURE3 #x84C3) 1521(define-enum 13 GL_TEXTURE4 #x84C4) 1522(define-enum 13 GL_TEXTURE5 #x84C5) 1523(define-enum 13 GL_TEXTURE6 #x84C6) 1524(define-enum 13 GL_TEXTURE7 #x84C7) 1525(define-enum 13 GL_TEXTURE8 #x84C8) 1526(define-enum 13 GL_TEXTURE9 #x84C9) 1527(define-enum 13 GL_TEXTURE10 #x84CA) 1528(define-enum 13 GL_TEXTURE11 #x84CB) 1529(define-enum 13 GL_TEXTURE12 #x84CC) 1530(define-enum 13 GL_TEXTURE13 #x84CD) 1531(define-enum 13 GL_TEXTURE14 #x84CE) 1532(define-enum 13 GL_TEXTURE15 #x84CF) 1533(define-enum 13 GL_TEXTURE16 #x84D0) 1534(define-enum 13 GL_TEXTURE17 #x84D1) 1535(define-enum 13 GL_TEXTURE18 #x84D2) 1536(define-enum 13 GL_TEXTURE19 #x84D3) 1537(define-enum 13 GL_TEXTURE20 #x84D4) 1538(define-enum 13 GL_TEXTURE21 #x84D5) 1539(define-enum 13 GL_TEXTURE22 #x84D6) 1540(define-enum 13 GL_TEXTURE23 #x84D7) 1541(define-enum 13 GL_TEXTURE24 #x84D8) 1542(define-enum 13 GL_TEXTURE25 #x84D9) 1543(define-enum 13 GL_TEXTURE26 #x84DA) 1544(define-enum 13 GL_TEXTURE27 #x84DB) 1545(define-enum 13 GL_TEXTURE28 #x84DC) 1546(define-enum 13 GL_TEXTURE29 #x84DD) 1547(define-enum 13 GL_TEXTURE30 #x84DE) 1548(define-enum 13 GL_TEXTURE31 #x84DF) 1549(define-enum 13 GL_ACTIVE_TEXTURE #x84E0) 1550(define-enum 13 GL_CLIENT_ACTIVE_TEXTURE #x84E1) 1551(define-enum 13 GL_MAX_TEXTURE_UNITS #x84E2) 1552(define-enum 13 GL_TRANSPOSE_MODELVIEW_MATRIX #x84E3) 1553(define-enum 13 GL_TRANSPOSE_PROJECTION_MATRIX #x84E4) 1554(define-enum 13 GL_TRANSPOSE_TEXTURE_MATRIX #x84E5) 1555(define-enum 13 GL_TRANSPOSE_COLOR_MATRIX #x84E6) 1556(define-enum 13 GL_MULTISAMPLE #x809D) 1557(define-enum 13 GL_SAMPLE_ALPHA_TO_COVERAGE #x809E) 1558(define-enum 13 GL_SAMPLE_ALPHA_TO_ONE #x809F) 1559(define-enum 13 GL_SAMPLE_COVERAGE #x80A0) 1560(define-enum 13 GL_SAMPLE_BUFFERS #x80A8) 1561(define-enum 13 GL_SAMPLES #x80A9) 1562(define-enum 13 GL_SAMPLE_COVERAGE_VALUE #x80AA) 1563(define-enum 13 GL_SAMPLE_COVERAGE_INVERT #x80AB) 1564(define-enum 13 GL_MULTISAMPLE_BIT #x20000000) 1565(define-enum 13 GL_NORMAL_MAP #x8511) 1566(define-enum 13 GL_REFLECTION_MAP #x8512) 1567(define-enum 13 GL_TEXTURE_CUBE_MAP #x8513) 1568(define-enum 13 GL_TEXTURE_BINDING_CUBE_MAP #x8514) 1569(define-enum 13 GL_TEXTURE_CUBE_MAP_POSITIVE_X #x8515) 1570(define-enum 13 GL_TEXTURE_CUBE_MAP_NEGATIVE_X #x8516) 1571(define-enum 13 GL_TEXTURE_CUBE_MAP_POSITIVE_Y #x8517) 1572(define-enum 13 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y #x8518) 1573(define-enum 13 GL_TEXTURE_CUBE_MAP_POSITIVE_Z #x8519) 1574(define-enum 13 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z #x851A) 1575(define-enum 13 GL_PROXY_TEXTURE_CUBE_MAP #x851B) 1576(define-enum 13 GL_MAX_CUBE_MAP_TEXTURE_SIZE #x851C) 1577(define-enum 13 GL_COMPRESSED_ALPHA #x84E9) 1578(define-enum 13 GL_COMPRESSED_LUMINANCE #x84EA) 1579(define-enum 13 GL_COMPRESSED_LUMINANCE_ALPHA #x84EB) 1580(define-enum 13 GL_COMPRESSED_INTENSITY #x84EC) 1581(define-enum 13 GL_COMPRESSED_RGB #x84ED) 1582(define-enum 13 GL_COMPRESSED_RGBA #x84EE) 1583(define-enum 13 GL_TEXTURE_COMPRESSION_HINT #x84EF) 1584(define-enum 13 GL_TEXTURE_COMPRESSED_IMAGE_SIZE #x86A0) 1585(define-enum 13 GL_TEXTURE_COMPRESSED #x86A1) 1586(define-enum 13 GL_NUM_COMPRESSED_TEXTURE_FORMATS #x86A2) 1587(define-enum 13 GL_COMPRESSED_TEXTURE_FORMATS #x86A3) 1588(define-enum 13 GL_CLAMP_TO_BORDER #x812D) 1589(define-enum 13 GL_COMBINE #x8570) 1590(define-enum 13 GL_COMBINE_RGB #x8571) 1591(define-enum 13 GL_COMBINE_ALPHA #x8572) 1592(define-enum 13 GL_SOURCE0_RGB #x8580) 1593(define-enum 13 GL_SOURCE1_RGB #x8581) 1594(define-enum 13 GL_SOURCE2_RGB #x8582) 1595(define-enum 13 GL_SOURCE0_ALPHA #x8588) 1596(define-enum 13 GL_SOURCE1_ALPHA #x8589) 1597(define-enum 13 GL_SOURCE2_ALPHA #x858A) 1598(define-enum 13 GL_OPERAND0_RGB #x8590) 1599(define-enum 13 GL_OPERAND1_RGB #x8591) 1600(define-enum 13 GL_OPERAND2_RGB #x8592) 1601(define-enum 13 GL_OPERAND0_ALPHA #x8598) 1602(define-enum 13 GL_OPERAND1_ALPHA #x8599) 1603(define-enum 13 GL_OPERAND2_ALPHA #x859A) 1604(define-enum 13 GL_RGB_SCALE #x8573) 1605(define-enum 13 GL_ADD_SIGNED #x8574) 1606(define-enum 13 GL_INTERPOLATE #x8575) 1607(define-enum 13 GL_SUBTRACT #x84E7) 1608(define-enum 13 GL_CONSTANT #x8576) 1609(define-enum 13 GL_PRIMARY_COLOR #x8577) 1610(define-enum 13 GL_PREVIOUS #x8578) 1611(define-enum 13 GL_DOT3_RGB #x86AE) 1612(define-enum 13 GL_DOT3_RGBA #x86AF) 1613 1614(define-enum 14 GL_BLEND_DST_RGB #x80C8) 1615(define-enum 14 GL_BLEND_SRC_RGB #x80C9) 1616(define-enum 14 GL_BLEND_DST_ALPHA #x80CA) 1617(define-enum 14 GL_BLEND_SRC_ALPHA #x80CB) 1618(define-enum 14 GL_POINT_SIZE_MIN #x8126) 1619(define-enum 14 GL_POINT_SIZE_MAX #x8127) 1620(define-enum 14 GL_POINT_FADE_THRESHOLD_SIZE #x8128) 1621(define-enum 14 GL_POINT_DISTANCE_ATTENUATION #x8129) 1622(define-enum 14 GL_GENERATE_MIPMAP #x8191) 1623(define-enum 14 GL_GENERATE_MIPMAP_HINT #x8192) 1624(define-enum 14 GL_DEPTH_COMPONENT16 #x81A5) 1625(define-enum 14 GL_DEPTH_COMPONENT24 #x81A6) 1626(define-enum 14 GL_DEPTH_COMPONENT32 #x81A7) 1627(define-enum 14 GL_MIRRORED_REPEAT #x8370) 1628(define-enum 14 GL_FOG_COORDINATE_SOURCE #x8450) 1629(define-enum 14 GL_FOG_COORDINATE #x8451) 1630(define-enum 14 GL_FRAGMENT_DEPTH #x8452) 1631(define-enum 14 GL_CURRENT_FOG_COORDINATE #x8453) 1632(define-enum 14 GL_FOG_COORDINATE_ARRAY_TYPE #x8454) 1633(define-enum 14 GL_FOG_COORDINATE_ARRAY_STRIDE #x8455) 1634(define-enum 14 GL_FOG_COORDINATE_ARRAY_POINTER #x8456) 1635(define-enum 14 GL_FOG_COORDINATE_ARRAY #x8457) 1636(define-enum 14 GL_COLOR_SUM #x8458) 1637(define-enum 14 GL_CURRENT_SECONDARY_COLOR #x8459) 1638(define-enum 14 GL_SECONDARY_COLOR_ARRAY_SIZE #x845A) 1639(define-enum 14 GL_SECONDARY_COLOR_ARRAY_TYPE #x845B) 1640(define-enum 14 GL_SECONDARY_COLOR_ARRAY_STRIDE #x845C) 1641(define-enum 14 GL_SECONDARY_COLOR_ARRAY_POINTER #x845D) 1642(define-enum 14 GL_SECONDARY_COLOR_ARRAY #x845E) 1643(define-enum 14 GL_MAX_TEXTURE_LOD_BIAS #x84FD) 1644(define-enum 14 GL_TEXTURE_FILTER_CONTROL #x8500) 1645(define-enum 14 GL_TEXTURE_LOD_BIAS #x8501) 1646(define-enum 14 GL_INCR_WRAP #x8507) 1647(define-enum 14 GL_DECR_WRAP #x8508) 1648(define-enum 14 GL_TEXTURE_DEPTH_SIZE #x884A) 1649(define-enum 14 GL_DEPTH_TEXTURE_MODE #x884B) 1650(define-enum 14 GL_TEXTURE_COMPARE_MODE #x884C) 1651(define-enum 14 GL_TEXTURE_COMPARE_FUNC #x884D) 1652(define-enum 14 GL_COMPARE_R_TO_TEXTURE #x884E) 1653 1654(define-enum 15 GL_BUFFER_SIZE #x8764) 1655(define-enum 15 GL_BUFFER_USAGE #x8765) 1656(define-enum 15 GL_QUERY_COUNTER_BITS #x8864) 1657(define-enum 15 GL_CURRENT_QUERY #x8865) 1658(define-enum 15 GL_QUERY_RESULT #x8866) 1659(define-enum 15 GL_QUERY_RESULT_AVAILABLE #x8867) 1660(define-enum 15 GL_ARRAY_BUFFER #x8892) 1661(define-enum 15 GL_ELEMENT_ARRAY_BUFFER #x8893) 1662(define-enum 15 GL_ARRAY_BUFFER_BINDING #x8894) 1663(define-enum 15 GL_ELEMENT_ARRAY_BUFFER_BINDING #x8895) 1664(define-enum 15 GL_VERTEX_ARRAY_BUFFER_BINDING #x8896) 1665(define-enum 15 GL_NORMAL_ARRAY_BUFFER_BINDING #x8897) 1666(define-enum 15 GL_COLOR_ARRAY_BUFFER_BINDING #x8898) 1667(define-enum 15 GL_INDEX_ARRAY_BUFFER_BINDING #x8899) 1668(define-enum 15 GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING #x889A) 1669(define-enum 15 GL_EDGE_FLAG_ARRAY_BUFFER_BINDING #x889B) 1670(define-enum 15 GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING #x889C) 1671(define-enum 15 GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING #x889D) 1672(define-enum 15 GL_WEIGHT_ARRAY_BUFFER_BINDING #x889E) 1673(define-enum 15 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING #x889F) 1674(define-enum 15 GL_READ_ONLY #x88B8) 1675(define-enum 15 GL_WRITE_ONLY #x88B9) 1676(define-enum 15 GL_READ_WRITE #x88BA) 1677(define-enum 15 GL_BUFFER_ACCESS #x88BB) 1678(define-enum 15 GL_BUFFER_MAPPED #x88BC) 1679(define-enum 15 GL_BUFFER_MAP_POINTER #x88BD) 1680(define-enum 15 GL_STREAM_DRAW #x88E0) 1681(define-enum 15 GL_STREAM_READ #x88E1) 1682(define-enum 15 GL_STREAM_COPY #x88E2) 1683(define-enum 15 GL_STATIC_DRAW #x88E4) 1684(define-enum 15 GL_STATIC_READ #x88E5) 1685(define-enum 15 GL_STATIC_COPY #x88E6) 1686(define-enum 15 GL_DYNAMIC_DRAW #x88E8) 1687(define-enum 15 GL_DYNAMIC_READ #x88E9) 1688(define-enum 15 GL_DYNAMIC_COPY #x88EA) 1689(define-enum 15 GL_SAMPLES_PASSED #x8914) 1690(define-enum 15 GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE) 1691(define-enum 15 GL_FOG_COORD GL_FOG_COORDINATE) 1692(define-enum 15 GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE) 1693(define-enum 15 GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE) 1694(define-enum 15 GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE) 1695(define-enum 15 GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER) 1696(define-enum 15 GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY) 1697(define-enum 15 GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING) 1698(define-enum 15 GL_SRC0_RGB GL_SOURCE0_RGB) 1699(define-enum 15 GL_SRC1_RGB GL_SOURCE1_RGB) 1700(define-enum 15 GL_SRC2_RGB GL_SOURCE2_RGB) 1701(define-enum 15 GL_SRC0_ALPHA GL_SOURCE0_ALPHA) 1702(define-enum 15 GL_SRC1_ALPHA GL_SOURCE1_ALPHA) 1703(define-enum 15 GL_SRC2_ALPHA GL_SOURCE2_ALPHA) 1704 1705;; These values are taken from SGI's glu.h. 1706(define-enum GLU_FALSE 0) 1707(define-enum GLU_TRUE 1) 1708(define-enum GLU_VERSION 100800) 1709(define-enum GLU_EXTENSIONS 100801) 1710(define-enum GLU_INVALID_ENUM 100900) 1711(define-enum GLU_INVALID_VALUE 100901) 1712(define-enum GLU_OUT_OF_MEMORY 100902) 1713(define-enum GLU_INVALID_OPERATION 100904) 1714(define-enum GLU_OUTLINE_POLYGON 100240) 1715(define-enum GLU_OUTLINE_PATCH 100241) 1716(define-enum GLU_NURBS_ERROR 100103) 1717(define-enum GLU_ERROR 100103) 1718(define-enum GLU_NURBS_BEGIN 100164) 1719(define-enum GLU_NURBS_BEGIN_EXT 100164) 1720(define-enum GLU_NURBS_VERTEX 100165) 1721(define-enum GLU_NURBS_VERTEX_EXT 100165) 1722(define-enum GLU_NURBS_NORMAL 100166) 1723(define-enum GLU_NURBS_NORMAL_EXT 100166) 1724(define-enum GLU_NURBS_COLOR 100167) 1725(define-enum GLU_NURBS_COLOR_EXT 100167) 1726(define-enum GLU_NURBS_TEXTURE_COORD 100168) 1727(define-enum GLU_NURBS_TEX_COORD_EXT 100168) 1728(define-enum GLU_NURBS_END 100169) 1729(define-enum GLU_NURBS_END_EXT 100169) 1730(define-enum GLU_NURBS_BEGIN_DATA 100170) 1731(define-enum GLU_NURBS_BEGIN_DATA_EXT 100170) 1732(define-enum GLU_NURBS_VERTEX_DATA 100171) 1733(define-enum GLU_NURBS_VERTEX_DATA_EXT 100171) 1734(define-enum GLU_NURBS_NORMAL_DATA 100172) 1735(define-enum GLU_NURBS_NORMAL_DATA_EXT 100172) 1736(define-enum GLU_NURBS_COLOR_DATA 100173) 1737(define-enum GLU_NURBS_COLOR_DATA_EXT 100173) 1738(define-enum GLU_NURBS_TEXTURE_COORD_DATA 100174) 1739(define-enum GLU_NURBS_TEX_COORD_DATA_EXT 100174) 1740(define-enum GLU_NURBS_END_DATA 100175) 1741(define-enum GLU_NURBS_END_DATA_EXT 100175) 1742(define-enum GLU_NURBS_ERROR1 100251) 1743(define-enum GLU_NURBS_ERROR2 100252) 1744(define-enum GLU_NURBS_ERROR3 100253) 1745(define-enum GLU_NURBS_ERROR4 100254) 1746(define-enum GLU_NURBS_ERROR5 100255) 1747(define-enum GLU_NURBS_ERROR6 100256) 1748(define-enum GLU_NURBS_ERROR7 100257) 1749(define-enum GLU_NURBS_ERROR8 100258) 1750(define-enum GLU_NURBS_ERROR9 100259) 1751(define-enum GLU_NURBS_ERROR10 100260) 1752(define-enum GLU_NURBS_ERROR11 100261) 1753(define-enum GLU_NURBS_ERROR12 100262) 1754(define-enum GLU_NURBS_ERROR13 100263) 1755(define-enum GLU_NURBS_ERROR14 100264) 1756(define-enum GLU_NURBS_ERROR15 100265) 1757(define-enum GLU_NURBS_ERROR16 100266) 1758(define-enum GLU_NURBS_ERROR17 100267) 1759(define-enum GLU_NURBS_ERROR18 100268) 1760(define-enum GLU_NURBS_ERROR19 100269) 1761(define-enum GLU_NURBS_ERROR20 100270) 1762(define-enum GLU_NURBS_ERROR21 100271) 1763(define-enum GLU_NURBS_ERROR22 100272) 1764(define-enum GLU_NURBS_ERROR23 100273) 1765(define-enum GLU_NURBS_ERROR24 100274) 1766(define-enum GLU_NURBS_ERROR25 100275) 1767(define-enum GLU_NURBS_ERROR26 100276) 1768(define-enum GLU_NURBS_ERROR27 100277) 1769(define-enum GLU_NURBS_ERROR28 100278) 1770(define-enum GLU_NURBS_ERROR29 100279) 1771(define-enum GLU_NURBS_ERROR30 100280) 1772(define-enum GLU_NURBS_ERROR31 100281) 1773(define-enum GLU_NURBS_ERROR32 100282) 1774(define-enum GLU_NURBS_ERROR33 100283) 1775(define-enum GLU_NURBS_ERROR34 100284) 1776(define-enum GLU_NURBS_ERROR35 100285) 1777(define-enum GLU_NURBS_ERROR36 100286) 1778(define-enum GLU_NURBS_ERROR37 100287) 1779(define-enum GLU_AUTO_LOAD_MATRIX 100200) 1780(define-enum GLU_CULLING 100201) 1781(define-enum GLU_SAMPLING_TOLERANCE 100203) 1782(define-enum GLU_DISPLAY_MODE 100204) 1783(define-enum GLU_PARAMETRIC_TOLERANCE 100202) 1784(define-enum GLU_SAMPLING_METHOD 100205) 1785(define-enum GLU_U_STEP 100206) 1786(define-enum GLU_V_STEP 100207) 1787(define-enum GLU_NURBS_MODE 100160) 1788(define-enum GLU_NURBS_MODE_EXT 100160) 1789(define-enum GLU_NURBS_TESSELLATOR 100161) 1790(define-enum GLU_NURBS_TESSELLATOR_EXT 100161) 1791(define-enum GLU_NURBS_RENDERER 100162) 1792(define-enum GLU_NURBS_RENDERER_EXT 100162) 1793(define-enum GLU_OBJECT_PARAMETRIC_ERROR 100208) 1794(define-enum GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208) 1795(define-enum GLU_OBJECT_PATH_LENGTH 100209) 1796(define-enum GLU_OBJECT_PATH_LENGTH_EXT 100209) 1797(define-enum GLU_PATH_LENGTH 100215) 1798(define-enum GLU_PARAMETRIC_ERROR 100216) 1799(define-enum GLU_DOMAIN_DISTANCE 100217) 1800(define-enum GLU_MAP1_TRIM_2 100210) 1801(define-enum GLU_MAP1_TRIM_3 100211) 1802(define-enum GLU_POINT 100010) 1803(define-enum GLU_LINE 100011) 1804(define-enum GLU_FILL 100012) 1805(define-enum GLU_SILHOUETTE 100013) 1806(define-enum GLU_SMOOTH 100000) 1807(define-enum GLU_FLAT 100001) 1808(define-enum GLU_NONE 100002) 1809(define-enum GLU_OUTSIDE 100020) 1810(define-enum GLU_INSIDE 100021) 1811(define-enum GLU_TESS_BEGIN 100100) 1812(define-enum GLU_BEGIN 100100) 1813(define-enum GLU_TESS_VERTEX 100101) 1814(define-enum GLU_VERTEX 100101) 1815(define-enum GLU_TESS_END 100102) 1816(define-enum GLU_END 100102) 1817(define-enum GLU_TESS_ERROR 100103) 1818(define-enum GLU_TESS_EDGE_FLAG 100104) 1819(define-enum GLU_EDGE_FLAG 100104) 1820(define-enum GLU_TESS_COMBINE 100105) 1821(define-enum GLU_TESS_BEGIN_DATA 100106) 1822(define-enum GLU_TESS_VERTEX_DATA 100107) 1823(define-enum GLU_TESS_END_DATA 100108) 1824(define-enum GLU_TESS_ERROR_DATA 100109) 1825(define-enum GLU_TESS_EDGE_FLAG_DATA 100110) 1826(define-enum GLU_TESS_COMBINE_DATA 100111) 1827(define-enum GLU_CW 100120) 1828(define-enum GLU_CCW 100121) 1829(define-enum GLU_INTERIOR 100122) 1830(define-enum GLU_EXTERIOR 100123) 1831(define-enum GLU_UNKNOWN 100124) 1832(define-enum GLU_TESS_WINDING_RULE 100140) 1833(define-enum GLU_TESS_BOUNDARY_ONLY 100141) 1834(define-enum GLU_TESS_TOLERANCE 100142) 1835(define-enum GLU_TESS_ERROR1 100151) 1836(define-enum GLU_TESS_ERROR2 100152) 1837(define-enum GLU_TESS_ERROR3 100153) 1838(define-enum GLU_TESS_ERROR4 100154) 1839(define-enum GLU_TESS_ERROR5 100155) 1840(define-enum GLU_TESS_ERROR6 100156) 1841(define-enum GLU_TESS_ERROR7 100157) 1842(define-enum GLU_TESS_ERROR8 100158) 1843(define-enum GLU_TESS_MISSING_BEGIN_POLYGON 100151) 1844(define-enum GLU_TESS_MISSING_BEGIN_CONTOUR 100152) 1845(define-enum GLU_TESS_MISSING_END_POLYGON 100153) 1846(define-enum GLU_TESS_MISSING_END_CONTOUR 100154) 1847(define-enum GLU_TESS_COORD_TOO_LARGE 100155) 1848(define-enum GLU_TESS_NEED_COMBINE_CALLBACK 100156) 1849(define-enum GLU_TESS_WINDING_ODD 100130) 1850(define-enum GLU_TESS_WINDING_NONZERO 100131) 1851(define-enum GLU_TESS_WINDING_POSITIVE 100132) 1852(define-enum GLU_TESS_WINDING_NEGATIVE 100133) 1853(define-enum GLU_TESS_WINDING_ABS_GEQ_TWO 100134) 1854(define-enum GLU_TESS_MAX_COORD 1.0e150) 1855