Skip to content
This repository
Browse code

Mega patch from Bart Botta

- Merged Bart Botta's stuff for generating gl/funcs.lisp from the .spec files.
  Also adds new cl-opengl-bindings package with low-level functions.
  Fixed some parsing bugs.
- Updated for OpenGL 2.1. (enums, too)

darcs-hash:20070306024546-28748-787b7e475fe1886f896f51a34bcdd8456b6384f8.gz
  • Loading branch information...
commit 781ca645ea640b55f79d5a37a1d93b5efc80ce37 1 parent 59d4d65
Luís Oliveira authored March 05, 2007
1  HEADER
@@ -30,3 +30,4 @@
30 30
 ;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 31
 ;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 32
 ;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  33
+;;;
9  Makefile
@@ -3,8 +3,17 @@
3 3
 enums:
4 4
 	@sbcl --noinform --disable-debugger --no-userinit --load "tools/generate-enums.lisp" --eval "(main)"
5 5
 
  6
+funcs:
  7
+	@sbcl --noinform --disable-debugger --load "tools/generate-funcs.lisp" --eval "(spec-parser:main)"
  8
+
  9
+specs:
  10
+	cd spec && wget -N http://www.opengl.org/registry/api/enum.spec
  11
+	cd spec && wget -N http://www.opengl.org/registry/api/enumext.spec
  12
+	cd spec && wget -N http://www.opengl.org/registry/api/gl.spec
  13
+
6 14
 clean:
7 15
 	find . -name ".fasls" | xargs rm -rf
8 16
 	find . \( -name "*.dfsl" -o -name "*.fasl" -o -name "*.fas" -o -name "*.lib" -o -name "*.x86f" -o -name "*.ppcf" -o -name "*.nfasl" -o -name "*.fsl" \) -exec rm {} \;
9 17
 
  18
+.PHONY: enums funcs specs clean
10 19
 # vim: ft=make ts=3 noet
30  cl-opengl.asd
... ...
@@ -1,19 +1,19 @@
1 1
 ;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
2 2
 ;;;
3  
-;;; Copyright (c) 2004, Oliver Markovic <entrox@entrox.org> 
4  
-;;;   All rights reserved. 
  3
+;;; Copyright (c) 2004, Oliver Markovic <entrox@entrox.org>
  4
+;;;   All rights reserved.
5 5
 ;;;
6 6
 ;;; Redistribution and use in source and binary forms, with or without
7 7
 ;;; modification, are permitted provided that the following conditions are met:
8 8
 ;;;
9 9
 ;;;  o Redistributions of source code must retain the above copyright notice,
10  
-;;;    this list of conditions and the following disclaimer. 
  10
+;;;    this list of conditions and the following disclaimer.
11 11
 ;;;  o Redistributions in binary form must reproduce the above copyright
12 12
 ;;;    notice, this list of conditions and the following disclaimer in the
13  
-;;;    documentation and/or other materials provided with the distribution. 
  13
+;;;    documentation and/or other materials provided with the distribution.
14 14
 ;;;  o Neither the name of the author nor the names of the contributors may be
15 15
 ;;;    used to endorse or promote products derived from this software without
16  
-;;;    specific prior written permission. 
  16
+;;;    specific prior written permission.
17 17
 ;;;
18 18
 ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 19
 ;;; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -27,25 +27,23 @@
27 27
 ;;; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 28
 ;;; POSSIBILITY OF SUCH DAMAGE.
29 29
 
30  
-(defpackage :cl-opengl-system
31  
-  (:use :cl :asdf))
32  
-(in-package :cl-opengl-system)
33  
-
34  
-
35 30
 (defsystem :cl-opengl
36 31
   :depends-on (:cffi)
37 32
   :components
38 33
   ((:module "gl"
39 34
     :components
40  
-    ((:file "package")
41  
-     (:file "library" :depends-on ("package"))
42  
-     (:file "types" :depends-on ("package"))
43  
-     (:file "constants" :depends-on ("types"))
44  
-     (:file "funcs" :depends-on ("constants" "library"))
  35
+    ((:file "bindings-package")
  36
+     (:file "bindings" :depends-on ("bindings-package"))
  37
+     (:file "types" :depends-on ("bindings-package"))
  38
+     (:file "library" :depends-on ("bindings-package"))
  39
+     (:file "constants" :depends-on ("bindings"))
  40
+     (:file "funcs" :depends-on ("bindings" "constants" "library"))
  41
+     ;; Lispifications.
  42
+     (:file "package" :depends-on ("bindings-package"))
45 43
      (:file "util" :depends-on ("constants" "types"))
46 44
      (:file "opengl" :depends-on ("funcs" "util"))
47 45
      (:file "rasterization" :depends-on ("funcs" "util"))
48 46
      (:file "framebuffer" :depends-on ("funcs" "util"))
49  
-     (:file "special" :depends-on ("funcs" "util"))
  47
+     (:file "special" :depends-on ("funcs" "util" "constants"))
50 48
      (:file "state" :depends-on ("funcs" "util"))
51 49
      (:file "extensions" :depends-on ("funcs" "util"))))))
637  gl/bindings-package.lisp
... ...
@@ -0,0 +1,637 @@
  1
+;;; generated file, do not edit
  2
+;;; glext version 39 ( 2007/02/12 )
  3
+
  4
+(defpackage #:cl-opengl-bindings
  5
+  (:nicknames #:%gl)
  6
+  (:use #:common-lisp #:cffi)
  7
+  (:shadow #:char #:float #:byte #:boolean #:string)
  8
+  (:export
  9
+   #:enum
  10
+   #:*glext-version*
  11
+   #:*glext-last-updated*
  12
+   #:*gl-get-proc-address*
  13
+
  14
+  ;; Types.
  15
+  #:char #:char-arb #:intptr #:sizeiptr #:intptr-arb #:sizeiptr-arb 
  16
+  #:handle-arb #:half #:half-arb #:half-nv #:int64 #:uint64 #:clampd 
  17
+  #:double #:clampf #:float #:sizei #:uint #:ushort #:ubyte #:int 
  18
+  #:short #:byte #:void #:bitfield #:boolean #:string 
  19
+
  20
+  ;; Functions.
  21
+  #:new-list #:end-list #:call-list #:call-lists #:delete-lists 
  22
+  #:gen-lists #:list-base #:begin #:bitmap #:color-3b #:color-3bv 
  23
+  #:color-3d #:color-3dv #:color-3f #:color-3fv #:color-3i 
  24
+  #:color-3iv #:color-3s #:color-3sv #:color-3ub #:color-3ubv 
  25
+  #:color-3ui #:color-3uiv #:color-3us #:color-3usv #:color-4b 
  26
+  #:color-4bv #:color-4d #:color-4dv #:color-4f #:color-4fv 
  27
+  #:color-4i #:color-4iv #:color-4s #:color-4sv #:color-4ub 
  28
+  #:color-4ubv #:color-4ui #:color-4uiv #:color-4us #:color-4usv 
  29
+  #:edge-flag #:edge-flag-v #:end #:index-d #:index-dv #:index-f 
  30
+  #:index-fv #:index-i #:index-iv #:index-s #:index-sv #:normal-3b 
  31
+  #:normal-3bv #:normal-3d #:normal-3dv #:normal-3f #:normal-3fv 
  32
+  #:normal-3i #:normal-3iv #:normal-3s #:normal-3sv #:raster-pos-2d 
  33
+  #:raster-pos-2dv #:raster-pos-2f #:raster-pos-2fv #:raster-pos-2i 
  34
+  #:raster-pos-2iv #:raster-pos-2s #:raster-pos-2sv #:raster-pos-3d 
  35
+  #:raster-pos-3dv #:raster-pos-3f #:raster-pos-3fv #:raster-pos-3i 
  36
+  #:raster-pos-3iv #:raster-pos-3s #:raster-pos-3sv #:raster-pos-4d 
  37
+  #:raster-pos-4dv #:raster-pos-4f #:raster-pos-4fv #:raster-pos-4i 
  38
+  #:raster-pos-4iv #:raster-pos-4s #:raster-pos-4sv #:rect-d 
  39
+  #:rect-dv #:rect-f #:rect-fv #:rect-i #:rect-iv #:rect-s #:rect-sv 
  40
+  #:tex-coord-1d #:tex-coord-1dv #:tex-coord-1f #:tex-coord-1fv 
  41
+  #:tex-coord-1i #:tex-coord-1iv #:tex-coord-1s #:tex-coord-1sv 
  42
+  #:tex-coord-2d #:tex-coord-2dv #:tex-coord-2f #:tex-coord-2fv 
  43
+  #:tex-coord-2i #:tex-coord-2iv #:tex-coord-2s #:tex-coord-2sv 
  44
+  #:tex-coord-3d #:tex-coord-3dv #:tex-coord-3f #:tex-coord-3fv 
  45
+  #:tex-coord-3i #:tex-coord-3iv #:tex-coord-3s #:tex-coord-3sv 
  46
+  #:tex-coord-4d #:tex-coord-4dv #:tex-coord-4f #:tex-coord-4fv 
  47
+  #:tex-coord-4i #:tex-coord-4iv #:tex-coord-4s #:tex-coord-4sv 
  48
+  #:vertex-2d #:vertex-2dv #:vertex-2f #:vertex-2fv #:vertex-2i 
  49
+  #:vertex-2iv #:vertex-2s #:vertex-2sv #:vertex-3d #:vertex-3dv 
  50
+  #:vertex-3f #:vertex-3fv #:vertex-3i #:vertex-3iv #:vertex-3s 
  51
+  #:vertex-3sv #:vertex-4d #:vertex-4dv #:vertex-4f #:vertex-4fv 
  52
+  #:vertex-4i #:vertex-4iv #:vertex-4s #:vertex-4sv #:clip-plane 
  53
+  #:color-material #:cull-face #:fog-f #:fog-fv #:fog-i #:fog-iv 
  54
+  #:front-face #:hint #:light-f #:light-fv #:light-i #:light-iv 
  55
+  #:light-model-f #:light-model-fv #:light-model-i #:light-model-iv 
  56
+  #:line-stipple #:line-width #:material-f #:material-fv 
  57
+  #:material-i #:material-iv #:point-size #:polygon-mode 
  58
+  #:polygon-stipple #:scissor #:shade-model #:tex-parameter-f 
  59
+  #:tex-parameter-fv #:tex-parameter-i #:tex-parameter-iv 
  60
+  #:tex-image-1d #:tex-image-2d #:tex-env-f #:tex-env-fv #:tex-env-i 
  61
+  #:tex-env-iv #:tex-gen-d #:tex-gen-dv #:tex-gen-f #:tex-gen-fv 
  62
+  #:tex-gen-i #:tex-gen-iv #:feedback-buffer #:select-buffer 
  63
+  #:render-mode #:init-names #:load-name #:pass-through #:pop-name 
  64
+  #:push-name #:draw-buffer #:clear #:clear-accum #:clear-index 
  65
+  #:clear-color #:clear-stencil #:clear-depth #:stencil-mask 
  66
+  #:color-mask #:depth-mask #:index-mask #:accum #:disable #:enable 
  67
+  #:finish #:flush #:pop-attrib #:push-attrib #:map-1d #:map-1f 
  68
+  #:map-2d #:map-2f #:map-grid-1d #:map-grid-1f #:map-grid-2d 
  69
+  #:map-grid-2f #:eval-coord-1d #:eval-coord-1dv #:eval-coord-1f 
  70
+  #:eval-coord-1fv #:eval-coord-2d #:eval-coord-2dv #:eval-coord-2f 
  71
+  #:eval-coord-2fv #:eval-mesh-1 #:eval-point-1 #:eval-mesh-2 
  72
+  #:eval-point-2 #:alpha-func #:blend-func #:logic-op #:stencil-func 
  73
+  #:stencil-op #:depth-func #:pixel-zoom #:pixel-transfer-f 
  74
+  #:pixel-transfer-i #:pixel-store-f #:pixel-store-i #:pixel-map-fv 
  75
+  #:pixel-map-uiv #:pixel-map-usv #:read-buffer #:copy-pixels 
  76
+  #:read-pixels #:draw-pixels #:get-boolean-v #:get-clip-plane 
  77
+  #:get-double-v #:get-error #:get-float-v #:get-integer-v 
  78
+  #:get-light-fv #:get-light-iv #:get-map-dv #:get-map-fv 
  79
+  #:get-map-iv #:get-material-fv #:get-material-iv 
  80
+  #:get-pixel-map-fv #:get-pixel-map-uiv #:get-pixel-map-usv 
  81
+  #:get-polygon-stipple #:get-string #:get-tex-env-fv 
  82
+  #:get-tex-env-iv #:get-tex-gen-dv #:get-tex-gen-fv 
  83
+  #:get-tex-gen-iv #:get-tex-image #:get-tex-parameter-fv 
  84
+  #:get-tex-parameter-iv #:get-tex-level-parameter-fv 
  85
+  #:get-tex-level-parameter-iv #:is-enabled #:is-list #:depth-range 
  86
+  #:frustum #:load-identity #:load-matrix-f #:load-matrix-d 
  87
+  #:matrix-mode #:mult-matrix-f #:mult-matrix-d #:ortho #:pop-matrix 
  88
+  #:push-matrix #:rotate-d #:rotate-f #:scale-d #:scale-f 
  89
+  #:translate-d #:translate-f #:viewport #:array-element 
  90
+  #:color-pointer #:disable-client-state #:draw-arrays 
  91
+  #:draw-elements #:edge-flag-pointer #:enable-client-state 
  92
+  #:get-pointer-v #:index-pointer #:interleaved-arrays 
  93
+  #:normal-pointer #:tex-coord-pointer #:vertex-pointer 
  94
+  #:polygon-offset #:copy-tex-image-1d #:copy-tex-image-2d 
  95
+  #:copy-tex-sub-image-1d #:copy-tex-sub-image-2d #:tex-sub-image-1d 
  96
+  #:tex-sub-image-2d #:are-textures-resident #:bind-texture 
  97
+  #:delete-textures #:gen-textures #:is-texture 
  98
+  #:prioritize-textures #:index-ub #:index-ubv #:pop-client-attrib 
  99
+  #:push-client-attrib #:blend-color #:blend-equation 
  100
+  #:draw-range-elements #:color-table #:color-table-parameter-fv 
  101
+  #:color-table-parameter-iv #:copy-color-table #:get-color-table 
  102
+  #:get-color-table-parameter-fv #:get-color-table-parameter-iv 
  103
+  #:color-sub-table #:copy-color-sub-table #:convolution-filter-1d 
  104
+  #:convolution-filter-2d #:convolution-parameter-f 
  105
+  #:convolution-parameter-fv #:convolution-parameter-i 
  106
+  #:convolution-parameter-iv #:copy-convolution-filter-1d 
  107
+  #:copy-convolution-filter-2d #:get-convolution-filter 
  108
+  #:get-convolution-parameter-fv #:get-convolution-parameter-iv 
  109
+  #:get-separable-filter #:separable-filter-2d #:get-histogram 
  110
+  #:get-histogram-parameter-fv #:get-histogram-parameter-iv 
  111
+  #:get-minmax #:get-minmax-parameter-fv #:get-minmax-parameter-iv 
  112
+  #:histogram #:minmax #:reset-histogram #:reset-minmax 
  113
+  #:tex-image-3d #:tex-sub-image-3d #:copy-tex-sub-image-3d 
  114
+  #:active-texture #:client-active-texture #:multi-tex-coord-1d 
  115
+  #:multi-tex-coord-1dv #:multi-tex-coord-1f #:multi-tex-coord-1fv 
  116
+  #:multi-tex-coord-1i #:multi-tex-coord-1iv #:multi-tex-coord-1s 
  117
+  #:multi-tex-coord-1sv #:multi-tex-coord-2d #:multi-tex-coord-2dv 
  118
+  #:multi-tex-coord-2f #:multi-tex-coord-2fv #:multi-tex-coord-2i 
  119
+  #:multi-tex-coord-2iv #:multi-tex-coord-2s #:multi-tex-coord-2sv 
  120
+  #:multi-tex-coord-3d #:multi-tex-coord-3dv #:multi-tex-coord-3f 
  121
+  #:multi-tex-coord-3fv #:multi-tex-coord-3i #:multi-tex-coord-3iv 
  122
+  #:multi-tex-coord-3s #:multi-tex-coord-3sv #:multi-tex-coord-4d 
  123
+  #:multi-tex-coord-4dv #:multi-tex-coord-4f #:multi-tex-coord-4fv 
  124
+  #:multi-tex-coord-4i #:multi-tex-coord-4iv #:multi-tex-coord-4s 
  125
+  #:multi-tex-coord-4sv #:load-transpose-matrix-f 
  126
+  #:load-transpose-matrix-d #:mult-transpose-matrix-f 
  127
+  #:mult-transpose-matrix-d #:sample-coverage 
  128
+  #:compressed-tex-image-3d #:compressed-tex-image-2d 
  129
+  #:compressed-tex-image-1d #:compressed-tex-sub-image-3d 
  130
+  #:compressed-tex-sub-image-2d #:compressed-tex-sub-image-1d 
  131
+  #:get-compressed-tex-image #:blend-func-separate #:fog-coord-f 
  132
+  #:fog-coord-fv #:fog-coord-d #:fog-coord-dv #:fog-coord-pointer 
  133
+  #:multi-draw-arrays #:multi-draw-elements #:point-parameter-f 
  134
+  #:point-parameter-fv #:point-parameter-i #:point-parameter-iv 
  135
+  #:secondary-color-3b #:secondary-color-3bv #:secondary-color-3d 
  136
+  #:secondary-color-3dv #:secondary-color-3f #:secondary-color-3fv 
  137
+  #:secondary-color-3i #:secondary-color-3iv #:secondary-color-3s 
  138
+  #:secondary-color-3sv #:secondary-color-3ub #:secondary-color-3ubv 
  139
+  #:secondary-color-3ui #:secondary-color-3uiv #:secondary-color-3us 
  140
+  #:secondary-color-3usv #:secondary-color-pointer #:window-pos-2d 
  141
+  #:window-pos-2dv #:window-pos-2f #:window-pos-2fv #:window-pos-2i 
  142
+  #:window-pos-2iv #:window-pos-2s #:window-pos-2sv #:window-pos-3d 
  143
+  #:window-pos-3dv #:window-pos-3f #:window-pos-3fv #:window-pos-3i 
  144
+  #:window-pos-3iv #:window-pos-3s #:window-pos-3sv #:gen-queries 
  145
+  #:delete-queries #:is-query #:begin-query #:end-query 
  146
+  #:get-query-iv #:get-query-object-iv #:get-query-object-uiv 
  147
+  #:bind-buffer #:delete-buffers #:gen-buffers #:is-buffer 
  148
+  #:buffer-data #:buffer-sub-data #:get-buffer-sub-data #:map-buffer 
  149
+  #:unmap-buffer #:get-buffer-parameter-iv #:get-buffer-pointer-v 
  150
+  #:blend-equation-separate #:draw-buffers #:stencil-op-separate 
  151
+  #:stencil-func-separate #:stencil-mask-separate #:attach-shader 
  152
+  #:bind-attrib-location #:compile-shader #:create-program 
  153
+  #:create-shader #:delete-program #:delete-shader #:detach-shader 
  154
+  #:disable-vertex-attrib-array #:enable-vertex-attrib-array 
  155
+  #:get-active-attrib #:get-active-uniform #:get-attached-shaders 
  156
+  #:get-attrib-location #:get-program-iv #:get-program-info-log 
  157
+  #:get-shader-iv #:get-shader-info-log #:get-shader-source 
  158
+  #:get-uniform-location #:get-uniform-fv #:get-uniform-iv 
  159
+  #:get-vertex-attrib-dv #:get-vertex-attrib-fv 
  160
+  #:get-vertex-attrib-iv #:get-vertex-attrib-pointer-v #:is-program 
  161
+  #:is-shader #:link-program #:shader-source #:use-program 
  162
+  #:uniform-1f #:uniform-2f #:uniform-3f #:uniform-4f #:uniform-1i 
  163
+  #:uniform-2i #:uniform-3i #:uniform-4i #:uniform-1fv #:uniform-2fv 
  164
+  #:uniform-3fv #:uniform-4fv #:uniform-1iv #:uniform-2iv 
  165
+  #:uniform-3iv #:uniform-4iv #:uniform-matrix-2fv 
  166
+  #:uniform-matrix-3fv #:uniform-matrix-4fv #:validate-program 
  167
+  #:vertex-attrib-1d #:vertex-attrib-1dv #:vertex-attrib-1f 
  168
+  #:vertex-attrib-1fv #:vertex-attrib-1s #:vertex-attrib-1sv 
  169
+  #:vertex-attrib-2d #:vertex-attrib-2dv #:vertex-attrib-2f 
  170
+  #:vertex-attrib-2fv #:vertex-attrib-2s #:vertex-attrib-2sv 
  171
+  #:vertex-attrib-3d #:vertex-attrib-3dv #:vertex-attrib-3f 
  172
+  #:vertex-attrib-3fv #:vertex-attrib-3s #:vertex-attrib-3sv 
  173
+  #:vertex-attrib-4nbv #:vertex-attrib-4niv #:vertex-attrib-4nsv 
  174
+  #:vertex-attrib-4nub #:vertex-attrib-4nubv #:vertex-attrib-4nuiv 
  175
+  #:vertex-attrib-4nusv #:vertex-attrib-4bv #:vertex-attrib-4d 
  176
+  #:vertex-attrib-4dv #:vertex-attrib-4f #:vertex-attrib-4fv 
  177
+  #:vertex-attrib-4iv #:vertex-attrib-4s #:vertex-attrib-4sv 
  178
+  #:vertex-attrib-4ubv #:vertex-attrib-4uiv #:vertex-attrib-4usv 
  179
+  #:vertex-attrib-pointer #:uniform-matrix-2x3-fv 
  180
+  #:uniform-matrix-3x2-fv #:uniform-matrix-2x4-fv 
  181
+  #:uniform-matrix-4x2-fv #:uniform-matrix-3x4-fv 
  182
+  #:uniform-matrix-4x3-fv #:active-texture-arb 
  183
+  #:client-active-texture-arb #:multi-tex-coord-1d-arb 
  184
+  #:multi-tex-coord-1dv-arb #:multi-tex-coord-1f-arb 
  185
+  #:multi-tex-coord-1fv-arb #:multi-tex-coord-1i-arb 
  186
+  #:multi-tex-coord-1iv-arb #:multi-tex-coord-1s-arb 
  187
+  #:multi-tex-coord-1sv-arb #:multi-tex-coord-2d-arb 
  188
+  #:multi-tex-coord-2dv-arb #:multi-tex-coord-2f-arb 
  189
+  #:multi-tex-coord-2fv-arb #:multi-tex-coord-2i-arb 
  190
+  #:multi-tex-coord-2iv-arb #:multi-tex-coord-2s-arb 
  191
+  #:multi-tex-coord-2sv-arb #:multi-tex-coord-3d-arb 
  192
+  #:multi-tex-coord-3dv-arb #:multi-tex-coord-3f-arb 
  193
+  #:multi-tex-coord-3fv-arb #:multi-tex-coord-3i-arb 
  194
+  #:multi-tex-coord-3iv-arb #:multi-tex-coord-3s-arb 
  195
+  #:multi-tex-coord-3sv-arb #:multi-tex-coord-4d-arb 
  196
+  #:multi-tex-coord-4dv-arb #:multi-tex-coord-4f-arb 
  197
+  #:multi-tex-coord-4fv-arb #:multi-tex-coord-4i-arb 
  198
+  #:multi-tex-coord-4iv-arb #:multi-tex-coord-4s-arb 
  199
+  #:multi-tex-coord-4sv-arb #:load-transpose-matrixf-arb 
  200
+  #:load-transpose-matrixd-arb #:mult-transpose-matrixf-arb 
  201
+  #:mult-transpose-matrixd-arb #:sample-coverage-arb 
  202
+  #:compressed-tex-image-3d-arb #:compressed-tex-image-2d-arb 
  203
+  #:compressed-tex-image-1d-arb #:compressed-tex-sub-image-3d-arb 
  204
+  #:compressed-tex-sub-image-2d-arb 
  205
+  #:compressed-tex-sub-image-1d-arb #:get-compressed-tex-image-arb 
  206
+  #:point-parameterf-arb #:point-parameterfv-arb #:weightbv-arb 
  207
+  #:weightsv-arb #:weightiv-arb #:weightfv-arb #:weightdv-arb 
  208
+  #:weightubv-arb #:weightusv-arb #:weightuiv-arb 
  209
+  #:weight-pointer-arb #:vertex-blend-arb 
  210
+  #:current-palette-matrix-arb #:matrix-indexubv-arb 
  211
+  #:matrix-indexusv-arb #:matrix-indexuiv-arb 
  212
+  #:matrix-index-pointer-arb #:window-pos-2d-arb 
  213
+  #:window-pos-2dv-arb #:window-pos-2f-arb #:window-pos-2fv-arb 
  214
+  #:window-pos-2i-arb #:window-pos-2iv-arb #:window-pos-2s-arb 
  215
+  #:window-pos-2sv-arb #:window-pos-3d-arb #:window-pos-3dv-arb 
  216
+  #:window-pos-3f-arb #:window-pos-3fv-arb #:window-pos-3i-arb 
  217
+  #:window-pos-3iv-arb #:window-pos-3s-arb #:window-pos-3sv-arb 
  218
+  #:vertex-attrib-1d-arb #:vertex-attrib-1dv-arb 
  219
+  #:vertex-attrib-1f-arb #:vertex-attrib-1fv-arb 
  220
+  #:vertex-attrib-1s-arb #:vertex-attrib-1sv-arb 
  221
+  #:vertex-attrib-2d-arb #:vertex-attrib-2dv-arb 
  222
+  #:vertex-attrib-2f-arb #:vertex-attrib-2fv-arb 
  223
+  #:vertex-attrib-2s-arb #:vertex-attrib-2sv-arb 
  224
+  #:vertex-attrib-3d-arb #:vertex-attrib-3dv-arb 
  225
+  #:vertex-attrib-3f-arb #:vertex-attrib-3fv-arb 
  226
+  #:vertex-attrib-3s-arb #:vertex-attrib-3sv-arb 
  227
+  #:vertex-attrib-4nbv-arb #:vertex-attrib-4niv-arb 
  228
+  #:vertex-attrib-4nsv-arb #:vertex-attrib-4nub-arb 
  229
+  #:vertex-attrib-4nubv-arb #:vertex-attrib-4nuiv-arb 
  230
+  #:vertex-attrib-4nusv-arb #:vertex-attrib-4bv-arb 
  231
+  #:vertex-attrib-4d-arb #:vertex-attrib-4dv-arb 
  232
+  #:vertex-attrib-4f-arb #:vertex-attrib-4fv-arb 
  233
+  #:vertex-attrib-4iv-arb #:vertex-attrib-4s-arb 
  234
+  #:vertex-attrib-4sv-arb #:vertex-attrib-4ubv-arb 
  235
+  #:vertex-attrib-4uiv-arb #:vertex-attrib-4usv-arb 
  236
+  #:vertex-attrib-pointer-arb #:enable-vertex-attrib-array-arb 
  237
+  #:disable-vertex-attrib-array-arb #:program-string-arb 
  238
+  #:bind-program-arb #:delete-programs-arb #:gen-programs-arb 
  239
+  #:program-env-parameter-4d-arb #:program-env-parameter-4dv-arb 
  240
+  #:program-env-parameter-4f-arb #:program-env-parameter-4fv-arb 
  241
+  #:program-local-parameter-4d-arb #:program-local-parameter-4dv-arb 
  242
+  #:program-local-parameter-4f-arb #:program-local-parameter-4fv-arb 
  243
+  #:get-program-env-parameterdv-arb 
  244
+  #:get-program-env-parameterfv-arb 
  245
+  #:get-program-local-parameterdv-arb 
  246
+  #:get-program-local-parameterfv-arb #:get-programiv-arb 
  247
+  #:get-program-string-arb #:get-vertex-attribdv-arb 
  248
+  #:get-vertex-attribfv-arb #:get-vertex-attribiv-arb 
  249
+  #:get-vertex-attrib-pointerv-arb #:is-program-arb 
  250
+  #:bind-buffer-arb #:delete-buffers-arb #:gen-buffers-arb 
  251
+  #:is-buffer-arb #:buffer-data-arb #:buffer-sub-data-arb 
  252
+  #:get-buffer-sub-data-arb #:map-buffer-arb #:unmap-buffer-arb 
  253
+  #:get-buffer-parameteriv-arb #:get-buffer-pointerv-arb 
  254
+  #:gen-queries-arb #:delete-queries-arb #:is-query-arb 
  255
+  #:begin-query-arb #:end-query-arb #:get-queryiv-arb 
  256
+  #:get-query-objectiv-arb #:get-query-objectuiv-arb 
  257
+  #:delete-object-arb #:get-handle-arb #:detach-object-arb 
  258
+  #:create-shader-object-arb #:shader-source-arb 
  259
+  #:compile-shader-arb #:create-program-object-arb 
  260
+  #:attach-object-arb #:link-program-arb #:use-program-object-arb 
  261
+  #:validate-program-arb #:uniform-1f-arb #:uniform-2f-arb 
  262
+  #:uniform-3f-arb #:uniform-4f-arb #:uniform-1i-arb 
  263
+  #:uniform-2i-arb #:uniform-3i-arb #:uniform-4i-arb 
  264
+  #:uniform-1fv-arb #:uniform-2fv-arb #:uniform-3fv-arb 
  265
+  #:uniform-4fv-arb #:uniform-1iv-arb #:uniform-2iv-arb 
  266
+  #:uniform-3iv-arb #:uniform-4iv-arb #:uniform-matrix-2fv-arb 
  267
+  #:uniform-matrix-3fv-arb #:uniform-matrix-4fv-arb 
  268
+  #:get-object-parameterfv-arb #:get-object-parameteriv-arb 
  269
+  #:get-info-log-arb #:get-attached-objects-arb 
  270
+  #:get-uniform-location-arb #:get-active-uniform-arb 
  271
+  #:get-uniformfv-arb #:get-uniformiv-arb #:get-shader-source-arb 
  272
+  #:bind-attrib-location-arb #:get-active-attrib-arb 
  273
+  #:get-attrib-location-arb #:draw-buffers-arb #:clamp-color-arb 
  274
+  #:blend-color-ext #:polygon-offset-ext #:tex-image-3d-ext 
  275
+  #:tex-sub-image-3d-ext #:get-tex-filter-func-sgis 
  276
+  #:tex-filter-func-sgis #:tex-sub-image-1d-ext 
  277
+  #:tex-sub-image-2d-ext #:copy-tex-image-1d-ext 
  278
+  #:copy-tex-image-2d-ext #:copy-tex-sub-image-1d-ext 
  279
+  #:copy-tex-sub-image-2d-ext #:copy-tex-sub-image-3d-ext 
  280
+  #:get-histogram-ext #:get-histogram-parameterfv-ext 
  281
+  #:get-histogram-parameteriv-ext #:get-minmax-ext 
  282
+  #:get-minmax-parameterfv-ext #:get-minmax-parameteriv-ext 
  283
+  #:histogram-ext #:minmax-ext #:reset-histogram-ext 
  284
+  #:reset-minmax-ext #:convolution-filter-1d-ext 
  285
+  #:convolution-filter-2d-ext #:convolution-parameterf-ext 
  286
+  #:convolution-parameterfv-ext #:convolution-parameteri-ext 
  287
+  #:convolution-parameteriv-ext #:copy-convolution-filter-1d-ext 
  288
+  #:copy-convolution-filter-2d-ext #:get-convolution-filter-ext 
  289
+  #:get-convolution-parameterfv-ext 
  290
+  #:get-convolution-parameteriv-ext #:get-separable-filter-ext 
  291
+  #:separable-filter-2d-ext #:color-table-sgi 
  292
+  #:color-table-parameterfv-sgi #:color-table-parameteriv-sgi 
  293
+  #:copy-color-table-sgi #:get-color-table-sgi 
  294
+  #:get-color-table-parameterfv-sgi 
  295
+  #:get-color-table-parameteriv-sgi #:pixel-tex-gen-sgix 
  296
+  #:pixel-tex-gen-parameteri-sgis #:pixel-tex-gen-parameteriv-sgis 
  297
+  #:pixel-tex-gen-parameterf-sgis #:pixel-tex-gen-parameterfv-sgis 
  298
+  #:get-pixel-tex-gen-parameteriv-sgis 
  299
+  #:get-pixel-tex-gen-parameterfv-sgis #:tex-image-4d-sgis 
  300
+  #:tex-sub-image-4d-sgis #:are-textures-resident-ext 
  301
+  #:bind-texture-ext #:delete-textures-ext #:gen-textures-ext 
  302
+  #:is-texture-ext #:prioritize-textures-ext #:detail-tex-func-sgis 
  303
+  #:get-detail-tex-func-sgis #:sharpen-tex-func-sgis 
  304
+  #:get-sharpen-tex-func-sgis #:sample-mask-sgis 
  305
+  #:sample-pattern-sgis #:array-element-ext #:color-pointer-ext 
  306
+  #:draw-arrays-ext #:edge-flag-pointer-ext #:get-pointerv-ext 
  307
+  #:index-pointer-ext #:normal-pointer-ext #:tex-coord-pointer-ext 
  308
+  #:vertex-pointer-ext #:blend-equation-ext #:sprite-parameterf-sgix 
  309
+  #:sprite-parameterfv-sgix #:sprite-parameteri-sgix 
  310
+  #:sprite-parameteriv-sgix #:point-parameterf-ext 
  311
+  #:point-parameterfv-ext #:point-parameterf-sgis 
  312
+  #:point-parameterfv-sgis #:get-instruments-sgix 
  313
+  #:instruments-buffer-sgix #:poll-instruments-sgix 
  314
+  #:read-instruments-sgix #:start-instruments-sgix 
  315
+  #:stop-instruments-sgix #:frame-zoom-sgix #:tag-sample-buffer-sgix 
  316
+  #:deformation-map-3d-sgix #:deformation-map-3f-sgix #:deform-sgix 
  317
+  #:load-identity-deformation-map-sgix #:reference-plane-sgix 
  318
+  #:flush-raster-sgix #:fog-func-sgis #:get-fog-func-sgis 
  319
+  #:image-transform-parameteri-hp #:image-transform-parameterf-hp 
  320
+  #:image-transform-parameteriv-hp #:image-transform-parameterfv-hp 
  321
+  #:get-image-transform-parameteriv-hp 
  322
+  #:get-image-transform-parameterfv-hp #:color-sub-table-ext 
  323
+  #:copy-color-sub-table-ext #:hint-pgi #:color-table-ext 
  324
+  #:get-color-table-ext #:get-color-table-parameteriv-ext 
  325
+  #:get-color-table-parameterfv-ext #:get-list-parameterfv-sgix 
  326
+  #:get-list-parameteriv-sgix #:list-parameterf-sgix 
  327
+  #:list-parameterfv-sgix #:list-parameteri-sgix 
  328
+  #:list-parameteriv-sgix #:index-material-ext #:index-func-ext 
  329
+  #:lock-arrays-ext #:unlock-arrays-ext #:cull-parameterdv-ext 
  330
+  #:cull-parameterfv-ext #:fragment-color-material-sgix 
  331
+  #:fragment-lightf-sgix #:fragment-lightfv-sgix 
  332
+  #:fragment-lighti-sgix #:fragment-lightiv-sgix 
  333
+  #:fragment-light-modelf-sgix #:fragment-light-modelfv-sgix 
  334
+  #:fragment-light-modeli-sgix #:fragment-light-modeliv-sgix 
  335
+  #:fragment-materialf-sgix #:fragment-materialfv-sgix 
  336
+  #:fragment-materiali-sgix #:fragment-materialiv-sgix 
  337
+  #:get-fragment-lightfv-sgix #:get-fragment-lightiv-sgix 
  338
+  #:get-fragment-materialfv-sgix #:get-fragment-materialiv-sgix 
  339
+  #:light-envi-sgix #:draw-range-elements-ext #:apply-texture-ext 
  340
+  #:texture-light-ext #:texture-material-ext #:async-marker-sgix 
  341
+  #:finish-async-sgix #:poll-async-sgix #:gen-async-markers-sgix 
  342
+  #:delete-async-markers-sgix #:is-async-marker-sgix 
  343
+  #:vertex-pointerv-intel #:normal-pointerv-intel 
  344
+  #:color-pointerv-intel #:tex-coord-pointerv-intel 
  345
+  #:pixel-transform-parameteri-ext #:pixel-transform-parameterf-ext 
  346
+  #:pixel-transform-parameteriv-ext 
  347
+  #:pixel-transform-parameterfv-ext #:secondary-color-3b-ext 
  348
+  #:secondary-color-3bv-ext #:secondary-color-3d-ext 
  349
+  #:secondary-color-3dv-ext #:secondary-color-3f-ext 
  350
+  #:secondary-color-3fv-ext #:secondary-color-3i-ext 
  351
+  #:secondary-color-3iv-ext #:secondary-color-3s-ext 
  352
+  #:secondary-color-3sv-ext #:secondary-color-3ub-ext 
  353
+  #:secondary-color-3ubv-ext #:secondary-color-3ui-ext 
  354
+  #:secondary-color-3uiv-ext #:secondary-color-3us-ext 
  355
+  #:secondary-color-3usv-ext #:secondary-color-pointer-ext 
  356
+  #:texture-normal-ext #:multi-draw-arrays-ext 
  357
+  #:multi-draw-elements-ext #:fog-coordf-ext #:fog-coordfv-ext 
  358
+  #:fog-coordd-ext #:fog-coorddv-ext #:fog-coord-pointer-ext 
  359
+  #:tangent-3b-ext #:tangent-3bv-ext #:tangent-3d-ext 
  360
+  #:tangent-3dv-ext #:tangent-3f-ext #:tangent-3fv-ext 
  361
+  #:tangent-3i-ext #:tangent-3iv-ext #:tangent-3s-ext 
  362
+  #:tangent-3sv-ext #:binormal-3b-ext #:binormal-3bv-ext 
  363
+  #:binormal-3d-ext #:binormal-3dv-ext #:binormal-3f-ext 
  364
+  #:binormal-3fv-ext #:binormal-3i-ext #:binormal-3iv-ext 
  365
+  #:binormal-3s-ext #:binormal-3sv-ext #:tangent-pointer-ext 
  366
+  #:binormal-pointer-ext #:finish-texture-sunx 
  367
+  #:global-alpha-factorb-sun #:global-alpha-factor-s-sun 
  368
+  #:global-alpha-factori-sun #:global-alpha-factorf-sun 
  369
+  #:global-alpha-factord-sun #:global-alpha-factorub-sun 
  370
+  #:global-alpha-factorus-sun #:global-alpha-factorui-sun 
  371
+  #:replacement-codeui-sun #:replacement-codeus-sun 
  372
+  #:replacement-codeub-sun #:replacement-codeuiv-sun 
  373
+  #:replacement-codeusv-sun #:replacement-codeubv-sun 
  374
+  #:replacement-code-pointer-sun #:color-4ub-vertex-2f-sun 
  375
+  #:color-4ub-vertex-2fv-sun #:color-4ub-vertex-3f-sun 
  376
+  #:color-4ub-vertex-3fv-sun #:color-3f-vertex-3f-sun 
  377
+  #:color-3f-vertex-3fv-sun #:normal-3f-vertex-3f-sun 
  378
+  #:normal-3f-vertex-3fv-sun #:color-4f-normal-3f-vertex-3f-sun 
  379
+  #:color-4f-normal-3f-vertex-3fv-sun #:tex-coord-2f-vertex-3f-sun 
  380
+  #:tex-coord-2f-vertex-3fv-sun #:tex-coord-4f-vertex-4f-sun 
  381
+  #:tex-coord-4f-vertex-4fv-sun 
  382
+  #:tex-coord-2f-color-4ub-vertex-3f-sun 
  383
+  #:tex-coord-2f-color-4ub-vertex-3fv-sun 
  384
+  #:tex-coord-2f-color-3f-vertex-3f-sun 
  385
+  #:tex-coord-2f-color-3f-vertex-3fv-sun 
  386
+  #:tex-coord-2f-normal-3f-vertex-3f-sun 
  387
+  #:tex-coord-2f-normal-3f-vertex-3fv-sun 
  388
+  #:tex-coord-2f-color-4f-normal-3f-vertex-3f-sun 
  389
+  #:tex-coord-2f-color-4f-normal-3f-vertex-3fv-sun 
  390
+  #:tex-coord-4f-color-4f-normal-3f-vertex-4f-sun 
  391
+  #:tex-coord-4f-color-4f-normal-3f-vertex-4fv-sun 
  392
+  #:replacement-codeui-vertex-3f-sun 
  393
+  #:replacement-codeui-vertex-3fv-sun 
  394
+  #:replacement-codeui-color-4ub-vertex-3f-sun 
  395
+  #:replacement-codeui-color-4ub-vertex-3fv-sun 
  396
+  #:replacement-codeui-color-3f-vertex-3f-sun 
  397
+  #:replacement-codeui-color-3f-vertex-3fv-sun 
  398
+  #:replacement-codeui-normal-3f-vertex-3f-sun 
  399
+  #:replacement-codeui-normal-3f-vertex-3fv-sun 
  400
+  #:replacement-codeui-color-4f-normal-3f-vertex-3f-sun 
  401
+  #:replacement-codeui-color-4f-normal-3f-vertex-3fv-sun 
  402
+  #:replacement-codeui-tex-coord-2f-vertex-3f-sun 
  403
+  #:replacement-codeui-tex-coord-2f-vertex-3fv-sun 
  404
+  #:replacement-codeui-tex-coord-2f-normal-3f-vertex-3f-sun 
  405
+  #:replacement-codeui-tex-coord-2f-normal-3f-vertex-3fv-sun 
  406
+  #:replacement-codeui-tex-coord-2f-color-4f-normal-3f-vertex-3f-sun 
  407
+  #:replacement-codeui-tex-coord-2f-color-4f-normal-3f-vertex-3fv-sun 
  408
+  #:blend-func-separate-ext #:blend-func-separate-ingr 
  409
+  #:vertex-weightf-ext #:vertex-weightfv-ext 
  410
+  #:vertex-weight-pointer-ext #:flush-vertex-array-range-nv 
  411
+  #:vertex-array-range-nv #:combiner-parameterfv-nv 
  412
+  #:combiner-parameterf-nv #:combiner-parameteriv-nv 
  413
+  #:combiner-parameteri-nv #:combiner-input-nv #:combiner-output-nv 
  414
+  #:final-combiner-input-nv #:get-combiner-input-parameterfv-nv 
  415
+  #:get-combiner-input-parameteriv-nv 
  416
+  #:get-combiner-output-parameterfv-nv 
  417
+  #:get-combiner-output-parameteriv-nv 
  418
+  #:get-final-combiner-input-parameterfv-nv 
  419
+  #:get-final-combiner-input-parameteriv-nv #:resize-buffers-mesa 
  420
+  #:window-pos-2d-mesa #:window-pos-2dv-mesa #:window-pos-2f-mesa 
  421
+  #:window-pos-2fv-mesa #:window-pos-2i-mesa #:window-pos-2iv-mesa 
  422
+  #:window-pos-2s-mesa #:window-pos-2sv-mesa #:window-pos-3d-mesa 
  423
+  #:window-pos-3dv-mesa #:window-pos-3f-mesa #:window-pos-3fv-mesa 
  424
+  #:window-pos-3i-mesa #:window-pos-3iv-mesa #:window-pos-3s-mesa 
  425
+  #:window-pos-3sv-mesa #:window-pos-4d-mesa #:window-pos-4dv-mesa 
  426
+  #:window-pos-4f-mesa #:window-pos-4fv-mesa #:window-pos-4i-mesa 
  427
+  #:window-pos-4iv-mesa #:window-pos-4s-mesa #:window-pos-4sv-mesa 
  428
+  #:multi-mode-draw-arrays-ibm #:multi-mode-draw-elements-ibm 
  429
+  #:color-pointer-list-ibm #:secondary-color-pointer-list-ibm 
  430
+  #:edge-flag-pointer-list-ibm #:fog-coord-pointer-list-ibm 
  431
+  #:index-pointer-list-ibm #:normal-pointer-list-ibm 
  432
+  #:tex-coord-pointer-list-ibm #:vertex-pointer-list-ibm 
  433
+  #:tbuffer-mask-3dfx #:sample-mask-ext #:sample-pattern-ext 
  434
+  #:texture-color-mask-sgis #:igloo-interface-sgix 
  435
+  #:delete-fences-nv #:gen-fences-nv #:is-fence-nv #:test-fence-nv 
  436
+  #:get-fenceiv-nv #:finish-fence-nv #:set-fence-nv 
  437
+  #:map-control-points-nv #:map-parameteriv-nv #:map-parameterfv-nv 
  438
+  #:get-map-control-points-nv #:get-map-parameteriv-nv 
  439
+  #:get-map-parameterfv-nv #:get-map-attrib-parameteriv-nv 
  440
+  #:get-map-attrib-parameterfv-nv #:eval-maps-nv 
  441
+  #:combiner-stage-parameterfv-nv 
  442
+  #:get-combiner-stage-parameterfv-nv #:are-programs-resident-nv 
  443
+  #:bind-program-nv #:delete-programs-nv #:execute-program-nv 
  444
+  #:gen-programs-nv #:get-program-parameterdv-nv 
  445
+  #:get-program-parameterfv-nv #:get-programiv-nv 
  446
+  #:get-program-string-nv #:get-track-matrixiv-nv 
  447
+  #:get-vertex-attribdv-nv #:get-vertex-attribfv-nv 
  448
+  #:get-vertex-attribiv-nv #:get-vertex-attrib-pointerv-nv 
  449
+  #:is-program-nv #:load-program-nv #:program-parameter-4d-nv 
  450
+  #:program-parameter-4dv-nv #:program-parameter-4f-nv 
  451
+  #:program-parameter-4fv-nv #:program-parameters-4dv-nv 
  452
+  #:program-parameters-4fv-nv #:request-resident-programs-nv 
  453
+  #:track-matrix-nv #:vertex-attrib-pointer-nv #:vertex-attrib-1d-nv 
  454
+  #:vertex-attrib-1dv-nv #:vertex-attrib-1f-nv 
  455
+  #:vertex-attrib-1fv-nv #:vertex-attrib-1s-nv 
  456
+  #:vertex-attrib-1sv-nv #:vertex-attrib-2d-nv 
  457
+  #:vertex-attrib-2dv-nv #:vertex-attrib-2f-nv 
  458
+  #:vertex-attrib-2fv-nv #:vertex-attrib-2s-nv 
  459
+  #:vertex-attrib-2sv-nv #:vertex-attrib-3d-nv 
  460
+  #:vertex-attrib-3dv-nv #:vertex-attrib-3f-nv 
  461
+  #:vertex-attrib-3fv-nv #:vertex-attrib-3s-nv 
  462
+  #:vertex-attrib-3sv-nv #:vertex-attrib-4d-nv 
  463
+  #:vertex-attrib-4dv-nv #:vertex-attrib-4f-nv 
  464
+  #:vertex-attrib-4fv-nv #:vertex-attrib-4s-nv 
  465
+  #:vertex-attrib-4sv-nv #:vertex-attrib-4ub-nv 
  466
+  #:vertex-attrib-4ubv-nv #:vertex-attribs-1dv-nv 
  467
+  #:vertex-attribs-1fv-nv #:vertex-attribs-1sv-nv 
  468
+  #:vertex-attribs-2dv-nv #:vertex-attribs-2fv-nv 
  469
+  #:vertex-attribs-2sv-nv #:vertex-attribs-3dv-nv 
  470
+  #:vertex-attribs-3fv-nv #:vertex-attribs-3sv-nv 
  471
+  #:vertex-attribs-4dv-nv #:vertex-attribs-4fv-nv 
  472
+  #:vertex-attribs-4sv-nv #:vertex-attribs-4ubv-nv 
  473
+  #:tex-bump-parameteriv-ati #:tex-bump-parameterfv-ati 
  474
+  #:get-tex-bump-parameteriv-ati #:get-tex-bump-parameterfv-ati 
  475
+  #:gen-fragment-shaders-ati #:bind-fragment-shader-ati 
  476
+  #:delete-fragment-shader-ati #:begin-fragment-shader-ati 
  477
+  #:end-fragment-shader-ati #:pass-tex-coord-ati #:sample-map-ati 
  478
+  #:color-fragment-op-1-ati #:color-fragment-op-2-ati 
  479
+  #:color-fragment-op-3-ati #:alpha-fragment-op-1-ati 
  480
+  #:alpha-fragment-op-2-ati #:alpha-fragment-op-3-ati 
  481
+  #:set-fragment-shader-constant-ati #:pntrianglesi-ati 
  482
+  #:pntrianglesf-ati #:new-object-buffer-ati #:is-object-buffer-ati 
  483
+  #:update-object-buffer-ati #:get-object-bufferfv-ati 
  484
+  #:get-object-bufferiv-ati #:free-object-buffer-ati 
  485
+  #:array-object-ati #:get-array-objectfv-ati 
  486
+  #:get-array-objectiv-ati #:variant-array-object-ati 
  487
+  #:get-variant-array-objectfv-ati #:get-variant-array-objectiv-ati 
  488
+  #:begin-vertex-shader-ext #:end-vertex-shader-ext 
  489
+  #:bind-vertex-shader-ext #:gen-vertex-shaders-ext 
  490
+  #:delete-vertex-shader-ext #:shader-op-1-ext #:shader-op-2-ext 
  491
+  #:shader-op-3-ext #:swizzle-ext #:write-mask-ext 
  492
+  #:insert-component-ext #:extract-component-ext #:gen-symbols-ext 
  493
+  #:set-invariant-ext #:set-local-constant-ext #:variantbv-ext 
  494
+  #:variantsv-ext #:variantiv-ext #:variantfv-ext #:variantdv-ext 
  495
+  #:variantubv-ext #:variantusv-ext #:variantuiv-ext 
  496
+  #:variant-pointer-ext #:enable-variant-client-state-ext 
  497
+  #:disable-variant-client-state-ext #:bind-light-parameter-ext 
  498
+  #:bind-material-parameter-ext #:bind-tex-gen-parameter-ext 
  499
+  #:bind-texture-unit-parameter-ext #:bind-parameter-ext 
  500
+  #:is-variant-enabled-ext #:get-variant-booleanv-ext 
  501
+  #:get-variant-integerv-ext #:get-variant-floatv-ext 
  502
+  #:get-variant-pointerv-ext #:get-invariant-booleanv-ext 
  503
+  #:get-invariant-integerv-ext #:get-invariant-floatv-ext 
  504
+  #:get-local-constant-booleanv-ext 
  505
+  #:get-local-constant-integerv-ext #:get-local-constant-floatv-ext 
  506
+  #:vertex-stream-1s-ati #:vertex-stream-1sv-ati 
  507
+  #:vertex-stream-1i-ati #:vertex-stream-1iv-ati 
  508
+  #:vertex-stream-1f-ati #:vertex-stream-1fv-ati 
  509
+  #:vertex-stream-1d-ati #:vertex-stream-1dv-ati 
  510
+  #:vertex-stream-2s-ati #:vertex-stream-2sv-ati 
  511
+  #:vertex-stream-2i-ati #:vertex-stream-2iv-ati 
  512
+  #:vertex-stream-2f-ati #:vertex-stream-2fv-ati 
  513
+  #:vertex-stream-2d-ati #:vertex-stream-2dv-ati 
  514
+  #:vertex-stream-3s-ati #:vertex-stream-3sv-ati 
  515
+  #:vertex-stream-3i-ati #:vertex-stream-3iv-ati 
  516
+  #:vertex-stream-3f-ati #:vertex-stream-3fv-ati 
  517
+  #:vertex-stream-3d-ati #:vertex-stream-3dv-ati 
  518
+  #:vertex-stream-4s-ati #:vertex-stream-4sv-ati 
  519
+  #:vertex-stream-4i-ati #:vertex-stream-4iv-ati 
  520
+  #:vertex-stream-4f-ati #:vertex-stream-4fv-ati 
  521
+  #:vertex-stream-4d-ati #:vertex-stream-4dv-ati 
  522
+  #:normal-stream-3b-ati #:normal-stream-3bv-ati 
  523
+  #:normal-stream-3s-ati #:normal-stream-3sv-ati 
  524
+  #:normal-stream-3i-ati #:normal-stream-3iv-ati 
  525
+  #:normal-stream-3f-ati #:normal-stream-3fv-ati 
  526
+  #:normal-stream-3d-ati #:normal-stream-3dv-ati 
  527
+  #:client-active-vertex-stream-ati #:vertex-blend-envi-ati 
  528
+  #:vertex-blend-envf-ati #:element-pointer-ati 
  529
+  #:draw-element-array-ati #:draw-range-element-array-ati 
  530
+  #:draw-mesh-arrays-sun #:gen-occlusion-queries-nv 
  531
+  #:delete-occlusion-queries-nv #:is-occlusion-query-nv 
  532
+  #:begin-occlusion-query-nv #:end-occlusion-query-nv 
  533
+  #:get-occlusion-queryiv-nv #:get-occlusion-queryuiv-nv 
  534
+  #:point-parameteri-nv #:point-parameteriv-nv 
  535
+  #:active-stencil-face-ext #:element-pointer-apple 
  536
+  #:draw-element-array-apple #:draw-range-element-array-apple 
  537
+  #:multi-draw-element-array-apple 
  538
+  #:multi-draw-range-element-array-apple #:gen-fences-apple 
  539
+  #:delete-fences-apple #:set-fence-apple #:is-fence-apple 
  540
+  #:test-fence-apple #:finish-fence-apple #:test-object-apple 
  541
+  #:finish-object-apple #:bind-vertex-array-apple 
  542
+  #:delete-vertex-arrays-apple #:gen-vertex-arrays-apple 
  543
+  #:is-vertex-array-apple #:vertex-array-range-apple 
  544
+  #:flush-vertex-array-range-apple #:vertex-array-parameteri-apple 
  545
+  #:draw-buffers-ati #:program-named-parameter-4f-nv 
  546
+  #:program-named-parameter-4d-nv #:program-named-parameter-4fv-nv 
  547
+  #:program-named-parameter-4dv-nv 
  548
+  #:get-program-named-parameterfv-nv 
  549
+  #:get-program-named-parameterdv-nv #:vertex-2h-nv #:vertex-2hv-nv 
  550
+  #:vertex-3h-nv #:vertex-3hv-nv #:vertex-4h-nv #:vertex-4hv-nv 
  551
+  #:normal-3h-nv #:normal-3hv-nv #:color-3h-nv #:color-3hv-nv 
  552
+  #:color-4h-nv #:color-4hv-nv #:tex-coord-1h-nv #:tex-coord-1hv-nv 
  553
+  #:tex-coord-2h-nv #:tex-coord-2hv-nv #:tex-coord-3h-nv 
  554
+  #:tex-coord-3hv-nv #:tex-coord-4h-nv #:tex-coord-4hv-nv 
  555
+  #:multi-tex-coord-1h-nv #:multi-tex-coord-1hv-nv 
  556
+  #:multi-tex-coord-2h-nv #:multi-tex-coord-2hv-nv 
  557
+  #:multi-tex-coord-3h-nv #:multi-tex-coord-3hv-nv 
  558
+  #:multi-tex-coord-4h-nv #:multi-tex-coord-4hv-nv #:fog-coordh-nv 
  559
+  #:fog-coordhv-nv #:secondary-color-3h-nv #:secondary-color-3hv-nv 
  560
+  #:vertex-weighth-nv #:vertex-weighthv-nv #:vertex-attrib-1h-nv 
  561
+  #:vertex-attrib-1hv-nv #:vertex-attrib-2h-nv 
  562
+  #:vertex-attrib-2hv-nv #:vertex-attrib-3h-nv 
  563
+  #:vertex-attrib-3hv-nv #:vertex-attrib-4h-nv 
  564
+  #:vertex-attrib-4hv-nv #:vertex-attribs-1hv-nv 
  565
+  #:vertex-attribs-2hv-nv #:vertex-attribs-3hv-nv 
  566
+  #:vertex-attribs-4hv-nv #:pixel-data-range-nv 
  567
+  #:flush-pixel-data-range-nv #:primitive-restart-nv 
  568
+  #:primitive-restart-index-nv #:map-object-buffer-ati 
  569
+  #:unmap-object-buffer-ati #:stencil-op-separate-ati 
  570
+  #:stencil-func-separate-ati #:vertex-attrib-array-object-ati 
  571
+  #:get-vertex-attrib-array-objectfv-ati 
  572
+  #:get-vertex-attrib-array-objectiv-ati #:depth-bounds-ext 
  573
+  #:blend-equation-separate-ext #:is-renderbuffer-ext 
  574
+  #:bind-renderbuffer-ext #:delete-renderbuffers-ext 
  575
+  #:gen-renderbuffers-ext #:renderbuffer-storage-ext 
  576
+  #:get-renderbuffer-parameteriv-ext #:is-framebuffer-ext 
  577
+  #:bind-framebuffer-ext #:delete-framebuffers-ext 
  578
+  #:gen-framebuffers-ext #:check-framebuffer-status-ext 
  579
+  #:framebuffer-texture-1d-ext #:framebuffer-texture-2d-ext 
  580
+  #:framebuffer-texture-3d-ext #:framebuffer-renderbuffer-ext 
  581
+  #:get-framebuffer-attachment-parameteriv-ext #:generate-mipmap-ext 
  582
+  #:string-marker-gremedy #:stencil-clear-tag-ext 
  583
+  #:blit-framebuffer-ext #:renderbuffer-storage-multisample-ext 
  584
+  #:get-query-object-i64v-ext #:get-query-object-ui64v-ext 
  585
+  #:program-env-parameters-4fv-ext 
  586
+  #:program-local-parameters-4fv-ext #:buffer-parameteri-apple 
  587
+  #:flush-mapped-buffer-range-apple #:program-local-parameter-i4i-nv 
  588
+  #:program-local-parameter-i4iv-nv 
  589
+  #:program-local-parameters-i4iv-nv 
  590
+  #:program-local-parameter-i4ui-nv 
  591
+  #:program-local-parameter-i4uiv-nv 
  592
+  #:program-local-parameters-i4uiv-nv #:program-env-parameter-i4i-nv 
  593
+  #:program-env-parameter-i4iv-nv #:program-env-parameters-i4iv-nv 
  594
+  #:program-env-parameter-i4ui-nv #:program-env-parameter-i4uiv-nv 
  595
+  #:program-env-parameters-i4uiv-nv 
  596
+  #:get-program-local-parameter-iiv-nv 
  597
+  #:get-program-local-parameter-iuiv-nv 
  598
+  #:get-program-env-parameter-iiv-nv 
  599
+  #:get-program-env-parameter-iuiv-nv #:program-vertex-limit-nv 
  600
+  #:framebuffer-texture-ext #:framebuffer-texture-layer-ext 
  601
+  #:framebuffer-texture-face-ext #:program-parameteri-ext 
  602
+  #:vertex-attrib-i1i-ext #:vertex-attrib-i2i-ext 
  603
+  #:vertex-attrib-i3i-ext #:vertex-attrib-i4i-ext 
  604
+  #:vertex-attrib-i1ui-ext #:vertex-attrib-i2ui-ext 
  605
+  #:vertex-attrib-i3ui-ext #:vertex-attrib-i4ui-ext 
  606
+  #:vertex-attrib-i1iv-ext #:vertex-attrib-i2iv-ext 
  607
+  #:vertex-attrib-i3iv-ext #:vertex-attrib-i4iv-ext 
  608
+  #:vertex-attrib-i1uiv-ext #:vertex-attrib-i2uiv-ext 
  609
+  #:vertex-attrib-i3uiv-ext #:vertex-attrib-i4uiv-ext 
  610
+  #:vertex-attrib-i4bv-ext #:vertex-attrib-i4sv-ext 
  611
+  #:vertex-attrib-i4ubv-ext #:vertex-attrib-i4usv-ext 
  612
+  #:vertex-attrib-ipointer-ext #:get-vertex-attrib-iiv-ext 
  613
+  #:get-vertex-attrib-iuiv-ext #:get-uniformuiv-ext 
  614
+  #:bind-frag-data-location-ext #:get-frag-data-location-ext 
  615
+  #:uniform-1ui-ext #:uniform-2ui-ext #:uniform-3ui-ext 
  616
+  #:uniform-4ui-ext #:uniform-1uiv-ext #:uniform-2uiv-ext 
  617
+  #:uniform-3uiv-ext #:uniform-4uiv-ext #:draw-arrays-instanced-ext 
  618
+  #:draw-elements-instanced-ext #:tex-buffer-ext #:depth-ranged-nv 
  619
+  #:clear-depthd-nv #:depth-boundsd-nv 
  620
+  #:renderbuffer-storage-multisample-coverage-nv 
  621
+  #:program-buffer-parametersfv-nv 
  622
+  #:program-buffer-parameters-iiv-nv 
  623
+  #:program-buffer-parameters-iuiv-nv #:color-mask-indexed-ext 
  624
+  #:get-boolean-indexedv-ext #:get-integer-indexedv-ext 
  625
+  #:enable-indexed-ext #:disable-indexed-ext 
  626
+  #:is-enabled-indexed-ext #:begin-transform-feedback-nv 
  627
+  #:end-transform-feedback-nv #:transform-feedback-attribs-nv 
  628
+  #:bind-buffer-range-nv #:bind-buffer-offset-nv 
  629
+  #:bind-buffer-base-nv #:transform-feedback-varyings-nv 
  630
+  #:active-varying-nv #:get-varying-location-nv 
  631
+  #:get-active-varying-nv #:get-transform-feedback-varying-nv 
  632
+  #:uniform-buffer-ext #:get-uniform-buffer-size-ext 
  633
+  #:get-uniform-offset-ext #:tex-parameter-iiv-ext 
  634
+  #:tex-parameter-iuiv-ext #:get-tex-parameter-iiv-ext 
  635
+  #:get-tex-parameter-iuiv-ext #:clear-color-ii-ext 
  636
+  #:clear-color-iui-ext ))
  637
+
2  gl/constants.lisp
... ...
@@ -1,5 +1,5 @@
1 1
 ;;; this file is automatically generated, do not edit
2  
-(in-package #:cl-opengl)
  2
+(in-package #:cl-opengl-bindings)
3 3
 
4 4
 (defcenum (enum :unsigned-int)
5 5
   (:1pass-ext #x80A1)
55  gl/extensions.lisp
@@ -3,7 +3,6 @@
3 3
 ;;; extensions.lisp --- OpenGL extensions.
4 4
 ;;;
5 5
 ;;; Copyright (c) 2006, Oliver Markovic <entrox@entrox.org>
6  
-;;; Copyright (c) 2006, Luis Oliveira <loliveira@common-lisp.net>
7 6
 ;;;   All rights reserved.
8 7
 ;;;
9 8
 ;;; Redistribution and use in source and binary forms, with or without
@@ -31,67 +30,69 @@
31 30
 ;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 31
 ;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 32
 
34  
-(in-package :cl-opengl)
35  
-
  33
+(in-package #:cl-opengl)
36 34
 
37 35
 ;;;
38 36
 ;;; EXT_framebuffer_object
39 37
 ;;;
40 38
 
41 39
 (defun is-renderbuffer-ext (renderbuffer)
42  
-  (%glIsRenderbufferEXT renderbuffer))
  40
+  (%gl:is-renderbuffer-ext renderbuffer))
43 41
 
44 42
 (defun bind-renderbuffer-ext (target renderbuffer)
45  
-  (%glBindRenderBufferEXT target renderbuffer))
  43
+  (%gl:bind-renderbuffer-ext target renderbuffer))
46 44
 
47 45
 (defun delete-renderbuffers-ext (renderbuffers)
48  
-  (with-opengl-sequence (array 'uint renderbuffers)
49  
-    (%glDeleteRenderbuffersEXT (length renderbuffers) array)))
  46
+  (with-opengl-sequence (array '%gl:uint renderbuffers)
  47
+    (%gl:delete-renderbuffers-ext (length renderbuffers) array)))
50 48
 
51 49
 (defun gen-renderbuffers-ext (count)
52  
-  (with-foreign-object (renderbuffer-array 'uint count)
53  
-    (%glGenRenderbuffersEXT count renderbuffer-array)
  50
+  (with-foreign-object (renderbuffer-array '%gl:uint count)
  51
+    (%gl:gen-renderbuffers-ext count renderbuffer-array)
54 52
     (loop for i below count
55  
-          collecting (mem-aref renderbuffer-array 'uint i))))
  53
+          collecting (mem-aref renderbuffer-array '%gl:uint i))))
56 54
 
57 55
 (defun renderbuffer-storage-ext (target internal-format width height)
58  
-  (%glRenderbufferStorageEXT target internal-format width height))
  56
+  (%gl:renderbuffer-storage-ext target internal-format width height))
59 57
 
60 58
 #+nil
61 59
 (defun get-renderbuffer-parameter-ext (target pname)
62 60
   )
63 61
 
64  
-
65 62
 (defun is-framebuffer-ext (framebuffer)
66  
-  (%glIsFramebufferEXT framebuffer))
  63
+  (%gl:is-framebuffer-ext framebuffer))
67 64
 
68 65
 (defun bind-framebuffer-ext (target framebuffer)
69  
-  (%glBindFramebufferEXT target framebuffer))
  66
+  (%gl:bind-framebuffer-ext target framebuffer))
70 67
 
71 68
 (defun delete-framebuffers-ext (framebuffers)
72  
-  (with-opengl-sequence (array 'uint framebuffers)
73  
-    (%glDeleteFramebuffersEXT (length framebuffers) array)))
  69
+  (with-opengl-sequence (array '%gl:uint framebuffers)
  70
+    (%gl:delete-framebuffers-ext (length framebuffers) array)))
74 71
 
75 72
 (defun gen-framebuffers-ext (count)
76  
-  (with-foreign-object (framebuffer-array 'uint count)
77  
-    (%glGenFramebuffersEXT count framebuffer-array)
  73
+  (with-foreign-object (framebuffer-array '%gl:uint count)
  74
+    (%gl:gen-framebuffers-ext count framebuffer-array)
78 75
     (loop for i below count
79  
-          collecting (mem-aref framebuffer-array 'uint i))))
  76
+          collecting (mem-aref framebuffer-array '%gl:uint i))))
80 77
 
81 78
 (defun check-framebuffer-status-ext (target)
82  
-  (%glCheckFramebufferStatusEXT target))
  79
+  (%gl:check-framebuffer-status-ext target))
83 80
 
84 81
 (defun framebuffer-texture-1d-ext (target attachment tex-target texture level)
85  
-  (%glFramebufferTexture1DEXT target attachment tex-target texture level))
  82
+  (%gl:framebuffer-texture-1d-ext target attachment tex-target texture level))
86 83
 
87 84
 (defun framebuffer-texture-2d-ext (target attachment tex-target texture level)
88  
-  (%glFramebufferTexture2DEXT target attachment tex-target texture level))
  85
+  (%gl:framebuffer-texture-2d-ext target attachment tex-target texture level))
89 86
 
90  
-(defun framebuffer-texture-3d-ext (target attachment tex-target texture level zoffset)
91  
-  (%glFramebufferTexture3DEXT target attachment tex-target texture level zoffset))
  87
+(defun framebuffer-texture-3d-ext (target attachment tex-target texture level
  88
+                                   zoffset)
  89
+  (%gl:framebuffer-texture-3d-ext
  90
+   target attachment tex-target texture level zoffset))
92 91
 
93  
-(defun framebuffer-renderbuffer-ext (target attachment renderbuffer-target renderbuffer)
94  
-  (%glFramebufferRenderbufferEXT target attachment renderbuffer-target renderbuffer))
  92
+(defun framebuffer-renderbuffer-ext (target attachment renderbuffer-target
  93
+                                     renderbuffer)
  94
+  (%gl:framebuffer-renderbuffer-ext
  95
+   target attachment renderbuffer-target renderbuffer))
95 96
 
96 97
 #+nil
97 98
 (defun get-framebuffer-attachment-parameter-ext (target attachment pname)
@@ -99,4 +100,4 @@
99 100
     (:framebuffer )))
100 101
 
101 102
 (defun generate-mipmap-ext (target)
102  
-  (%glGenerateMipmapEXT target))
  103
+  (%gl:generate-mipmap-ext target))
132  gl/framebuffer.lisp
... ...
@@ -1,19 +1,19 @@
1 1
 ;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
2 2
 ;;;
3  
-;;; Copyright (c) 2004, Oliver Markovic <entrox@entrox.org> 
4  
-;;;   All rights reserved. 
  3
+;;; Copyright (c) 2004, Oliver Markovic <entrox@entrox.org>
  4
+;;;   All rights reserved.
5 5
 ;;;
6 6
 ;;; Redistribution and use in source and binary forms, with or without
7 7
 ;;; modification, are permitted provided that the following conditions are met:
8 8
 ;;;
9 9
 ;;;  o Redistributions of source code must retain the above copyright notice,
10  
-;;;    this list of conditions and the following disclaimer. 
  10
+;;;    this list of conditions and the following disclaimer.
11 11
 ;;;  o Redistributions in binary form must reproduce the above copyright
12 12
 ;;;    notice, this list of conditions and the following disclaimer in the
13  
-;;;    documentation and/or other materials provided with the distribution. 
  13
+;;;    documentation and/or other materials provided with the distribution.
14 14
 ;;;  o Neither the name of the author nor the names of the contributors may be
15 15
 ;;;    used to endorse or promote products derived from this software without
16  
-;;;    specific prior written permission. 
  16
+;;;    specific prior written permission.
17 17
 ;;;
18 18
 ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 19
 ;;; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -27,7 +27,7 @@
27 27
 ;;; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 28
 ;;; POSSIBILITY OF SUCH DAMAGE.
29 29
 
30  
-(in-package :cl-opengl)
  30
+(in-package #:cl-opengl)
31 31
 
32 32
 ;;;
33 33
 ;;; Chapter 4 - Per-fragment Operations and the Framebuffer
@@ -43,47 +43,48 @@
43 43
 (defun scissor (left bottom width height)
44 44
   "Specifies the scissoring rectangle used by the scissor test (enabled with
45 45
 the symbolic constant :SCISSOR-TEST"
46  
-  (%glScissor left bottom width height))
47  
-
  46
+  (%gl:scissor left bottom width height))
48 47
 
49 48
 ;;; 4.1.3 Multisample Fragment Operations
50 49
 
51 50
 (declaim (inline sample-coverage))
52 51
 (defun sample-coverage (value invertp)
53 52
   "Specifies the values for SAMPLE-COVERAGE-VALUE and SAMPLE-COVERAGE-INVERT."
54  
-  (%glSampleCoverage (float value) (if invertp 1 0)))
55  
-
  53
+  (%gl:sample-coverage (float value) (if invertp 1 0)))
56 54
 
57 55
 ;;; 4.1.4 Alpha Test
58 56
 
59 57
 (declaim (inline alpha-func))
60 58
 (defun alpha-func (func ref)
61  
-  "Specifies the comparison function for use in the alpha test (enabled by
62  
-:ALPHA-TEST). REF is a reference value in the range [0, 1]. The possible constants
63  
-specifying the test function are :NEVER, :ALWAYS, :LESS, :LEQUAL, :EQUAL, :GEQUAL,
64  
-:GREATER, or :NOTEQUAL, meaning pass the fragment never, always, if the fragment's
65  
-alpha value is less than, less than or equal to, equal to, greater than or equal to,
66  
-greater than, or not equal to the reference value, respectively."
67  
-  (%glAlphaFunc func (float ref)))
  59
+  "Specifies the comparison function for use in the alpha
  60
+test (enabled by :ALPHA-TEST). REF is a reference value in the
  61
+range [0, 1]. The possible constants specifying the test function
  62
+are :NEVER, :ALWAYS, :LESS, :LEQUAL, :EQUAL, :GEQUAL,
  63
+:GREATER, or :NOTEQUAL, meaning pass the fragment never, always,
  64
+if the fragment's alpha value is less than, less than or equal
  65
+to, equal to, greater than or equal to, greater than, or not
  66
+equal to the reference value, respectively."
  67
+  (%gl:alpha-func func (float ref)))
68 68
 
69 69
 
70 70
 ;;; 4.1.5 Stencil Test
71 71
 
72 72
 (declaim (inline stencil-func))
73 73
 (defun stencil-func (func ref mask)
74  
-  (%glStencilFunc func ref mask))
  74
+  (%gl:stencil-func func ref mask))
75 75
 
76 76
 (declaim (inline stencil-func-separate))
77 77
 (defun stencil-func-separate (face func ref mask)
78  
-  (%glStencilFuncSeparate face func ref mask))
  78
+  (%gl:stencil-func-separate face func ref mask))
79 79
 
80 80
 (declaim (inline stencil-op))
81 81
 (defun stencil-op (sfail dpfail dppass)
82  
-  "Specifies the action that happens to the stencil value in the current fragment
83  
-if the stencil test fails (SFAIL), depth buffer test fails (DPFAIL) and depth buffer
84  
-test passes (DPPASS). Possible values are :KEEP, :ZERO, :REPLACE, :INCR, :DECR,
85  
-:INVERT, :INCR-WRAP, and :DECR-WRAP."
86  
-  (%glStencilOp sfail dpfail dppass))
  82
+  "Specifies the action that happens to the stencil value in the
  83
+current fragment if the stencil test fails (SFAIL), depth buffer
  84
+test fails (DPFAIL) and depth buffer test passes (DPPASS). Possible
  85
+values are :KEEP, :ZERO, :REPLACE, :INCR, :DECR,:INVERT, :INCR-WRAP,
  86
+and :DECR-WRAP."
  87
+  (%gl:stencil-op sfail dpfail dppass))
87 88
 
88 89
 (declaim (inline stencil-op-separate))
89 90
 (defun stencil-op-separate (face sfail dpfail dppass)
@@ -92,22 +93,20 @@ if the stencil test fails (SFAIL), depth buffer test fails (DPFAIL) and depth bu
92 93
 test passes (DPPASS). Possible values are :KEEP, :ZERO, :REPLACE, :INCR, :DECR,
93 94
 :INVERT, :INCR-WRAP, and :DECR-WRAP. The argument FACE indicates which set of state
94 95
 is affected and is one of :FRONT, :BACK or :FRONT-AND-BACK."
95  
-  (%glStencilOpSeparate face sfail dpfail dppass))
96  
-
  96
+  (%gl:stencil-op-separate face sfail dpfail dppass))
97 97
 
98 98
 ;;; 4.1.6 Depth Buffer Test
99 99
 
100 100
 (declaim (inline depth-func))
101 101
 (defun depth-func (func)
102  
-  "Specifies the comparison function to be used for the depth test (enabled
103  
-with the symbolic constant :DEPTH-TEST). FUNC must be one of :NEVER, :ALWAYS,
104  
-:LESS, :LEQUAL, :EQUAL, :GREATER, :GEQUAL or :NOTEQUAL. Accordingly, the depth buffer
105  
-test passes never, always, if the incoming fragment's zw value is less than, less 
106  
-than or equal to, equal to, greater than, greater than or equal to, or not equal to 
  102
+  "Specifies the comparison function to be used for the depth
  103
+test (enabled with the symbolic constant :DEPTH-TEST). FUNC must
  104
+be one of :NEVER, :ALWAYS,:LESS, :LEQUAL, :EQUAL, :GREATER, :GEQUAL
  105
+or :NOTEQUAL. Accordingly, the depth buffer test passes never, always,
  106
+if the incoming fragment's zw value is less than, less than or equal to,
  107
+equal to, greater than, greater than or equal to, or not equal to
107 108
 the depth value stored at the location given by the incoming fragment."
108  
-  (%glDepthFunc func))
109  
-
110  
-
  109
+  (%gl:depth-func func))
111 110
 
112 111
 ;;; 4.1.7 Occlusion Queries
113 112
 
@@ -116,30 +115,30 @@ the depth value stored at the location given by the incoming fragment."
116 115
   "Starts an occlusion query. TARGET must be the symbolic constant :SAMPLES-PASSED.
117 116
 If called with an unused id, that name is marked as used and associated with a new
118 117
 query object."
119  
-  (%glBeginQuery target id))
  118
+  (%gl:begin-query target id))
120 119
 
121 120
 (declaim (inline end-query))
122 121
 (defun end-query (target)
123 122
   "Finishes an occlusion query currently running on target TARGET."
124  
-  (%glEndQuery target))
  123
+  (%gl:end-query target))
125 124
 
126 125
 (defun gen-queries (n)
127 126
   "Returns N previously unused query object names in a list. These names are marked
128 127
 as used, but no object is associated with them until the first time they are used by
129 128
 BEGIN-QUERY."
130  
-  (with-foreign-object (ids 'uint n)
131  
-    (%glGenQueries n ids)
  129
+  (with-foreign-object (ids '%gl:uint n)
  130
+    (%gl:gen-queries n ids)
132 131
     (loop for i below n
133  
-          collecting (mem-aref ids 'uint i))))
  132
+          collecting (mem-aref ids '%gl:uint i))))
134 133
 
135 134
 (defun delete-queries (ids)
136 135
   "Deletes the names of the query objects contained in the sequence IDS."
137 136
   (let ((count (length ids)))
138  
-    (with-foreign-object (id-array 'uint count)
  137
+    (with-foreign-object (id-array '%gl:uint count)
139 138
       (loop for id in ids
140 139
 	    counting id into i
141  
-	    do (setf (mem-aref id-array 'uint (1- i)) id))
142  
-      (%glDeleteQueries count id-array))))
  140
+	    do (setf (mem-aref id-array '%gl:uint (1- i)) id))
  141
+      (%gl:delete-queries count id-array))))
143 142
 
144 143
 
145 144
 ;;; 4.1.8 Blending
@@ -149,14 +148,14 @@ BEGIN-QUERY."
149 148
   "Specifies the blend equation to be used for both RGB and alpha values. MODE
150 149
 must be one of the symbolic constants :FUNC-ADD, :FUNC-SUBTRACT, :FUNC-REVERSE-SUBTRACT,
151 150
 :MIN, :MAX or :LOGIC-OP."
152  
-  (%glBlendEquation mode))
  151
+  (%gl:blend-equation mode))
153 152
 
154 153
 (declaim (inline blend-equation-separate))
155 154
 (defun blend-equation-separate (mode-rgb mode-alpha)
156 155
   "Specifies the blend equations to be used for RGB and alpha values respectively.
157 156
 MODE-RGB and MODE-ALPHA must be one of the symbolic constants :FUNC-ADD, :FUNC-SUBTRACT,
158 157
 :FUNC-REVERSE-SUBTRACT, :MIN, :MAX or :LOGIC-OP."
159  
-  (%glBlendEquationSeparate mode-rgb mode-alpha))
  158
+  (%gl:blend-equation-separate mode-rgb mode-alpha))
160 159
 
161 160
 (declaim (inline blend-func))
162 161
 (defun blend-func (src dst)
@@ -166,7 +165,7 @@ while DST determines both RGB and alpha destination functions. Possible values a
166 165
 :SRC-ALPHA, :ONE-MINUS-SRC-ALPHA, :DST-ALPHA, :ONE-MINUS-DST-ALPHA, :CONSTANT-COLOR,
167 166
 :ONE-MINUS-CONSTANT-COLOR, :CONSTANT-ALPHA, :ONE-MINUS-CONSTANT-ALPHA and
168 167
 :SRC-ALPHA-SATURATE (only valid for source blending functions)."
169  
-  (%glBlendFunc src dst))
  168
+  (%gl:blend-func src dst))
170 169
 
171 170
 (declaim (inline blend-func-separate))
172 171
 (defun blend-func-separate (src-rgb dst-rgb src-alpha dst-alpha)
@@ -177,13 +176,13 @@ the source and destination alpha blend functions. Possible values are
177 176
 :SRC-ALPHA, :ONE-MINUS-SRC-ALPHA, :DST-ALPHA, :ONE-MINUS-DST-ALPHA, :CONSTANT-COLOR,
178 177
 :ONE-MINUS-CONSTANT-COLOR, :CONSTANT-ALPHA, :ONE-MINUS-CONSTANT-ALPHA and
179 178
 :SRC-ALPHA-SATURATE (only valid for source blending functions)."
180  
-  (%glBlendFuncSeparate src-rgb dst-rgb src-alpha dst-alpha))
  179
+  (%gl:blend-func-separate src-rgb dst-rgb src-alpha dst-alpha))
181 180
 
182 181
 (declaim (inline blend-color))
183 182
 (defun blend-color (red green blue alpha)
184 183
   "Specifies the constant color to be used in blending. The four parameters are
185 184
 clamped to the range [0, 1] before being stored."
186  
-  (%glBlendColor (float red) (float green) (float blue) (float alpha)))
  185
+  (%gl:blend-color (float red) (float green) (float blue) (float alpha)))
187 186
 
188 187
 
189 188
 ;;; 4.1.10 Logical Operation
@@ -194,7 +193,7 @@ clamped to the range [0, 1] before being stored."
194 193
 enabled. Possible values are :CLEAR, :AND, :AND-REVERSE, :COPY, :AND-INVERTED,
195 194
 :NOOP, :XOR, :OR, :NOR, :EQUIV, :INVERT, :OR-REVERSE, :COPY-INVERTED, :OR-INVERTED,
196 195
 :NAND and :SET."
197  
-  (%glLogicOp op))
  196
+  (%gl:logic-op op))
198 197
 
199 198
 
200 199
 
@@ -206,34 +205,34 @@ enabled. Possible values are :CLEAR, :AND, :AND-REVERSE, :COPY, :AND-INVERTED,
206 205
 
207 206
 (declaim (inline draw-buffer))
208 207
 (defun draw-buffer (buffer)
209  
-  (%glDrawBuffer buffer))
  208
+  (%gl:draw-buffer buffer))
210 209
 
211 210
 (defun draw-buffers (buffers)
212  
-  (with-opengl-sequence (seq 'enum buffers)
213  
-    (%glDrawBuffers (length buffers) seq)))
  211
+  (with-opengl-sequence (seq '%gl:enum buffers)
  212
+    (%gl:draw-buffers (length buffers) seq)))
214 213
 
215 214
 
216 215
 ;;; 4.2.2 Fine Control of Buffer Updates
217 216
 
218 217
 (declaim (inline index-mask))
219 218
 (defun index-mask (mask)
220  
-  (%glIndexMask mask))
  219
+  (%gl:index-mask mask))
221 220
 
222 221
 (declaim (inline color-mask))
223 222
 (defun color-mask (r g b a)
224  
-  (%glColorMask (if r 1 0) (if g 1 0) (if b 1 0) (if a 1 0)))
  223
+  (%gl:color-mask (if r 1 0) (if g 1 0) (if b 1 0) (if a 1 0)))
225 224
 
226 225
 (declaim (inline depth-mask))
227 226
 (defun depth-mask (mask)
228  
-  (%glDepthMask mask))
  227
+  (%gl:depth-mask mask))
229