QOpenGLVertexArrayObject::Binder Class
class QOpenGLVertexArrayObject::BinderDie Klasse „ QOpenGLVertexArrayObject::Binder “ ist eine Hilfsklasse, die das Binden und Freigeben von OpenGL-Vertex-Array-Objekten erleichtert. Mehr...
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- „Binder“ ist Teil von „Rendering in 3D“.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
Ausführliche Beschreibung
QOpenGLVertexArrayObject::Binder ist eine einfache Hilfsklasse, die zur Unterstützung beim Binden und Freigeben von „ QOpenGLVertexArrayObject “-Instanzen verwendet werden kann. Diese Klasse verhält sich zu „ QOpenGLVertexArrayObject “ wie „ QMutexLocker “ zu „ QMutex “.
Diese Klasse implementiert das RAII-Prinzip, das dazu beiträgt, das Verhalten in komplexem Code oder bei Auftreten von Ausnahmen sicherzustellen.
Der Konstruktor dieser Klasse akzeptiert ein „ QOpenGLVertexArrayObject “ (VAO) als Argument und versucht, das VAO zu binden, wobei er bei Bedarf „ QOpenGLVertexArrayObject::create()“ aufruft. Der Destruktor dieser Klasse ruft „ QOpenGLVertexArrayObject::release()“ auf, wodurch das VAO entbunden wird.
Bei Bedarf kann das VAO mit der Funktion ` release()` vorübergehend entbunden und mit ` rebind()` erneut gebunden werden.
Siehe auch „ QOpenGLVertexArrayObject “.
Dokumentation der Member-Funktionen
Binder::Binder(QOpenGLVertexArrayObject *v)
Erstellt ein „ QOpenGLVertexArrayObject::Binder “-Objekt und bindet „ v “ durch den Aufruf von „ QOpenGLVertexArrayObject::bind()“. Falls erforderlich, wird zuvor „ QOpenGLVertexArrayObject::create()“ aufgerufen.
[noexcept] Binder::~Binder()
Löscht das „ QOpenGLVertexArrayObject::Binder “ und gibt das zugehörige Vertex-Array-Objekt frei.
void Binder::rebind()
Kann verwendet werden, um das zugehörige Vertex-Array-Objekt neu zu binden.
Siehe auch ` release()`.
void Binder::release()
Kann verwendet werden, um das zugehörige Vertex-Array-Objekt vorübergehend freizugeben.
Siehe auch ` rebind()`.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.