1#lang scribble/doc
2@(require "common.rkt" scribble/bnf scribble/eval (for-syntax racket/base))
3
4@title[#:tag "gl"]{C-Style OpenGL}
5
6@defmodule[sgl/gl]
7
8The @racketmodname[sgl/gl] module provides a direct interface to the
9system's GL library closely following the conventions of the
10C-language OpenGL API.  It provides a binding for each @tt{#defined}
11constant (these start with @racketidfont{GL_}) and for the functions
12in the GL 1.5 and GLU 1.3 specifications, except for the following:
13
14@itemize[#:style 'compact
15 @item{Vertex arrays           (GL 1.5, Section 2.8)}
16 @item{Buffer objects          (GL 1.5, Section 2.9)}
17 @item{@tt{glGetPointerv}      (GL 1.5, Section 6.1.11)}
18 @item{Buffer object queries   (GL 1.5, Section 6.1.13)}
19 @item{Polygon tessellation    (GLU 1.3, Section 5)}
20 @item{@tt{gluQuadricCallback} (GLU 1.3, Section 6.2)}
21 @item{NURBS callbacks         (GLU 1.3, Section 7.2)}
22]
23
24If one of the provided functions is not present on your system
25(e.g. if your system supports only GL 1.3), then the corresponding
26@racketmodname[sgl/gl] function raises a run-time exception when
27invoked.
28
29The functions provided by @racketmodname[sgl/gl] perform comparable
30checking to their C-language counterparts; they check the types of
31their arguments, but do not check the length of array arguments.  The
32following details the kinds of Racket values that can be provided for
33each primitive OpenGL type:
34
35@itemize[
36
37 @item{@as-index{@tt{GLbyte}},
38       @as-index{@tt{GLshort}},
39       @as-index{@tt{GLint}}:
40       exact integer in the proper range}
41
42 @item{@as-index{@tt{GLubyte}},
43       @as-index{@tt{GLushort}},
44       @as-index{@tt{GLuint}}:
45       exact non-negative integer in the proper range}
46
47 @item{@as-index{@tt{GLsizei}},
48       @as-index{@tt{GLenum}},
49       @as-index{@tt{GLbitfield}}:
50       exact non-negative integer in the proper range}
51
52 @item{@as-index{@tt{GFfloat}},
53       @as-index{@tt{GLdouble}}:
54       real number}
55
56 @item{@as-index{@tt{GFclampf}},
57       @as-index{@tt{GLclampd}}:
58       real number}
59
60 @item{@as-index{@tt{GLboolean}}: any value, where @racket[#f] means
61       @as-index{@tt{GL_FALSE}} and all other values mean
62       @as-index{@tt{GL_TRUE}}; do not use @racket[GL_FALSE] or
63       @racket[GL_TRUE], since they are bound to integers, both will
64       end up being converted to GL_TRUE.}
65
66]
67
68OpenGL functions that take vector arguments accept @racket[cvector]
69values. The type of the @racket[cvector] is checked; for example,
70@tt{glVertex3fv} expects a vector of @tt{GLfloats}, so
71@racket[glVertex3fv] accepts only a @racket[cvector] containing reals.
72See also @racketmodname[sgl/gl-vectors]. Functions that accept arrays
73of type @tt{void*} accept any @racket[cvector]; you must ensure that
74you supply the proper kind of vector, as in the C-language OpenGL API.
75
76@as-examples[
77@racketblock[
78(require sgl/gl
79         sgl/gl-vectors)
80(glBegin GL_TRIANGLES)
81(glVertex3i 1 2 3)
82(glVertex4fv (gl-float-vector 1 2 3 4))
83(glEnd)
84]]
85
86@(define-syntax-rule (def-C-gl (id ...) body ...)
87   @deftogether[(
88    @defthing[id procedure?] ...
89   ) body ...])
90
91@def-C-gl[(
92   glPixelMapfv
93   glPixelMapuiv
94   glPixelMapusv
95   glDeleteTextures
96   glDeleteQueries
97)]{
98
99These functions do not take a size argument, because it is derived
100from the length of the argument vector.}
101
102@def-C-gl[(
103   glGenTextures
104   glGenQueries
105)]{
106
107These functions do not take vector arguments.  Instead, they allocate
108a vector of the requested size and return it.}
109
110@def-C-gl[(
111   glAreTexturesResident
112)]{
113
114This function takes in a @tt{GLuint} vector and textures, and it
115returns 2 values: the specified boolean and a boolean vector of
116residences.}
117
118@def-C-gl[(
119   glGetBooleanv
120   glGetIntegerv
121   glGetFloatv
122   glGetDoublev
123   glGetLightfv
124   glGetLightiv
125   glGetMaterialfv
126   glGetMaterialiv
127   glGetTexEnvfv
128   glGetTexEnviv
129   glGetTexGendv
130   glGetTexGenfv
131   glGetTexGeniv
132   glGetTexParameterfv
133   glGetTexParameteriv
134   glGetTexLevelParameterfv
135   glGetTexLevelParameteriv
136   glGetPixelMapfv
137   glGetPixelMapuiv
138   glGetPixelMapusv
139   glGetMapdv
140   glGetMapfv
141   glGetMapiv
142   glGetBufferParameteriv
143   glGetConvolutionParameterfv
144   glGetConvolutionParameteriv
145   glGetHistogramParameterfv
146   glGetHistogramParameteriv
147   glGetMinmaxParameterfv
148   glGetMinmaxParameteriv
149   glGetQueryiv
150   glGetQueryObjectiv
151   glGetQueryObjectuiv
152)]{
153
154Instead of taking a vector argument, these function take an integer argument
155that specifies the size of the vector that is returned.}
156
157@def-C-gl[(
158   glGetClipPlane
159)]{
160
161This function does not take a vector argument and returns a @tt{GLdouble} vector of
162length 4.}
163
164@def-C-gl[(
165   glGetString
166   gluCheckExtension
167   gluErrorString
168   gluGetString
169)]{
170These functions deal with strings instead of @tt{GLubyte} vectors.}
171
172@def-C-gl[(
173   gluProject
174   gluUnProject
175   gluUnProject4
176)]{
177
178Instead of taking pointers to @tt{GLdoubles} for return values, these
179function directly return @tt{GLdouble} vectors.}
180
181@def-C-gl[(
182   glSelectBuffer
183   glFeedbackBuffer
184)]{
185
186These functions do not take vectors, instead they return a
187@racket[selection-buffer-object] or @racket[feedback-buffer-object].
188The @racket[select-buffer->gl-uint-vector] and
189@racket[feedback-buffer->gl-float-vector] functions copy the contents
190of the buffer into a vector.  Because the OpenGL library writes to the
191buffer-object on OpenGL function calls after @tt{glSelectBuffer} or
192@tt{glFeedbackBuffer} has returned, if the buffer is garbage collected
193before OpenGL is finished writing to it, the entire Racket system can
194crash.  The @racket[gl-process-selection] function in
195@racketmodname[sgl] helps interpret the results of @tt{glSelectBuffer}
196in a Racket-friendly format.}
197
198@def-C-gl[(
199glAccum
200glActiveTexture
201glAlphaFunc
202glBegin
203glBeginQuery
204glBindTexture
205glBitmap
206glBlendColor
207glBlendEquation
208glBlendFunc
209glBlendFuncSeparate
210glCallList
211glCallLists
212glClear
213glClearAccum
214glClearColor
215glClearDepth
216glClearIndex
217glClearStencil
218glClipPlane
219glColor3b
220glColor3bv
221glColor3d
222glColor3dv
223glColor3f
224glColor3fv
225glColor3i
226glColor3iv
227glColor3s
228glColor3sv
229glColor3ub
230glColor3ubv
231glColor3ui
232glColor3uiv
233glColor3us
234glColor3usv
235glColor4b
236glColor4bv
237glColor4d
238glColor4dv
239glColor4f
240glColor4fv
241glColor4i
242glColor4iv
243glColor4s
244glColor4sv
245glColor4ub
246glColor4ubv
247glColor4ui
248glColor4uiv
249glColor4us
250glColor4usv
251glColorMask
252glColorMaterial
253glColorSubTable
254glColorTable
255glColorTableParameterfv
256glColorTableParameteriv
257glCompressedTexImage1D
258glCompressedTexImage2D
259glCompressedTexImage3D
260glCompressedTexSubImage1D
261glCompressedTexSubImage2D
262glCompressedTexSubImage3D
263glConvolutionFilter1D
264glConvolutionFilter2D
265glConvolutionParameterf
266glConvolutionParameterfv
267glConvolutionParameteri
268glConvolutionParameteriv
269glCopyColorSubTable
270glCopyColorTable
271glCopyConvolutionFilter1D
272glCopyConvolutionFilter2D
273glCopyPixels
274glCopyTexImage1D
275glCopyTexImage2D
276glCopyTexSubImage1D
277glCopyTexSubImage2D
278glCopyTexSubImage3D
279glCullFace
280glDeleteLists
281glDepthFunc
282glDepthMask
283glDepthRange
284glDisable
285glDrawBuffer
286glDrawPixels
287glEdgeFlag
288glEdgeFlagv
289glEnable
290glEnd
291glEndList
292glEndQuery
293glEvalCoord1d
294glEvalCoord1dv
295glEvalCoord1f
296glEvalCoord1fv
297glEvalCoord2d
298glEvalCoord2dv
299glEvalCoord2f
300glEvalCoord2fv
301glEvalMesh1
302glEvalMesh2
303glEvalPoint1
304glEvalPoint2
305glFinish
306glFlush
307glFogCoordd
308glFogCoorddv
309glFogCoordf
310glFogCoordfv
311glFogf
312glFogfv
313glFogi
314glFogiv
315glFrontFace
316glFrustum
317glGenLists
318glGetColorTable
319glGetCompressedTexImage
320glGetConvolutionFilter
321glGetError
322glGetHistogram
323glGetMinmax
324glGetPolygonStipple
325glGetSeparableFilter
326glGetTexImage
327glHint
328glHistogram
329glIndexMask
330glIndexd
331glIndexdv
332glIndexf
333glIndexfv
334glIndexi
335glIndexiv
336glIndexs
337glIndexsv
338glIndexub
339glIndexubv
340glInitNames
341glIsBuffer
342glIsEnabled
343glIsList
344glIsQuery
345glIsTexture
346glLightModelf
347glLightModelfv
348glLightModeli
349glLightModeliv
350glLightf
351glLightfv
352glLighti
353glLightiv
354glLineStipple
355glLineWidth
356glListBase
357glLoadIdentity
358glLoadMatrixd
359glLoadMatrixf
360glLoadName
361glLoadTransposeMatrixd
362glLoadTransposeMatrixf
363glLogicOp
364glMap1d
365glMap1f
366glMap2d
367glMap2f
368glMapGrid1d
369glMapGrid1f
370glMapGrid2d
371glMapGrid2f
372glMaterialf
373glMaterialfv
374glMateriali
375glMaterialiv
376glMatrixMode
377glMinmax
378glMultMatrixd
379glMultMatrixf
380glMultTransposeMatrixd
381glMultTransposeMatrixf
382glMultiTexCoord1d
383glMultiTexCoord1dv
384glMultiTexCoord1f
385glMultiTexCoord1fv
386glMultiTexCoord1i
387glMultiTexCoord1iv
388glMultiTexCoord1s
389glMultiTexCoord1sv
390glMultiTexCoord2d
391glMultiTexCoord2dv
392glMultiTexCoord2f
393glMultiTexCoord2fv
394glMultiTexCoord2i
395glMultiTexCoord2iv
396glMultiTexCoord2s
397glMultiTexCoord2sv
398glMultiTexCoord3d
399glMultiTexCoord3dv
400glMultiTexCoord3f
401glMultiTexCoord3fv
402glMultiTexCoord3i
403glMultiTexCoord3iv
404glMultiTexCoord3s
405glMultiTexCoord3sv
406glMultiTexCoord4d
407glMultiTexCoord4dv
408glMultiTexCoord4f
409glMultiTexCoord4fv
410glMultiTexCoord4i
411glMultiTexCoord4iv
412glMultiTexCoord4s
413glMultiTexCoord4sv
414glNewList
415glNormal3b
416glNormal3bv
417glNormal3d
418glNormal3dv
419glNormal3f
420glNormal3fv
421glNormal3i
422glNormal3iv
423glNormal3s
424glNormal3sv
425glOrtho
426glPassThrough
427glPixelStoref
428glPixelStorei
429glPixelTransferf
430glPixelTransferi
431glPixelZoom
432glPointParameterf
433glPointParameterfv
434glPointParameteri
435glPointParameteriv
436glPointSize
437glPolygonMode
438glPolygonOffset
439glPolygonStipple
440glPopAttrib
441glPopClientAttrib
442glPopMatrix
443glPopName
444glPushAttrib
445glPushClientAttrib
446glPushMatrix
447glPushName
448glRasterPos2d
449glRasterPos2dv
450glRasterPos2f
451glRasterPos2fv
452glRasterPos2i
453glRasterPos2iv
454glRasterPos2s
455glRasterPos2sv
456glRasterPos3d
457glRasterPos3dv
458glRasterPos3f
459glRasterPos3fv
460glRasterPos3i
461glRasterPos3iv
462glRasterPos3s
463glRasterPos3sv
464glRasterPos4d
465glRasterPos4dv
466glRasterPos4f
467glRasterPos4fv
468glRasterPos4i
469glRasterPos4iv
470glRasterPos4s
471glRasterPos4sv
472glReadBuffer
473glReadPixels
474glRectd
475glRectdv
476glRectf
477glRectfv
478glRecti
479glRectiv
480glRects
481glRectsv
482glRenderMode
483glResetHistogram
484glResetMinmax
485glRotated
486glRotatef
487glSampleCoverage
488glScaled
489glScalef
490glScissor
491glSecondaryColor3b
492glSecondaryColor3bv
493glSecondaryColor3d
494glSecondaryColor3dv
495glSecondaryColor3f
496glSecondaryColor3fv
497glSecondaryColor3i
498glSecondaryColor3iv
499glSecondaryColor3s
500glSecondaryColor3sv
501glSecondaryColor3ub
502glSecondaryColor3ubv
503glSecondaryColor3ui
504glSecondaryColor3uiv
505glSecondaryColor3us
506glSecondaryColor3usv
507glSeparableFilter2D
508glShadeModel
509glStencilFunc
510glStencilMask
511glStencilOp
512glTexCoord1d
513glTexCoord1dv
514glTexCoord1f
515glTexCoord1fv
516glTexCoord1i
517glTexCoord1iv
518glTexCoord1s
519glTexCoord1sv
520glTexCoord2d
521glTexCoord2dv
522glTexCoord2f
523glTexCoord2fv
524glTexCoord2i
525glTexCoord2iv
526glTexCoord2s
527glTexCoord2sv
528glTexCoord3d
529glTexCoord3dv
530glTexCoord3f
531glTexCoord3fv
532glTexCoord3i
533glTexCoord3iv
534glTexCoord3s
535glTexCoord3sv
536glTexCoord4d
537glTexCoord4dv
538glTexCoord4f
539glTexCoord4fv
540glTexCoord4i
541glTexCoord4iv
542glTexCoord4s
543glTexCoord4sv
544glTexEnvf
545glTexEnvfv
546glTexEnvi
547glTexEnviv
548glTexGend
549glTexGendv
550glTexGenf
551glTexGenfv
552glTexGeni
553glTexGeniv
554glTexImage1D
555glTexImage2D
556glTexImage3D
557glTexParameterf
558glTexParameterfv
559glTexParameteri
560glTexParameteriv
561glTexSubImage1D
562glTexSubImage2D
563glTexSubImage3D
564glTranslated
565glTranslatef
566glVertex2d
567glVertex2dv
568glVertex2f
569glVertex2fv
570glVertex2i
571glVertex2iv
572glVertex2s
573glVertex2sv
574glVertex3d
575glVertex3dv
576glVertex3f
577glVertex3fv
578glVertex3i
579glVertex3iv
580glVertex3s
581glVertex3sv
582glVertex4d
583glVertex4dv
584glVertex4f
585glVertex4fv
586glVertex4i
587glVertex4iv
588glVertex4s
589glVertex4sv
590glViewport
591glWindowPos2d
592glWindowPos2dv
593glWindowPos2f
594glWindowPos2fv
595glWindowPos2i
596glWindowPos2iv
597glWindowPos2s
598glWindowPos2sv
599glWindowPos3d
600glWindowPos3dv
601glWindowPos3f
602glWindowPos3fv
603glWindowPos3i
604glWindowPos3iv
605glWindowPos3s
606glWindowPos3sv
607gluBuild1DMipmapLevels
608gluBuild1DMipmaps
609gluBuild2DMipmapLevels
610gluBuild2DMipmaps
611gluBuild3DMipmapLevels
612gluBuild3DMipmaps
613gluCylinder
614gluDisk
615gluLookAt
616gluNewQuadric
617gluOrtho2D
618gluPartialDisk
619gluPerspective
620gluPickMatrix
621gluQuadricDrawStyle
622gluQuadricNormals
623gluQuadricOrientation
624gluQuadricTexture
625gluScaleImage
626gluSphere
627)]{
628
629These functions are all direct translations of the C OpenGL API.}
630
631@(define-syntax def-one-thing
632   (syntax-rules ()
633    [(_ [id pred]) @defthing[id pred]]
634    [(_ id) @defthing[id exact-integer?]]))
635
636@(define-syntax-rule (def-C-const (decl ...) body ...)
637  @deftogether[(
638   @def-one-thing[decl] ...
639  ) body ...])
640
641@def-C-const[(
642  GL_FALSE
643  GL_TRUE
644  GL_BYTE
645  GL_UNSIGNED_BYTE
646  GL_SHORT
647  GL_UNSIGNED_SHORT
648  GL_INT
649  GL_UNSIGNED_INT
650  GL_FLOAT
651  GL_DOUBLE
652  GL_2_BYTES
653  GL_3_BYTES
654  GL_4_BYTES
655  GL_POINTS
656  GL_LINES
657  GL_LINE_LOOP
658  GL_LINE_STRIP
659  GL_TRIANGLES
660  GL_TRIANGLE_STRIP
661  GL_TRIANGLE_FAN
662  GL_QUADS
663  GL_QUAD_STRIP
664  GL_POLYGON
665  GL_VERTEX_ARRAY
666  GL_NORMAL_ARRAY
667  GL_COLOR_ARRAY
668  GL_INDEX_ARRAY
669  GL_TEXTURE_COORD_ARRAY
670  GL_EDGE_FLAG_ARRAY
671  GL_VERTEX_ARRAY_SIZE
672  GL_VERTEX_ARRAY_TYPE
673  GL_VERTEX_ARRAY_STRIDE
674  GL_NORMAL_ARRAY_TYPE
675  GL_NORMAL_ARRAY_STRIDE
676  GL_COLOR_ARRAY_SIZE
677  GL_COLOR_ARRAY_TYPE
678  GL_COLOR_ARRAY_STRIDE
679  GL_INDEX_ARRAY_TYPE
680  GL_INDEX_ARRAY_STRIDE
681  GL_TEXTURE_COORD_ARRAY_SIZE
682  GL_TEXTURE_COORD_ARRAY_TYPE
683  GL_TEXTURE_COORD_ARRAY_STRIDE
684  GL_EDGE_FLAG_ARRAY_STRIDE
685  GL_VERTEX_ARRAY_POINTER
686  GL_NORMAL_ARRAY_POINTER
687  GL_COLOR_ARRAY_POINTER
688  GL_INDEX_ARRAY_POINTER
689  GL_TEXTURE_COORD_ARRAY_POINTER
690  GL_EDGE_FLAG_ARRAY_POINTER
691  GL_V2F
692  GL_V3F
693  GL_C4UB_V2F
694  GL_C4UB_V3F
695  GL_C3F_V3F
696  GL_N3F_V3F
697  GL_C4F_N3F_V3F
698  GL_T2F_V3F
699  GL_T4F_V4F
700  GL_T2F_C4UB_V3F
701  GL_T2F_C3F_V3F
702  GL_T2F_N3F_V3F
703  GL_T2F_C4F_N3F_V3F
704  GL_T4F_C4F_N3F_V4F
705  GL_MATRIX_MODE
706  GL_MODELVIEW
707  GL_PROJECTION
708  GL_TEXTURE
709  GL_POINT_SMOOTH
710  GL_POINT_SIZE
711  GL_POINT_SIZE_GRANULARITY
712  GL_POINT_SIZE_RANGE
713  GL_LINE_SMOOTH
714  GL_LINE_STIPPLE
715  GL_LINE_STIPPLE_PATTERN
716  GL_LINE_STIPPLE_REPEAT
717  GL_LINE_WIDTH
718  GL_LINE_WIDTH_GRANULARITY
719  GL_LINE_WIDTH_RANGE
720  GL_POINT
721  GL_LINE
722  GL_FILL
723  GL_CW
724  GL_CCW
725  GL_FRONT
726  GL_BACK
727  GL_POLYGON_MODE
728  GL_POLYGON_SMOOTH
729  GL_POLYGON_STIPPLE
730  GL_EDGE_FLAG
731  GL_CULL_FACE
732  GL_CULL_FACE_MODE
733  GL_FRONT_FACE
734  GL_POLYGON_OFFSET_FACTOR
735  GL_POLYGON_OFFSET_UNITS
736  GL_POLYGON_OFFSET_POINT
737  GL_POLYGON_OFFSET_LINE
738  GL_POLYGON_OFFSET_FILL
739  GL_COMPILE
740  GL_COMPILE_AND_EXECUTE
741  GL_LIST_BASE
742  GL_LIST_INDEX
743  GL_LIST_MODE
744  GL_NEVER
745  GL_LESS
746  GL_EQUAL
747  GL_LEQUAL
748  GL_GREATER
749  GL_NOTEQUAL
750  GL_GEQUAL
751  GL_ALWAYS
752  GL_DEPTH_TEST
753  GL_DEPTH_BITS
754  GL_DEPTH_CLEAR_VALUE
755  GL_DEPTH_FUNC
756  GL_DEPTH_RANGE
757  GL_DEPTH_WRITEMASK
758  GL_DEPTH_COMPONENT
759  GL_LIGHTING
760  GL_LIGHT0
761  GL_LIGHT1
762  GL_LIGHT2
763  GL_LIGHT3
764  GL_LIGHT4
765  GL_LIGHT5
766  GL_LIGHT6
767  GL_LIGHT7
768  GL_SPOT_EXPONENT
769  GL_SPOT_CUTOFF
770  GL_CONSTANT_ATTENUATION
771  GL_LINEAR_ATTENUATION
772  GL_QUADRATIC_ATTENUATION
773  GL_AMBIENT
774  GL_DIFFUSE
775  GL_SPECULAR
776  GL_SHININESS
777  GL_EMISSION
778  GL_POSITION
779  GL_SPOT_DIRECTION
780  GL_AMBIENT_AND_DIFFUSE
781  GL_COLOR_INDEXES
782  GL_LIGHT_MODEL_TWO_SIDE
783  GL_LIGHT_MODEL_LOCAL_VIEWER
784  GL_LIGHT_MODEL_AMBIENT
785  GL_FRONT_AND_BACK
786  GL_SHADE_MODEL
787  GL_FLAT
788  GL_SMOOTH
789  GL_COLOR_MATERIAL
790  GL_COLOR_MATERIAL_FACE
791  GL_COLOR_MATERIAL_PARAMETER
792  GL_NORMALIZE
793  GL_CLIP_PLANE0
794  GL_CLIP_PLANE1
795  GL_CLIP_PLANE2
796  GL_CLIP_PLANE3
797  GL_CLIP_PLANE4
798  GL_CLIP_PLANE5
799  GL_ACCUM_RED_BITS
800  GL_ACCUM_GREEN_BITS
801  GL_ACCUM_BLUE_BITS
802  GL_ACCUM_ALPHA_BITS
803  GL_ACCUM_CLEAR_VALUE
804  GL_ACCUM
805  GL_ADD
806  GL_LOAD
807  GL_MULT
808  GL_RETURN
809  GL_ALPHA_TEST
810  GL_ALPHA_TEST_REF
811  GL_ALPHA_TEST_FUNC
812  GL_BLEND
813  GL_BLEND_SRC
814  GL_BLEND_DST
815  GL_ZERO
816  GL_ONE
817  GL_SRC_COLOR
818  GL_ONE_MINUS_SRC_COLOR
819  GL_SRC_ALPHA
820  GL_ONE_MINUS_SRC_ALPHA
821  GL_DST_ALPHA
822  GL_ONE_MINUS_DST_ALPHA
823  GL_DST_COLOR
824  GL_ONE_MINUS_DST_COLOR
825  GL_SRC_ALPHA_SATURATE
826  GL_FEEDBACK
827  GL_RENDER
828  GL_SELECT
829  GL_2D
830  GL_3D
831  GL_3D_COLOR
832  GL_3D_COLOR_TEXTURE
833  GL_4D_COLOR_TEXTURE
834  GL_POINT_TOKEN
835  GL_LINE_TOKEN
836  GL_LINE_RESET_TOKEN
837  GL_POLYGON_TOKEN
838  GL_BITMAP_TOKEN
839  GL_DRAW_PIXEL_TOKEN
840  GL_COPY_PIXEL_TOKEN
841  GL_PASS_THROUGH_TOKEN
842  GL_FEEDBACK_BUFFER_POINTER
843  GL_FEEDBACK_BUFFER_SIZE
844  GL_FEEDBACK_BUFFER_TYPE
845  GL_SELECTION_BUFFER_POINTER
846  GL_SELECTION_BUFFER_SIZE
847  GL_FOG
848  GL_FOG_MODE
849  GL_FOG_DENSITY
850  GL_FOG_COLOR
851  GL_FOG_INDEX
852  GL_FOG_START
853  GL_FOG_END
854  GL_LINEAR
855  GL_EXP
856  GL_EXP2
857  GL_LOGIC_OP
858  GL_INDEX_LOGIC_OP
859  GL_COLOR_LOGIC_OP
860  GL_LOGIC_OP_MODE
861  GL_CLEAR
862  GL_SET
863  GL_COPY
864  GL_COPY_INVERTED
865  GL_NOOP
866  GL_INVERT
867  GL_AND
868  GL_NAND
869  GL_OR
870  GL_NOR
871  GL_XOR
872  GL_EQUIV
873  GL_AND_REVERSE
874  GL_AND_INVERTED
875  GL_OR_REVERSE
876  GL_OR_INVERTED
877  GL_STENCIL_TEST
878  GL_STENCIL_WRITEMASK
879  GL_STENCIL_BITS
880  GL_STENCIL_FUNC
881  GL_STENCIL_VALUE_MASK
882  GL_STENCIL_REF
883  GL_STENCIL_FAIL
884  GL_STENCIL_PASS_DEPTH_PASS
885  GL_STENCIL_PASS_DEPTH_FAIL
886  GL_STENCIL_CLEAR_VALUE
887  GL_STENCIL_INDEX
888  GL_KEEP
889  GL_REPLACE
890  GL_INCR
891  GL_DECR
892  GL_NONE
893  GL_LEFT
894  GL_RIGHT
895  GL_FRONT_LEFT
896  GL_FRONT_RIGHT
897  GL_BACK_LEFT
898  GL_BACK_RIGHT
899  GL_AUX0
900  GL_AUX1
901  GL_AUX2
902  GL_AUX3
903  GL_COLOR_INDEX
904  GL_RED
905  GL_GREEN
906  GL_BLUE
907  GL_ALPHA
908  GL_LUMINANCE
909  GL_LUMINANCE_ALPHA
910  GL_ALPHA_BITS
911  GL_RED_BITS
912  GL_GREEN_BITS
913  GL_BLUE_BITS
914  GL_INDEX_BITS
915  GL_SUBPIXEL_BITS
916  GL_AUX_BUFFERS
917  GL_READ_BUFFER
918  GL_DRAW_BUFFER
919  GL_DOUBLEBUFFER
920  GL_STEREO
921  GL_BITMAP
922  GL_COLOR
923  GL_DEPTH
924  GL_STENCIL
925  GL_DITHER
926  GL_RGB
927  GL_RGBA
928  GL_MAX_LIST_NESTING
929  GL_MAX_ATTRIB_STACK_DEPTH
930  GL_MAX_MODELVIEW_STACK_DEPTH
931  GL_MAX_NAME_STACK_DEPTH
932  GL_MAX_PROJECTION_STACK_DEPTH
933  GL_MAX_TEXTURE_STACK_DEPTH
934  GL_MAX_EVAL_ORDER
935  GL_MAX_LIGHTS
936  GL_MAX_CLIP_PLANES
937  GL_MAX_TEXTURE_SIZE
938  GL_MAX_PIXEL_MAP_TABLE
939  GL_MAX_VIEWPORT_DIMS
940  GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
941  GL_ATTRIB_STACK_DEPTH
942  GL_CLIENT_ATTRIB_STACK_DEPTH
943  GL_COLOR_CLEAR_VALUE
944  GL_COLOR_WRITEMASK
945  GL_CURRENT_INDEX
946  GL_CURRENT_COLOR
947  GL_CURRENT_NORMAL
948  GL_CURRENT_RASTER_COLOR
949  GL_CURRENT_RASTER_DISTANCE
950  GL_CURRENT_RASTER_INDEX
951  GL_CURRENT_RASTER_POSITION
952  GL_CURRENT_RASTER_TEXTURE_COORDS
953  GL_CURRENT_RASTER_POSITION_VALID
954  GL_CURRENT_TEXTURE_COORDS
955  GL_INDEX_CLEAR_VALUE
956  GL_INDEX_MODE
957  GL_INDEX_WRITEMASK
958  GL_MODELVIEW_MATRIX
959  GL_MODELVIEW_STACK_DEPTH
960  GL_NAME_STACK_DEPTH
961  GL_PROJECTION_MATRIX
962  GL_PROJECTION_STACK_DEPTH
963  GL_RENDER_MODE
964  GL_RGBA_MODE
965  GL_TEXTURE_MATRIX
966  GL_TEXTURE_STACK_DEPTH
967  GL_VIEWPORT
968  GL_AUTO_NORMAL
969  GL_MAP1_COLOR_4
970  GL_MAP1_GRID_DOMAIN
971  GL_MAP1_GRID_SEGMENTS
972  GL_MAP1_INDEX
973  GL_MAP1_NORMAL
974  GL_MAP1_TEXTURE_COORD_1
975  GL_MAP1_TEXTURE_COORD_2
976  GL_MAP1_TEXTURE_COORD_3
977  GL_MAP1_TEXTURE_COORD_4
978  GL_MAP1_VERTEX_3
979  GL_MAP1_VERTEX_4
980  GL_MAP2_COLOR_4
981  GL_MAP2_GRID_DOMAIN
982  GL_MAP2_GRID_SEGMENTS
983  GL_MAP2_INDEX
984  GL_MAP2_NORMAL
985  GL_MAP2_TEXTURE_COORD_1
986  GL_MAP2_TEXTURE_COORD_2
987  GL_MAP2_TEXTURE_COORD_3
988  GL_MAP2_TEXTURE_COORD_4
989  GL_MAP2_VERTEX_3
990  GL_MAP2_VERTEX_4
991  GL_COEFF
992  GL_DOMAIN
993  GL_ORDER
994  GL_FOG_HINT
995  GL_LINE_SMOOTH_HINT
996  GL_PERSPECTIVE_CORRECTION_HINT
997  GL_POINT_SMOOTH_HINT
998  GL_POLYGON_SMOOTH_HINT
999  GL_DONT_CARE
1000  GL_FASTEST
1001  GL_NICEST
1002  GL_SCISSOR_TEST
1003  GL_SCISSOR_BOX
1004  GL_MAP_COLOR
1005  GL_MAP_STENCIL
1006  GL_INDEX_SHIFT
1007  GL_INDEX_OFFSET
1008  GL_RED_SCALE
1009  GL_RED_BIAS
1010  GL_GREEN_SCALE
1011  GL_GREEN_BIAS
1012  GL_BLUE_SCALE
1013  GL_BLUE_BIAS
1014  GL_ALPHA_SCALE
1015  GL_ALPHA_BIAS
1016  GL_DEPTH_SCALE
1017  GL_DEPTH_BIAS
1018  GL_PIXEL_MAP_S_TO_S_SIZE
1019  GL_PIXEL_MAP_I_TO_I_SIZE
1020  GL_PIXEL_MAP_I_TO_R_SIZE
1021  GL_PIXEL_MAP_I_TO_G_SIZE
1022  GL_PIXEL_MAP_I_TO_B_SIZE
1023  GL_PIXEL_MAP_I_TO_A_SIZE
1024  GL_PIXEL_MAP_R_TO_R_SIZE
1025  GL_PIXEL_MAP_G_TO_G_SIZE
1026  GL_PIXEL_MAP_B_TO_B_SIZE
1027  GL_PIXEL_MAP_A_TO_A_SIZE
1028  GL_PIXEL_MAP_S_TO_S
1029  GL_PIXEL_MAP_I_TO_I
1030  GL_PIXEL_MAP_I_TO_R
1031  GL_PIXEL_MAP_I_TO_G
1032  GL_PIXEL_MAP_I_TO_B
1033  GL_PIXEL_MAP_I_TO_A
1034  GL_PIXEL_MAP_R_TO_R
1035  GL_PIXEL_MAP_G_TO_G
1036  GL_PIXEL_MAP_B_TO_B
1037  GL_PIXEL_MAP_A_TO_A
1038  GL_PACK_ALIGNMENT
1039  GL_PACK_LSB_FIRST
1040  GL_PACK_ROW_LENGTH
1041  GL_PACK_SKIP_PIXELS
1042  GL_PACK_SKIP_ROWS
1043  GL_PACK_SWAP_BYTES
1044  GL_UNPACK_ALIGNMENT
1045  GL_UNPACK_LSB_FIRST
1046  GL_UNPACK_ROW_LENGTH
1047  GL_UNPACK_SKIP_PIXELS
1048  GL_UNPACK_SKIP_ROWS
1049  GL_UNPACK_SWAP_BYTES
1050  GL_ZOOM_X
1051  GL_ZOOM_Y
1052  GL_TEXTURE_ENV
1053  GL_TEXTURE_ENV_MODE
1054  GL_TEXTURE_1D
1055  GL_TEXTURE_2D
1056  GL_TEXTURE_WRAP_S
1057  GL_TEXTURE_WRAP_T
1058  GL_TEXTURE_MAG_FILTER
1059  GL_TEXTURE_MIN_FILTER
1060  GL_TEXTURE_ENV_COLOR
1061  GL_TEXTURE_GEN_S
1062  GL_TEXTURE_GEN_T
1063  GL_TEXTURE_GEN_MODE
1064  GL_TEXTURE_BORDER_COLOR
1065  GL_TEXTURE_WIDTH
1066  GL_TEXTURE_HEIGHT
1067  GL_TEXTURE_BORDER
1068  GL_TEXTURE_COMPONENTS
1069  GL_TEXTURE_RED_SIZE
1070  GL_TEXTURE_GREEN_SIZE
1071  GL_TEXTURE_BLUE_SIZE
1072  GL_TEXTURE_ALPHA_SIZE
1073  GL_TEXTURE_LUMINANCE_SIZE
1074  GL_TEXTURE_INTENSITY_SIZE
1075  GL_NEAREST_MIPMAP_NEAREST
1076  GL_NEAREST_MIPMAP_LINEAR
1077  GL_LINEAR_MIPMAP_NEAREST
1078  GL_LINEAR_MIPMAP_LINEAR
1079  GL_OBJECT_LINEAR
1080  GL_OBJECT_PLANE
1081  GL_EYE_LINEAR
1082  GL_EYE_PLANE
1083  GL_SPHERE_MAP
1084  GL_DECAL
1085  GL_MODULATE
1086  GL_NEAREST
1087  GL_REPEAT
1088  GL_CLAMP
1089  GL_S
1090  GL_T
1091  GL_R
1092  GL_Q
1093  GL_TEXTURE_GEN_R
1094  GL_TEXTURE_GEN_Q
1095  GL_VENDOR
1096  GL_RENDERER
1097  GL_VERSION
1098  GL_EXTENSIONS
1099  GL_NO_ERROR
1100  GL_INVALID_VALUE
1101  GL_INVALID_ENUM
1102  GL_INVALID_OPERATION
1103  GL_STACK_OVERFLOW
1104  GL_STACK_UNDERFLOW
1105  GL_OUT_OF_MEMORY
1106  GL_CURRENT_BIT
1107  GL_POINT_BIT
1108  GL_LINE_BIT
1109  GL_POLYGON_BIT
1110  GL_POLYGON_STIPPLE_BIT
1111  GL_PIXEL_MODE_BIT
1112  GL_LIGHTING_BIT
1113  GL_FOG_BIT
1114  GL_DEPTH_BUFFER_BIT
1115  GL_ACCUM_BUFFER_BIT
1116  GL_STENCIL_BUFFER_BIT
1117  GL_VIEWPORT_BIT
1118  GL_TRANSFORM_BIT
1119  GL_ENABLE_BIT
1120  GL_COLOR_BUFFER_BIT
1121  GL_HINT_BIT
1122  GL_EVAL_BIT
1123  GL_LIST_BIT
1124  GL_TEXTURE_BIT
1125  GL_SCISSOR_BIT
1126  GL_ALL_ATTRIB_BITS
1127  GL_PROXY_TEXTURE_1D
1128  GL_PROXY_TEXTURE_2D
1129  GL_TEXTURE_PRIORITY
1130  GL_TEXTURE_RESIDENT
1131  GL_TEXTURE_BINDING_1D
1132  GL_TEXTURE_BINDING_2D
1133  GL_TEXTURE_INTERNAL_FORMAT
1134  GL_ALPHA4
1135  GL_ALPHA8
1136  GL_ALPHA12
1137  GL_ALPHA16
1138  GL_LUMINANCE4
1139  GL_LUMINANCE8
1140  GL_LUMINANCE12
1141  GL_LUMINANCE16
1142  GL_LUMINANCE4_ALPHA4
1143  GL_LUMINANCE6_ALPHA2
1144  GL_LUMINANCE8_ALPHA8
1145  GL_LUMINANCE12_ALPHA4
1146  GL_LUMINANCE12_ALPHA12
1147  GL_LUMINANCE16_ALPHA16
1148  GL_INTENSITY
1149  GL_INTENSITY4
1150  GL_INTENSITY8
1151  GL_INTENSITY12
1152  GL_INTENSITY16
1153  GL_R3_G3_B2
1154  GL_RGB4
1155  GL_RGB5
1156  GL_RGB8
1157  GL_RGB10
1158  GL_RGB12
1159  GL_RGB16
1160  GL_RGBA2
1161  GL_RGBA4
1162  GL_RGB5_A1
1163  GL_RGBA8
1164  GL_RGB10_A2
1165  GL_RGBA12
1166  GL_RGBA16
1167  GL_CLIENT_PIXEL_STORE_BIT
1168  GL_CLIENT_VERTEX_ARRAY_BIT
1169  GL_ALL_CLIENT_ATTRIB_BITS
1170  GL_CLIENT_ALL_ATTRIB_BITS
1171
1172  GL_UNSIGNED_BYTE_3_3_2
1173  GL_UNSIGNED_SHORT_4_4_4_4
1174  GL_UNSIGNED_SHORT_5_5_5_1
1175  GL_UNSIGNED_INT_8_8_8_8
1176  GL_UNSIGNED_INT_10_10_10_2
1177  GL_RESCALE_NORMAL
1178  GL_TEXTURE_BINDING_3D
1179  GL_PACK_SKIP_IMAGES
1180  GL_PACK_IMAGE_HEIGHT
1181  GL_UNPACK_SKIP_IMAGES
1182  GL_UNPACK_IMAGE_HEIGHT
1183  GL_TEXTURE_3D
1184  GL_PROXY_TEXTURE_3D
1185  GL_TEXTURE_DEPTH
1186  GL_TEXTURE_WRAP_R
1187  GL_MAX_3D_TEXTURE_SIZE
1188  GL_UNSIGNED_BYTE_2_3_3_REV
1189  GL_UNSIGNED_SHORT_5_6_5
1190  GL_UNSIGNED_SHORT_5_6_5_REV
1191  GL_UNSIGNED_SHORT_4_4_4_4_REV
1192  GL_UNSIGNED_SHORT_1_5_5_5_REV
1193  GL_UNSIGNED_INT_8_8_8_8_REV
1194  GL_UNSIGNED_INT_2_10_10_10_REV
1195  GL_BGR
1196  GL_BGRA
1197  GL_MAX_ELEMENTS_VERTICES
1198  GL_MAX_ELEMENTS_INDICES
1199  GL_CLAMP_TO_EDGE
1200  GL_TEXTURE_MIN_LOD
1201  GL_TEXTURE_MAX_LOD
1202  GL_TEXTURE_BASE_LEVEL
1203  GL_TEXTURE_MAX_LEVEL
1204  GL_LIGHT_MODEL_COLOR_CONTROL
1205  GL_SINGLE_COLOR
1206  GL_SEPARATE_SPECULAR_COLOR
1207  GL_SMOOTH_POINT_SIZE_RANGE
1208  GL_SMOOTH_POINT_SIZE_GRANULARITY
1209  GL_SMOOTH_LINE_WIDTH_RANGE
1210  GL_SMOOTH_LINE_WIDTH_GRANULARITY
1211  GL_ALIASED_POINT_SIZE_RANGE
1212  GL_ALIASED_LINE_WIDTH_RANGE
1213
1214  GL_CONSTANT_COLOR
1215  GL_ONE_MINUS_CONSTANT_COLOR
1216  GL_CONSTANT_ALPHA
1217  GL_ONE_MINUS_CONSTANT_ALPHA
1218  GL_BLEND_COLOR
1219  GL_FUNC_ADD
1220  GL_MIN
1221  GL_MAX
1222  GL_BLEND_EQUATION
1223  GL_FUNC_SUBTRACT
1224  GL_FUNC_REVERSE_SUBTRACT
1225  GL_CONVOLUTION_1D
1226  GL_CONVOLUTION_2D
1227  GL_SEPARABLE_2D
1228  GL_CONVOLUTION_BORDER_MODE
1229  GL_CONVOLUTION_FILTER_SCALE
1230  GL_CONVOLUTION_FILTER_BIAS
1231  GL_REDUCE
1232  GL_CONVOLUTION_FORMAT
1233  GL_CONVOLUTION_WIDTH
1234  GL_CONVOLUTION_HEIGHT
1235  GL_MAX_CONVOLUTION_WIDTH
1236  GL_MAX_CONVOLUTION_HEIGHT
1237  GL_POST_CONVOLUTION_RED_SCALE
1238  GL_POST_CONVOLUTION_GREEN_SCALE
1239  GL_POST_CONVOLUTION_BLUE_SCALE
1240  GL_POST_CONVOLUTION_ALPHA_SCALE
1241  GL_POST_CONVOLUTION_RED_BIAS
1242  GL_POST_CONVOLUTION_GREEN_BIAS
1243  GL_POST_CONVOLUTION_BLUE_BIAS
1244  GL_POST_CONVOLUTION_ALPHA_BIAS
1245  GL_HISTOGRAM
1246  GL_PROXY_HISTOGRAM
1247  GL_HISTOGRAM_WIDTH
1248  GL_HISTOGRAM_FORMAT
1249  GL_HISTOGRAM_RED_SIZE
1250  GL_HISTOGRAM_GREEN_SIZE
1251  GL_HISTOGRAM_BLUE_SIZE
1252  GL_HISTOGRAM_ALPHA_SIZE
1253  GL_HISTOGRAM_LUMINANCE_SIZE
1254  GL_HISTOGRAM_SINK
1255  GL_MINMAX
1256  GL_MINMAX_FORMAT
1257  GL_MINMAX_SINK
1258  GL_TABLE_TOO_LARGE
1259  GL_COLOR_MATRIX
1260  GL_COLOR_MATRIX_STACK_DEPTH
1261  GL_MAX_COLOR_MATRIX_STACK_DEPTH
1262  GL_POST_COLOR_MATRIX_RED_SCALE
1263  GL_POST_COLOR_MATRIX_GREEN_SCALE
1264  GL_POST_COLOR_MATRIX_BLUE_SCALE
1265  GL_POST_COLOR_MATRIX_ALPHA_SCALE
1266  GL_POST_COLOR_MATRIX_RED_BIAS
1267  GL_POST_COLOR_MATRIX_GREEN_BIAS
1268  GL_POST_COLOR_MATRIX_BLUE_BIAS
1269  GL_POST_COLOR_MATRIX_ALPHA_BIAS
1270  GL_COLOR_TABLE
1271  GL_POST_CONVOLUTION_COLOR_TABLE
1272  GL_POST_COLOR_MATRIX_COLOR_TABLE
1273  GL_PROXY_COLOR_TABLE
1274  GL_PROXY_POST_CONVOLUTION_COLOR_TABLE
1275  GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE
1276  GL_COLOR_TABLE_SCALE
1277  GL_COLOR_TABLE_BIAS
1278  GL_COLOR_TABLE_FORMAT
1279  GL_COLOR_TABLE_WIDTH
1280  GL_COLOR_TABLE_RED_SIZE
1281  GL_COLOR_TABLE_GREEN_SIZE
1282  GL_COLOR_TABLE_BLUE_SIZE
1283  GL_COLOR_TABLE_ALPHA_SIZE
1284  GL_COLOR_TABLE_LUMINANCE_SIZE
1285  GL_COLOR_TABLE_INTENSITY_SIZE
1286  GL_CONSTANT_BORDER
1287  GL_REPLICATE_BORDER
1288  GL_CONVOLUTION_BORDER_COLOR
1289
1290 GL_TEXTURE0
1291 GL_TEXTURE1
1292 GL_TEXTURE2
1293 GL_TEXTURE3
1294 GL_TEXTURE4
1295 GL_TEXTURE5
1296 GL_TEXTURE6
1297 GL_TEXTURE7
1298 GL_TEXTURE8
1299 GL_TEXTURE9
1300 GL_TEXTURE10
1301 GL_TEXTURE11
1302 GL_TEXTURE12
1303 GL_TEXTURE13
1304 GL_TEXTURE14
1305 GL_TEXTURE15
1306 GL_TEXTURE16
1307 GL_TEXTURE17
1308 GL_TEXTURE18
1309 GL_TEXTURE19
1310 GL_TEXTURE20
1311 GL_TEXTURE21
1312 GL_TEXTURE22
1313 GL_TEXTURE23
1314 GL_TEXTURE24
1315 GL_TEXTURE25
1316 GL_TEXTURE26
1317 GL_TEXTURE27
1318 GL_TEXTURE28
1319 GL_TEXTURE29
1320 GL_TEXTURE30
1321 GL_TEXTURE31
1322 GL_ACTIVE_TEXTURE
1323 GL_CLIENT_ACTIVE_TEXTURE
1324 GL_MAX_TEXTURE_UNITS
1325 GL_TRANSPOSE_MODELVIEW_MATRIX
1326 GL_TRANSPOSE_PROJECTION_MATRIX
1327 GL_TRANSPOSE_TEXTURE_MATRIX
1328 GL_TRANSPOSE_COLOR_MATRIX
1329 GL_MULTISAMPLE
1330 GL_SAMPLE_ALPHA_TO_COVERAGE
1331 GL_SAMPLE_ALPHA_TO_ONE
1332 GL_SAMPLE_COVERAGE
1333 GL_SAMPLE_BUFFERS
1334 GL_SAMPLES
1335 GL_SAMPLE_COVERAGE_VALUE
1336 GL_SAMPLE_COVERAGE_INVERT
1337 GL_MULTISAMPLE_BIT
1338 GL_NORMAL_MAP
1339 GL_REFLECTION_MAP
1340 GL_TEXTURE_CUBE_MAP
1341 GL_TEXTURE_BINDING_CUBE_MAP
1342 GL_TEXTURE_CUBE_MAP_POSITIVE_X
1343 GL_TEXTURE_CUBE_MAP_NEGATIVE_X
1344 GL_TEXTURE_CUBE_MAP_POSITIVE_Y
1345 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
1346 GL_TEXTURE_CUBE_MAP_POSITIVE_Z
1347 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
1348 GL_PROXY_TEXTURE_CUBE_MAP
1349 GL_MAX_CUBE_MAP_TEXTURE_SIZE
1350 GL_COMPRESSED_ALPHA
1351 GL_COMPRESSED_LUMINANCE
1352 GL_COMPRESSED_LUMINANCE_ALPHA
1353 GL_COMPRESSED_INTENSITY
1354 GL_COMPRESSED_RGB
1355 GL_COMPRESSED_RGBA
1356 GL_TEXTURE_COMPRESSION_HINT
1357 GL_TEXTURE_COMPRESSED_IMAGE_SIZE
1358 GL_TEXTURE_COMPRESSED
1359 GL_NUM_COMPRESSED_TEXTURE_FORMATS
1360 GL_COMPRESSED_TEXTURE_FORMATS
1361 GL_CLAMP_TO_BORDER
1362 GL_COMBINE
1363 GL_COMBINE_RGB
1364 GL_COMBINE_ALPHA
1365 GL_SOURCE0_RGB
1366 GL_SOURCE1_RGB
1367 GL_SOURCE2_RGB
1368 GL_SOURCE0_ALPHA
1369 GL_SOURCE1_ALPHA
1370 GL_SOURCE2_ALPHA
1371 GL_OPERAND0_RGB
1372 GL_OPERAND1_RGB
1373 GL_OPERAND2_RGB
1374 GL_OPERAND0_ALPHA
1375 GL_OPERAND1_ALPHA
1376 GL_OPERAND2_ALPHA
1377 GL_RGB_SCALE
1378 GL_ADD_SIGNED
1379 GL_INTERPOLATE
1380 GL_SUBTRACT
1381 GL_CONSTANT
1382 GL_PRIMARY_COLOR
1383 GL_PREVIOUS
1384 GL_DOT3_RGB
1385 GL_DOT3_RGBA
1386
1387 GL_BLEND_DST_RGB
1388 GL_BLEND_SRC_RGB
1389 GL_BLEND_DST_ALPHA
1390 GL_BLEND_SRC_ALPHA
1391 GL_POINT_SIZE_MIN
1392 GL_POINT_SIZE_MAX
1393 GL_POINT_FADE_THRESHOLD_SIZE
1394 GL_POINT_DISTANCE_ATTENUATION
1395 GL_GENERATE_MIPMAP
1396 GL_GENERATE_MIPMAP_HINT
1397 GL_DEPTH_COMPONENT16
1398 GL_DEPTH_COMPONENT24
1399 GL_DEPTH_COMPONENT32
1400 GL_MIRRORED_REPEAT
1401 GL_FOG_COORDINATE_SOURCE
1402 GL_FOG_COORDINATE
1403 GL_FRAGMENT_DEPTH
1404 GL_CURRENT_FOG_COORDINATE
1405 GL_FOG_COORDINATE_ARRAY_TYPE
1406 GL_FOG_COORDINATE_ARRAY_STRIDE
1407 GL_FOG_COORDINATE_ARRAY_POINTER
1408 GL_FOG_COORDINATE_ARRAY
1409 GL_COLOR_SUM
1410 GL_CURRENT_SECONDARY_COLOR
1411 GL_SECONDARY_COLOR_ARRAY_SIZE
1412 GL_SECONDARY_COLOR_ARRAY_TYPE
1413 GL_SECONDARY_COLOR_ARRAY_STRIDE
1414 GL_SECONDARY_COLOR_ARRAY_POINTER
1415 GL_SECONDARY_COLOR_ARRAY
1416 GL_MAX_TEXTURE_LOD_BIAS
1417 GL_TEXTURE_FILTER_CONTROL
1418 GL_TEXTURE_LOD_BIAS
1419 GL_INCR_WRAP
1420 GL_DECR_WRAP
1421 GL_TEXTURE_DEPTH_SIZE
1422 GL_DEPTH_TEXTURE_MODE
1423 GL_TEXTURE_COMPARE_MODE
1424 GL_TEXTURE_COMPARE_FUNC
1425 GL_COMPARE_R_TO_TEXTURE
1426
1427  GL_BUFFER_SIZE
1428  GL_BUFFER_USAGE
1429  GL_QUERY_COUNTER_BITS
1430  GL_CURRENT_QUERY
1431  GL_QUERY_RESULT
1432  GL_QUERY_RESULT_AVAILABLE
1433  GL_ARRAY_BUFFER
1434  GL_ELEMENT_ARRAY_BUFFER
1435  GL_ARRAY_BUFFER_BINDING
1436  GL_ELEMENT_ARRAY_BUFFER_BINDING
1437  GL_VERTEX_ARRAY_BUFFER_BINDING
1438  GL_NORMAL_ARRAY_BUFFER_BINDING
1439  GL_COLOR_ARRAY_BUFFER_BINDING
1440  GL_INDEX_ARRAY_BUFFER_BINDING
1441  GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING
1442  GL_EDGE_FLAG_ARRAY_BUFFER_BINDING
1443  GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING
1444  GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
1445  GL_WEIGHT_ARRAY_BUFFER_BINDING
1446  GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
1447  GL_READ_ONLY
1448  GL_WRITE_ONLY
1449  GL_READ_WRITE
1450  GL_BUFFER_ACCESS
1451  GL_BUFFER_MAPPED
1452  GL_BUFFER_MAP_POINTER
1453  GL_STREAM_DRAW
1454  GL_STREAM_READ
1455  GL_STREAM_COPY
1456  GL_STATIC_DRAW
1457  GL_STATIC_READ
1458  GL_STATIC_COPY
1459  GL_DYNAMIC_DRAW
1460  GL_DYNAMIC_READ
1461  GL_DYNAMIC_COPY
1462  GL_SAMPLES_PASSED
1463  GL_FOG_COORD_SRC
1464  GL_FOG_COORD
1465  GL_CURRENT_FOG_COORD
1466  GL_FOG_COORD_ARRAY_TYPE
1467  GL_FOG_COORD_ARRAY_STRIDE
1468  GL_FOG_COORD_ARRAY_POINTER
1469  GL_FOG_COORD_ARRAY
1470  GL_FOG_COORD_ARRAY_BUFFER_BINDING
1471  GL_SRC0_RGB
1472  GL_SRC1_RGB
1473  GL_SRC2_RGB
1474  GL_SRC0_ALPHA
1475  GL_SRC1_ALPHA
1476  GL_SRC2_ALPHA
1477
1478  GLU_FALSE
1479  GLU_TRUE
1480  GLU_VERSION
1481  GLU_EXTENSIONS
1482  GLU_INVALID_ENUM
1483  GLU_INVALID_VALUE
1484  GLU_OUT_OF_MEMORY
1485  GLU_INVALID_OPERATION
1486  GLU_OUTLINE_POLYGON
1487  GLU_OUTLINE_PATCH
1488  GLU_NURBS_ERROR
1489  GLU_ERROR
1490  GLU_NURBS_BEGIN
1491  GLU_NURBS_BEGIN_EXT
1492  GLU_NURBS_VERTEX
1493  GLU_NURBS_VERTEX_EXT
1494  GLU_NURBS_NORMAL
1495  GLU_NURBS_NORMAL_EXT
1496  GLU_NURBS_COLOR
1497  GLU_NURBS_COLOR_EXT
1498  GLU_NURBS_TEXTURE_COORD
1499  GLU_NURBS_TEX_COORD_EXT
1500  GLU_NURBS_END
1501  GLU_NURBS_END_EXT
1502  GLU_NURBS_BEGIN_DATA
1503  GLU_NURBS_BEGIN_DATA_EXT
1504  GLU_NURBS_VERTEX_DATA
1505  GLU_NURBS_VERTEX_DATA_EXT
1506  GLU_NURBS_NORMAL_DATA
1507  GLU_NURBS_NORMAL_DATA_EXT
1508  GLU_NURBS_COLOR_DATA
1509  GLU_NURBS_COLOR_DATA_EXT
1510  GLU_NURBS_TEXTURE_COORD_DATA
1511  GLU_NURBS_TEX_COORD_DATA_EXT
1512  GLU_NURBS_END_DATA
1513  GLU_NURBS_END_DATA_EXT
1514  GLU_NURBS_ERROR1
1515  GLU_NURBS_ERROR2
1516  GLU_NURBS_ERROR3
1517  GLU_NURBS_ERROR4
1518  GLU_NURBS_ERROR5
1519  GLU_NURBS_ERROR6
1520  GLU_NURBS_ERROR7
1521  GLU_NURBS_ERROR8
1522  GLU_NURBS_ERROR9
1523  GLU_NURBS_ERROR10
1524  GLU_NURBS_ERROR11
1525  GLU_NURBS_ERROR12
1526  GLU_NURBS_ERROR13
1527  GLU_NURBS_ERROR14
1528  GLU_NURBS_ERROR15
1529  GLU_NURBS_ERROR16
1530  GLU_NURBS_ERROR17
1531  GLU_NURBS_ERROR18
1532  GLU_NURBS_ERROR19
1533  GLU_NURBS_ERROR20
1534  GLU_NURBS_ERROR21
1535  GLU_NURBS_ERROR22
1536  GLU_NURBS_ERROR23
1537  GLU_NURBS_ERROR24
1538  GLU_NURBS_ERROR25
1539  GLU_NURBS_ERROR26
1540  GLU_NURBS_ERROR27
1541  GLU_NURBS_ERROR28
1542  GLU_NURBS_ERROR29
1543  GLU_NURBS_ERROR30
1544  GLU_NURBS_ERROR31
1545  GLU_NURBS_ERROR32
1546  GLU_NURBS_ERROR33
1547  GLU_NURBS_ERROR34
1548  GLU_NURBS_ERROR35
1549  GLU_NURBS_ERROR36
1550  GLU_NURBS_ERROR37
1551  GLU_AUTO_LOAD_MATRIX
1552  GLU_CULLING
1553  GLU_SAMPLING_TOLERANCE
1554  GLU_DISPLAY_MODE
1555  GLU_PARAMETRIC_TOLERANCE
1556  GLU_SAMPLING_METHOD
1557  GLU_U_STEP
1558  GLU_V_STEP
1559  GLU_NURBS_MODE
1560  GLU_NURBS_MODE_EXT
1561  GLU_NURBS_TESSELLATOR
1562  GLU_NURBS_TESSELLATOR_EXT
1563  GLU_NURBS_RENDERER
1564  GLU_NURBS_RENDERER_EXT
1565  GLU_OBJECT_PARAMETRIC_ERROR
1566  GLU_OBJECT_PARAMETRIC_ERROR_EXT
1567  GLU_OBJECT_PATH_LENGTH
1568  GLU_OBJECT_PATH_LENGTH_EXT
1569  GLU_PATH_LENGTH
1570  GLU_PARAMETRIC_ERROR
1571  GLU_DOMAIN_DISTANCE
1572  GLU_MAP1_TRIM_2
1573  GLU_MAP1_TRIM_3
1574  GLU_POINT
1575  GLU_LINE
1576  GLU_FILL
1577  GLU_SILHOUETTE
1578  GLU_SMOOTH
1579  GLU_FLAT
1580  GLU_NONE
1581  GLU_OUTSIDE
1582  GLU_INSIDE
1583  GLU_TESS_BEGIN
1584  GLU_BEGIN
1585  GLU_TESS_VERTEX
1586  GLU_VERTEX
1587  GLU_TESS_END
1588  GLU_END
1589  GLU_TESS_ERROR
1590  GLU_TESS_EDGE_FLAG
1591  GLU_EDGE_FLAG
1592  GLU_TESS_COMBINE
1593  GLU_TESS_BEGIN_DATA
1594  GLU_TESS_VERTEX_DATA
1595  GLU_TESS_END_DATA
1596  GLU_TESS_ERROR_DATA
1597  GLU_TESS_EDGE_FLAG_DATA
1598  GLU_TESS_COMBINE_DATA
1599  GLU_CW
1600  GLU_CCW
1601  GLU_INTERIOR
1602  GLU_EXTERIOR
1603  GLU_UNKNOWN
1604  GLU_TESS_WINDING_RULE
1605  GLU_TESS_BOUNDARY_ONLY
1606  GLU_TESS_TOLERANCE
1607  GLU_TESS_ERROR1
1608  GLU_TESS_ERROR2
1609  GLU_TESS_ERROR3
1610  GLU_TESS_ERROR4
1611  GLU_TESS_ERROR5
1612  GLU_TESS_ERROR6
1613  GLU_TESS_ERROR7
1614  GLU_TESS_ERROR8
1615  GLU_TESS_MISSING_BEGIN_POLYGON
1616  GLU_TESS_MISSING_BEGIN_CONTOUR
1617  GLU_TESS_MISSING_END_POLYGON
1618  GLU_TESS_MISSING_END_CONTOUR
1619  GLU_TESS_COORD_TOO_LARGE
1620  GLU_TESS_NEED_COMBINE_CALLBACK
1621  GLU_TESS_WINDING_ODD
1622  GLU_TESS_WINDING_NONZERO
1623  GLU_TESS_WINDING_POSITIVE
1624  GLU_TESS_WINDING_NEGATIVE
1625  GLU_TESS_WINDING_ABS_GEQ_TWO
1626  [GLU_TESS_MAX_COORD real?]
1627)]{
1628All OpenGL-defined constants.}
1629
1630@defproc[(feedback-buffer->gl-float-vector [buf feedback-buffer-object?])
1631         gl-float-vector?]{
1632
1633Converts a result from @racket[glFeedbackBuffer] to a vector.}
1634
1635@defproc[(select-buffer->gl-uint-vector [buf select-buffer-object?])
1636         gl-uint-vector?]{
1637
1638Converts a result from @racket[glSelectBuffer] to a vector.}
1639