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

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