[Development] Stand alone scene graph module

Rutledge Shawn Shawn.Rutledge at digia.com
Wed Apr 3 12:05:56 CEST 2013


On 3 Apr 2013, at 10:16 AM, Sletta Gunnar wrote:

> Hi,
> 
> The original idea of scene graph was that is was to be a stand alone module, but because it was developed in conjunction with Qt Quick and because we didn't want to compromise on any performance aspects for the sake of making a more generic framework, we placed them together. As it keeps popping up here and there that people still want to use it stand alone, I figured makes sense to at least make it possible.
> 
> I've started making some patches that make it possible to extract the scenegraph core API's from declarative and build them as a separate module. This should make it possible to create normal C++ apps using this API, depending only on QtCore and QtGui. 
> 
> https://codereview.qt-project.org/#change,52682
> https://codereview.qt-project.org/#change,52683
> 
> This still preserves some the private headers as private, but exposes it in a way that it doesn't require the full QML / JS stack. 
> 
> Also, what is included is the coreapi and some utilities. The QML item implementations are another debate, which I will not address with this module. At least not immediately. Things like the distance field glyph nodes and shader effects are currently too tied up with the Qt Quick module to be extracted, but the module offers textures, materials, nodes and renderer and should be usable for games and such.
> 
> The module is graphics only, it does not involve stuff like input, animations, etc.
> 
> Any opinions?

That sounds excellent, and perhaps a good way forward for alternate language bindings, like Scheme, Haskell and Python?  But for that purpose, reusable animation and input support would be nice too.  Maybe it would be achievable by using the v4 bindings with an alternate LLVM-based compiler.

It would be nice to have less duplicated input and animation functionality between QtQuick and widgets anyway, to avoid (or at least concentrate) bugs, reduce code size, and have the same behaviors available to both widget and QtQuick apps.




More information about the Development mailing list