我正在使用Qt编写一个OpenGL应用程序。到目前为止,我一直在使用QOpenGLFunctions_4_4_Core来获取OpenGL函数指针。然而,我不喜欢在所有调用OpenGL函数的类中都使用继承。
为了避免这种情况,我尝试使用glad loader代替:
然而,它没有起作用,加载失败并告诉我没有GL上下文。你知道为什么吗?我可以使用外部GL加载器代替Qt的加载器吗?
为了避免这种情况,我尝试使用glad loader代替:
void GLViewer::initializeGL() {
qDebug() << "GL init";
makeCurrent();
if (gladLoadGL()) {
// you need an OpenGL context before loading glad
printf("I did load GL with no context!\n");
exit(1);
}
...
然而,它没有起作用,加载失败并告诉我没有GL上下文。你知道为什么吗?我可以使用外部GL加载器代替Qt的加载器吗?
initializeGL
(和类似函数)之前,无需调用makeCurrent
,因为Qt会在此之前执行此操作。请参阅文档。 - tay10r