> > 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
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development