In the past 20 months, I have written quite a few posts about Qt5, QML Scene Graph, shaders, and more. Now that the Qt5 beta is already on the way, I think it's time to show the next tech demo. It is called the 'Cinematic Experience' and looks like this:
(better to watch in HD ) The 'Cinematic Experience' includes many new Qt5 and QtQuick 2.0 chips. The application uses particles, sprites, animation along the path (path animation), self-written shaders and other buns that Qt5 brings to QML. As usual, source code is available here .
About performance: The age of the GPU used in the Nokia N9 (SGX530, released in July 2005) makes itself felt. For example, you need to moderately use shaders, and indeed the power of the GPU is not sufficient for the resolution of the N9 screen. To obtain sufficient performance on the N9, you need to apply some optimization, such as turning off normal lighting and reducing the number of fog particles. As you can see on the video, after these tweaks, the N9 can launch a demo. Definitely this is far from ice, but I would like to say that the result is not bad anyway; P ')
Ps. In case you have Raspberry PI, Beagleboard, Pandaboard, Snowball or any other embedded equipment running Qt5, please take the demo version and try to run it. I am waiting for feedback and video!
From the translator: Next comes the translation of the description of the new Qt features used in the demo from this page.
Rendering: Qt5 has a new back-end for rendering, called the “QML Scene Graph,” which takes advantage of the hardware acceleration of rendering. This allows you to fully enjoy the OpenGL capabilities built into the graphics processors, both on the Desktop and on the Embedded devices. In addition to increasing performance, functions that were previously unavailable appeared in Qt5.
Particles: Qt5 comes with a new particle plugin, QtQuick.Particles 2.0, which outperforms the Qt4 version. In this demo application, twinkling stars, a shooting star, fog and smoke were implemented using this new particle engine.
Sprites: QtQuick 2.0 has built-in support for sprites through the use of Sprite, SpriteSequence, and AnimatedSprite elements. Sprites can also be used as a source of particles. In this demo application, the asterisk is AnimatedSprite with 16 frames.
Animations: QtQuick has always had very good animation support. Qt5 now also supports non-linear path animations using PathAnimation and PathInterpolator QML elements. In this demo, the star moves along the path described in PathAnimation using PathCurves.
Shaders: Qt5 also includes ShaderEffect and ShaderEffectSource elements that allow you to write custom GLSL shaders. This gives developers more control over conversions in QML interfaces by increasing agility. In this demo, a custom shading effect is used to illuminate movie covers.
Graphics Effects: Qt5 comes with a predefined set of effects, such as drop shadow, blur, glow, colorize, etc. They are available in the QtGraphicalEffects 1.0 plugin. In this demo, DropShadow is used to enhance the appearance of the text of the movie title.
The source code of the demo can be downloaded from the link .