绑定类

class QOpenGLVertexArrayObject::Binder

QOpenGLVertexArrayObject::Binder 类是一个便利类,用于辅助绑定和释放 OpenGL 顶点数组对象。详情...

注意: 该类中所有函数都是可重入的。

公共函数

Binder(QOpenGLVertexArrayObject *v)
~Binder()
voidrebind()
voidrelease()

详细描述

QOpenGLVertexArrayObject::Binder 是一个简单的便利类,可用于帮助绑定和释放 QOpenGLVertexArrayObject 实例。这个类对于 QOpenGLVertexArrayObject,就像 QMutexLocker 对于 QMutex 一样。

该类实现了 RAII 原则,有助于确保在复杂代码或异常情况下的一致行为。

该类的构造函数接受一个 QOpenGLVertexArrayObject (VAO) 作为参数,并尝试绑定 VAO,如果需要的话,调用 QOpenGLVertexArrayObject::create()。该类的析构函数调用 QOpenGLVertexArrayObject::release(),它会解绑 VAO。

如果需要,可以使用 release() 函数临时解除 VAO 的绑定,然后再用它进行重新绑定。

另请参阅 QOpenGLVertexArrayObject

成员函数文档

Binder::Binder(QOpenGLVertexArrayObject *v)

创建一个 QOpenGLVertexArrayObject::Binder 对象,并使用 QOpenGLVertexArrayObject::bind() 绑定 v。如果需要的话,它首先调用 QOpenGLVertexArrayObject::create()。

[noexcept] Binder::~Binder()

销毁 QOpenGLVertexArrayObject::Binder 并释放关联的顶点数组对象。

void Binder::rebind()

可以用于重新绑定关联的顶点数组对象。

另请参阅 发布()。

void Binder::release()

可用于暂时释放相关的顶点数组对象。

另请参阅 重新绑定()。

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的GNU 自由文档许可证第 1.3 版的条款授权的。Qt 和相应的徽标是芬兰的 Qt 公司以及全球其他国家的商标。所有其他商标均为各自所有者的财产。