Qt Reference Documentation

# QGL Namespace

The QGL namespace specifies miscellaneous identifiers used in the Qt OpenGL module. More...

     #include <QGL>

## Types

enum | FormatOption { DoubleBuffer, DepthBuffer, Rgba, AlphaChannel, ..., NoDeprecatedFunctions }
flags | FormatOptions

## Functions

void | setPreferredPaintEngine ( QPaintEngine::Type engineType )

## Detailed Description

The QGL namespace specifies miscellaneous identifiers used in the Qt OpenGL module.

## Type Documentation

### enum QGL::FormatOption
flags QGL::FormatOptions

This enum specifies the format options that can be used to configure an OpenGL context. These are set using QGLFormat::setOption().

Constant | Value | Description
--- | --- | ---
`QGL::DoubleBuffer` | `0x0001` | Specifies the use of double buffering.
`QGL::DepthBuffer` | `0x0002` | Enables the use of a depth buffer.
`QGL::Rgba` | `0x0004` | Specifies that the context should use RGBA as its pixel format.
`QGL::AlphaChannel` | `0x0008` | Enables the use of an alpha channel.
`QGL::AccumBuffer` | `0x0010` | Enables the use of an accumulation buffer.
`QGL::StencilBuffer` | `0x0020` | Enables the use of a stencil buffer.
`QGL::StereoBuffers` | `0x0040` | Enables the use of a stereo buffers for use with visualization hardware.
`QGL::DirectRendering` | `0x0080` | Specifies that the context is used for direct rendering to a display.
`QGL::HasOverlay` | `0x0100` | Enables the use of an overlay.
`QGL::SampleBuffers` | `0x0200` | Enables the use of sample buffers.
`QGL::DeprecatedFunctions` | `0x0400` | Enables the use of deprecated functionality for OpenGL 3.x contexts. A context with deprecated functionality enabled is called a full context in the OpenGL specification.
`QGL::SingleBuffer` | `DoubleBuffer<<16` | Specifies the use of a single buffer, as opposed to double buffers.
`QGL::NoDepthBuffer` | `DepthBuffer<<16` | Disables the use of a depth buffer.
`QGL::ColorIndex` | `Rgba<<16` | Specifies that the context should use a color index as its pixel format.
`QGL::NoAlphaChannel` | `AlphaChannel<<16` | Disables the use of an alpha channel.
`QGL::NoAccumBuffer` | `AccumBuffer<<16` | Disables the use of an accumulation buffer.
`QGL::NoStencilBuffer` | `StencilBuffer<<16` | Disables the use of a stencil buffer.
`QGL::NoStereoBuffers` | `StereoBuffers<<16` | Disables the use of stereo buffers.
`QGL::IndirectRendering` | `DirectRendering<<16` | Specifies that the context is used for indirect rendering to a buffer.
`QGL::NoOverlay` | `HasOverlay<<16` | Disables the use of an overlay.
`QGL::NoSampleBuffers` | `SampleBuffers<<16` | Disables the use of sample buffers.
`QGL::NoDeprecatedFunctions` | `DeprecatedFunctions<<16` | Disables the use of deprecated functionality for OpenGL 3.x contexts. A context with deprecated functionality disabled is called a forward compatible context in the OpenGL specification.

The FormatOptions type is a typedef for QFlags<FormatOption>. It stores an OR combination of FormatOption values.

See also Sample Buffers Example.

## Function Documentation

### void QGL::setPreferredPaintEngine ( QPaintEngine::Type engineType )

Sets the preferred OpenGL paint engine that is used to draw onto QGLWidget, QGLPixelBuffer and QGLFramebufferObject targets with QPainter in Qt.

The engineType parameter specifies which of the GL engines to use. Only `QPaintEngine::OpenGL` and `QPaintEngine::OpenGL2` are valid parameters to this function. All other values are ignored.

By default, the `QPaintEngine::OpenGL2` engine is used if GL/GLES version 2.0 is available, otherwise `QPaintEngine::OpenGL` is used.

Warning: This function must be called before the QApplication constructor is called.

This function was introduced in Qt 4.6.