[Interest] Qt5.6 Qt3D* module names?
Brett (Gmail)
brettbibby at gmail.com
Mon Dec 21 14:31:48 CET 2015
Very useful info, thanks.
Is there a specific mailing list, forum or chat dedicated to Qt3D*? Or is this list the best place?
> On Dec 21, 2015, at 2:24 PM, Sean Harmer <sean.harmer at kdab.com> wrote:
>
> On Monday 21 December 2015 13:05:19 Brett wrote:
>> Looks like “3drenderer” is now “3drender”.
>
> Yes that is correct.
>
>> I changed that and lots of
>> errors. Appears lots of changes to the underlying method names, classes,
>> etc.
>
> The modules now match between C++ and QML in terms of namespaces. So whereas
> before all C++ classes were in the Qt3D namespace, they are now in Qt3DCore,
> Qt3DRender, Qt3DInput or Qt3DLogic. The corresponding QML imports are
> Qt3D.Core, Qt3D.Render, Qt3D.Input and Qt3D.Logic.
>
> If you are using C++, the easiest way to adapt is to remove any Qt3D::
> namespace prefixes and add using Qt3DCore etc to those compilation units.
>
> If you are using QML, just search/replace Qt3D.Renderer/Qt3D.Render.
>
> The other main location of API changes from 5.5 is in the Qt3DCore::QTransform
> (Transform in qml) component. Instead of building your transform up from a
> list of "sub" transforms the QTransform component itself now does much more.
>
> If wanting to apply transforms in the common scale, rotate, translate (SRT)
> ordering (i.e. an simple affine transformation) then you can directly set the
> scale/scale3d, rotation, and translation properties. There are helpers on
> QTransform (invokable from qml) to help you construct rotation quaternions.
>
> If you want to do something more complex, such as rotating about a point or
> some other combination of affine transformations (which at the end of the day
> still results in another affine transformation) then you can set the matrix
> property of Qt3DCore::QTransform.
>
> How you do this again depends upon your needs. If rotating about a point,
> there is another invokable helper on Qt3DCore::QTransform. If you want
> something else then you can build up your own QMatrix4x4 for the matrix
> property as shown in many of the examples. This last option is completely
> analogous to the older api that is now removed but saves creating a lot of
> QObjects.
>
> In the majority of cases the new transform API results in far less code being
> required and also opens the door for some other features we'd like to add in
> next year (updates to frontend transformations from the backend aspects).
>
> There's also a bunch of other new stuff in 5.6 such as a mostly complete input
> aspect (remaining missing bits will come with 5.7); thanks to Laszlo, we now
> have much better support for lights; we now support instanced rendering for
> drawing potentially many 10's of thousands of copies of a mesh. Plus the usual
> pile of bug fixes.
>
> This is still a tech preview although we don't expect the API to change much
> at all between 5.6 and 5.7. The main points being worked on are the top level
> "entry points" and convenience classes.
>
>> Is there an upgrade guide for Qt3d and all the changes somewhere?
>
> The above or git log :)
>
> If you have any more questions, feel free to fire them here.
>
> Cheers,
>
> Sean
>
>>
>>> On Dec 21, 2015, at 12:50 PM, Brett (Gmail) <brettbibby at gmail.com> wrote:
>>>
>>> Hi,
>>> Did the module names change for Qt3d in 5.6?
>>>
>>> My 5.5 project has:
>>>
>>> QT += core gui sql 3dcore 3drenderer 3dinput
>>>
>>> But now I’m getting "Unknown module(s) in QT: 3drenderer” type of errors
>>> when I try to compile. I see the frameworks in clang_64/lib so they got
>>> installed but not getting found.
>>>
>>> Thanks,
>>> Brett
>
> --
> Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
> Klarälvdalens Datakonsult AB, a KDAB Group company
> Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
> KDAB - Qt Experts - Platform-independent software solutions
More information about the Interest
mailing list