[Development] OpenGL in Qt 5.1 and onwards

Laszlo Papp lpapp at kde.org
Mon Jan 7 17:29:45 CET 2013


>
> For higher-level abstractions I would suggest that we refactor and split
> Qt3D
> into a number of more fine-grained and targeted libraries. Right now it is
> quite monolithic consisting of the C++ threed library and the QML
> integration.
>
> Some ideas for these:
>
> * 3D maths (float and double versions) (or could extend QtGui 3D maths)
> * OpenGL Enablers: Material; Texture unit configuration/management etc
> * Geometry building/manipulation
> * Encapsulation: bounding volumes, intersection testing, ray casting etc
> * Animation
> * Scene Management
> * QML integration
> * OGRE/OpenSceneGraph integrations
>
>
I agree more or less as per our IRC discussion a few weeks ago, but see my
comments below:

* I would personally even consider having more than OpenGL enablers (i.e.
DirectX/3D and so forth)

* IMO, as the open scene graph project already has a Qt enabler module
(probably not CLA license though), we should not start from scratch again.
Albeit, if they think it is worth joining the Qt Project with that module,
it may be one way, but from scratch... Not sure.

* I would say, even more than just raycasting. Ray tracing would be even
more powerful by following the rays recursively. As mentioned before on
IRC, I have been working on a ray tracer in C++ due to my paid job. I will
keep in mind to be as good as possible for the Qt Project for adaptation.

* I am not sure about the QtGui math extensions. The problem is that with
those,they are pretty slow in many circumstances in comparison with eigen
for
instance. That is the reason why several Qt based projects chose eigen.
Perhaps an eigen integration would make more sense, or at least such an
approach rather than carrying the QtGui/math code on.

* In addition, I would suggest the followings for consideration:

    a) kernel/core submodule: it could be used for non gui projects like
QtAudio3D. This would mean 3D point classes and so forth. See the following
    change for details: https://codereview.qt-project.org/#change,42961

    b) 3D audio integration like QtAudio3D.

    c) 3D physics, like bullet integration, and so forth.

    d) 3D input.

    b-d) would mean a scope redefinition from a 3D graphics project scope
    towards a more generic 3D project. I think having such an umbrella is an
    interesting thing, and I would personally instead of the QtAudio3D
    integration into QtMultimedia et al.


> I was hoping to get some refactoring of Qt3D done over the vacations but
> then
> came down with child-induced illness, bah!
>

That is nice. :-)

Perhaps, there could be a Qt3D session at the next Qt Contibutors Summit as
well.

Laszlo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130107/889d6f86/attachment.html>


More information about the Development mailing list