Я использую Qt для проекта. У этого есть некоторые QGLWidgets, и они работают красиво.Создать исходный контекст GL в Qt?
Проблема заключается в том, что у меня есть код устаревшего кода, который я хочу использовать, который использует необработанные команды 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? Что мне делать вместо этого?
создать новый glwidget, который вы не показываете и используете его контекст –