【发布时间】:2017-07-07 10:16:32
【问题描述】:
所以我正在阅读一些 OpenGL,我想使用 QOpenGLWidget 进行绘图,以便以后创建一些其他有用的 UI 元素。我正在使用glad 来解析指向 OpenGL 的函数指针,但我不知道如何使用 Qt 的 getProcAddress 函数!
在我尝试过的 QOpenGLWidget 子类'initializeGL() 函数中:
if(gladLoadGLloader((GLADloadproc) currentContext()->getProcAddress) {}
但由于 Qt 的函数重载,这并没有奏效。当我使用
if(gladLoadGL()) {}
它也不起作用。我的包括:
#include <glad\glad.h>
#include "OpenGLViewport.h"
#include <QDebug>
#include <QOpenGLContext>
我搜索了 Google 先生,并仔细查看了 Qt 文档,但一无所获。我想使用 GLAD,这样我的渲染代码就不会太紧地绑定到 Qt,以防我以后想切换。
编辑:我的目标是在 Qt 中使用非实例化的 OpenGL 函数(尽管如果我没记错的话,文档建议不这样做)。因为那样我就可以无缝切换到 GLFW 来提供窗口等。
【问题讨论】:
-
有什么理由不使用
initializeOpenGLFunctions()? -
@Vallentin 因为我必须继承
QOpenGLFunctions并且我所有的 gl 调用都必须被实例化..这是我严格想要避免的事情(见我的编辑)。跨度>