Qt OpenGL C++ Classes

The Qt OpenGL module offers classes that make it easy to use OpenGL in Qt applications. More...



Functions for creating and managing OpenGL buffer objects


Enables logging of OpenGL debugging messages


Wraps an OpenGL debug message


Encapsulates an OpenGL framebuffer object


Specifies the format of an OpenGL framebuffer object


Enables painting to an OpenGL context using QPainter


Allows OpenGL shaders to be compiled


Allows OpenGL shader programs to be linked and used


Convenient way to draw textured quads via OpenGL


Wraps a sequence of OpenGL timer query objects


Wraps an OpenGL timer query object


Wraps an OpenGL Vertex Array Object


QOpenGLVertexArrayObject::Binder class is a convenience class to help with the binding and releasing of OpenGL Vertex Array Objects


Convenience subclass of QWindow to perform OpenGL painting

Detailed Description

Warning: This module should not be used anymore for new code.

OpenGL is a standard API for rendering 3D graphics. OpenGL only deals with 3D rendering and provides little or no support for GUI programming issues. The user interface for an OpenGL application must be created with another toolkit, such as Cocoa on the macOS platform, Microsoft Foundation Classes (MFC) under Windows, or Qt on both platforms.

Note: OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.

The Qt OpenGL module makes it easy to use OpenGL in Qt applications.

To include the definitions of the module's classes, use the following directive:

#include <QtOpenGL>

To link against the module, add this line to your qmake .pro file:

QT += opengl

© 2020 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.