Qt5 Cinematic Experience

в 17:12, , рубрики: maemo, MeeGo, QML, qt, Qt Software

За последние месяцев 20 я написал немало постов о Qt5, QMS Scene Graph, шейдерах и многом другом. Сейчас, когда бета-версия Qt5 уже на подходе, я думаю что пора показать очередное технологическое демо. Оно называется 'Cinematic Experience' и выглядит следующим образом:


(лучше посмотреть в HD)
'Cinematic Experience' включает в себя множество новых фишек Qt5 и QtQuick 2.0. В приложении используются частицы, спрайты, анимацию по пути (path animation), самописные шейдеры и другие плюшки, которые Qt5 приносит в QML. Как обычно, исходный код доступен здесь.

О производительности: Возраст GPU используемого в Nokia N9 (SGX530, выпущенный в июле 2005) даёт о себе знать. К примеру, нужно умеренно использовать шейдеры, да и вообще мощность GPU не достаточна для разрешения экрана N9. Чтобы получить достаточную производительность на N9, нужно применять некоторые оптимизации, такие как отключение нормального освещения и уменьшения количества частиц тумана. Как видно на видео, после этих твиков, N9 может запустить демо. Определенно это далеко не айс, но я хотел бы сказать, что и так результат не плох ;P

PS. В случае, если у вас есть Raspberry PI, Beagleboard, Pandaboard, Snowball или любое другое встраиваемое оборудование под управлением Qt5, пожалуйста, возьмите демо-версию и попробуйте её запустить. Я жду обратной связи и видео!

От переводчика: Далее идёт перевод описания новых возможностей Qt, используемых в демке с данной страницы.

  • Рендеринг: В Qt5 появился новый бэк-энд для рендеринга, называемый «QML Scene Graph», который использует возможности аппаратного ускорения рендера. Это позволяет в полной мере пользоваться встроенными в графические процессоры возможностями OpenGL, как на Desktop, так и на Embedded устройствах. Помимо увеличения производительности, в Qt5 появились функции, недоступные ранее.
  • Частицы: Qt5 поставляется с новым плагином частиц «QtQuick.Particles 2.0», который превосходит по возможностям версию для Qt4. В этом демо-приложении, мерцающие звезды, падающая звезда, туман и дым были реализованы с помощью этого нового движка частиц.
  • Спрайты: QtQuick 2.0 имеет встроенную поддержку спрайтов через использование элементов Sprite, SpriteSequence и AnimatedSprite. Спрайты также может быть использован в качестве источника частиц. В этом демо-приложении, звездочка представляет из себя AnimatedSprite с 16 кадрами.
  • Анимации: В QtQuick всегда была очень хорошая поддержка анимации. Qt5 теперь поддерживает также анимации по нелинейным путям, используя PathAnimation и PathInterpolator QML элементов. В этом демо, звезда движется по пути описанном в PathAnimation использованием PathCurves.
  • Шейдеры: В Qt5 также включены элементы ShaderEffect и ShaderEffectSource, которые позволяют писать пользовательские GLSL-шейдеры. Это дает разработчикам больше контроля над преобразованиями в QML интерфейсах за счет увеличения динамичности. В этом демо, пользовательский эффект затенения используется для освещения обложек фильмов.
  • Графические эффекты: Qt5 поставляется с предварительно определенным набором эффектов, таких как отбрасывание тени, размытие, свечение, раскрашивание и т.д. Они доступны в плагине «QtGraphicalEffects 1.0». В этом демо, DropShadow используются для улучшения внешнего вида текста названия фильма.

Исходный код демки можно скачать по ссылке.

Автор: vitaly_KF

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js