在 OS X 上的 QT4 中启用 OpenGL Core Profile

发布于 2024-12-11 08:51:00 字数 653 浏览 0 评论 0原文

我刚刚升级到 Lion,并尝试使用 GLSL 1.50 进行一些练习编码,但是我无法让我的代码在 OpenGL 2.1 以上运行,因此在尝试编译我的着色器时出现“版本‘150’不受支持”错误。

设置如下: 我在 OS X 10.7.2 中使用 2 x 2.8Ghz 四核 Xeon 和 GeForce 8800GT,并使用 QT Creator 2.3 和 QT Creator 2.3。 QT 版本 4.7。 为了设置我的 OpenGL 上下文,我使用了一个从 QGLWidget 派生的类。 由于我计划拥有第二个具有类似设置的 QGLWidget,我的目标是更改 QGLWidget 的默认格式,如下所示:

QApplication app(argc, argv);

QGLFormat f;
f.setVersion(3, 2);
f.setProfile(QGLFormat::CoreProfile);
QGLFormat::setDefaultFormat(f);

GUIVolumePanel* pvp = new GUIVolumePanel(prc, x, y, z);
std::tr1::shared_ptr<GUIMainWindow> prog(new GUIMainWindow(pvp));

但是,这似乎对我的 OpenGL 上下文没有影响,我不知所措找出原因。

I just upgraded to Lion and am trying to get some practice coding with GLSL 1.50, however I can't get my code to run above OpenGL 2.1 thus I get "version '150' is not supported" errors when trying to compile my shaders.

The set up is as follows:
I am using 2 x 2.8Ghz Quad-Core Xeons with a GeForce 8800GT in OS X 10.7.2 and using QT creator 2.3 & QT version 4.7.
To set up my OpenGL context I use a class derived from QGLWidget.
As I plan to have a second QGLWidget with a similar setup, my aim has been to change the default format for my QGLWidget(s) like so:

QApplication app(argc, argv);

QGLFormat f;
f.setVersion(3, 2);
f.setProfile(QGLFormat::CoreProfile);
QGLFormat::setDefaultFormat(f);

GUIVolumePanel* pvp = new GUIVolumePanel(prc, x, y, z);
std::tr1::shared_ptr<GUIMainWindow> prog(new GUIMainWindow(pvp));

However this appears to have no effect on my OpenGL context and I am at a loss as to figure out why.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不交电费瞎发啥光 2024-12-18 08:51:00

我用谷歌搜索并找到

http://developer.qt.nokia.com/forums/viewthread/ 8047

这让我认为 4.7 还没有直接支持它。那里发布了一些代码,可以帮助您解决问题。您也可以尝试 qt 4.8 rc。

鉴于 Lion 在 qt 4.7 发布后才发布,我不认为它能立即运行。

I Googled it and found

http://developer.qt.nokia.com/forums/viewthread/8047

which leads me to think 4.7 does not support it directly yet. There is some code posted there that might get you going as a work around. You might also try qt 4.8 rc.

Given that Lion came out after qt 4.7 was out I would not expect it to work right off.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文