summaryrefslogtreecommitdiffstats
path: root/src/render/geometry
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/tqtc/lts-5.15.11' into ↵v5.15.11-lts-lgplTarja Sundqvist2023-06-099-43/+30
|\ | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I81f01dbde95cc9cd8e98c7fb9bf3a390aa27f379
| * Qt3DRender: includemocsMike Krus2022-07-154-0/+8
| | | | | | | | | | | | | | | | Task-number: QTBUG-103286 Change-Id: Iaddad08bb469408ee975e463ac82c95870130cee Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from commit 1e940bf2f8d260c313917718584736fa9fa86b14) Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * CalcBoundingVolumeJob: don't rely on QChangeArbiter for extent changesPaul Lemire2022-06-135-43/+22
| | | | | | | | | | | | | | | | | | | | | | Relying on sync messages is deprecated, CalcBoundingVolumeJob appears to have slipped through when we updated all the other classes. CalcBoundingVolumeJob has therefore been updated to use the postFrame and directly update the frontend Geometry nodes. Note: Qt 3D on Qt6 is correct. Change-Id: I2257bc157474efac8190d763ea7dc331a1d69a86 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Merge remote-tracking branch 'origin/tqtc/lts-5.15.8' into ↵v5.15.8-lts-lgplTarja Sundqvist2022-11-103-3/+5
|\| | | | | | | | | | | tqtc/lts-5.15-opensource Change-Id: I503a36099765acfde0a14df04c8215b055121fa5
| * QGeometryFactory: don't make op== virtualMarc Mutz2021-11-183-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's too clever, and it backfires with compilation errors in C++20 mode: qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:129:29: error: ambiguous overload for ‘operator==’ (operand types are ‘MeshFunctorA’ and ‘MeshFunctorB’) 129 | QVERIFY(!(*functorA == *functorB)); | ~~~~~~~~~ ^~ ~~~~~~~~~ | | | | MeshFunctorA MeshFunctorB qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:72:10: note: candidate: ‘virtual bool MeshFunctorB::operator==(const Qt3DCore::QGeometryFactory&) const’ (reversed) 72 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:50:10: note: candidate: ‘virtual bool MeshFunctorA::operator==(const Qt3DCore::QGeometryFactory&) const’ 50 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ Fix by providing a symmetric operator== for QGeometryFactory that delegates to a virtual equals() method. Change-Id: I23d29ad1b16075629132f2b4757c5810d5615a36 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit ec291f9974ba6d25148955a0b9e55b30c589a9be) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Revert "Update commercial license headers"v5.15.3-lts-lgplTarja Sundqvist2021-03-2339-766/+766
|/ | | | | | | | | | | This reverts commit 03e5f60e585701608c1181365faee484d7a1f14c. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I359e89ed77b1b2750607617d138ebb6c316f0296 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Update commercial license headersTarja Sundqvist2021-02-0239-766/+766
| | | | | | | | | | | | | | | | Updated header.COMM to the files in tqtc-qt3d. Examples, documentation files or tests are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reason for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4155 Change-Id: I139c8ad72c042b0900239decc36cfed4bc1c4951 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Introduce QGeometryRendererPrivate::sortIndexMike Krus2020-11-224-1/+32
| | | | | | | | Lets user override the sorting order of entities. Change-Id: Iab7fd0d705f7ddcb424a59f86f8c2c28059813d1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from commit c6aec09f4f6030fa11b9ba911e4c0df2fe7485b2)
* Fix QBuffer::updateData being called several times in a rowPaul Lemire2020-06-183-8/+23
| | | | | | | | | | | | QBuffer::updateData would send a single update at the time and would overwrite the latest update if it was called again before synching with the backend took place. This patches fixes by storing a list of pending updates instead. Change-Id: I1fc501ad921c953ec88117fcc49c0cfcde6ca8aa Task-number: QTBUG-81921 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge remote-tracking branch 'origin/5.14' into 5.15Antti Määttä2020-04-211-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/renderers/opengl/graphicshelpers/submissioncontext.cpp src/plugins/renderers/opengl/graphicshelpers/submissioncontext_p.h src/plugins/renderers/opengl/renderer/renderer.cpp src/render/backend/attachmentpack_p.h src/render/frontend/qrenderaspect.cpp src/render/picking/qabstractraycaster.cpp tests/manual/manual.pro Change-Id: I617b7e34bf7e11b2921bfc15e1b99c3e81891ec7
| * Check we remove a valid node when removing from node propertiesPaul Lemire2020-02-101-1/+2
| | | | | | | | | | Change-Id: Ibcc4d9bfd9d0a9d7697151915f24a6eecc149f6d Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Remove QtGui module path from OpenGL related pathsMike Krus2020-02-061-1/+1
| | | | | | | | | | | | | | | | Many are moving to opengl module in qt6, will make merging easier. Change-Id: I0ad08510e6999a5d887d9197fe2cb0dc21919fb9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Make the OpenGL renderer a pluginPaul Lemire2020-02-059-9/+9
| | | | | | | | | | | | | | | | By default the QRenderAspect will try to load this plugin Change-Id: Ie55e207fb8e6d0b64f717bbb99699eb669eaa3f2 Task-number: QTBUG-61151 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Deprecate functor APIsMike Krus2020-01-313-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | Deprecate functor based APIs for buffer generators, geometry factories, texture data generators and mesh loaders While these are useful for some of Qt3D's internal mechanisms, they complicate some of the backend operations. Will delete some or make them private in Qt6. Change-Id: I64eaa338e0306647867d2084819ef8591e2c91c0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 5.14 into 5.15Mike Krus2020-01-251-2/+2
|\| | | | | | | | | | | | | | | | | | | * origin/5.14: Fix usage of C++14 features Use animation rather than event to drive simulation Fix for incorrect QML property names in GeometryRenderer doc Add viewAll support for orthographic projection mode Change-Id: I397bdee907389a6f5cabb8390a805fa9a89ed4ca
| * Fix for incorrect QML property names in GeometryRenderer docVolker Enderlein2020-01-131-2/+2
| | | | | | | | | | | | | | | | | | restartIndex property has been renamed to restartIndexValue primitiveRestart property has been renamed to primitiveRestartEnabled Fixes: QTBUG-70433 Change-Id: Ide5d01407d76bed752fb0bcaa8258e58871fafb1 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Fix usages of text stream operatorsAlexandru Croitor2019-12-061-2/+2
| | | | | | | | | | | | Change-Id: I8f3fe9475749f10f33c8eb750befa8845ccc37d6 (cherry picked from commit 58db7d01e0d424fdf46baa70e2e41b8009429c78) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-161-11/+11
|\| | | | | | | Change-Id: I3a0df1d21f3556afc9f26eab13fcc525cf584e7e
| * Doc: Fix documentation warningsTopi Reinio2019-11-131-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add (basic) documentation for Qt3DAnimation::QAnimationCallback. - Add missing namespace qualifiers for \class, \fn, \instantiates, \sa, and \property commands. - Remove linking to example file pages, as QDoc no longe treats them as linkable targets. - Fix function/QML method parameter documentation - Fix missing \qmlproperty types - Fix linking to QKeyEvent in QtGui. - Move Qt3DRender::Quick namespace documentation to where QDoc can see it. - Add enum documentation for Qt3DRender::QBlitFramebuffer::InterpolationMethod and Qt3DRender::QMesh::Status. - Other minor fixes This brings the current warning count to zero. Fixes: QTBUG-79822 Change-Id: I1154a7f9c34917a3f240e99da0e7a300be7d65a0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-022-10/+29
|\| | | | | | | Change-Id: I8564907ed5efd7617be383017fe12ffa7cd3a0d1
| * Buffer: make sure we force allocate before doing partial updatesPaul Lemire2019-10-301-9/+20
| | | | | | | | | | Change-Id: I229f9bcd21a10c0a4cff5c4f559cd285a3e50276 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * Set Loading status on QMesh when functor changesMike Krus2019-10-301-1/+9
| | | | | | | | | | | | | | Will then be set to Ready or Error once the job runs Change-Id: I542fdce9aea08e6e49fdaec645216132a56e7474 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Accept CBOR as optional format in gltf dataUlf Hermann2019-10-291-6/+2
|/ | | | | Change-Id: I8e64f061147af10a0d017238664c483724047059 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Revert removal of more sceneChanged methodsMike Krus2019-10-242-0/+11
| | | | | | | Removal breaks BC Change-Id: I8c324253c3a39c8fd74bf4cc14462f76cd2e4f5e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Restore sceneChangeEvent overload that were removedPaul Lemire2019-10-224-0/+14
| | | | | | | | Not BIC compatible so they must stay until Qt6. Added TODO above them to make it easier to track for Qt6. Change-Id: Ia1adba25be5d55d3fa836727877c7c1f7346b668 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Convent SendBufferCaptureJob to direct syncPaul Lemire2019-10-213-26/+0
| | | | | Change-Id: I8d5bc69cb75d73e628f08d70b2e40d665c39802b Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Convert LoadBufferJob to use direct syncPaul Lemire2019-10-213-16/+13
| | | | | Change-Id: I44334264fba285494624a8a4ee6ff3b85755402c Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix Coverity warningsMike Krus2019-10-211-0/+2
| | | | | Change-Id: I00c875b48d838170fddf0b92f0ac5592828c6f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Buffer: mark as dirty even if empty on firstTimePaul Lemire2019-10-172-2/+4
| | | | | | | | | | We otherwise assert in the case we create an empty buffer that is empty but referenced by Attributes. This is still a valid case as buffer data can be set later on. Change-Id: Ida198f5815f6cbb488b6b27436c4238146c3ae39 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Restore use of Added/Removed messages for aspects not supporting syncMike Krus2019-10-141-2/+2
| | | | | | | | | If (third party) aspects don't support direct sync, restore use of PropertyValueAdded and PropertyValueRemoved messages so avoid breaking existing code Change-Id: Icac717583a8fe72acdb0cf599981251e310734bd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Clean QJoint message handlingMike Krus2019-10-112-56/+6
| | | | | Change-Id: Ib09024017a2d213e50b3acc89d7c411728eb1869 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Convert LoadGeometryJob to use direct syncPaul Lemire2019-10-106-42/+14
| | | | | Change-Id: Id744de2f10e7744ad5a9d4f425ae534153ed7446 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Move skeleton loading code to jobMike Krus2019-10-082-209/+21
| | | | | | | Also removes last couple of messages updating backend to frontend. Change-Id: I65056c7cf5ff06efab9c9a205f843ed882f9c0be Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update LoadSkeletonJob to use direct syncMike Krus2019-10-082-26/+5
| | | | | Change-Id: I5622f9784628b7217f6e37c700ac314b7264f439 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update animation evaluation jobs to use direct syncMike Krus2019-10-082-22/+2
| | | | | | | | | | | | | | Animation data is now stored in the job which propagates them to the frontend at the end of the frame. Animated properties are passed using Qt's property system. Animated poses are passed via the frontend skeleton node. Syncing on new frame will take care of propagating both for use in other aspects. Callbacks are called by the job directly or stored and invoked on the main thread depending on the callback setting. Change-Id: I78675715799300bc1b27f854f1a445c00a2ac734 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Clean up includesMike Krus2019-10-017-13/+0
| | | | | | | | | Remove include statements for classes that are no longer used. Makes it easier to find remaining use cases that need addressed before complete removal in Qt 6. Change-Id: I60529ba1929ad64b162d3847d5df47cde2a60dad Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QAttribute to use direct syncMike Krus2019-09-183-72/+59
| | | | | Change-Id: I92041eeb7c80d46027106834d7c52f854bccb386 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QGeometry to use direct syncMike Krus2019-09-183-51/+21
| | | | | Change-Id: I56397c1962acf0f856d485564b6fac159beebcdd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QArmature to use direct syncMike Krus2019-09-182-24/+12
| | | | | Change-Id: I2d4a34b3acb250e6e8459f1401a0a9e21db24946 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QAbstractSkeleton to use direct syncMike Krus2019-09-182-49/+53
| | | | | Change-Id: I73f5a81171a6ea0d2c59288f7d704ca5390fdd11 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QJoint to use direct syncMike Krus2019-09-182-18/+56
| | | | | Change-Id: I2b86f182a61c18cb6608f2f89938ab342160c924 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QBuffer to use sync updatingMike Krus2019-09-183-63/+42
| | | | | Change-Id: I3a48156b6e9303842ff0670295d28e36d1ff8a9e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QGeometryRenderer to use direct sync modeMike Krus2019-09-183-94/+39
| | | | | Change-Id: Ie7bf8f248d38a98860fb84d7053d75f3383a5bbd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-231-0/+1
|\ | | | | | | Change-Id: I8c12142e4733d0d95fde3e673eb684c47363ff6f
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-161-0/+1
| |\ | | | | | | | | | Change-Id: I0f68ab1277617c32b1c31f29d8793d23d9909208
| | * Joints: remove removed joints from dirty listPaul Lemire2019-07-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In case a joint is added and destroyed within the same loop of the event loop, we need to remove it from the list of dirty joints to process as this otherwise results in an assert. Change-Id: If2f4ece6e2d69a7801ce9c4ec2cb732f48895ad1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-111-0/+24
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id34a7e40a1bd8f5bfbf87d3f3c06129bdfaebdf1
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-271-0/+24
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iae5fa92dfdf8012315c043e20950368e42451e20
| | * Doc: Extend Qt3D documentationPaul Wicking2019-06-071-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds missing C++ and/or QML documentation for: * enum QBuffer::AccessType * QBuffer::accessType() * QBuffer::dataAvailable() * ForwardRenderer::externalRenderTargetSize * enumeration Qt3D.Render.Light::type * Qt3D.Render.Light::color * Qt3D.Render.Light::intensity Fixes: QTBUG-73071 Change-Id: I48b13cb8001558b20bd801b6f96f5b5933144d82 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-06-251-0/+11
|\| | | | | | | | | | | Change-Id: Ib1f5677a99f63b15c3990fea130c8bbe946f31ff