0

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

我做错了什么?

PS Direct 调用我的库中的 glCreateProgram 等似乎工作正常,但我想使用 Qt 类。

4

1 回答 1

1

我想使用 Qt 类。

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

此外,着色器和程序的 Qt 类不是您在 30 分钟内完成的。

于 2012-08-30T11:10:19.027 回答