[Interest] Adding 10-bit OpenGL support in QML

McLin, Matthew matthew.mclin at barco.com
Wed Mar 5 20:16:28 CET 2014


Hello,

I am trying to render a 10-bit image from an OpenGL fragment shader attached to a QQuickItem in a simple QML scene.  My gfx driver & display support 10-bit, and I know this already works if I create a standalone QGLWidget with a 10-bit format.  To get this working in QML, I have tried setting my QQuickView's format to 10-bit as follows:

QSurfaceFormat fmt;
fmt.setRedBufferSize(10);
fmt.setGreenBufferSize(10);
fmt.setBlueBufferSize(10);
fmt.setRenderableType(QSurfaceFormat::OpenGL);
QQuickView view;
view.setFormat(fmt);
view.setSource(...);
view.show();

I also register a QQuickItem and render some patterns from a fragment shader in there.  When I ask this item's QQuickWindow member for its current format via window()->format(), it reports back the same 10-bit format I requested earlier, however if I ask for the format of the window's opengl context via window()->openglContext()->format(), then it reports an 8-bit format.

Note that I am not using ANGLE - process explorer shows that my app is in fact loading opengl32.dll and not directx.

So I have two questions:

*        Why does my OpenGL context format not match the window format?

*        Am I taking the correct approach, or which steps might I be missing to achieve a 10-bit backbuffer for my QQuickItem to draw into?

It has been suggested that I might achieve 10-bit rendering by displaying a 10-bit texture in the scene graph via QSGSimpleTextureNode and a custom QSGTexture class.  I will try this approach as well.

Thanks, Matt

Matt McLin
Software Architect: Healthcare Division
Barco, Inc.

This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140305/3b368642/attachment.html>


More information about the Interest mailing list