[Development] Adding new third party component three.js to Qt?

Simon Hausmann simon.hausmann at theqtcompany.com
Thu Jan 8 11:52:45 CET 2015


On Wednesday 7. January 2015 06.03.14 Keränen Pasi wrote:
> Hi,
> 
> I¹d like to open the discussion on including the three library as part of
> Qt 5.6 and onwards. Mainly because this would give our users a better
> experience if we¹d bundle the right, tested version of Three.js together
> with the Qt version it was tested on.
> 
> I¹ve been pushing the Qt Canvas3D component onwards and timewise it should
> be landing to Qt 5.5 release. The WebGL-like API (non-conformance tested)
> it offers is very low level and most users will not like to work on that
> level. To that end I¹ve ported the WebGL based Three.js scenegraph library
> available at http://threejs.org on top of Canvas3D. You can find the
> latest version from master branch at https://github.com/tronlec/three.js
> 
> The reason for picking this particular library over others are:
> * It¹s one of the most active WebGL scene graph projects out there.
> * It¹s well done, with examples, API documentation etc.
> * It has excellent support form community in the form of tutorials,
> websites, discussion forums etc.
> * It is available under permissive MIT license:
> https://github.com/mrdoob/three.js/blob/master/LICENSE
> 
> In Qt 5.5 we¹ll include a few examples that will have this library as part
> of the examples.
> 
> The library will for now at least need some porting effort to make it run
> on top of Canvas3D as there are some HTML depencencies that need to be
> handled, plus V4VM has a few quirks that need to be accounted for.
> Hopefully some of the V4VM quirks are bugs and will be fixed in due time,
> but the HTML dependencies do remain. And my current experience with
> graphics APIs is that you want to test the whole stack together. If we
> e.g. add support for new extensions in Canvas3D, that can activate new
> codepaths in Three.js that again need testing and possibly new Qt specific
> delta must be added to the three.js for those parts.
> 
> 
> Comments? Thoughts?

Sounds like a good idea to me. What's the size (lines of code) that we are 
talking about here? Is it just one big "minified" .js file?


Simon



More information about the Development mailing list