Binder 类

class QOpenGLVertexArrayObject ::Binder

The QOpenGLVertexArrayObject::Binder 类是有助于绑定和释放 OpenGL 顶点数组对象的方便类。 更多...

注意: 此类的所有函数 可重入 .

公共函数

Binder (QOpenGLVertexArrayObject * v )
~Binder ()
void rebind ()
void release ()

详细描述

QOpenGLVertexArrayObject::Binder is a simple convenience class that can be used to assist with the binding and releasing of QOpenGLVertexArrayObject instances. This class is to QOpenGLVertexArrayObject as QMutexLocker is to QMutex .

This class implements the RAII principle which helps to ensure behavior in complex code or in the presence of exceptions.

The constructor of this class accepts a QOpenGLVertexArrayObject (VAO) as an argument and attempts to bind the VAO, calling QOpenGLVertexArrayObject::create () if necessary. The destructor of this class calls QOpenGLVertexArrayObject::release () which unbinds the VAO.

If needed the VAO can be temporarily unbound with the release () function and bound once more with rebind ().

另请参阅 QOpenGLVertexArrayObject .

成员函数文档编制

Binder:: Binder ( QOpenGLVertexArrayObject * v )

创建 QOpenGLVertexArrayObject::Binder object and binds v 通过调用 QOpenGLVertexArrayObject::bind (). If necessary it first calls QOpenGLVertexArrayObject::create ().

[noexcept] Binder:: ~Binder ()

销毁 QOpenGLVertexArrayObject::Binder and releases the associated vertex array object.

void Binder:: rebind ()

Can be used to rebind the associated vertex array object.

另请参阅 release ().

void Binder:: release ()

Can be used to temporarily release the associated vertex array object.

另请参阅 rebind ().