2016-04-03 3 views
-5

QML согласно моим знаниям делает то же самое, что и OpenGL, не так ли? Могу ли я полностью заменить OpenGLwith QML?
Может ли QML заменить OpenGL на Qt?

В чем основное отличие между QML и OpenGL?

Когда люди предпочитают QML по OpenGL и наоборот?

+2

Ваши знания неверны, qml и OpenGL - это две совершенно разные вещи, первый - это декларативный язык, второй - графический api. – dtech

+0

@ddriver: вы должны сделать этот комментарий ответом – datenwolf

+0

Возможно, вы имеете в виду Qt Quick, поскольку QML - это декларативный язык, который полностью отделен от любой графики и может использоваться, например, [build systems] (http: // doc. qt.io/qbs/). –

ответ

2

Ваши знания неверны, QML и OpenGL - две совершенно разные вещи, первая - декларативный язык, второй - графический API.

QtQuick, который использует QML, обычно использует OpenGL для своей графики, но это не у вас доступ к контенту, который у вас нет доступа (он действительно получил немного больше доступного в последних выпусках, но я ожидаю, что не многие люди пойдут в настройка, и даже если бы они это сделали, это было бы на C++, а не на QML).

Существует Qt3D, который имеет QML API, но это всего лишь некоторые базовые вещи, и это высокий уровень - отнюдь не заменитель OpenGL, который является очень низким уровнем. Это означает, что будет намного проще разместить некоторые 3D-модели, камеры, материалы и т. Д. С Qt3D, которые вы обычно не делаете в OpenGL, но с API, построенным поверх OpenGL.

+0

+1, о «бэкэнд, к которому у вас нет доступа»: можно комбинировать QQ с пользовательскими оттенками opengl, настраивать настройки opengl или интегрировать его с другим пользовательским кодом opengl. Таким образом, это не просто скрытая деталь реализации. –

Смежные вопросы