Qt Quick 2和OpenGL 4.1

时间:2014-11-09 10:46:04

标签: c++ qt opengl qt5 qtquick2

我想在我的程序中使用Qt Quick 2.x,但我无法使用OpenGL> 2.0

我有main.qml

/* imports */
Window {
    ...
    Scene {
        ...
    }
    ...
}

Scene我正在使用OpenGL> 2.0所以我的着色器不起作用。

我尝试在main.cpp中添加此行qobject_cast<QQuickWindow*>(engine.rootObjects().first())->setFormat(format_3_3);,但这没有帮助。

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QSurfaceFormat format_3_3;
    format_3_3.setMajorVersion(3);
    format_3_3.setMinorVersion(3);
    format_3_3.setProfile(QSurfaceFormat::CompatibilityProfile);

    qmlRegisterType<Scene>("SceneGL", 1, 0, "Scene");

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    qobject_cast<QQuickWindow*>(engine.rootObjects().first())->setFormat(format_3_3);

    return app.exec();
}

我的Scene课程:

class Scene : public QQuickItem
{
    ...
}

我找到了一个解决方案here (47 minute),但是没有源代码我无法看到使用相同技术的完整图片。

我该如何解决这个问题?

0 个答案:

没有答案