Библиотека Qt С++ для Windows и OpenGL
Я пытаюсь поэкспериментировать с библиотекой Qt в Windows. На странице загрузок я заметил, что двоичные файлы, созданные с использованием VS2012, доступны в двух формах: с OpenGL и без него. В чем же разница между этими двумя? В версии OpenGL у них есть какой-то специальный API, реализованный с использованием OpenGL или все зависит от OpenGL от Qt-рендеринга? Кроме того, есть ли версия Qt, которая использует DirectX?
Ответы
Ответ 1
@Raman: Вариант opengl использует версию настольного ПК, как и с Qt4.
Вариант non-opengl использует угол, и вам необходимо установить его вместе с DirectX SDK, чтобы он работал. Угол - это адаптер между directx и API opengles. Только последняя поддерживается напрямую Qt, но, к сожалению, драйверы directx, как правило, работают лучше на Windows, чем на opengl (s). Планов поддержки backx внутри Qt нет, поэтому мы оставляем работу Google Angle в этом отношении.
Что касается предоставления некоторого дополнительного бита, в последнее время в списке рассылки обсуждалось это, что это решение не должно быть временем сборки, но больше похоже на время выполнения. Однако пока никто не встал, чтобы сделать эту работу. Надеюсь, это скоро изменится. Это вызывает путаницу для конечных пользователей, как, например, так что не чувствуйте себя в одиночестве.; -)
Надеюсь, что это объяснение поможет.
Ответ 2
DirectX поддерживается через ANGLE библиотеку.
Ответ 3
Обратите внимание, что это изменилось, и с Qt 5.5 предварительно созданные двоичные файлы, которые вы можете загрузить с веб-сайта Qt, настроены с параметром -opengl dynamic. Это то, о чем говорил @lpapp выше. Qt по умолчанию выбирает либо собственные драйверы OpenGL, либо ANGLE во время выполнения.
Qt внутренне использует OpenGL для рендеринга, если вы не указали иначе. Вы также можете создавать пользовательский контент OpenGL с помощью функций и классов Qt QOpenGLxxx.
Для простого введения в Qt и OpenGL, который охватывает это и многое другое, нажмите здесь.