![]() |
Home · Overviews · Examples |
The QGLFramebufferObject class encapsulates an OpenGL framebuffer object. More...
The QGLFramebufferObject class encapsulates an OpenGL framebuffer object.
The QGLFramebufferObject class encapsulates an OpenGL framebuffer object, defined by the GL_EXT_framebuffer_object extension. In addition it provides a rendering surface that can be painted on with a QPainter, rendered to using native GL calls, or both. This surface can be bound and used as a regular texture in your own GL drawing code. By default, the QGLFramebufferObject class generates a 2D GL texture (using the GL_TEXTURE_2D target), which is used as the internal rendering target.
It is important to have a current GL context when creating a QGLFramebufferObject, otherwise initialization will fail.
OpenGL framebuffer objects and pbuffers (see QGLPixelBuffer) can both be used to render to offscreen surfaces, but there are a number of advantages with using framebuffer objects instead of pbuffers:
Note that QPainter antialiasing of drawing primitives will not work when using a QGLFramebufferObject as a paintdevice. This is because sample buffers, which are needed for antialiasing, are not yet supported in application-defined framebuffer objects. However, an extension to solve this has already been approved by the OpenGL ARB (GL_EXT_framebuffer_multisample), and will most likely be available in the near future.
See also Framebuffer Object Example.
Copyright © 2007 Trolltech | Trademarks | Qt Jambi 4.3.2_01 |