qglfunctions.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/opengl/qglfunctions.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtOpenGL module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#include "qglfunctions.h"-
41#include "qgl_p.h"-
42#include "QtGui/private/qopenglcontext_p.h"-
43#include <private/qopengl_p.h>-
44-
45QT_BEGIN_NAMESPACE-
46-
47/*!-
48 \class QGLFunctions-
49 \inmodule QtOpenGL-
50 \brief The QGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.-
51 \since 4.8-
52 \obsolete-
53 \ingroup painting-3D-
54-
55 OpenGL ES 2.0 defines a subset of the OpenGL specification that is-
56 common across many desktop and embedded OpenGL implementations.-
57 However, it can be difficult to use the functions from that subset-
58 because they need to be resolved manually on desktop systems.-
59-
60 QGLFunctions provides a guaranteed API that is available on all-
61 OpenGL systems and takes care of function resolution on systems-
62 that need it. The recommended way to use QGLFunctions is by-
63 direct inheritance:-
64-
65 \code-
66 class MyGLWidget : public QGLWidget, protected QGLFunctions-
67 {-
68 Q_OBJECT-
69 public:-
70 MyGLWidget(QWidget *parent = 0) : QGLWidget(parent) {}-
71-
72 protected:-
73 void initializeGL();-
74 void paintGL();-
75 };-
76-
77 void MyGLWidget::initializeGL()-
78 {-
79 initializeGLFunctions();-
80 }-
81 \endcode-
82-
83 The \c{paintGL()} function can then use any of the OpenGL ES 2.0-
84 functions without explicit resolution, such as glActiveTexture()-
85 in the following example:-
86-
87 \code-
88 void MyGLWidget::paintGL()-
89 {-
90 glActiveTexture(GL_TEXTURE1);-
91 glBindTexture(GL_TEXTURE_2D, textureId);-
92 ...-
93 }-
94 \endcode-
95-
96 QGLFunctions can also be used directly for ad-hoc invocation-
97 of OpenGL ES 2.0 functions on all platforms:-
98-
99 \code-
100 QGLFunctions glFuncs(QGLContext::currentContext());-
101 glFuncs.glActiveTexture(GL_TEXTURE1);-
102 \endcode-
103-
104 QGLFunctions provides wrappers for all OpenGL ES 2.0 functions,-
105 except those like \c{glDrawArrays()}, \c{glViewport()}, and-
106 \c{glBindTexture()} that don't have portability issues.-
107-
108 Including the header for QGLFunctions will also define all of-
109 the OpenGL ES 2.0 macro constants that are not already defined by-
110 the system's OpenGL headers, such as \c{GL_TEXTURE1} above.-
111-
112 The hasOpenGLFeature() and openGLFeatures() functions can be used-
113 to determine if the OpenGL implementation has a major OpenGL ES 2.0-
114 feature. For example, the following checks if non power of two-
115 textures are available:-
116-
117 \code-
118 QGLFunctions funcs(QGLContext::currentContext());-
119 bool npot = funcs.hasOpenGLFeature(QGLFunctions::NPOTTextures);-
120 \endcode-
121-
122 \note This class has been deprecated in favor of QOpenGLFunctions.-
123*/-
124-
125/*!-
126 \enum QGLFunctions::OpenGLFeature-
127 This enum defines OpenGL ES 2.0 features that may be optional-
128 on other platforms.-
129-
130 \value Multitexture glActiveTexture() function is available.-
131 \value Shaders Shader functions are available.-
132 \value Buffers Vertex and index buffer functions are available.-
133 \value Framebuffers Framebuffer object functions are available.-
134 \value BlendColor glBlendColor() is available.-
135 \value BlendEquation glBlendEquation() is available.-
136 \value BlendEquationSeparate glBlendEquationSeparate() is available.-
137 \value BlendFuncSeparate glBlendFuncSeparate() is available.-
138 \value BlendSubtract Blend subtract mode is available.-
139 \value CompressedTextures Compressed texture functions are available.-
140 \value Multisample glSampleCoverage() function is available.-
141 \value StencilSeparate Separate stencil functions are available.-
142 \value NPOTTextures Non power of two textures are available.-
143*/-
144-
145// Hidden private fields for additional extension data.-
146struct QGLFunctionsPrivateEx : public QGLFunctionsPrivate, public QOpenGLSharedResource-
147{-
148 QGLFunctionsPrivateEx(QOpenGLContext *context)-
149 : QGLFunctionsPrivate(QGLContext::fromOpenGLContext(context))-
150 , QOpenGLSharedResource(context->shareGroup())-
151 , m_features(-1)-
152 {-
153 funcs = new QOpenGLFunctions(context);-
154 funcs->initializeOpenGLFunctions();-
155 }
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
2
156-
157 ~QGLFunctionsPrivateEx()-
158 {-
159 delete funcs;-
160 }
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
2
161-
162 void invalidateResource() Q_DECL_OVERRIDE-
163 {-
164 m_features = -1;-
165 }
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
2
166-
167 void freeResource(QOpenGLContext *) Q_DECL_OVERRIDE-
168 {-
169 // no gl resources to free-
170 }-
171-
172 int m_features;-
173};-
174-
175Q_GLOBAL_STATIC(QOpenGLMultiGroupSharedResource, qt_gl_functions_resource)
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
executed 2 times by 2 tests: guard.store(QtGlobalStatic::Destroyed);
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
executed 3 times by 2 tests: return &holder.value;
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
guard.load() =...c::InitializedDescription
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
FALSEnever evaluated
0-3
176-
177static QGLFunctionsPrivateEx *qt_gl_functions(const QGLContext *context = 0)-
178{-
179 if (!context)
!contextDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEevaluated 2 times by 1 test
Evaluated by:
  • tst_qmdiarea - unknown status
1-2
180 context = QGLContext::currentContext();
executed 1 time by 1 test: context = QGLContext::currentContext();
Executed by:
  • tst_qglfunctions - unknown status
1
181 Q_ASSERT(context);-
182 QGLFunctionsPrivateEx *funcs =-
183 reinterpret_cast<QGLFunctionsPrivateEx *>-
184 (qt_gl_functions_resource()->value<QGLFunctionsPrivateEx>(context->contextHandle()));-
185 return funcs;
executed 3 times by 2 tests: return funcs;
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
3
186}-
187-
188/*!-
189 Constructs a default function resolver. The resolver cannot-
190 be used until initializeGLFunctions() is called to specify-
191 the context.-
192-
193 \sa initializeGLFunctions()-
194*/-
195QGLFunctions::QGLFunctions()-
196 : d_ptr(0)-
197{-
198}
executed 1 time by 1 test: end of block
Executed by:
  • tst_qglfunctions - unknown status
1
199-
200/*!-
201 Constructs a function resolver for \a context. If \a context-
202 is null, then the resolver will be created for the current QGLContext.-
203-
204 An object constructed in this way can only be used with \a context-
205 and other contexts that share with it. Use initializeGLFunctions()-
206 to change the object's context association.-
207-
208 \sa initializeGLFunctions()-
209*/-
210QGLFunctions::QGLFunctions(const QGLContext *context)-
211 : d_ptr(qt_gl_functions(context))-
212{-
213}
executed 1 time by 1 test: end of block
Executed by:
  • tst_qmdiarea - unknown status
1
214-
215/*!-
216 \fn QGLFunctions::~QGLFunctions()-
217-
218 Destroys this function resolver.-
219*/-
220-
221static int qt_gl_resolve_features()-
222{-
223 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
224 if (ctx->isOpenGLES()) {
ctx->isOpenGLES()Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
0-1
225 // OpenGL ES 2-
226 int features = QGLFunctions::Multitexture |-
227 QGLFunctions::Shaders |-
228 QGLFunctions::Buffers |-
229 QGLFunctions::Framebuffers |-
230 QGLFunctions::BlendColor |-
231 QGLFunctions::BlendEquation |-
232 QGLFunctions::BlendEquationSeparate |-
233 QGLFunctions::BlendFuncSeparate |-
234 QGLFunctions::BlendSubtract |-
235 QGLFunctions::CompressedTextures |-
236 QGLFunctions::Multisample |-
237 QGLFunctions::StencilSeparate;-
238 QOpenGLExtensionMatcher extensions;-
239 if (extensions.match("GL_OES_texture_npot"))
extensions.mat...texture_npot")Description
TRUEnever evaluated
FALSEnever evaluated
0
240 features |= QGLFunctions::NPOTTextures;
never executed: features |= QGLFunctions::NPOTTextures;
0
241 if (extensions.match("GL_IMG_texture_npot"))
extensions.mat...texture_npot")Description
TRUEnever evaluated
FALSEnever evaluated
0
242 features |= QGLFunctions::NPOTTextures;
never executed: features |= QGLFunctions::NPOTTextures;
0
243 return features;
never executed: return features;
0
244 } else {-
245 // OpenGL-
246 int features = 0;-
247 QGLFormat::OpenGLVersionFlags versions = QGLFormat::openGLVersionFlags();-
248 QOpenGLExtensionMatcher extensions;-
249-
250 // Recognize features by extension name.-
251 if (extensions.match("GL_ARB_multitexture"))
extensions.mat...multitexture")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
252 features |= QGLFunctions::Multitexture;
executed 1 time by 1 test: features |= QGLFunctions::Multitexture;
Executed by:
  • tst_qglfunctions - unknown status
1
253 if (extensions.match("GL_ARB_shader_objects"))
extensions.mat...ader_objects")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
254 features |= QGLFunctions::Shaders;
executed 1 time by 1 test: features |= QGLFunctions::Shaders;
Executed by:
  • tst_qglfunctions - unknown status
1
255 if (extensions.match("GL_EXT_framebuffer_object") ||
extensions.mat...uffer_object")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
256 extensions.match("GL_ARB_framebuffer_object"))
extensions.mat...uffer_object")Description
TRUEnever evaluated
FALSEnever evaluated
0
257 features |= QGLFunctions::Framebuffers;
executed 1 time by 1 test: features |= QGLFunctions::Framebuffers;
Executed by:
  • tst_qglfunctions - unknown status
1
258 if (extensions.match("GL_EXT_blend_color"))
extensions.mat..._blend_color")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
259 features |= QGLFunctions::BlendColor;
executed 1 time by 1 test: features |= QGLFunctions::BlendColor;
Executed by:
  • tst_qglfunctions - unknown status
1
260 if (extensions.match("GL_EXT_blend_equation_separate"))
extensions.mat...ion_separate")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
261 features |= QGLFunctions::BlendEquationSeparate;
executed 1 time by 1 test: features |= QGLFunctions::BlendEquationSeparate;
Executed by:
  • tst_qglfunctions - unknown status
1
262 if (extensions.match("GL_EXT_blend_func_separate"))
extensions.mat...unc_separate")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
263 features |= QGLFunctions::BlendFuncSeparate;
executed 1 time by 1 test: features |= QGLFunctions::BlendFuncSeparate;
Executed by:
  • tst_qglfunctions - unknown status
1
264 if (extensions.match("GL_EXT_blend_subtract"))
extensions.mat...end_subtract")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
265 features |= QGLFunctions::BlendSubtract;
executed 1 time by 1 test: features |= QGLFunctions::BlendSubtract;
Executed by:
  • tst_qglfunctions - unknown status
1
266 if (extensions.match("GL_ARB_texture_compression"))
extensions.mat..._compression")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
267 features |= QGLFunctions::CompressedTextures;
executed 1 time by 1 test: features |= QGLFunctions::CompressedTextures;
Executed by:
  • tst_qglfunctions - unknown status
1
268 if (extensions.match("GL_ARB_multisample"))
extensions.mat..._multisample")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
269 features |= QGLFunctions::Multisample;
executed 1 time by 1 test: features |= QGLFunctions::Multisample;
Executed by:
  • tst_qglfunctions - unknown status
1
270 if (extensions.match("GL_ARB_texture_non_power_of_two"))
extensions.mat...power_of_two")Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
271 features |= QGLFunctions::NPOTTextures;
executed 1 time by 1 test: features |= QGLFunctions::NPOTTextures;
Executed by:
  • tst_qglfunctions - unknown status
1
272-
273 // Recognize features by minimum OpenGL version.-
274 if (versions & QGLFormat::OpenGL_Version_1_2) {
versions & QGL...GL_Version_1_2Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
275 features |= QGLFunctions::BlendColor |-
276 QGLFunctions::BlendEquation;-
277 }
executed 1 time by 1 test: end of block
Executed by:
  • tst_qglfunctions - unknown status
1
278 if (versions & QGLFormat::OpenGL_Version_1_3) {
versions & QGL...GL_Version_1_3Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
279 features |= QGLFunctions::Multitexture |-
280 QGLFunctions::CompressedTextures |-
281 QGLFunctions::Multisample;-
282 }
executed 1 time by 1 test: end of block
Executed by:
  • tst_qglfunctions - unknown status
1
283 if (versions & QGLFormat::OpenGL_Version_1_4)
versions & QGL...GL_Version_1_4Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
284 features |= QGLFunctions::BlendFuncSeparate;
executed 1 time by 1 test: features |= QGLFunctions::BlendFuncSeparate;
Executed by:
  • tst_qglfunctions - unknown status
1
285 if (versions & QGLFormat::OpenGL_Version_1_5)
versions & QGL...GL_Version_1_5Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
286 features |= QGLFunctions::Buffers;
executed 1 time by 1 test: features |= QGLFunctions::Buffers;
Executed by:
  • tst_qglfunctions - unknown status
1
287 if (versions & QGLFormat::OpenGL_Version_2_0) {
versions & QGL...GL_Version_2_0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
288 features |= QGLFunctions::Shaders |-
289 QGLFunctions::StencilSeparate |-
290 QGLFunctions::BlendEquationSeparate |-
291 QGLFunctions::NPOTTextures;-
292 }
executed 1 time by 1 test: end of block
Executed by:
  • tst_qglfunctions - unknown status
1
293 return features;
executed 1 time by 1 test: return features;
Executed by:
  • tst_qglfunctions - unknown status
1
294 }-
295}-
296-
297/*!-
298 Returns the set of features that are present on this system's-
299 OpenGL implementation.-
300-
301 It is assumed that the QGLContext associated with this function-
302 resolver is current.-
303-
304 \sa hasOpenGLFeature()-
305*/-
306QGLFunctions::OpenGLFeatures QGLFunctions::openGLFeatures() const-
307{-
308 QGLFunctionsPrivateEx *d = static_cast<QGLFunctionsPrivateEx *>(d_ptr);-
309 if (!d)
!dDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEnever evaluated
0-1
310 return 0;
executed 1 time by 1 test: return 0;
Executed by:
  • tst_qglfunctions - unknown status
1
311 if (d->m_features == -1)
d->m_features == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
312 d->m_features = qt_gl_resolve_features();
never executed: d->m_features = qt_gl_resolve_features();
0
313 return QGLFunctions::OpenGLFeatures(d->m_features);
never executed: return QGLFunctions::OpenGLFeatures(d->m_features);
0
314}-
315-
316/*!-
317 Returns \c true if \a feature is present on this system's OpenGL-
318 implementation; false otherwise.-
319-
320 It is assumed that the QGLContext associated with this function-
321 resolver is current.-
322-
323 \sa openGLFeatures()-
324*/-
325bool QGLFunctions::hasOpenGLFeature(QGLFunctions::OpenGLFeature feature) const-
326{-
327 QGLFunctionsPrivateEx *d = static_cast<QGLFunctionsPrivateEx *>(d_ptr);-
328 if (!d)
!dDescription
TRUEevaluated 13 times by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEevaluated 13 times by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
13
329 return false;
executed 13 times by 1 test: return false;
Executed by:
  • tst_qglfunctions - unknown status
13
330 if (d->m_features == -1)
d->m_features == -1Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
FALSEevaluated 12 times by 1 test
Evaluated by:
  • tst_qglfunctions - unknown status
1-12
331 d->m_features = qt_gl_resolve_features();
executed 1 time by 1 test: d->m_features = qt_gl_resolve_features();
Executed by:
  • tst_qglfunctions - unknown status
1
332 return (d->m_features & int(feature)) != 0;
executed 13 times by 1 test: return (d->m_features & int(feature)) != 0;
Executed by:
  • tst_qglfunctions - unknown status
13
333}-
334-
335/*!-
336 Initializes GL function resolution for \a context. If \a context-
337 is null, then the current QGLContext will be used.-
338-
339 After calling this function, the QGLFunctions object can only be-
340 used with \a context and other contexts that share with it.-
341 Call initializeGLFunctions() again to change the object's context-
342 association.-
343*/-
344void QGLFunctions::initializeGLFunctions(const QGLContext *context)-
345{-
346 d_ptr = qt_gl_functions(context);-
347}
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
2
348-
349/*!-
350 \fn void QGLFunctions::glActiveTexture(GLenum texture)-
351-
352 Convenience function that calls glActiveTexture(\a texture).-
353-
354 For more information, see the OpenGL ES 2.0 documentation for-
355 \l{http://www.khronos.org/opengles/sdk/docs/man/glActiveTexture.xml}{glActiveTexture()}.-
356*/-
357-
358/*!-
359 \fn void QGLFunctions::glAttachShader(GLuint program, GLuint shader)-
360-
361 Convenience function that calls glAttachShader(\a program, \a shader).-
362-
363 For more information, see the OpenGL ES 2.0 documentation for-
364 \l{http://www.khronos.org/opengles/sdk/docs/man/glAttachShader.xml}{glAttachShader()}.-
365-
366 This convenience function will do nothing on OpenGL ES 1.x systems.-
367*/-
368-
369/*!-
370 \fn void QGLFunctions::glBindAttribLocation(GLuint program, GLuint index, const char* name)-
371-
372 Convenience function that calls glBindAttribLocation(\a program, \a index, \a name).-
373-
374 For more information, see the OpenGL ES 2.0 documentation for-
375 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindAttribLocation.xml}{glBindAttribLocation()}.-
376-
377 This convenience function will do nothing on OpenGL ES 1.x systems.-
378*/-
379-
380/*!-
381 \fn void QGLFunctions::glBindBuffer(GLenum target, GLuint buffer)-
382-
383 Convenience function that calls glBindBuffer(\a target, \a buffer).-
384-
385 For more information, see the OpenGL ES 2.0 documentation for-
386 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindBuffer.xml}{glBindBuffer()}.-
387*/-
388-
389/*!-
390 \fn void QGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffer)-
391-
392 Convenience function that calls glBindFramebuffer(\a target, \a framebuffer).-
393-
394 Note that Qt will translate a \a framebuffer argument of 0 to the currently-
395 bound QOpenGLContext's defaultFramebufferObject().-
396-
397 For more information, see the OpenGL ES 2.0 documentation for-
398 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindFramebuffer.xml}{glBindFramebuffer()}.-
399*/-
400-
401/*!-
402 \fn void QGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuffer)-
403-
404 Convenience function that calls glBindRenderbuffer(\a target, \a renderbuffer).-
405-
406 For more information, see the OpenGL ES 2.0 documentation for-
407 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindRenderbuffer.xml}{glBindRenderbuffer()}.-
408*/-
409-
410/*!-
411 \fn void QGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)-
412-
413 Convenience function that calls glBlendColor(\a red, \a green, \a blue, \a alpha).-
414-
415 For more information, see the OpenGL ES 2.0 documentation for-
416 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendColor.xml}{glBlendColor()}.-
417*/-
418-
419/*!-
420 \fn void QGLFunctions::glBlendEquation(GLenum mode)-
421-
422 Convenience function that calls glBlendEquation(\a mode).-
423-
424 For more information, see the OpenGL ES 2.0 documentation for-
425 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquation.xml}{glBlendEquation()}.-
426*/-
427-
428/*!-
429 \fn void QGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)-
430-
431 Convenience function that calls glBlendEquationSeparate(\a modeRGB, \a modeAlpha).-
432-
433 For more information, see the OpenGL ES 2.0 documentation for-
434 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquationSeparate.xml}{glBlendEquationSeparate()}.-
435*/-
436-
437/*!-
438 \fn void QGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)-
439-
440 Convenience function that calls glBlendFuncSeparate(\a srcRGB, \a dstRGB, \a srcAlpha, \a dstAlpha).-
441-
442 For more information, see the OpenGL ES 2.0 documentation for-
443 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendFuncSeparate.xml}{glBlendFuncSeparate()}.-
444*/-
445-
446/*!-
447 \fn void QGLFunctions::glBufferData(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage)-
448-
449 Convenience function that calls glBufferData(\a target, \a size, \a data, \a usage).-
450-
451 For more information, see the OpenGL ES 2.0 documentation for-
452 \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferData.xml}{glBufferData()}.-
453*/-
454-
455/*!-
456 \fn void QGLFunctions::glBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data)-
457-
458 Convenience function that calls glBufferSubData(\a target, \a offset, \a size, \a data).-
459-
460 For more information, see the OpenGL ES 2.0 documentation for-
461 \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferSubData.xml}{glBufferSubData()}.-
462*/-
463-
464/*!-
465 \fn GLenum QGLFunctions::glCheckFramebufferStatus(GLenum target)-
466-
467 Convenience function that calls glCheckFramebufferStatus(\a target).-
468-
469 For more information, see the OpenGL ES 2.0 documentation for-
470 \l{http://www.khronos.org/opengles/sdk/docs/man/glCheckFramebufferStatus.xml}{glCheckFramebufferStatus()}.-
471*/-
472-
473/*!-
474 \fn void QGLFunctions::glClearDepthf(GLclampf depth)-
475-
476 Convenience function that calls glClearDepth(\a depth) on-
477 desktop OpenGL systems and glClearDepthf(\a depth) on-
478 embedded OpenGL ES systems.-
479-
480 For more information, see the OpenGL ES 2.0 documentation for-
481 \l{http://www.khronos.org/opengles/sdk/docs/man/glClearDepthf.xml}{glClearDepthf()}.-
482*/-
483-
484/*!-
485 \fn void QGLFunctions::glCompileShader(GLuint shader)-
486-
487 Convenience function that calls glCompileShader(\a shader).-
488-
489 For more information, see the OpenGL ES 2.0 documentation for-
490 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompileShader.xml}{glCompileShader()}.-
491-
492 This convenience function will do nothing on OpenGL ES 1.x systems.-
493*/-
494-
495/*!-
496 \fn void QGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)-
497-
498 Convenience function that calls glCompressedTexImage2D(\a target, \a level, \a internalformat, \a width, \a height, \a border, \a imageSize, \a data).-
499-
500 For more information, see the OpenGL ES 2.0 documentation for-
501 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexImage2D.xml}{glCompressedTexImage2D()}.-
502*/-
503-
504/*!-
505 \fn void QGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)-
506-
507 Convenience function that calls glCompressedTexSubImage2D(\a target, \a level, \a xoffset, \a yoffset, \a width, \a height, \a format, \a imageSize, \a data).-
508-
509 For more information, see the OpenGL ES 2.0 documentation for-
510 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexSubImage2D.xml}{glCompressedTexSubImage2D()}.-
511*/-
512-
513/*!-
514 \fn GLuint QGLFunctions::glCreateProgram()-
515-
516 Convenience function that calls glCreateProgram().-
517-
518 For more information, see the OpenGL ES 2.0 documentation for-
519 \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateProgram.xml}{glCreateProgram()}.-
520-
521 This convenience function will do nothing on OpenGL ES 1.x systems.-
522*/-
523-
524/*!-
525 \fn GLuint QGLFunctions::glCreateShader(GLenum type)-
526-
527 Convenience function that calls glCreateShader(\a type).-
528-
529 For more information, see the OpenGL ES 2.0 documentation for-
530 \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateShader.xml}{glCreateShader()}.-
531-
532 This convenience function will do nothing on OpenGL ES 1.x systems.-
533*/-
534-
535/*!-
536 \fn void QGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers)-
537-
538 Convenience function that calls glDeleteBuffers(\a n, \a buffers).-
539-
540 For more information, see the OpenGL ES 2.0 documentation for-
541 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteBuffers.xml}{glDeleteBuffers()}.-
542*/-
543-
544/*!-
545 \fn void QGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)-
546-
547 Convenience function that calls glDeleteFramebuffers(\a n, \a framebuffers).-
548-
549 For more information, see the OpenGL ES 2.0 documentation for-
550 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteFramebuffers.xml}{glDeleteFramebuffers()}.-
551*/-
552-
553/*!-
554 \fn void QGLFunctions::glDeleteProgram(GLuint program)-
555-
556 Convenience function that calls glDeleteProgram(\a program).-
557-
558 For more information, see the OpenGL ES 2.0 documentation for-
559 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml}{glDeleteProgram()}.-
560-
561 This convenience function will do nothing on OpenGL ES 1.x systems.-
562*/-
563-
564/*!-
565 \fn void QGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)-
566-
567 Convenience function that calls glDeleteRenderbuffers(\a n, \a renderbuffers).-
568-
569 For more information, see the OpenGL ES 2.0 documentation for-
570 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteRenderbuffers.xml}{glDeleteRenderbuffers()}.-
571*/-
572-
573/*!-
574 \fn void QGLFunctions::glDeleteShader(GLuint shader)-
575-
576 Convenience function that calls glDeleteShader(\a shader).-
577-
578 For more information, see the OpenGL ES 2.0 documentation for-
579 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteShader.xml}{glDeleteShader()}.-
580-
581 This convenience function will do nothing on OpenGL ES 1.x systems.-
582*/-
583-
584/*!-
585 \fn void QGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar)-
586-
587 Convenience function that calls glDepthRange(\a zNear, \a zFar) on-
588 desktop OpenGL systems and glDepthRangef(\a zNear, \a zFar) on-
589 embedded OpenGL ES systems.-
590-
591 For more information, see the OpenGL ES 2.0 documentation for-
592 \l{http://www.khronos.org/opengles/sdk/docs/man/glDepthRangef.xml}{glDepthRangef()}.-
593*/-
594-
595/*!-
596 \fn void QGLFunctions::glDetachShader(GLuint program, GLuint shader)-
597-
598 Convenience function that calls glDetachShader(\a program, \a shader).-
599-
600 For more information, see the OpenGL ES 2.0 documentation for-
601 \l{http://www.khronos.org/opengles/sdk/docs/man/glDetachShader.xml}{glDetachShader()}.-
602-
603 This convenience function will do nothing on OpenGL ES 1.x systems.-
604*/-
605-
606/*!-
607 \fn void QGLFunctions::glDisableVertexAttribArray(GLuint index)-
608-
609 Convenience function that calls glDisableVertexAttribArray(\a index).-
610-
611 For more information, see the OpenGL ES 2.0 documentation for-
612 \l{http://www.khronos.org/opengles/sdk/docs/man/glDisableVertexAttribArray.xml}{glDisableVertexAttribArray()}.-
613-
614 This convenience function will do nothing on OpenGL ES 1.x systems.-
615*/-
616-
617/*!-
618 \fn void QGLFunctions::glEnableVertexAttribArray(GLuint index)-
619-
620 Convenience function that calls glEnableVertexAttribArray(\a index).-
621-
622 For more information, see the OpenGL ES 2.0 documentation for-
623 \l{http://www.khronos.org/opengles/sdk/docs/man/glEnableVertexAttribArray.xml}{glEnableVertexAttribArray()}.-
624-
625 This convenience function will do nothing on OpenGL ES 1.x systems.-
626*/-
627-
628/*!-
629 \fn void QGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)-
630-
631 Convenience function that calls glFramebufferRenderbuffer(\a target, \a attachment, \a renderbuffertarget, \a renderbuffer).-
632-
633 For more information, see the OpenGL ES 2.0 documentation for-
634 \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferRenderbuffer.xml}{glFramebufferRenderbuffer()}.-
635*/-
636-
637/*!-
638 \fn void QGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)-
639-
640 Convenience function that calls glFramebufferTexture2D(\a target, \a attachment, \a textarget, \a texture, \a level).-
641-
642 For more information, see the OpenGL ES 2.0 documentation for-
643 \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferTexture2D.xml}{glFramebufferTexture2D()}.-
644*/-
645-
646/*!-
647 \fn void QGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers)-
648-
649 Convenience function that calls glGenBuffers(\a n, \a buffers).-
650-
651 For more information, see the OpenGL ES 2.0 documentation for-
652 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenBuffers.xml}{glGenBuffers()}.-
653*/-
654-
655/*!-
656 \fn void QGLFunctions::glGenerateMipmap(GLenum target)-
657-
658 Convenience function that calls glGenerateMipmap(\a target).-
659-
660 For more information, see the OpenGL ES 2.0 documentation for-
661 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenerateMipmap.xml}{glGenerateMipmap()}.-
662*/-
663-
664/*!-
665 \fn void QGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers)-
666-
667 Convenience function that calls glGenFramebuffers(\a n, \a framebuffers).-
668-
669 For more information, see the OpenGL ES 2.0 documentation for-
670 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenFramebuffers.xml}{glGenFramebuffers()}.-
671*/-
672-
673/*!-
674 \fn void QGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)-
675-
676 Convenience function that calls glGenRenderbuffers(\a n, \a renderbuffers).-
677-
678 For more information, see the OpenGL ES 2.0 documentation for-
679 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenRenderbuffers.xml}{glGenRenderbuffers()}.-
680*/-
681-
682/*!-
683 \fn void QGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)-
684-
685 Convenience function that calls glGetActiveAttrib(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).-
686-
687 For more information, see the OpenGL ES 2.0 documentation for-
688 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveAttrib.xml}{glGetActiveAttrib()}.-
689-
690 This convenience function will do nothing on OpenGL ES 1.x systems.-
691*/-
692-
693/*!-
694 \fn void QGLFunctions::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)-
695-
696 Convenience function that calls glGetActiveUniform(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).-
697-
698 For more information, see the OpenGL ES 2.0 documentation for-
699 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveUniform.xml}{glGetActiveUniform()}.-
700-
701 This convenience function will do nothing on OpenGL ES 1.x systems.-
702*/-
703-
704/*!-
705 \fn void QGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)-
706-
707 Convenience function that calls glGetAttachedShaders(\a program, \a maxcount, \a count, \a shaders).-
708-
709 For more information, see the OpenGL ES 2.0 documentation for-
710 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttachedShaders.xml}{glGetAttachedShaders()}.-
711-
712 This convenience function will do nothing on OpenGL ES 1.x systems.-
713*/-
714-
715/*!-
716 \fn int QGLFunctions::glGetAttribLocation(GLuint program, const char* name)-
717-
718 Convenience function that calls glGetAttribLocation(\a program, \a name).-
719-
720 For more information, see the OpenGL ES 2.0 documentation for-
721 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttribLocation.xml}{glGetAttribLocation()}.-
722-
723 This convenience function will do nothing on OpenGL ES 1.x systems.-
724*/-
725-
726/*!-
727 \fn void QGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)-
728-
729 Convenience function that calls glGetBufferParameteriv(\a target, \a pname, \a params).-
730-
731 For more information, see the OpenGL ES 2.0 documentation for-
732 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetBufferParameteriv.xml}{glGetBufferParameteriv()}.-
733*/-
734-
735/*!-
736 \fn void QGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)-
737-
738 Convenience function that calls glGetFramebufferAttachmentParameteriv(\a target, \a attachment, \a pname, \a params).-
739-
740 For more information, see the OpenGL ES 2.0 documentation for-
741 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetFramebufferAttachmentParameteriv.xml}{glGetFramebufferAttachmentParameteriv()}.-
742*/-
743-
744/*!-
745 \fn void QGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint* params)-
746-
747 Convenience function that calls glGetProgramiv(\a program, \a pname, \a params).-
748-
749 For more information, see the OpenGL ES 2.0 documentation for-
750 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramiv.xml}{glGetProgramiv()}.-
751-
752 This convenience function will do nothing on OpenGL ES 1.x systems.-
753*/-
754-
755/*!-
756 \fn void QGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)-
757-
758 Convenience function that calls glGetProgramInfoLog(\a program, \a bufsize, \a length, \a infolog).-
759-
760 For more information, see the OpenGL ES 2.0 documentation for-
761 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramInfoLog.xml}{glGetProgramInfoLog()}.-
762-
763 This convenience function will do nothing on OpenGL ES 1.x systems.-
764*/-
765-
766/*!-
767 \fn void QGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)-
768-
769 Convenience function that calls glGetRenderbufferParameteriv(\a target, \a pname, \a params).-
770-
771 For more information, see the OpenGL ES 2.0 documentation for-
772 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetRenderbufferParameteriv.xml}{glGetRenderbufferParameteriv()}.-
773*/-
774-
775/*!-
776 \fn void QGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* params)-
777-
778 Convenience function that calls glGetShaderiv(\a shader, \a pname, \a params).-
779-
780 For more information, see the OpenGL ES 2.0 documentation for-
781 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderiv.xml}{glGetShaderiv()}.-
782-
783 This convenience function will do nothing on OpenGL ES 1.x systems.-
784*/-
785-
786/*!-
787 \fn void QGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)-
788-
789 Convenience function that calls glGetShaderInfoLog(\a shader, \a bufsize, \a length, \a infolog).-
790-
791 For more information, see the OpenGL ES 2.0 documentation for-
792 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderInfoLog.xml}{glGetShaderInfoLog()}.-
793-
794 This convenience function will do nothing on OpenGL ES 1.x systems.-
795*/-
796-
797/*!-
798 \fn void QGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)-
799-
800 Convenience function that calls glGetShaderPrecisionFormat(\a shadertype, \a precisiontype, \a range, \a precision).-
801-
802 For more information, see the OpenGL ES 2.0 documentation for-
803 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderPrecisionFormat.xml}{glGetShaderPrecisionFormat()}.-
804-
805 This convenience function will do nothing on OpenGL ES 1.x systems.-
806*/-
807-
808/*!-
809 \fn void QGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)-
810-
811 Convenience function that calls glGetShaderSource(\a shader, \a bufsize, \a length, \a source).-
812-
813 For more information, see the OpenGL ES 2.0 documentation for-
814 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderSource.xml}{glGetShaderSource()}.-
815-
816 This convenience function will do nothing on OpenGL ES 1.x systems.-
817*/-
818-
819/*!-
820 \fn void QGLFunctions::glGetUniformfv(GLuint program, GLint location, GLfloat* params)-
821-
822 Convenience function that calls glGetUniformfv(\a program, \a location, \a params).-
823-
824 For more information, see the OpenGL ES 2.0 documentation for-
825 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformfv.xml}{glGetUniformfv()}.-
826-
827 This convenience function will do nothing on OpenGL ES 1.x systems.-
828*/-
829-
830/*!-
831 \fn void QGLFunctions::glGetUniformiv(GLuint program, GLint location, GLint* params)-
832-
833 Convenience function that calls glGetUniformiv(\a program, \a location, \a params).-
834-
835 For more information, see the OpenGL ES 2.0 documentation for-
836 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformiv.xml}{glGetUniformiv()}.-
837-
838 This convenience function will do nothing on OpenGL ES 1.x systems.-
839*/-
840-
841/*!-
842 \fn int QGLFunctions::glGetUniformLocation(GLuint program, const char* name)-
843-
844 Convenience function that calls glGetUniformLocation(\a program, \a name).-
845-
846 For more information, see the OpenGL ES 2.0 documentation for-
847 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformLocation.xml}{glGetUniformLocation()}.-
848-
849 This convenience function will do nothing on OpenGL ES 1.x systems.-
850*/-
851-
852/*!-
853 \fn void QGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)-
854-
855 Convenience function that calls glGetVertexAttribfv(\a index, \a pname, \a params).-
856-
857 For more information, see the OpenGL ES 2.0 documentation for-
858 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribfv.xml}{glGetVertexAttribfv()}.-
859-
860 This convenience function will do nothing on OpenGL ES 1.x systems.-
861*/-
862-
863/*!-
864 \fn void QGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)-
865-
866 Convenience function that calls glGetVertexAttribiv(\a index, \a pname, \a params).-
867-
868 For more information, see the OpenGL ES 2.0 documentation for-
869 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribiv.xml}{glGetVertexAttribiv()}.-
870-
871 This convenience function will do nothing on OpenGL ES 1.x systems.-
872*/-
873-
874/*!-
875 \fn void QGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)-
876-
877 Convenience function that calls glGetVertexAttribPointerv(\a index, \a pname, \a pointer).-
878-
879 For more information, see the OpenGL ES 2.0 documentation for-
880 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribPointerv.xml}{glGetVertexAttribPointerv()}.-
881-
882 This convenience function will do nothing on OpenGL ES 1.x systems.-
883*/-
884-
885/*!-
886 \fn GLboolean QGLFunctions::glIsBuffer(GLuint buffer)-
887-
888 Convenience function that calls glIsBuffer(\a buffer).-
889-
890 For more information, see the OpenGL ES 2.0 documentation for-
891 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsBuffer.xml}{glIsBuffer()}.-
892*/-
893-
894/*!-
895 \fn GLboolean QGLFunctions::glIsFramebuffer(GLuint framebuffer)-
896-
897 Convenience function that calls glIsFramebuffer(\a framebuffer).-
898-
899 For more information, see the OpenGL ES 2.0 documentation for-
900 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsFramebuffer.xml}{glIsFramebuffer()}.-
901*/-
902-
903/*!-
904 \fn GLboolean QGLFunctions::glIsProgram(GLuint program)-
905-
906 Convenience function that calls glIsProgram(\a program).-
907-
908 For more information, see the OpenGL ES 2.0 documentation for-
909 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsProgram.xml}{glIsProgram()}.-
910-
911 This convenience function will do nothing on OpenGL ES 1.x systems.-
912*/-
913-
914/*!-
915 \fn GLboolean QGLFunctions::glIsRenderbuffer(GLuint renderbuffer)-
916-
917 Convenience function that calls glIsRenderbuffer(\a renderbuffer).-
918-
919 For more information, see the OpenGL ES 2.0 documentation for-
920 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsRenderbuffer.xml}{glIsRenderbuffer()}.-
921*/-
922-
923/*!-
924 \fn GLboolean QGLFunctions::glIsShader(GLuint shader)-
925-
926 Convenience function that calls glIsShader(\a shader).-
927-
928 For more information, see the OpenGL ES 2.0 documentation for-
929 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsShader.xml}{glIsShader()}.-
930-
931 This convenience function will do nothing on OpenGL ES 1.x systems.-
932*/-
933-
934/*!-
935 \fn void QGLFunctions::glLinkProgram(GLuint program)-
936-
937 Convenience function that calls glLinkProgram(\a program).-
938-
939 For more information, see the OpenGL ES 2.0 documentation for-
940 \l{http://www.khronos.org/opengles/sdk/docs/man/glLinkProgram.xml}{glLinkProgram()}.-
941-
942 This convenience function will do nothing on OpenGL ES 1.x systems.-
943*/-
944-
945/*!-
946 \fn void QGLFunctions::glReleaseShaderCompiler()-
947-
948 Convenience function that calls glReleaseShaderCompiler().-
949-
950 For more information, see the OpenGL ES 2.0 documentation for-
951 \l{http://www.khronos.org/opengles/sdk/docs/man/glReleaseShaderCompiler.xml}{glReleaseShaderCompiler()}.-
952-
953 This convenience function will do nothing on OpenGL ES 1.x systems.-
954*/-
955-
956/*!-
957 \fn void QGLFunctions::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)-
958-
959 Convenience function that calls glRenderbufferStorage(\a target, \a internalformat, \a width, \a height).-
960-
961 For more information, see the OpenGL ES 2.0 documentation for-
962 \l{http://www.khronos.org/opengles/sdk/docs/man/glRenderbufferStorage.xml}{glRenderbufferStorage()}.-
963*/-
964-
965/*!-
966 \fn void QGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert)-
967-
968 Convenience function that calls glSampleCoverage(\a value, \a invert).-
969-
970 For more information, see the OpenGL ES 2.0 documentation for-
971 \l{http://www.khronos.org/opengles/sdk/docs/man/glSampleCoverage.xml}{glSampleCoverage()}.-
972*/-
973-
974/*!-
975 \fn void QGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)-
976-
977 Convenience function that calls glShaderBinary(\a n, \a shaders, \a binaryformat, \a binary, \a length).-
978-
979 For more information, see the OpenGL ES 2.0 documentation for-
980 \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderBinary.xml}{glShaderBinary()}.-
981-
982 This convenience function will do nothing on OpenGL ES 1.x systems.-
983*/-
984-
985/*!-
986 \fn void QGLFunctions::glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)-
987-
988 Convenience function that calls glShaderSource(\a shader, \a count, \a string, \a length).-
989-
990 For more information, see the OpenGL ES 2.0 documentation for-
991 \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderSource.xml}{glShaderSource()}.-
992-
993 This convenience function will do nothing on OpenGL ES 1.x systems.-
994*/-
995-
996/*!-
997 \fn void QGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)-
998-
999 Convenience function that calls glStencilFuncSeparate(\a face, \a func, \a ref, \a mask).-
1000-
1001 For more information, see the OpenGL ES 2.0 documentation for-
1002 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilFuncSeparate.xml}{glStencilFuncSeparate()}.-
1003*/-
1004-
1005/*!-
1006 \fn void QGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask)-
1007-
1008 Convenience function that calls glStencilMaskSeparate(\a face, \a mask).-
1009-
1010 For more information, see the OpenGL ES 2.0 documentation for-
1011 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilMaskSeparate.xml}{glStencilMaskSeparate()}.-
1012*/-
1013-
1014/*!-
1015 \fn void QGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)-
1016-
1017 Convenience function that calls glStencilOpSeparate(\a face, \a fail, \a zfail, \a zpass).-
1018-
1019 For more information, see the OpenGL ES 2.0 documentation for-
1020 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilOpSeparate.xml}{glStencilOpSeparate()}.-
1021*/-
1022-
1023/*!-
1024 \fn void QGLFunctions::glUniform1f(GLint location, GLfloat x)-
1025-
1026 Convenience function that calls glUniform1f(\a location, \a x).-
1027-
1028 For more information, see the OpenGL ES 2.0 documentation for-
1029 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1f.xml}{glUniform1f()}.-
1030-
1031 This convenience function will do nothing on OpenGL ES 1.x systems.-
1032*/-
1033-
1034/*!-
1035 \fn void QGLFunctions::glUniform1fv(GLint location, GLsizei count, const GLfloat* v)-
1036-
1037 Convenience function that calls glUniform1fv(\a location, \a count, \a v).-
1038-
1039 For more information, see the OpenGL ES 2.0 documentation for-
1040 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1fv.xml}{glUniform1fv()}.-
1041-
1042 This convenience function will do nothing on OpenGL ES 1.x systems.-
1043*/-
1044-
1045/*!-
1046 \fn void QGLFunctions::glUniform1i(GLint location, GLint x)-
1047-
1048 Convenience function that calls glUniform1i(\a location, \a x).-
1049-
1050 For more information, see the OpenGL ES 2.0 documentation for-
1051 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1i.xml}{glUniform1i()}.-
1052-
1053 This convenience function will do nothing on OpenGL ES 1.x systems.-
1054*/-
1055-
1056/*!-
1057 \fn void QGLFunctions::glUniform1iv(GLint location, GLsizei count, const GLint* v)-
1058-
1059 Convenience function that calls glUniform1iv(\a location, \a count, \a v).-
1060-
1061 For more information, see the OpenGL ES 2.0 documentation for-
1062 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1iv.xml}{glUniform1iv()}.-
1063-
1064 This convenience function will do nothing on OpenGL ES 1.x systems.-
1065*/-
1066-
1067/*!-
1068 \fn void QGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y)-
1069-
1070 Convenience function that calls glUniform2f(\a location, \a x, \a y).-
1071-
1072 For more information, see the OpenGL ES 2.0 documentation for-
1073 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2f.xml}{glUniform2f()}.-
1074-
1075 This convenience function will do nothing on OpenGL ES 1.x systems.-
1076*/-
1077-
1078/*!-
1079 \fn void QGLFunctions::glUniform2fv(GLint location, GLsizei count, const GLfloat* v)-
1080-
1081 Convenience function that calls glUniform2fv(\a location, \a count, \a v).-
1082-
1083 For more information, see the OpenGL ES 2.0 documentation for-
1084 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2fv.xml}{glUniform2fv()}.-
1085-
1086 This convenience function will do nothing on OpenGL ES 1.x systems.-
1087*/-
1088-
1089/*!-
1090 \fn void QGLFunctions::glUniform2i(GLint location, GLint x, GLint y)-
1091-
1092 Convenience function that calls glUniform2i(\a location, \a x, \a y).-
1093-
1094 For more information, see the OpenGL ES 2.0 documentation for-
1095 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2i.xml}{glUniform2i()}.-
1096-
1097 This convenience function will do nothing on OpenGL ES 1.x systems.-
1098*/-
1099-
1100/*!-
1101 \fn void QGLFunctions::glUniform2iv(GLint location, GLsizei count, const GLint* v)-
1102-
1103 Convenience function that calls glUniform2iv(\a location, \a count, \a v).-
1104-
1105 For more information, see the OpenGL ES 2.0 documentation for-
1106 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2iv.xml}{glUniform2iv()}.-
1107-
1108 This convenience function will do nothing on OpenGL ES 1.x systems.-
1109*/-
1110-
1111/*!-
1112 \fn void QGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)-
1113-
1114 Convenience function that calls glUniform3f(\a location, \a x, \a y, \a z).-
1115-
1116 For more information, see the OpenGL ES 2.0 documentation for-
1117 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3f.xml}{glUniform3f()}.-
1118-
1119 This convenience function will do nothing on OpenGL ES 1.x systems.-
1120*/-
1121-
1122/*!-
1123 \fn void QGLFunctions::glUniform3fv(GLint location, GLsizei count, const GLfloat* v)-
1124-
1125 Convenience function that calls glUniform3fv(\a location, \a count, \a v).-
1126-
1127 For more information, see the OpenGL ES 2.0 documentation for-
1128 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3fv.xml}{glUniform3fv()}.-
1129-
1130 This convenience function will do nothing on OpenGL ES 1.x systems.-
1131*/-
1132-
1133/*!-
1134 \fn void QGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLint z)-
1135-
1136 Convenience function that calls glUniform3i(\a location, \a x, \a y, \a z).-
1137-
1138 For more information, see the OpenGL ES 2.0 documentation for-
1139 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3i.xml}{glUniform3i()}.-
1140-
1141 This convenience function will do nothing on OpenGL ES 1.x systems.-
1142*/-
1143-
1144/*!-
1145 \fn void QGLFunctions::glUniform3iv(GLint location, GLsizei count, const GLint* v)-
1146-
1147 Convenience function that calls glUniform3iv(\a location, \a count, \a v).-
1148-
1149 For more information, see the OpenGL ES 2.0 documentation for-
1150 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3iv.xml}{glUniform3iv()}.-
1151-
1152 This convenience function will do nothing on OpenGL ES 1.x systems.-
1153*/-
1154-
1155/*!-
1156 \fn void QGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)-
1157-
1158 Convenience function that calls glUniform4f(\a location, \a x, \a y, \a z, \a w).-
1159-
1160 For more information, see the OpenGL ES 2.0 documentation for-
1161 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4f.xml}{glUniform4f()}.-
1162-
1163 This convenience function will do nothing on OpenGL ES 1.x systems.-
1164*/-
1165-
1166/*!-
1167 \fn void QGLFunctions::glUniform4fv(GLint location, GLsizei count, const GLfloat* v)-
1168-
1169 Convenience function that calls glUniform4fv(\a location, \a count, \a v).-
1170-
1171 For more information, see the OpenGL ES 2.0 documentation for-
1172 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4fv.xml}{glUniform4fv()}.-
1173-
1174 This convenience function will do nothing on OpenGL ES 1.x systems.-
1175*/-
1176-
1177/*!-
1178 \fn void QGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)-
1179-
1180 Convenience function that calls glUniform4i(\a location, \a x, \a y, \a z, \a w).-
1181-
1182 For more information, see the OpenGL ES 2.0 documentation for-
1183 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4i.xml}{glUniform4i()}.-
1184-
1185 This convenience function will do nothing on OpenGL ES 1.x systems.-
1186*/-
1187-
1188/*!-
1189 \fn void QGLFunctions::glUniform4iv(GLint location, GLsizei count, const GLint* v)-
1190-
1191 Convenience function that calls glUniform4iv(\a location, \a count, \a v).-
1192-
1193 For more information, see the OpenGL ES 2.0 documentation for-
1194 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4iv.xml}{glUniform4iv()}.-
1195-
1196 This convenience function will do nothing on OpenGL ES 1.x systems.-
1197*/-
1198-
1199/*!-
1200 \fn void QGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1201-
1202 Convenience function that calls glUniformMatrix2fv(\a location, \a count, \a transpose, \a value).-
1203-
1204 For more information, see the OpenGL ES 2.0 documentation for-
1205 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix2fv.xml}{glUniformMatrix2fv()}.-
1206-
1207 This convenience function will do nothing on OpenGL ES 1.x systems.-
1208*/-
1209-
1210/*!-
1211 \fn void QGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1212-
1213 Convenience function that calls glUniformMatrix3fv(\a location, \a count, \a transpose, \a value).-
1214-
1215 For more information, see the OpenGL ES 2.0 documentation for-
1216 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix3fv.xml}{glUniformMatrix3fv()}.-
1217-
1218 This convenience function will do nothing on OpenGL ES 1.x systems.-
1219*/-
1220-
1221/*!-
1222 \fn void QGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1223-
1224 Convenience function that calls glUniformMatrix4fv(\a location, \a count, \a transpose, \a value).-
1225-
1226 For more information, see the OpenGL ES 2.0 documentation for-
1227 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix4fv.xml}{glUniformMatrix4fv()}.-
1228-
1229 This convenience function will do nothing on OpenGL ES 1.x systems.-
1230*/-
1231-
1232/*!-
1233 \fn void QGLFunctions::glUseProgram(GLuint program)-
1234-
1235 Convenience function that calls glUseProgram(\a program).-
1236-
1237 For more information, see the OpenGL ES 2.0 documentation for-
1238 \l{http://www.khronos.org/opengles/sdk/docs/man/glUseProgram.xml}{glUseProgram()}.-
1239-
1240 This convenience function will do nothing on OpenGL ES 1.x systems.-
1241*/-
1242-
1243/*!-
1244 \fn void QGLFunctions::glValidateProgram(GLuint program)-
1245-
1246 Convenience function that calls glValidateProgram(\a program).-
1247-
1248 For more information, see the OpenGL ES 2.0 documentation for-
1249 \l{http://www.khronos.org/opengles/sdk/docs/man/glValidateProgram.xml}{glValidateProgram()}.-
1250-
1251 This convenience function will do nothing on OpenGL ES 1.x systems.-
1252*/-
1253-
1254/*!-
1255 \fn void QGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x)-
1256-
1257 Convenience function that calls glVertexAttrib1f(\a indx, \a x).-
1258-
1259 For more information, see the OpenGL ES 2.0 documentation for-
1260 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1f.xml}{glVertexAttrib1f()}.-
1261-
1262 This convenience function will do nothing on OpenGL ES 1.x systems.-
1263*/-
1264-
1265/*!-
1266 \fn void QGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* values)-
1267-
1268 Convenience function that calls glVertexAttrib1fv(\a indx, \a values).-
1269-
1270 For more information, see the OpenGL ES 2.0 documentation for-
1271 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1fv.xml}{glVertexAttrib1fv()}.-
1272-
1273 This convenience function will do nothing on OpenGL ES 1.x systems.-
1274*/-
1275-
1276/*!-
1277 \fn void QGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)-
1278-
1279 Convenience function that calls glVertexAttrib2f(\a indx, \a x, \a y).-
1280-
1281 For more information, see the OpenGL ES 2.0 documentation for-
1282 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2f.xml}{glVertexAttrib2f()}.-
1283-
1284 This convenience function will do nothing on OpenGL ES 1.x systems.-
1285*/-
1286-
1287/*!-
1288 \fn void QGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* values)-
1289-
1290 Convenience function that calls glVertexAttrib2fv(\a indx, \a values).-
1291-
1292 For more information, see the OpenGL ES 2.0 documentation for-
1293 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2fv.xml}{glVertexAttrib2fv()}.-
1294-
1295 This convenience function will do nothing on OpenGL ES 1.x systems.-
1296*/-
1297-
1298/*!-
1299 \fn void QGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)-
1300-
1301 Convenience function that calls glVertexAttrib3f(\a indx, \a x, \a y, \a z).-
1302-
1303 For more information, see the OpenGL ES 2.0 documentation for-
1304 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3f.xml}{glVertexAttrib3f()}.-
1305-
1306 This convenience function will do nothing on OpenGL ES 1.x systems.-
1307*/-
1308-
1309/*!-
1310 \fn void QGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* values)-
1311-
1312 Convenience function that calls glVertexAttrib3fv(\a indx, \a values).-
1313-
1314 For more information, see the OpenGL ES 2.0 documentation for-
1315 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3fv.xml}{glVertexAttrib3fv()}.-
1316-
1317 This convenience function will do nothing on OpenGL ES 1.x systems.-
1318*/-
1319-
1320/*!-
1321 \fn void QGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)-
1322-
1323 Convenience function that calls glVertexAttrib4f(\a indx, \a x, \a y, \a z, \a w).-
1324-
1325 For more information, see the OpenGL ES 2.0 documentation for-
1326 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4f.xml}{glVertexAttrib4f()}.-
1327-
1328 This convenience function will do nothing on OpenGL ES 1.x systems.-
1329*/-
1330-
1331/*!-
1332 \fn void QGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* values)-
1333-
1334 Convenience function that calls glVertexAttrib4fv(\a indx, \a values).-
1335-
1336 For more information, see the OpenGL ES 2.0 documentation for-
1337 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4fv.xml}{glVertexAttrib4fv()}.-
1338-
1339 This convenience function will do nothing on OpenGL ES 1.x systems.-
1340*/-
1341-
1342/*!-
1343 \fn void QGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)-
1344-
1345 Convenience function that calls glVertexAttribPointer(\a indx, \a size, \a type, \a normalized, \a stride, \a ptr).-
1346-
1347 For more information, see the OpenGL ES 2.0 documentation for-
1348 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttribPointer.xml}{glVertexAttribPointer()}.-
1349-
1350 This convenience function will do nothing on OpenGL ES 1.x systems.-
1351*/-
1352-
1353QGLFunctionsPrivate::QGLFunctionsPrivate(const QGLContext *)-
1354 : funcs(0)-
1355{-
1356}
executed 2 times by 2 tests: end of block
Executed by:
  • tst_qglfunctions - unknown status
  • tst_qmdiarea - unknown status
2
1357-
1358QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9