gpt4 book ai didi

c++ - 在 Qt 中创建原始 GL 上下文?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:45 25 4
gpt4 key购买 nike

我在一个项目中使用 Qt。它有一些 QGLWidgets,它们工作得很漂亮。

问题是,我有一些我想使用的遗留代码,它们使用原始 OpenGL 命令来执行一些纹理和网格处理(将网格渲染为图像等)。我想从我的 Qt 代码中调用这些函数,当然这需要我在调用 OpenGL 命令之前设置一个新的 OpenGL 上下文。

我尝试执行以下操作:

QGLContext context(QGLFormat::defaultFormat());
std::cout << "context creation: " << context.create() << std::endl;

if(!context.isValid())
{
std::cout << "Cannot create GL context" << std::endl;
return false;
}

context.makeCurrent();
callLegacyOpenGLCode();

但它不起作用。 QGLContext::create() 返回 false。这是在 Windows 7 上使用 Qt 4.8,编译时支持 OpenGL。

这是要求 Qt 为我创建新的 OpenGL 上下文的错误方法吗?我应该怎么做?

最佳答案

对于搜索此问题的任何其他人,@ratchetfreak 的建议是一个很好的建议。以下代码可以正常工作:

QGLWidget tmpwidget;

if(!tmpwidget.isValid())
{
std::cout << "Cannot create GL context" << std::endl;
return false;
}

tmpwidget.makeCurrent();
callLegacyOpenGLCode();

关于c++ - 在 Qt 中创建原始 GL 上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21447984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com