1/****************************************************************************
2**
3** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
4** Copyright (C) 2016 The Qt Company Ltd.
5** Contact: https://www.qt.io/licensing/
6**
7** This file is part of the QtOpenGL module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial License Usage
11** Licensees holding valid commercial Qt licenses may use this file in
12** accordance with the commercial license agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and The Qt Company. For licensing terms
15** and conditions see https://www.qt.io/terms-conditions. For further
16** information use the contact form at https://www.qt.io/contact-us.
17**
18** GNU Lesser General Public License Usage
19** Alternatively, this file may be used under the terms of the GNU Lesser
20** General Public License version 3 as published by the Free Software
21** Foundation and appearing in the file LICENSE.LGPL3 included in the
22** packaging of this file. Please review the following information to
23** ensure the GNU Lesser General Public License version 3 requirements
24** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
25**
26** GNU General Public License Usage
27** Alternatively, this file may be used under the terms of the GNU
28** General Public License version 2.0 or (at your option) the GNU General
29** Public license version 3 or any later version approved by the KDE Free
30** Qt Foundation. The licenses are as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
32** included in the packaging of this file. Please review the following
33** information to ensure the GNU General Public License requirements will
34** be met: https://www.gnu.org/licenses/gpl-2.0.html and
35** https://www.gnu.org/licenses/gpl-3.0.html.
36**
37** $QT_END_LICENSE$
38**
39**
40** This file was generated by glgen version 0.1
41** Command line was: glgen
42**
43** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
44**
45** This is an auto-generated file.
46** Do not edit! All changes made to it will be lost.
47**
48****************************************************************************/
49
50#ifndef QOPENGLVERSIONFUNCTIONS_4_1_COMPATIBILITY_H
51#define QOPENGLVERSIONFUNCTIONS_4_1_COMPATIBILITY_H
52
53#include <QtOpenGL/qtopenglglobal.h>
54
55#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
56
57#include <QtOpenGL/QOpenGLVersionProfile>
58#include <QtOpenGL/QOpenGLVersionFunctions>
59#include <QtGui/qopenglcontext.h>
60
61QT_BEGIN_NAMESPACE
62
63class Q_OPENGL_EXPORT QOpenGLFunctions_4_1_Compatibility : public QAbstractOpenGLFunctions
64{
65public:
66 QOpenGLFunctions_4_1_Compatibility();
67 ~QOpenGLFunctions_4_1_Compatibility();
68
69 bool initializeOpenGLFunctions() override;
70
71 // OpenGL 1.0 core functions
72 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
73 void glDepthRange(GLdouble nearVal, GLdouble farVal);
74 GLboolean glIsEnabled(GLenum cap);
75 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
76 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
77 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
78 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
79 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
80 const GLubyte * glGetString(GLenum name);
81 void glGetIntegerv(GLenum pname, GLint *params);
82 void glGetFloatv(GLenum pname, GLfloat *params);
83 GLenum glGetError();
84 void glGetDoublev(GLenum pname, GLdouble *params);
85 void glGetBooleanv(GLenum pname, GLboolean *params);
86 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
87 void glReadBuffer(GLenum mode);
88 void glPixelStorei(GLenum pname, GLint param);
89 void glPixelStoref(GLenum pname, GLfloat param);
90 void glDepthFunc(GLenum func);
91 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
92 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
93 void glLogicOp(GLenum opcode);
94 void glBlendFunc(GLenum sfactor, GLenum dfactor);
95 void glFlush();
96 void glFinish();
97 void glEnable(GLenum cap);
98 void glDisable(GLenum cap);
99 void glDepthMask(GLboolean flag);
100 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
101 void glStencilMask(GLuint mask);
102 void glClearDepth(GLdouble depth);
103 void glClearStencil(GLint s);
104 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
105 void glClear(GLbitfield mask);
106 void glDrawBuffer(GLenum mode);
107 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
108 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
109 void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
110 void glTexParameteri(GLenum target, GLenum pname, GLint param);
111 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
112 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
113 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
114 void glPolygonMode(GLenum face, GLenum mode);
115 void glPointSize(GLfloat size);
116 void glLineWidth(GLfloat width);
117 void glHint(GLenum target, GLenum mode);
118 void glFrontFace(GLenum mode);
119 void glCullFace(GLenum mode);
120
121 // OpenGL 1.1 core functions
122 void glIndexubv(const GLubyte *c);
123 void glIndexub(GLubyte c);
124 GLboolean glIsTexture(GLuint texture);
125 void glGenTextures(GLsizei n, GLuint *textures);
126 void glDeleteTextures(GLsizei n, const GLuint *textures);
127 void glBindTexture(GLenum target, GLuint texture);
128 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
129 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
130 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
131 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
132 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
133 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
134 void glPolygonOffset(GLfloat factor, GLfloat units);
135 void glGetPointerv(GLenum pname, GLvoid* *params);
136 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
137 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
138
139 // OpenGL 1.2 core functions
140 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
141 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
142 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
143 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
144 void glBlendEquation(GLenum mode);
145 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
146
147 // OpenGL 1.3 core functions
148 void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
149 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
150 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
151 void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
152 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
153 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
154 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
155 void glSampleCoverage(GLfloat value, GLboolean invert);
156 void glActiveTexture(GLenum texture);
157
158 // OpenGL 1.4 core functions
159 void glPointParameteriv(GLenum pname, const GLint *params);
160 void glPointParameteri(GLenum pname, GLint param);
161 void glPointParameterfv(GLenum pname, const GLfloat *params);
162 void glPointParameterf(GLenum pname, GLfloat param);
163 void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
164 void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
165 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
166
167 // OpenGL 1.5 core functions
168 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
169 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
170 GLboolean glUnmapBuffer(GLenum target);
171 GLvoid* glMapBuffer(GLenum target, GLenum access);
172 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
173 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
174 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
175 GLboolean glIsBuffer(GLuint buffer);
176 void glGenBuffers(GLsizei n, GLuint *buffers);
177 void glDeleteBuffers(GLsizei n, const GLuint *buffers);
178 void glBindBuffer(GLenum target, GLuint buffer);
179 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
180 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
181 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
182 void glEndQuery(GLenum target);
183 void glBeginQuery(GLenum target, GLuint id);
184 GLboolean glIsQuery(GLuint id);
185 void glDeleteQueries(GLsizei n, const GLuint *ids);
186 void glGenQueries(GLsizei n, GLuint *ids);
187
188 // OpenGL 2.0 core functions
189 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
190 void glValidateProgram(GLuint program);
191 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
192 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
193 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
194 void glUniform4iv(GLint location, GLsizei count, const GLint *value);
195 void glUniform3iv(GLint location, GLsizei count, const GLint *value);
196 void glUniform2iv(GLint location, GLsizei count, const GLint *value);
197 void glUniform1iv(GLint location, GLsizei count, const GLint *value);
198 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);
199 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value);
200 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value);
201 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);
202 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
203 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
204 void glUniform2i(GLint location, GLint v0, GLint v1);
205 void glUniform1i(GLint location, GLint v0);
206 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
207 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
208 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
209 void glUniform1f(GLint location, GLfloat v0);
210 void glUseProgram(GLuint program);
211 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
212 void glLinkProgram(GLuint program);
213 GLboolean glIsShader(GLuint shader);
214 GLboolean glIsProgram(GLuint program);
215 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
216 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
217 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
218 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
219 void glGetUniformiv(GLuint program, GLint location, GLint *params);
220 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
221 GLint glGetUniformLocation(GLuint program, const GLchar *name);
222 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
223 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
224 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
225 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
226 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
227 GLint glGetAttribLocation(GLuint program, const GLchar *name);
228 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
229 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
230 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
231 void glEnableVertexAttribArray(GLuint index);
232 void glDisableVertexAttribArray(GLuint index);
233 void glDetachShader(GLuint program, GLuint shader);
234 void glDeleteShader(GLuint shader);
235 void glDeleteProgram(GLuint program);
236 GLuint glCreateShader(GLenum type);
237 GLuint glCreateProgram();
238 void glCompileShader(GLuint shader);
239 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
240 void glAttachShader(GLuint program, GLuint shader);
241 void glStencilMaskSeparate(GLenum face, GLuint mask);
242 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
243 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
244 void glDrawBuffers(GLsizei n, const GLenum *bufs);
245 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
246
247 // OpenGL 2.1 core functions
248 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
249 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
250 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
251 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
252 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
253 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
254
255 // OpenGL 3.0 core functions
256 GLboolean glIsVertexArray(GLuint array);
257 void glGenVertexArrays(GLsizei n, GLuint *arrays);
258 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
259 void glBindVertexArray(GLuint array);
260 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
261 GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
262 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
263 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
264 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
265 void glGenerateMipmap(GLenum target);
266 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
267 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
268 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
269 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
270 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
271 GLenum glCheckFramebufferStatus(GLenum target);
272 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
273 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
274 void glBindFramebuffer(GLenum target, GLuint framebuffer);
275 GLboolean glIsFramebuffer(GLuint framebuffer);
276 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
277 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
278 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
279 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
280 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
281 GLboolean glIsRenderbuffer(GLuint renderbuffer);
282 const GLubyte * glGetStringi(GLenum name, GLuint index);
283 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
284 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
285 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
286 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
287 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
288 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
289 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
290 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
291 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
292 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
293 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
294 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
295 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
296 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
297 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
298 void glUniform1ui(GLint location, GLuint v0);
299 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
300 void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);
301 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
302 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
303 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
304 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
305 void glEndConditionalRender();
306 void glBeginConditionalRender(GLuint id, GLenum mode);
307 void glClampColor(GLenum target, GLenum clamp);
308 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
309 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
310 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
311 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
312 void glEndTransformFeedback();
313 void glBeginTransformFeedback(GLenum primitiveMode);
314 GLboolean glIsEnabledi(GLenum target, GLuint index);
315 void glDisablei(GLenum target, GLuint index);
316 void glEnablei(GLenum target, GLuint index);
317 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
318 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
319 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
320
321 // OpenGL 3.1 core functions
322 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
323 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
324 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
325 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
326 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
327 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
328 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
329 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
330 void glPrimitiveRestartIndex(GLuint index);
331 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
332 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
333 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
334
335 // OpenGL 3.2 core functions
336 void glSampleMaski(GLuint index, GLbitfield mask);
337 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
338 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
339 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
340 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
341 void glGetInteger64v(GLenum pname, GLint64 *params);
342 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
343 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
344 void glDeleteSync(GLsync sync);
345 GLboolean glIsSync(GLsync sync);
346 GLsync glFenceSync(GLenum condition, GLbitfield flags);
347 void glProvokingVertex(GLenum mode);
348 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
349 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
350 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
351 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
352 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
353 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
354 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
355
356 // OpenGL 3.3 core functions
357 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
358 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
359 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
360 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
361 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
362 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
363 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
364 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
365 void glSecondaryColorP3uiv(GLenum type, const GLuint *color);
366 void glSecondaryColorP3ui(GLenum type, GLuint color);
367 void glColorP4uiv(GLenum type, const GLuint *color);
368 void glColorP4ui(GLenum type, GLuint color);
369 void glColorP3uiv(GLenum type, const GLuint *color);
370 void glColorP3ui(GLenum type, GLuint color);
371 void glNormalP3uiv(GLenum type, const GLuint *coords);
372 void glNormalP3ui(GLenum type, GLuint coords);
373 void glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);
374 void glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);
375 void glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);
376 void glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);
377 void glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);
378 void glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);
379 void glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);
380 void glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);
381 void glTexCoordP4uiv(GLenum type, const GLuint *coords);
382 void glTexCoordP4ui(GLenum type, GLuint coords);
383 void glTexCoordP3uiv(GLenum type, const GLuint *coords);
384 void glTexCoordP3ui(GLenum type, GLuint coords);
385 void glTexCoordP2uiv(GLenum type, const GLuint *coords);
386 void glTexCoordP2ui(GLenum type, GLuint coords);
387 void glTexCoordP1uiv(GLenum type, const GLuint *coords);
388 void glTexCoordP1ui(GLenum type, GLuint coords);
389 void glVertexP4uiv(GLenum type, const GLuint *value);
390 void glVertexP4ui(GLenum type, GLuint value);
391 void glVertexP3uiv(GLenum type, const GLuint *value);
392 void glVertexP3ui(GLenum type, GLuint value);
393 void glVertexP2uiv(GLenum type, const GLuint *value);
394 void glVertexP2ui(GLenum type, GLuint value);
395 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
396 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
397 void glQueryCounter(GLuint id, GLenum target);
398 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
399 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
400 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
401 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
402 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
403 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
404 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
405 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
406 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
407 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
408 void glBindSampler(GLuint unit, GLuint sampler);
409 GLboolean glIsSampler(GLuint sampler);
410 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
411 void glGenSamplers(GLsizei count, GLuint *samplers);
412 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
413 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
414 void glVertexAttribDivisor(GLuint index, GLuint divisor);
415
416 // OpenGL 4.0 core functions
417 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
418 void glEndQueryIndexed(GLenum target, GLuint index);
419 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
420 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
421 void glDrawTransformFeedback(GLenum mode, GLuint id);
422 void glResumeTransformFeedback();
423 void glPauseTransformFeedback();
424 GLboolean glIsTransformFeedback(GLuint id);
425 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
426 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
427 void glBindTransformFeedback(GLenum target, GLuint id);
428 void glPatchParameterfv(GLenum pname, const GLfloat *values);
429 void glPatchParameteri(GLenum pname, GLint value);
430 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
431 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
432 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);
433 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
434 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
435 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
436 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);
437 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);
438 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
439 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
440 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
441 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
442 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
443 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
444 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
445 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
446 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
447 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
448 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
449 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
450 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
451 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
452 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
453 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
454 void glUniform2d(GLint location, GLdouble x, GLdouble y);
455 void glUniform1d(GLint location, GLdouble x);
456 void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
457 void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
458 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
459 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
460 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
461 void glBlendEquationi(GLuint buf, GLenum mode);
462 void glMinSampleShading(GLfloat value);
463
464 // OpenGL 4.1 core functions
465 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
466 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
467 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
468 void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
469 void glScissorIndexedv(GLuint index, const GLint *v);
470 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
471 void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);
472 void glViewportIndexedfv(GLuint index, const GLfloat *v);
473 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
474 void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);
475 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
476 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
477 void glVertexAttribL4dv(GLuint index, const GLdouble *v);
478 void glVertexAttribL3dv(GLuint index, const GLdouble *v);
479 void glVertexAttribL2dv(GLuint index, const GLdouble *v);
480 void glVertexAttribL1dv(GLuint index, const GLdouble *v);
481 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
482 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
483 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
484 void glVertexAttribL1d(GLuint index, GLdouble x);
485 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
486 void glValidateProgramPipeline(GLuint pipeline);
487 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
488 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
489 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
490 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
491 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
492 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
493 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
494 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
495 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
496 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
497 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
498 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
499 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
500 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
501 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
502 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
503 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
504 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
505 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
506 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
507 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
508 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
509 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
510 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
511 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
512 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
513 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
514 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
515 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
516 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
517 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
518 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
519 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
520 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
521 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
522 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
523 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
524 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
525 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
526 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
527 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
528 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
529 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
530 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
531 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);
532 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
533 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
534 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
535 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
536 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
537 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
538 GLboolean glIsProgramPipeline(GLuint pipeline);
539 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
540 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
541 void glBindProgramPipeline(GLuint pipeline);
542 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings);
543 void glActiveShaderProgram(GLuint pipeline, GLuint program);
544 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
545 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
546 void glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
547 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
548 void glClearDepthf(GLfloat dd);
549 void glDepthRangef(GLfloat n, GLfloat f);
550 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
551 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
552 void glReleaseShaderCompiler();
553
554 // OpenGL 1.0 deprecated functions
555 void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
556 void glTranslated(GLdouble x, GLdouble y, GLdouble z);
557 void glScalef(GLfloat x, GLfloat y, GLfloat z);
558 void glScaled(GLdouble x, GLdouble y, GLdouble z);
559 void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
560 void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
561 void glPushMatrix();
562 void glPopMatrix();
563 void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
564 void glMultMatrixd(const GLdouble *m);
565 void glMultMatrixf(const GLfloat *m);
566 void glMatrixMode(GLenum mode);
567 void glLoadMatrixd(const GLdouble *m);
568 void glLoadMatrixf(const GLfloat *m);
569 void glLoadIdentity();
570 void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
571 GLboolean glIsList(GLuint list);
572 void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
573 void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
574 void glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);
575 void glGetTexEnviv(GLenum target, GLenum pname, GLint *params);
576 void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);
577 void glGetPolygonStipple(GLubyte *mask);
578 void glGetPixelMapusv(GLenum map, GLushort *values);
579 void glGetPixelMapuiv(GLenum map, GLuint *values);
580 void glGetPixelMapfv(GLenum map, GLfloat *values);
581 void glGetMaterialiv(GLenum face, GLenum pname, GLint *params);
582 void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
583 void glGetMapiv(GLenum target, GLenum query, GLint *v);
584 void glGetMapfv(GLenum target, GLenum query, GLfloat *v);
585 void glGetMapdv(GLenum target, GLenum query, GLdouble *v);
586 void glGetLightiv(GLenum light, GLenum pname, GLint *params);
587 void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
588 void glGetClipPlane(GLenum plane, GLdouble *equation);
589 void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
590 void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
591 void glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values);
592 void glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values);
593 void glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values);
594 void glPixelTransferi(GLenum pname, GLint param);
595 void glPixelTransferf(GLenum pname, GLfloat param);
596 void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
597 void glAlphaFunc(GLenum func, GLfloat ref);
598 void glEvalPoint2(GLint i, GLint j);
599 void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
600 void glEvalPoint1(GLint i);
601 void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
602 void glEvalCoord2fv(const GLfloat *u);
603 void glEvalCoord2f(GLfloat u, GLfloat v);
604 void glEvalCoord2dv(const GLdouble *u);
605 void glEvalCoord2d(GLdouble u, GLdouble v);
606 void glEvalCoord1fv(const GLfloat *u);
607 void glEvalCoord1f(GLfloat u);
608 void glEvalCoord1dv(const GLdouble *u);
609 void glEvalCoord1d(GLdouble u);
610 void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
611 void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
612 void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
613 void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
614 void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
615 void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
616 void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
617 void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
618 void glPushAttrib(GLbitfield mask);
619 void glPopAttrib();
620 void glAccum(GLenum op, GLfloat value);
621 void glIndexMask(GLuint mask);
622 void glClearIndex(GLfloat c);
623 void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
624 void glPushName(GLuint name);
625 void glPopName();
626 void glPassThrough(GLfloat token);
627 void glLoadName(GLuint name);
628 void glInitNames();
629 GLint glRenderMode(GLenum mode);
630 void glSelectBuffer(GLsizei size, GLuint *buffer);
631 void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);
632 void glTexGeniv(GLenum coord, GLenum pname, const GLint *params);
633 void glTexGeni(GLenum coord, GLenum pname, GLint param);
634 void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);
635 void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
636 void glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);
637 void glTexGend(GLenum coord, GLenum pname, GLdouble param);
638 void glTexEnviv(GLenum target, GLenum pname, const GLint *params);
639 void glTexEnvi(GLenum target, GLenum pname, GLint param);
640 void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
641 void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
642 void glShadeModel(GLenum mode);
643 void glPolygonStipple(const GLubyte *mask);
644 void glMaterialiv(GLenum face, GLenum pname, const GLint *params);
645 void glMateriali(GLenum face, GLenum pname, GLint param);
646 void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
647 void glMaterialf(GLenum face, GLenum pname, GLfloat param);
648 void glLineStipple(GLint factor, GLushort pattern);
649 void glLightModeliv(GLenum pname, const GLint *params);
650 void glLightModeli(GLenum pname, GLint param);
651 void glLightModelfv(GLenum pname, const GLfloat *params);
652 void glLightModelf(GLenum pname, GLfloat param);
653 void glLightiv(GLenum light, GLenum pname, const GLint *params);
654 void glLighti(GLenum light, GLenum pname, GLint param);
655 void glLightfv(GLenum light, GLenum pname, const GLfloat *params);
656 void glLightf(GLenum light, GLenum pname, GLfloat param);
657 void glFogiv(GLenum pname, const GLint *params);
658 void glFogi(GLenum pname, GLint param);
659 void glFogfv(GLenum pname, const GLfloat *params);
660 void glFogf(GLenum pname, GLfloat param);
661 void glColorMaterial(GLenum face, GLenum mode);
662 void glClipPlane(GLenum plane, const GLdouble *equation);
663 void glVertex4sv(const GLshort *v);
664 void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
665 void glVertex4iv(const GLint *v);
666 void glVertex4i(GLint x, GLint y, GLint z, GLint w);
667 void glVertex4fv(const GLfloat *v);
668 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
669 void glVertex4dv(const GLdouble *v);
670 void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
671 void glVertex3sv(const GLshort *v);
672 void glVertex3s(GLshort x, GLshort y, GLshort z);
673 void glVertex3iv(const GLint *v);
674 void glVertex3i(GLint x, GLint y, GLint z);
675 void glVertex3fv(const GLfloat *v);
676 void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
677 void glVertex3dv(const GLdouble *v);
678 void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
679 void glVertex2sv(const GLshort *v);
680 void glVertex2s(GLshort x, GLshort y);
681 void glVertex2iv(const GLint *v);
682 void glVertex2i(GLint x, GLint y);
683 void glVertex2fv(const GLfloat *v);
684 void glVertex2f(GLfloat x, GLfloat y);
685 void glVertex2dv(const GLdouble *v);
686 void glVertex2d(GLdouble x, GLdouble y);
687 void glTexCoord4sv(const GLshort *v);
688 void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
689 void glTexCoord4iv(const GLint *v);
690 void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
691 void glTexCoord4fv(const GLfloat *v);
692 void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
693 void glTexCoord4dv(const GLdouble *v);
694 void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
695 void glTexCoord3sv(const GLshort *v);
696 void glTexCoord3s(GLshort s, GLshort t, GLshort r);
697 void glTexCoord3iv(const GLint *v);
698 void glTexCoord3i(GLint s, GLint t, GLint r);
699 void glTexCoord3fv(const GLfloat *v);
700 void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
701 void glTexCoord3dv(const GLdouble *v);
702 void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
703 void glTexCoord2sv(const GLshort *v);
704 void glTexCoord2s(GLshort s, GLshort t);
705 void glTexCoord2iv(const GLint *v);
706 void glTexCoord2i(GLint s, GLint t);
707 void glTexCoord2fv(const GLfloat *v);
708 void glTexCoord2f(GLfloat s, GLfloat t);
709 void glTexCoord2dv(const GLdouble *v);
710 void glTexCoord2d(GLdouble s, GLdouble t);
711 void glTexCoord1sv(const GLshort *v);
712 void glTexCoord1s(GLshort s);
713 void glTexCoord1iv(const GLint *v);
714 void glTexCoord1i(GLint s);
715 void glTexCoord1fv(const GLfloat *v);
716 void glTexCoord1f(GLfloat s);
717 void glTexCoord1dv(const GLdouble *v);
718 void glTexCoord1d(GLdouble s);
719 void glRectsv(const GLshort *v1, const GLshort *v2);
720 void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
721 void glRectiv(const GLint *v1, const GLint *v2);
722 void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
723 void glRectfv(const GLfloat *v1, const GLfloat *v2);
724 void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
725 void glRectdv(const GLdouble *v1, const GLdouble *v2);
726 void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
727 void glRasterPos4sv(const GLshort *v);
728 void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
729 void glRasterPos4iv(const GLint *v);
730 void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
731 void glRasterPos4fv(const GLfloat *v);
732 void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
733 void glRasterPos4dv(const GLdouble *v);
734 void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
735 void glRasterPos3sv(const GLshort *v);
736 void glRasterPos3s(GLshort x, GLshort y, GLshort z);
737 void glRasterPos3iv(const GLint *v);
738 void glRasterPos3i(GLint x, GLint y, GLint z);
739 void glRasterPos3fv(const GLfloat *v);
740 void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
741 void glRasterPos3dv(const GLdouble *v);
742 void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
743 void glRasterPos2sv(const GLshort *v);
744 void glRasterPos2s(GLshort x, GLshort y);
745 void glRasterPos2iv(const GLint *v);
746 void glRasterPos2i(GLint x, GLint y);
747 void glRasterPos2fv(const GLfloat *v);
748 void glRasterPos2f(GLfloat x, GLfloat y);
749 void glRasterPos2dv(const GLdouble *v);
750 void glRasterPos2d(GLdouble x, GLdouble y);
751 void glNormal3sv(const GLshort *v);
752 void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
753 void glNormal3iv(const GLint *v);
754 void glNormal3i(GLint nx, GLint ny, GLint nz);
755 void glNormal3fv(const GLfloat *v);
756 void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
757 void glNormal3dv(const GLdouble *v);
758 void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
759 void glNormal3bv(const GLbyte *v);
760 void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
761 void glIndexsv(const GLshort *c);
762 void glIndexs(GLshort c);
763 void glIndexiv(const GLint *c);
764 void glIndexi(GLint c);
765 void glIndexfv(const GLfloat *c);
766 void glIndexf(GLfloat c);
767 void glIndexdv(const GLdouble *c);
768 void glIndexd(GLdouble c);
769 void glEnd();
770 void glEdgeFlagv(const GLboolean *flag);
771 void glEdgeFlag(GLboolean flag);
772 void glColor4usv(const GLushort *v);
773 void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
774 void glColor4uiv(const GLuint *v);
775 void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
776 void glColor4ubv(const GLubyte *v);
777 void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
778 void glColor4sv(const GLshort *v);
779 void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
780 void glColor4iv(const GLint *v);
781 void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
782 void glColor4fv(const GLfloat *v);
783 void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
784 void glColor4dv(const GLdouble *v);
785 void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
786 void glColor4bv(const GLbyte *v);
787 void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
788 void glColor3usv(const GLushort *v);
789 void glColor3us(GLushort red, GLushort green, GLushort blue);
790 void glColor3uiv(const GLuint *v);
791 void glColor3ui(GLuint red, GLuint green, GLuint blue);
792 void glColor3ubv(const GLubyte *v);
793 void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
794 void glColor3sv(const GLshort *v);
795 void glColor3s(GLshort red, GLshort green, GLshort blue);
796 void glColor3iv(const GLint *v);
797 void glColor3i(GLint red, GLint green, GLint blue);
798 void glColor3fv(const GLfloat *v);
799 void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
800 void glColor3dv(const GLdouble *v);
801 void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
802 void glColor3bv(const GLbyte *v);
803 void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
804 void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
805 void glBegin(GLenum mode);
806 void glListBase(GLuint base);
807 GLuint glGenLists(GLsizei range);
808 void glDeleteLists(GLuint list, GLsizei range);
809 void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);
810 void glCallList(GLuint list);
811 void glEndList();
812 void glNewList(GLuint list, GLenum mode);
813
814 // OpenGL 1.1 deprecated functions
815 void glPushClientAttrib(GLbitfield mask);
816 void glPopClientAttrib();
817 void glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities);
818 GLboolean glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);
819 void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
820 void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
821 void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
822 void glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
823 void glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
824 void glEnableClientState(GLenum array);
825 void glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);
826 void glDisableClientState(GLenum array);
827 void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
828 void glArrayElement(GLint i);
829
830 // OpenGL 1.2 deprecated functions
831 void glResetMinmax(GLenum target);
832 void glResetHistogram(GLenum target);
833 void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
834 void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
835 void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
836 void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
837 void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
838 void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
839 void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
840 void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
841 void glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
842 void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
843 void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
844 void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
845 void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);
846 void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
847 void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
848 void glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
849 void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
850 void glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);
851 void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
852 void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
853 void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
854 void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
855 void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
856 void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);
857 void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);
858 void glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);
859 void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
860 void glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
861 void glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
862 void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
863
864 // OpenGL 1.3 deprecated functions
865 void glMultTransposeMatrixd(const GLdouble *m);
866 void glMultTransposeMatrixf(const GLfloat *m);
867 void glLoadTransposeMatrixd(const GLdouble *m);
868 void glLoadTransposeMatrixf(const GLfloat *m);
869 void glMultiTexCoord4sv(GLenum target, const GLshort *v);
870 void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
871 void glMultiTexCoord4iv(GLenum target, const GLint *v);
872 void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);
873 void glMultiTexCoord4fv(GLenum target, const GLfloat *v);
874 void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
875 void glMultiTexCoord4dv(GLenum target, const GLdouble *v);
876 void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
877 void glMultiTexCoord3sv(GLenum target, const GLshort *v);
878 void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);
879 void glMultiTexCoord3iv(GLenum target, const GLint *v);
880 void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
881 void glMultiTexCoord3fv(GLenum target, const GLfloat *v);
882 void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);
883 void glMultiTexCoord3dv(GLenum target, const GLdouble *v);
884 void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);
885 void glMultiTexCoord2sv(GLenum target, const GLshort *v);
886 void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
887 void glMultiTexCoord2iv(GLenum target, const GLint *v);
888 void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
889 void glMultiTexCoord2fv(GLenum target, const GLfloat *v);
890 void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
891 void glMultiTexCoord2dv(GLenum target, const GLdouble *v);
892 void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
893 void glMultiTexCoord1sv(GLenum target, const GLshort *v);
894 void glMultiTexCoord1s(GLenum target, GLshort s);
895 void glMultiTexCoord1iv(GLenum target, const GLint *v);
896 void glMultiTexCoord1i(GLenum target, GLint s);
897 void glMultiTexCoord1fv(GLenum target, const GLfloat *v);
898 void glMultiTexCoord1f(GLenum target, GLfloat s);
899 void glMultiTexCoord1dv(GLenum target, const GLdouble *v);
900 void glMultiTexCoord1d(GLenum target, GLdouble s);
901 void glClientActiveTexture(GLenum texture);
902
903 // OpenGL 1.4 deprecated functions
904 void glWindowPos3sv(const GLshort *v);
905 void glWindowPos3s(GLshort x, GLshort y, GLshort z);
906 void glWindowPos3iv(const GLint *v);
907 void glWindowPos3i(GLint x, GLint y, GLint z);
908 void glWindowPos3fv(const GLfloat *v);
909 void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);
910 void glWindowPos3dv(const GLdouble *v);
911 void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);
912 void glWindowPos2sv(const GLshort *v);
913 void glWindowPos2s(GLshort x, GLshort y);
914 void glWindowPos2iv(const GLint *v);
915 void glWindowPos2i(GLint x, GLint y);
916 void glWindowPos2fv(const GLfloat *v);
917 void glWindowPos2f(GLfloat x, GLfloat y);
918 void glWindowPos2dv(const GLdouble *v);
919 void glWindowPos2d(GLdouble x, GLdouble y);
920 void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
921 void glSecondaryColor3usv(const GLushort *v);
922 void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);
923 void glSecondaryColor3uiv(const GLuint *v);
924 void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);
925 void glSecondaryColor3ubv(const GLubyte *v);
926 void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);
927 void glSecondaryColor3sv(const GLshort *v);
928 void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);
929 void glSecondaryColor3iv(const GLint *v);
930 void glSecondaryColor3i(GLint red, GLint green, GLint blue);
931 void glSecondaryColor3fv(const GLfloat *v);
932 void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);
933 void glSecondaryColor3dv(const GLdouble *v);
934 void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);
935 void glSecondaryColor3bv(const GLbyte *v);
936 void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);
937 void glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
938 void glFogCoorddv(const GLdouble *coord);
939 void glFogCoordd(GLdouble coord);
940 void glFogCoordfv(const GLfloat *coord);
941 void glFogCoordf(GLfloat coord);
942
943 // OpenGL 1.5 deprecated functions
944
945 // OpenGL 2.0 deprecated functions
946 void glVertexAttrib4usv(GLuint in