summaryrefslogtreecommitdiffstats
path: root/src/quick3d/quick3dextras
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.13' into 5.14Paul Lemire2019-10-151-0/+3
|\ | | | | | | Change-Id: I44133fbc9b93e96918463b0b0891ee5ab7db9f2c
| * Make sure right screen is set on QOpenGLContext and QOffscreenSurfaceAndy Shaw2019-10-101-0/+3
| | | | | | | | | | | | | | | | | | | | When the Qt3D window is on a specific screen, then it needs to ensure that any supporting QOpenGLContexts and QOffscreenSurfaces are set to be using that same screen or it will fail to render the content. Change-Id: Ief4f3e88bf6f71862bc5dace0cb0bddcdf3a98b5 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Eradicate Q_FOREACH loops and mark the module cleanMarc Mutz2019-05-221-3/+0
|/ | | | | | | | | | The only noteworth change is where a loop around spy.events modified the container using takeFirst(). There was no reason to do so, so it was changed to use the loop variable instead of the result of taking. Change-Id: I02c62a7c2efc5d042c6e669fe5daddd7da7e85d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Switch export macros to standard formKai Koehne2019-04-025-9/+9
| | | | | | | | | | | | Qt expects the export macros to have Q_ prefixes, otherwise the symbol versioning script won't find them and mark them. Also remove non-exising QT3DLOGIC_PRIVATE_EXPORT macro from src/doc/qt3d.qdocconf Task-number: QTBUG-74752 Change-Id: I71b9e85ff09c002fb283824aa51a5a8f50e937f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Qt3DWindow/Qt3DQuickWindow base custom surface format on default onePaul Lemire2018-08-291-1/+1
| | | | | Change-Id: I52620326d7ee79be86419e55b186470689b02950 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove hardcoded C++ version for MinGW/GCCKai Koehne2018-01-111-3/+0
| | | | | | | | | | | | | | This was apparently needed for older MinGW-w64 headers that did not properly define some common system functions otherwise. Anyhow, it is not required anymore for newer MinGW-w64, and actually breaks compilation with gcc 6 and newer: There we enable shift-overflow=2, which also warns about shifting into the sign bit for C++11, but not for C++14. Task-number: QTBUG-60249 Change-Id: I53bc858c6f8baf9b60940904b3b28f7a49ab28e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-253-3/+3
| | | | | Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.9' into 5.10Sean Harmer2017-09-121-1/+1
|\ | | | | | | Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
| * Qt3DQuickWindow: Instantiate QQmlAspectEngine after aspectsWieland Hagen2017-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If not, some aspect's library might not have been loaded yet, when the QQmlAspectEngine is created. This means that their static aspect registration code will not have been run, causing the QAspectFactory to not include it in the defaultAspects when it is created. Following calls to QQmlAspectEngine::registerAspect() will fail, because the engine was created too early. Change-Id: I96dc8a972dc4fbd1cf3a8d2d91067d59e0d72e57 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Re-enable the QQmlType code paths in the node factoriesSean Harmer2017-08-252-5/+3
| | | | | | | | | | Change-Id: Ieacfbfb25de4840d7c428f89cd1f7d178852036e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge branch '5.9' into devSean Harmer2017-08-191-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/renderer.cpp src/render/backend/renderview.cpp src/render/graphicshelpers/graphicscontext_p.h src/render/graphicshelpers/graphicshelperes2_p.h src/render/graphicshelpers/graphicshelpergl2_p.h src/render/graphicshelpers/graphicshelpergl3_2_p.h src/render/graphicshelpers/graphicshelpergl3_3_p.h src/render/graphicshelpers/graphicshelpergl4_p.h src/render/graphicshelpers/graphicshelperinterface_p.h src/render/jobs/pickboundingvolumejob.cpp tests/auto/animation/clipanimator/tst_clipanimator.cpp tests/auto/auto.pro tests/manual/manual.pro Also disabled the QQmlMetaType codepaths following commit 49a11e882059ee1729f776722e085dd21d378c36 in qtdeclarative. The QQmlMetaType codepaths will be re-enabled once a qt5.git integration has succeeded. Change-Id: Ia654d75425e6d406c472d19864383612208cad2b
* | Introduce QSpriteSheetMike Krus2017-07-088-2/+440
|/ | | | | | | | | | | a generalised non-regular grid sprite sheet. Sprites are defined by a list of QSpriteSheetItem, essentially QRect for now (may introduce rotation later) Uses wrapper class to expose qml property list. Change-Id: I5a8d6804c32d59c27e1dc823c61d56bb169ca498 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Implement PIMPL for Qt3DQuickWindowJere Tuliniemi2017-05-154-43/+138
| | | | | | | | | | Moved private members of Qt3DQuickWindow to Qt3DQuickWindowPrivate to hide implementation. m_engine is now a normal pointer so that it can be deleted in the Qt3DQuickWindow destructor. Task-number: QTBUG-60426 Change-Id: I99dd1b89aa2036272add7ba276e9b8f0c867e4a1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.8' into 5.9Sean Harmer2017-04-022-13/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/jobs/qthreadpooler.cpp src/core/nodes/qcomponent.cpp src/core/qpostman.cpp src/core/qscene_p.h src/core/services/qservicelocator_p.h src/input/frontend/qinputaspect.cpp src/plugins/sceneparsers/assimp/assimpimporter.cpp src/plugins/sceneparsers/assimp/assimpimporter.h src/plugins/sceneparsers/gltf/gltfimporter.h src/plugins/sceneparsers/gltf/gltfio.cpp src/quick3d/imports/core/qt3dquick3dcoreplugin.cpp src/quick3d/imports/extras/qt3dquick3dextrasplugin.cpp src/quick3d/imports/render/qt3dquick3drenderplugin.cpp src/quick3d/quick3dextras/qt3dquickwindow.cpp Change-Id: I3566708c6f74a34959e7bb64b64e93647ca3f699
| * Coding convention fix for Src/Quick3DRobert Brock2017-04-012-13/+12
| | | | | | | | | | | | | | | | Reordering the header includes to comply with Qt coding conventions Task-number: QTBUG-56185 Change-Id: I60008858a4975621b9159d909908b6bba2f98f14 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Change some Scene3D/Window qWarnings to qCDebugv5.9.0-beta1Laszlo Agocs2017-03-314-5/+123
| | | | | | | | | | | | | | | | None of these is fatal. It is perfectly possible to get input via other means, for example. Change-Id: I7880c8f5aa611908d7e09d03fe0c8100f8c8d183 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Don't call QWindow::create() from the constructorSean Harmer2017-03-151-1/+0
| | | | | | | | | | | | | | | | | | | | Allows users to call QWidget::createWindowContainer() prior to the window being created. If create() is called before this it ends up with a size which is too large for the container. Task-number: QTBUG-58948 Change-Id: I6dcefa8ae74604114e98a4319f94c6c01b6f2c34 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | QBoundingSphere cleanupPaul Lemire2017-02-242-7/+14
| | | | | | | | | | | | | | | | | | | | Is now a Q_GADGET value type Added QBoundingSphere creator functions on QLevelOfDetails and Quick3DLevelOfDetailsLoader Note: cannot be a nested type on QLevelOfDetails as moc doesn't support it Task-number: QTBUG-58892 Change-Id: Ic7b6d68c6e1119c1f61a858f49379efc1e9c2104 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Revert "Use QVector<float> in level of detail APIs"Sean Harmer2017-02-192-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5bceaee38908934078bbdb62b564daa68f7e182b. QML uses doubles throughout and there is no good way or place to reliably switch to floats in the API. We tried extending QtDeclarative to work with QJSValues containing vectors/lists of floats and doubles (rather than qreal) but this introduces rounding errors that are difficult to control robustly. We also looked at removing the Q_PROPERTY in C++ and adding it to a QML extension object. But that would make it not work with animations bound to this property. So, in the end, it seems like qreal is the best of a bad set of alternatives. We should make a renewed effort to kill qreal for Qt 6. Change-Id: I9d61e58e7223eb5a6b848ba33fc760b3654bbddd Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Use QVector<float> in level of detail APIsSean Harmer2017-02-162-5/+5
| | | | | | | | | | | | | | | | | | | | For consistency with rest of API and to avoid ambiguity inherent with qreal. Task-number: QTBUG-58888 Task-number: QTBUG-58889 Change-Id: Ib8729a11152165caf05ecea63f9e10c4d90689db Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Move animations from extras to animationsAntti Määttä2017-02-0711-946/+2
| | | | | | | | | | Change-Id: If3bcfe24ebe7ecfb4519e0e400e601819783edad Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch 'wip/animation' into devSean Harmer2017-01-3112-3/+948
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/extras/defaults/defaults.pri src/extras/extras.qrc src/quick3d/imports/extras/importsextras.pro src/quick3d/imports/extras/qt3dquick3dextrasplugin.cpp src/quick3d/quick3dextras/items/items.pri src/quick3d/quick3dextras/quick3dextras.pro tests/manual/manual.pro Change-Id: I62232cb21495612f31f48a6749a52b68777c4ae3
| * | Animation support for Qt3DAntti Määttä2017-01-3112-1/+952
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Modded assimp loader to load animations and to load submeshes into child entities. Added keyframeanimation for node animations and morphing mesh. Also added animation group for controlling multiple nodes as one animation and animation controller to select and play animations. Assimp loader adds QKeyFrameAnimations targeting an entity as child objects of that entity, the QAnimationController finds them when the entity is set and creates QAnimationGroups from based on the animation name. Change-Id: I7e2e7a4479af49f8023b4a359b2b3118efdaa0da Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* / Port LevelOfDetailLoader to a C++ implementationKevin Ottens2017-01-276-1/+470
|/ | | | | | | tests/manual/lod still works after the port Change-Id: Idee18aa68724f726789bd74044a989c883dae579 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove CONFIG+=static when gcov is enabledPaul Lemire2016-11-231-1/+0
| | | | | | | | Is actually counterproductive as we end up with almost no coverage data. Change-Id: Ib3beed103586cc68be90459de23818c2fbcb26c8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* LCOV exclusion comments squashedPaul Lemire2016-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a combination of 60 commits. qlockableobserverinterface_p.h: add LCOV exclusion comments qobserverinterface_p.h: add LCOV exclusion comments qpostman_p.h: add LCOV exclusion comments qsceneobserverinterface_p.h: add LCOV exclusion comments qscene_p.h: add LCOV exclusion comments qnodeid.h: add LCOV exclusion comments quick3dshaderdataarray_p.h: add LCOV exclusion comments quick3dshaderdata_p.h: add LCOV exclusion comments qquaternionanimation_p.h: add LCOV exclusion comments qabstractphysicaldeviceproxy_p.h: add LCOV exclusion comments qmouseevent.h: add LCOV exclusion comments qmousedevice.h: add LCOV exclusion comments qaxisaccumulator.h: add LCOV exclusion comments qtextureimagedatagenerator.h: add LCOV exclusion comments qtexturewrapmode.h: add LCOV exclusion comments qabstracttexture.h: add LCOV exclusion comments qtextureimage.h: add LCOV exclusion comments texture_p.h: add LCOV exclusion comments qtexturegenerator.h: add LCOV exclusion comments qsortpolicy.h: add LCOV exclusion comments qrendertargetselector.h: add LCOV exclusion comments qsortcriterion.h: add LCOV exclusion comments qclearbuffers.h: add LCOV exclusion comments qrendercapture_p.h: add LCOV exclusion comments uniform_p.h: add LCOV exclusion comments triangleboundingvolume_p.h: add LCOV exclusion comments qgeometryfactory.h: add LCOV exclusion comments qbuffer_p.h: add LCOV exclusion comments qbuffer.h: add LCOV exclusion comments qgeometryrenderer.h: add LCOV exclusion comments qbufferdatagenerator.h: add LCOV exclusion comments qattribute.h: add LCOV exclusion comments qsceneiohandler_p.h: add LCOV exclusion comments qsceneloader.h: add LCOV exclusion comments qrendersettings.h: add LCOV exclusion comments qcamera.h: add LCOV exclusion comments qcameralens.h: add LCOV exclusion comments sphere_p.h: add LCOV exclusion comments shaderdata_p.h: add LCOV exclusion comments qshaderdata.h: add LCOV exclusion comments qgraphicsapifilter.h: add LCOV exclusion comments qshaderprogram.h: add LCOV exclusion comments qpointsize.h: add LCOV exclusion comments qblendequation.h: add LCOV exclusion comments qstenciltestarguments.h: add LCOV exclusion comments qalphatest.h: add LCOV exclusion comments qstenciloperationarguments.h: add LCOV exclusion comments qdepthtest.h: add LCOV exclusion comments qblendequationarguments.h: add LCOV exclusion comments qfrontface.h: add LCOV exclusion comments qcullface.h: add LCOV exclusion comments qray3d_p.h: add LCOV exclusion comments qboundingvolume_p.h: add LCOV exclusion comments qabstractcollisionqueryservice_p.h: add LCOV exclusion comments qpickevent.h: add LCOV exclusion comments qabstractlight.h: add LCOV exclusion comments light_p.h: add LCOV exclusion comments qt3dquickwindow.h: add LCOV exclusion comments scene3ditem_p.h: add LCOV exclusion comments qgraphicsapifilter_p.h: add LCOV exclusion comments Change-Id: I3af0e2a4d85685c919dbfaa8b3f384777f026542 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Adjust to qtConfig() changes in qtbaseLiang Qi2016-08-211-2/+0
| | | | | Change-Id: Ic5b9447ef9ba54124553775b973d616af22b7032 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Avoid code dup. in Scene3DItem and Qt3DQuickWindowKevin Ottens2016-08-072-26/+5
| | | | | | | | | | | Now that we got a single implementation for finding the QRenderSurfaceSelector, remove the code duplication by using it. It also fixes Scene3DItem search for QRenderSurfaceSelector which had a slightly different (and wrong) implementation. Change-Id: I80103363d7b591e757f8a0d9f4531659d6ea848c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Qt3DQuickWindow: subclass QWindowPaul Lemire2016-06-302-4/+41
| | | | | | | | | | | | It used to subclass QQuickWinodw which provides a QQmlIncubationController but is hardwired to use the scenegraph and its own QOpenGLContext. This lead to examples not working on Android and EGL based platforms as it is more strict about multiple contexts being used on the same surface. Instead make it subclass QWindow (which has no associated QOpenGLContext) and implement our own QQmlIncubationController. Change-Id: Ieb78ed517840601c804d8b222aa0c3d0118452bb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Qt3DQuickWindow: set proper aspect ratio on creationPaul Lemire2016-06-111-2/+4
| | | | | | | + proper code indentation Change-Id: Ib0f28aecfdb55c4012e23835a0440e5ae3a4c00e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add more explicitMarc Mutz2016-05-141-1/+1
| | | | | | Change-Id: Iaa91d6248cbc3822ed3380e360d2880d4894446d Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Enable QT_NO_FOREACH for all Qt3D libraries and pluginsMarc Mutz2016-05-141-0/+3
| | | | | | | | Qt3D contains no Q_FOREACH loops anymore. Enable QT_NO_FOREACH so it stays that way. Change-Id: I1079ff1d87a7d6b38b9e9684e9d9f85561602b0a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-012-5/+5
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move last remaining pieces of examples-common to Qt3DExtrasPaul Lemire2016-05-014-0/+479
Also created a Quick3DExtras for QML related extras (Qt3DQuickWindow) Change-Id: I1b95ea841e07ac8d68a07a1911d783b722e6fe03 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>