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

Al-Khanji Louai louai.al-khanji at theqtcompany.com
Thu Jan 8 11:54:10 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

Out of curiosity, how large are the changes that were required to port the library?

-- Louai

 




More information about the Development mailing list