正如标题所示,在 Qt 内部,我无法使用或调用 QGLWidget 函数之外的任何 OpenGL 函数,例如initializeGL()
, and paintGL()
.
我正在尝试构建一个 3D 模型,在我的插槽之后QMainWindow
类被称为。一切似乎都工作正常,所有顶点都已加载,但是,当我尝试绘制模型时,我收到 NULL 引用异常;当提供的顶点太少时,最常发生这种情况。
当我使用它时,相同的构建函数可以工作initializeGL()
.
这实际上非常简单:在这些函数之外,QGLWidget 的上下文不是当前的。您可以通过调用 QGLWidet::makeCurrent() 使上下文成为当前上下文。解决这个问题的一个更好的方法可能是推迟在 PaintGL 中调用任何 GL 函数,因为这可以确保上下文是最新的,并且您不会因为更改上下文而冒与任何其他 openGL 内容混淆的风险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)