[Development] Accelerated/OpenGL drawing under Qt 5.0

Samuel Rødal samuel.rodal at nokia.com
Mon Sep 17 10:32:40 CEST 2012


On 09/14/2012 04:18 PM, ext Chris Meyer wrote:
> On Fri, Sep 14, 2012 at 2:49 AM, Samuel Rødal <samuel.rodal at nokia.com> wrote:
>> On 09/12/2012 06:52 AM, ext Chris Meyer wrote:
>>> My software makes use of accelerated drawing using the techniques with
>>> QGraphicsView and QGraphicsScene shown in this article:
>>>
>>> http://doc.qt.nokia.com/qq/qq26-openglcanvas.html
>>>
>>> Unfortunately things don't work smoothly under Qt 5.0.
>>>
>>> Is this technique expected to work? If not, what is the suggested way
>>> to get accelerated drawing under Qt 5.0?
>>>
>>> Also, QGLPixelBuffer::hasOpenGLPbuffers() always returns false, where
>>> it returned it true under 4.8. Is this also expected?
>>
>> A fix is in the pipe for this, implementing QGLPixelBuffer in terms of
>> QOpenGLFramebufferObject: https://codereview.qt-project.org/#change,34833
> 
> I seem to recall that I originally (about 3 years ago) chose a pbuffer
> implementation because frame buffers were not widely supported on
> Windows.
> 
> Is it possible to give some general advice as to the compatibility of
> frame buffers vs pbuffers on Mac and Windows?
> 
> I see 5.0 has QOpenGLFramebufferObject. Is this considered to be
> widely compatible with various graphics cards?

I think any OpenGL driver three years old or newer should have good
support for framebuffer objects. Qt 5 also considers OpenGL ES 2.0-level
functionality a minimum for things like QML 2.

There's always the option to add a Lighthouse interface for pbuffers,
but unless it's strictly necessary we'd rather not. Although, we have
kept open the possibility of introducing a new kind of offscreen
QSurface, without saying anything of whether it's implemented in terms
of pbuffers, pixmaps, or a hidden window.

--
Samuel



More information about the Development mailing list