Skip to content

Rendering into QOpenGLWidget produces broken output #1

@kblaschke

Description

@kblaschke

Describe the bug
After changing the Qt frontend to use QOpenGLWidget instead of QGLWidget, rendering output is broken.

At some point in the rendering queue, OpenGL resources become corrupted, e.g. vertex buffers have invalid or wrong contents (too few vertices). This subsequentially breaks the vertex shader and causes following commands to also fail, rendering garbage.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Application: Qt-based frontends
  • OS: Linux
  • Latest master

Additional context
The main difference between rendering into an SDL2 OpenGL or QGLWidget context is that the new QOpenGLWidget expects GL commands to render into a FBO instead of directly into the current GL context. ProjectM doesn't really care about OpenGL contexts or FBO usage, which might be the root cause of this issue.

RenderDoc captures of both the Qt and SDL frontends, using the same preset, can be found here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions