使用Qt获取当前的OpenGL上下文

时间:2012-08-30 10:58:15

标签: qt opengl

我已经用一些OpenGL调用编写了一个基于Qt的dll。如果我从用于渲染的QGLWidget加载我的Qt应用程序中的DLL,则从DLL调用QGLContext :: currentContext将返回正确的上下文。但是如果在非基于Qt的程序中使用我的DLL,则不会返回QGLContext。因此,我无法在非基于Qt的应用程序中使用QGLShaderProgram。

我做错了什么?

P.S。在我的库中直接调用glCreateProgram等似乎工作正常,但我想使用Qt类。

1 个答案:

答案 0 :(得分:1)

  

我想使用Qt类。

然后你应该在使用Qt的应用程序中使用你的DLL。通过要求Qt类,您的DLL现在需要 Qt 。如果你希望你的DLL在Qt不可用时工作,那么你就不应该使用Qt。

此外,着色器和程序的Qt类不是你在30分钟内无法发出的任何东西。