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

Keränen Pasi pasi.keranen at theqtcompany.com
Thu Jan 8 13:47:04 CET 2015


Size without minification is 824kBytes. Unfortunately minification
currently fails due to the placeholder TypedArray wrappers in Qt Canvas3D.


Pasi

On 08/01/15 12:52, "Hausmann Simon" <Simon.Hausmann at theqtcompany.com>
wrote:

>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