GL graphics system is not active



  • инсталирам "това,":https://gitorious.org/qt-quick3d/qt-quick3d/archive-tarball/master намерих го в тази "тема":http://developer.qt.nokia.com/forums/viewthread/11062/ като напиша какъвто и да е код ми излиза тази грешка
    @GL graphics system is not active; cannot use 3D items@



  • Тъй като Qt Quick3D e с отворен код може да се разглежда целият "проект в Gitorious":https://gitorious.org/qt-quick3d. Този проблем най-вероятно идва от "Viewport::paint":http://qt.gitorious.org/qt-labs/qt3d/blobs/master/src/imports/threed/viewport.cpp#line432

    @qWarning("GL graphics system is not active; cannot use 3D items");@



  • Някакъв начин да се справя с тази грешка ?



  • Здравей,

    сложи Viewport-а да използва QGLWidget :

    @
    QDeclarativeView viewer;
    viewer.setViewport(new QGLWidget);
    @

    Ако използваш автоматично генерираният от Qt Cteator проект, там имаш клас, подклас на QDeclarativeView. Сложи setViewport(new QGLWidget); в конструктора.

    Ако използваш qmlviewer , стартирай го с опцията -opengl



  • Ако не е прекалено нахално, може ли да ми качиш готов проект със тези промени и да ми кажеш къде точно си направил промяната, че не мога да се справя.



  • Ще мога чак довечера като се прибера унас. В офиса нямам Qt :(

    Ако проекта е Qt Quick Application, трябва да имаш подпроект, в който има само 1 клас, наследяващ QDeclarativeView и в неговият конструктор добавяш @setViewport(new QGLWidget);@ и включваш хедъра @#include <QGLWidget>@



  • Така. Оказа се малко по-дълго :)

    в main.cpp трябва да имаш нещо такова:

    @
    Q_DECL_EXPORT int main(int argc, char *argv[])
    {
    QScopedPointer<QApplication> app(createApplication(argc, argv));
    QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create());

    viewer->setViewport( new QGLWidget ); // тук добавяш кода за OpenGL
    viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer->setMainQmlFile&#40;QLatin1String("qml/Transformations/main.qml"&#41;);
    viewer->showExpanded();
    
    return app->exec&#40;&#41;;
    

    }
    @

    отгоре добавяш хедъра:

    @ #include <QtOpenGL/QGLWidget> @

    и в .pro файла ред, подобен на:

    @
    QT += declarative opengl
    @

    мисля, че declarative си го знае и по подразбиране за това стига и само opengl



  • Мерси много :), а има ли начин да включа триизмерната графика + ето това за звука @CONFIG +=mobility
    MOBILITY += multimedia@
    в QT Quick UI проект



  • Да. Само трябва да имаш инсталирано "QtMobility":http://qt.nokia.com/products/qt-addons/mobility (мисля, че QML плъгина си е включен в него) или ако имаш инсталирано Qt SDK, може да го инсталираш и от Update мениджъра.



  • Ползвам Qt SDK и имам ъпдейта като го стартирам имам два файла .qml и .qmlproject къде точно да включа звука и триизмерната графика ? Съжалявам за многобройните си въпроси надявам се да не прекалявам.



  • Аа ти не си с Qt Quick Application проект, а с Qt Quick UI. Отиди в таба Projects (в лентатя от ляво). В Run Settings трябва да имаш едно поле Arguments:. В Него напиши -opengl .


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.