[Interest] Changes to OpenGL handling in 5.8.0?

Thomas Sevaldrud thomas at silentwings.no
Mon Mar 20 15:25:25 CET 2017


Hi,

I have an OpenGL-based map rendering application where I'm using the
QOpenGL-classes for most of my rendering. This app has been running nicely
with all Qt versions from 5.4 and up, but with 5.8 I suddenly lost my text
labels layer. I'm currently running this side by side on 5.4.2, 5.7.1 and
5.8.0 32- and 64-bits configurations on Windows (VS2015 compiler), and the
5.8.0 versions are consistenly not rendering any labels.

What I'm wondering is if there is anything fundamental that has changed in
the OpenGL wrappers from 5.7 to 5.8 that could cause this

I've tried this on both ANGLE and desktop GL. I've also tried different
graphics drivers and diferent graphics cards, it's the same. No labels in
5.8.

The labels layer is a quite simple set of indexed vertex buffers which I've
set up with regular OpenGL calls:

               QOpenGLFunctions* gl =
QOpenGLContext::currentContext()->functions();


        gl->glGenBuffers(1, &(rb.vtxBuffer));

        gl->glBindBuffer(GL_ARRAY_BUFFER, rb.vtxBuffer);

        gl->glBufferData(GL_ARRAY_BUFFER, vp.size() *
sizeof(VertexData), vp.data(), GL_STATIC_DRAW);


        gl->glGenBuffers(1, &(rb.idxBuffer));

        gl->glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, rb.idxBuffer);

        gl->glBufferData(GL_ELEMENT_ARRAY_BUFFER, ip.size() *
sizeof(GLushort), ip.data(), GL_STATIC_DRAW);


etc.

They are rendered with a fairly simple QOpenGLShaderProgram. I've tried
reducing the shader code to a minimum without any textures or anything.

I've verified that there is no depth testing, blending or backface culling
that's causing this.

Any help would be greatly appreciated :-)

Best regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170320/0eb36e36/attachment.html>


More information about the Interest mailing list