Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qopenglvertexarrayobject_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Sean Harmer <sean.harmer@kdab.com>
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QOPENGLVERTEXARRAYOBJECT_P_H
6
#
define
QOPENGLVERTEXARRAYOBJECT_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists for the convenience
13
// of the Qt OpenGL classes. This header file may change from
14
// version to version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtOpenGL
/
qtopenglglobal
.
h
>
20
21
#
include
<
QtGui
/
qopengl
.
h
>
22
#
include
<
QtCore
/
private
/
qglobal_p
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
QOpenGLContext;
27
28
class
QOpenGLVertexArrayObjectHelper
29
{
30
Q_DISABLE_COPY
(
QOpenGLVertexArrayObjectHelper
)
31
32
private
:
33
explicit
inline
QOpenGLVertexArrayObjectHelper
(
QOpenGLContext
*
context
)
34
:
GenVertexArrays
(
nullptr
)
35
,
DeleteVertexArrays
(
nullptr
)
36
,
BindVertexArray
(
nullptr
)
37
,
IsVertexArray
(
nullptr
)
38
{
39
initializeFromContext
(
context
);
40
}
41
42
void
Q_OPENGL_EXPORT
initializeFromContext
(
QOpenGLContext
*
context
);
43
44
public
:
45
static
Q_OPENGL_EXPORT QOpenGLVertexArrayObjectHelper *
vertexArrayObjectHelperForContext
(
QOpenGLContext
*
context
);
46
47
inline
bool
isValid
()
const
48
{
49
return
GenVertexArrays && DeleteVertexArrays && BindVertexArray && IsVertexArray;
50
}
51
52
inline
void
glGenVertexArrays
(GLsizei n, GLuint *arrays)
const
53
{
54
GenVertexArrays(n, arrays);
55
}
56
57
inline
void
glDeleteVertexArrays
(GLsizei n,
const
GLuint *arrays)
const
58
{
59
DeleteVertexArrays(n, arrays);
60
}
61
62
inline
void
glBindVertexArray
(GLuint array)
const
63
{
64
BindVertexArray(array);
65
}
66
67
inline
GLboolean
glIsVertexArray
(GLuint array)
const
68
{
69
return
IsVertexArray(array);
70
}
71
72
// Function signatures are equivalent between desktop core, ARB, APPLE, ES 3 and ES 2 extensions
73
typedef
void
(
QOPENGLF_APIENTRYP
qt_GenVertexArrays_t
)(GLsizei n,
GLuint
*
arrays
);
74
typedef
void
(
QOPENGLF_APIENTRYP
qt_DeleteVertexArrays_t
)(GLsizei n,
const
GLuint
*
arrays
);
75
typedef
void
(
QOPENGLF_APIENTRYP
qt_BindVertexArray_t
)(GLuint array);
76
typedef
GLboolean
(
QOPENGLF_APIENTRYP
qt_IsVertexArray_t
)(GLuint array);
77
78
qt_GenVertexArrays_t
GenVertexArrays
;
79
qt_DeleteVertexArrays_t
DeleteVertexArrays
;
80
qt_BindVertexArray_t
BindVertexArray
;
81
qt_IsVertexArray_t
IsVertexArray
;
82
};
83
84
QT_END_NAMESPACE
85
86
#
endif
// QOPENGLVERTEXARRAYOBJECT_P_H
QOpenGLVertexArrayObjectHelper
Definition
qopenglvertexarrayobject_p.h:29
QOpenGLVertexArrayObjectHelper::BindVertexArray
qt_BindVertexArray_t BindVertexArray
Definition
qopenglvertexarrayobject_p.h:80
QOpenGLVertexArrayObjectHelper::glBindVertexArray
void glBindVertexArray(GLuint array) const
Definition
qopenglvertexarrayobject_p.h:62
QOpenGLVertexArrayObjectHelper::DeleteVertexArrays
qt_DeleteVertexArrays_t DeleteVertexArrays
Definition
qopenglvertexarrayobject_p.h:79
QOpenGLVertexArrayObjectHelper::IsVertexArray
qt_IsVertexArray_t IsVertexArray
Definition
qopenglvertexarrayobject_p.h:81
QOpenGLVertexArrayObjectHelper::isValid
bool isValid() const
Definition
qopenglvertexarrayobject_p.h:47
QOpenGLVertexArrayObjectHelper::void
typedef void(QOPENGLF_APIENTRYP qt_GenVertexArrays_t)(GLsizei n
QOpenGLVertexArrayObjectHelper::GLboolean
typedef GLboolean(QOPENGLF_APIENTRYP qt_IsVertexArray_t)(GLuint array)
QOpenGLVertexArrayObjectHelper::GenVertexArrays
qt_GenVertexArrays_t GenVertexArrays
Definition
qopenglvertexarrayobject_p.h:78
QOpenGLVertexArrayObjectHelper::glGenVertexArrays
void glGenVertexArrays(GLsizei n, GLuint *arrays) const
Definition
qopenglvertexarrayobject_p.h:52
QOpenGLVertexArrayObjectHelper::glDeleteVertexArrays
void glDeleteVertexArrays(GLsizei n, const GLuint *arrays) const
Definition
qopenglvertexarrayobject_p.h:57
QOpenGLVertexArrayObjectHelper::glIsVertexArray
GLboolean glIsVertexArray(GLuint array) const
Definition
qopenglvertexarrayobject_p.h:67
QOpenGLVertexArrayObjectHelper::arrays
GLuint * arrays
Definition
qopenglvertexarrayobject_p.h:73
qtbase
src
opengl
qopenglvertexarrayobject_p.h
Generated on
for Qt by
1.18.0