在QT中创建RAW GL上下文
Create raw GL context in Qt?
我正在将QT用于项目。它有一些QGLWIDGETS,并且它们的作用很好。
问题是,我想使用一些使用RAW 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();
相关文章:
- #为""定义宏;静态";针对不同的上下文
- 与互斥锁相比,旋转锁可以保证上下文切换
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- 错误"Could not find Boost"(缺少:上下文标头)
- 使用 mod_gsoap 部署服务时,如何在 Gsoap 中更改 soap 上下文的模式?
- 将有状态的 lambda 传递到 C 样式函数中,而无需上下文参数
- 安排带有上下文的协同程序
- 我的文件无法正常工作,无法从C++文件中读取上下文
- Visual Studio 19-17 库兼容性根据 GL 标志
- DCMTK 了解"DIMSE 没有有效的演示上下文 ID"错误
- 识别安卓中意外的 GL 上下文丢失
- Android GL没有当前上下文
- 在QT中创建RAW GL上下文
- GL 上下文销毁
- QMainWindow菜单栏:OpenGL触发的功能导致GL上下文问题
- 设置 GL 上下文时'framebuffer'的目的是什么?
- glewInit() 失败与 "Missing GL version" , SDL2 OpenGL 上下文, cygwin 编译器