[Qt-interest] Qt OpenGL enhancements in 4.7

Oliver.Knoll at comit.ch Oliver.Knoll at comit.ch
Wed Feb 24 19:07:45 CET 2010


Hi all,

with great interest I am following the added functionallity in Qt with regards to OpenGL. Qt 4.6 already introduced very convenient classes such as QGLShaderProgram and QMatrix4x4 with calculations for setting an orthogonal / perspective projection matrix, rotation matrix etc. Very useful, especially since OpenGL 3.0 deprecated all matrix operations, such as glRotate, glLoadIdentity etc.: these operations are meant to be done by the application itself now and passed to the shader program - and Qt comes very handy here ;)

What caught my interest even more is the following class:
  http://doc.trolltech.com/4.7-snapshot/qglbuffer.html

"Buffer objects are created in the GL server so that the client application can avoid uploading vertices, indices, texture image data, etc every time they are needed."

With regards to texture data, does this mean that the implementation will use "Pixel Buffer Objects" (PBO), as described here:

  http://www.songho.ca/opengl/gl_pbo.html

or here: http://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt

To my understanding PBOs use asynchronous (DMA?) memory transfer from main memory to graphic card memory (and the other way round) which should speed up texture data transfer tremendously.

This would be very useful for my use-case: scaling photo images with OpenGL. Compared to a QImage::scaled() operation the bottleneck in my current implementation seems to be the pixel data transfer (scaling in OpenGL is lighting fast though, as expected).


Cheers, Oliver 

-- 
Oliver Knoll
Dipl. Informatik-Ing. ETH
COMIT AG - ++41 79 520 95 22



More information about the Qt-interest-old mailing list