root/tags/Release_0_1/DerelictGL/gleeFuncDef.d

Revision 21, 95.5 kB (checked in by aldacron, 5 years ago)

* updated the GLee files to Joel's new version, which fixes a severe bug when compiling GLee with optimizations

Line 
1 module gleeFuncDef;
2
3 /////////////////////////////////////////////////////////////////////
4 //
5 // GLeeFuncDef.d
6 // OpenGL Easy Extension library
7 // Version : 3.02
8 //
9 // Copyright (c);2004  Ben Woodhouse  All rights reserved.
10 //
11 // Redistribution and use in source and binary forms, with or without
12 // modification, are permitted provided that the following conditions are
13 // met:
14 // 1. Redistributions of source code must retain the above copyright
15 // notice, this list of conditions and the following disclaimer as
16 // the first lines of this file unmodified.
17 // 2. Redistributions in binary form must reproduce the above copyright
18 // notice, this list of conditions and the following disclaimer in the
19 // documentation and/or other materials provided with the distribution.
20 //
21 // THIS SOFTWARE IS PROVIDED BY BEN WOODHOUSE ``AS IS'' AND ANY EXPRESS OR
22 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 // IN NO EVENT SHALL BEN WOODHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT,
25 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION); HOWEVER CAUSED AND ON ANY
28 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 // (INCLUDING NEGLIGENCE OR OTHERWISE); ARISING IN ANY WAY OUT OF THE USE OF
30 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 //
32 // This licence includes and incorporates the SGI FREE SOFTWARE LICENSE B
33 // (Version 1.1 [02/22/2000]); full details of which can be found at
34 // http://oss.sgi.com/projects/FreeB
35 //
36 // For the avoidance of doubt, this work falls within the definition of a
37 // 'Larger Work' within that licence, since it incorporates parts of SGI's
38 // glExt.h, wglExt.h and glxExt.h header files, which form part of SGI's
39 // OpenGL Sample Implementation.
40 // Web: http://elf-stone.com
41 //
42 // [This file was produced using find and replace and by hand by
43 // Joel Anderson]
44 //
45 ///////////////////////////////////////////////////////////////////// void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
46
47 private
48 {
49     import std.c.windows.windows;
50     import glConstants;
51     import gleeTypes;
52 }
53
54 extern (C)
55 {
56
57
58     //GL_VERSION_1_2
59     version(GL_VERSION_1_2)
60     {
61          void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
62          void glBlendEquation(GLenum mode);
63          void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid *indices);
64          void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid *table);
65          void glColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
66          void glColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
67          void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
68          void glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
69          void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
70          void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
71          void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, GLvoid *data);
72          void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
73          void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid *image);
74          void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *image);
75          void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
76          void glConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
77          void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
78          void glConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
79          void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
80          void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
81          void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
82          void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
83          void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
84          void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
85          void glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *row, GLvoid *column);
86          void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
87          void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
88          void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
89          void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
90          void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
91          void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
92          void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
93          void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
94          void glResetHistogram(GLenum target);
95          void glResetMinmax(GLenum target);
96          void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid *pixels);
97          void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *pixels);
98          void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
99     }
100
101     //GL_ARB_imaging
102     version(GL_ARB_imaging)
103 {}
104
105     //GL_VERSION_1_3
106     version(GL_VERSION_1_3)
107     {
108          void glActiveTexture(GLenum texture);
109          void glClientActiveTexture(GLenum texture);
110          void glMultiTexCoord1d(GLenum target, GLdouble s);
111          void glMultiTexCoord1dv(GLenum target, GLdouble *v);
112          void glMultiTexCoord1f(GLenum target, GLfloat s);
113          void glMultiTexCoord1fv(GLenum target, GLfloat *v);
114          void glMultiTexCoord1i(GLenum target, GLint s);
115          void glMultiTexCoord1iv(GLenum target, GLint *v);
116          void glMultiTexCoord1s(GLenum target, GLshort s);
117          void glMultiTexCoord1sv(GLenum target, GLshort *v);
118          void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
119          void glMultiTexCoord2dv(GLenum target, GLdouble *v);
120          void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
121          void glMultiTexCoord2fv(GLenum target, GLfloat *v);
122          void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
123          void glMultiTexCoord2iv(GLenum target, GLint *v);
124          void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
125          void glMultiTexCoord2sv(GLenum target, GLshort *v);
126          void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);
127          void glMultiTexCoord3dv(GLenum target, GLdouble *v);
128          void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);
129          void glMultiTexCoord3fv(GLenum target, GLfloat *v);
130          void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
131          void glMultiTexCoord3iv(GLenum target, GLint *v);
132          void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);
133          void glMultiTexCoord3sv(GLenum target, GLshort *v);
134          void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
135          void glMultiTexCoord4dv(GLenum target, GLdouble *v);
136          void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
137          void glMultiTexCoord4fv(GLenum target, GLfloat *v);
138          void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);
139          void glMultiTexCoord4iv(GLenum target, GLint *v);
140          void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
141          void glMultiTexCoord4sv(GLenum target, GLshort *v);
142          void glLoadTransposeMatrixf(GLfloat *m);
143          void glLoadTransposeMatrixd(GLdouble *m);
144          void glMultTransposeMatrixf(GLfloat *m);
145          void glMultTransposeMatrixd(GLdouble *m);
146          void glSampleCoverage(GLclampf value, GLboolean invert);
147          void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid *data);
148          void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid *data);
149          void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid *data);
150          void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid *data);
151          void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid *data);
152          void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid *data);
153          void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
154     }
155
156     //GL_VERSION_1_4
157     version(GL_VERSION_1_4)
158     {
159          void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
160          void glFogCoordf(GLfloat coord);
161          void glFogCoordfv (GLfloat *coord);
162          void glFogCoordd(GLdouble coord);
163          void glFogCoorddv (GLdouble *coord);
164          void glFogCoordPointer(GLenum type, GLsizei stride, GLvoid *pointer);
165          void glMultiDrawArrays(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
166          void glMultiDrawElements(GLenum mode, GLsizei *count, GLenum type, GLvoid* *indices, GLsizei primcount);
167          void glPointParameterf(GLenum pname, GLfloat param);
168          void glPointParameterfv(GLenum pname, GLfloat *params);
169          void glPointParameteri(GLenum pname, GLint param);
170          void glPointParameteriv(GLenum pname, GLint *params);
171          void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);
172          void glSecondaryColor3bv (GLbyte *v);
173          void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);
174          void glSecondaryColor3dv (GLdouble *v);
175          void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);
176          void glSecondaryColor3fv (GLfloat *v);
177          void glSecondaryColor3i(GLint red, GLint green, GLint blue);
178          void glSecondaryColor3iv (GLint *v);
179          void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);
180          void glSecondaryColor3sv (GLshort *v);
181          void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);
182          void glSecondaryColor3ubv (GLubyte *v);
183          void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);
184          void glSecondaryColor3uiv (GLuint *v);
185          void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);
186          void glSecondaryColor3usv (GLushort *v);
187          void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
188          void glWindowPos2d(GLdouble x, GLdouble y);
189          void glWindowPos2dv (GLdouble *v);
190          void glWindowPos2f(GLfloat x, GLfloat y);
191          void glWindowPos2fv (GLfloat *v);
192          void glWindowPos2i(GLint x, GLint y);
193          void glWindowPos2iv (GLint *v);
194          void glWindowPos2s(GLshort x, GLshort y);
195          void glWindowPos2sv (GLshort *v);
196          void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);
197          void glWindowPos3dv (GLdouble *v);
198          void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);
199          void glWindowPos3fv (GLfloat *v);
200          void glWindowPos3i(GLint x, GLint y, GLint z);
201          void glWindowPos3iv (GLint *v);
202          void glWindowPos3s(GLshort x, GLshort y, GLshort z);
203          void glWindowPos3sv (GLshort *v);
204     }
205
206     //GL_VERSION_1_5
207     version(GL_VERSION_1_5)
208     {
209          void glGenQueries(GLsizei n, GLuint *ids);
210          void glDeleteQueries(GLsizei n, GLuint *ids);
211          GLboolean glIsQuery(GLuint id);
212          void glBeginQuery(GLenum target, GLuint id);
213          void glEndQuery(GLenum target);
214          void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
215          void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
216          void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
217          void glBindBuffer(GLenum target, GLuint buffer);
218          void glDeleteBuffers(GLsizei n, GLuint *buffers);
219          void glGenBuffers(GLsizei n, GLuint *buffers);
220          GLboolean glIsBuffer(GLuint buffer);
221          void glBufferData(GLenum target, GLsizeiptr size, GLvoid *data, GLenum usage);
222          void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
223          void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
224          GLvoid* glMapBuffer(GLenum target, GLenum access);
225          GLboolean glUnmapBuffer(GLenum target);
226          void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
227          void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
228     }
229
230     //GL_ARB_multitexture
231     version(GL_ARB_multitexture)
232     {
233          void glActiveTextureARB(GLenum texture);
234          void glClientActiveTextureARB(GLenum texture);
235          void glMultiTexCoord1dARB(GLenum target, GLdouble s);
236          void glMultiTexCoord1dvARB(GLenum target, GLdouble *v);
237          void glMultiTexCoord1fARB(GLenum target, GLfloat s);
238          void glMultiTexCoord1fvARB(GLenum target, GLfloat *v);
239          void glMultiTexCoord1iARB(GLenum target, GLint s);
240          void glMultiTexCoord1ivARB(GLenum target, GLint *v);
241          void glMultiTexCoord1sARB(GLenum target, GLshort s);
242          void glMultiTexCoord1svARB(GLenum target, GLshort *v);
243          void glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
244          void glMultiTexCoord2dvARB(GLenum target, GLdouble *v);
245          void glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
246          void glMultiTexCoord2fvARB(GLenum target, GLfloat *v);
247          void glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
248          void glMultiTexCoord2ivARB(GLenum target, GLint *v);
249          void glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
250          void glMultiTexCoord2svARB(GLenum target, GLshort *v);
251          void glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
252          void glMultiTexCoord3dvARB(GLenum target, GLdouble *v);
253          void glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
254          void glMultiTexCoord3fvARB(GLenum target, GLfloat *v);
255          void glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
256          void glMultiTexCoord3ivARB(GLenum target, GLint *v);
257          void glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
258          void glMultiTexCoord3svARB(GLenum target, GLshort *v);
259          void glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
260          void glMultiTexCoord4dvARB(GLenum target, GLdouble *v);
261          void glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
262          void glMultiTexCoord4fvARB(GLenum target, GLfloat *v);
263          void glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
264          void glMultiTexCoord4ivARB(GLenum target, GLint *v);
265          void glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
266          void glMultiTexCoord4svARB(GLenum target, GLshort *v);
267     }
268
269     //GL_ARB_transpose_matrix
270     version(GL_ARB_transpose_matrix)
271     {
272          void glLoadTransposeMatrixfARB (GLfloat *m);
273          void glLoadTransposeMatrixdARB (GLdouble *m);
274          void glMultTransposeMatrixfARB (GLfloat *m);
275          void glMultTransposeMatrixdARB (GLdouble *m);
276     }
277
278     //GL_ARB_multisample
279     version(GL_ARB_multisample)
280     {
281          void glSampleCoverageARB(GLclampf value, GLboolean invert);
282     }
283
284     //GL_ARB_texture_env_add
285     version(GL_ARB_texture_env_add)
286 {}
287
288     //GL_ARB_texture_cube_map
289     version(GL_ARB_texture_cube_map)
290     {}
291
292     //GL_ARB_texture_compression
293     version(GL_ARB_texture_compression)
294     {
295          void glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid *data);
296          void glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid *data);
297          void glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid *data);
298          void glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid *data);
299          void glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid *data);
300          void glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid *data);
301          void glGetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img);
302     }
303
304     //GL_ARB_texture_border_clamp
305     version(GL_ARB_texture_border_clamp)
306 {}
307
308     //GL_ARB_point_parameters
309     version(GL_ARB_point_parameters)
310     {
311          void glPointParameterfARB(GLenum pname, GLfloat param);
312          void glPointParameterfvARB(GLenum pname, GLfloat *params);
313     }
314
315     //GL_ARB_vertex_blend
316     version(GL_ARB_vertex_blend)
317     {
318          void glWeightbvARB(GLint size, GLbyte *weights);
319          void glWeightsvARB(GLint size, GLshort *weights);
320          void glWeightivARB(GLint size, GLint *weights);
321          void glWeightfvARB(GLint size, GLfloat *weights);
322          void glWeightdvARB(GLint size, GLdouble *weights);
323          void glWeightubvARB(GLint size, GLubyte *weights);
324          void glWeightusvARB(GLint size, GLushort *weights);
325          void glWeightuivARB(GLint size, GLuint *weights);
326          void glWeightPointerARB(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
327          void glVertexBlendARB(GLint count);
328     }
329
330     //GL_ARB_matrix_palette
331     version(GL_ARB_matrix_palette)
332     {
333          void glCurrentPaletteMatrixARB(GLint index);
334          void glMatrixIndexubvARB(GLint size, GLubyte *indices);
335          void glMatrixIndexusvARB(GLint size, GLushort *indices);
336          void glMatrixIndexuivARB(GLint size, GLuint *indices);
337          void glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
338     }
339
340     //GL_ARB_texture_env_combine
341     version(GL_ARB_texture_env_combine)
342 {}
343
344     //GL_ARB_texture_env_crossbar
345     version(GL_ARB_texture_env_crossbar)
346     {}
347
348     //GL_ARB_texture_env_dot3
349     version(GL_ARB_texture_env_dot3)
350     {}
351
352     //GL_ARB_texture_mirrored_repeat
353     version(GL_ARB_texture_mirrored_repeat)
354     {}
355
356     //GL_ARB_depth_texture
357     version(GL_ARB_depth_texture)
358     {}
359
360     //GL_ARB_shadow
361     version(GL_ARB_shadow)
362     {}
363
364     //GL_ARB_shadow_ambient
365     version(GL_ARB_shadow_ambient)
366     {}
367
368     //GL_ARB_window_pos
369     version(GL_ARB_window_pos)
370     {
371          void glWindowPos2dARB(GLdouble x, GLdouble y);
372          void glWindowPos2dvARB (GLdouble *v);
373          void glWindowPos2fARB(GLfloat x, GLfloat y);
374          void glWindowPos2fvARB (GLfloat *v);
375          void glWindowPos2iARB(GLint x, GLint y);
376          void glWindowPos2ivARB (GLint *v);
377          void glWindowPos2sARB(GLshort x, GLshort y);
378          void glWindowPos2svARB (GLshort *v);
379          void glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);
380          void glWindowPos3dvARB (GLdouble *v);
381          void glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);
382          void glWindowPos3fvARB (GLfloat *v);
383          void glWindowPos3iARB(GLint x, GLint y, GLint z);
384          void glWindowPos3ivARB (GLint *v);
385          void glWindowPos3sARB(GLshort x, GLshort y, GLshort z);
386          void glWindowPos3svARB (GLshort *v);
387     }
388
389     //GL_ARB_vertex_program
390     version(GL_ARB_vertex_program)
391     {
392          void glVertexAttrib1dARB(GLuint index, GLdouble x);
393          void glVertexAttrib1dvARB(GLuint index, GLdouble *v);
394          void glVertexAttrib1fARB(GLuint index, GLfloat x);
395          void glVertexAttrib1fvARB(GLuint index, GLfloat *v);
396          void glVertexAttrib1sARB(GLuint index, GLshort x);
397          void glVertexAttrib1svARB(GLuint index, GLshort *v);
398          void glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);
399          void glVertexAttrib2dvARB(GLuint index,