summaryrefslogtreecommitdiffstats
path: root/tests/manual
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-131-1/+1
|\ | | | | | | Change-Id: I359b15d87622515ee4f05db1f01d4b476027378e
| * Fix download test after removal of assetsMike Krus2019-08-071-1/+1
| | | | | | | | | | Change-Id: Id7f37b014dec7f395bbf3d2c6c22ea59283257ec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-2314-1/+857
|\| | | | | | | Change-Id: I2a66e9344b72524431885bdf5f59fcaedb94c718
| * RenderStates: fix override of nested RenderStatesPaul Lemire2019-07-1814-1/+857
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When merging states, make sure we don't add several states of the same types with possibly different values. We should only add states with type we don't already have. Since the FG traversal is done from leaf to root, we know that the states we already contain should override any state that may have been specified higher up in the FG branch. Change-Id: I9bd1eadd37e8addf740a4b85b2318f9be269fedb Task-number: QTBUG-76766 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 5.12 into 5.13Paul Lemire2019-04-263-0/+253
|\| | | | | | | Change-Id: I42affdd02bddb5205b9f2455f0c5e5efbd414dd8
| * Fix Entity parenting hierarchyJim Albamont2019-04-043-0/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the initial Entity backend node hierarchy is created it skips over any non-entity nodes to ensure that Entities are only parented to other Entities. Calling QNode::setParent breaks this when reparenting Entities to non-entity nodes. Fix by sending a new "parentEntityUpdated" property update that backend Entity nodes listen for. They keep the id of their new parent and flag the need to rebuild the entity hierarchy. This triggers a new job to clear the children and parents of every backend Entity, then rebuilds the hierarchy using the stored parent ID in each Entity. This is much more forgiving of creation/parenting ordering issues and shouldn't be less performant because any Entity reparent was previously marking everything dirty anyway. Add a new test from QTBUG-73905 that creates 4 cylinders and manipulates the parents in different ways. Add a new test to tst_nodes to reparent a QEntity to a QNode and ensure the entity finds it's correct QEntity parent. Add a new test to tst_entity to ensure backend nodes correctly handle the new parenting events. Task-number: QTBUG-73905 Change-Id: Iab0203947d89bbed2868b3629fbde879675fe568 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge branch '5.12' into 5.13Paul Lemire2019-04-023-1/+160
|\| | | | | | | Change-Id: If17511da64dd666a536408aa3cb3178ef6db0403
| * Add manual test for backend node creation for componentsSvenn-Arne Dragly2019-02-223-1/+160
| | | | | | | | | | | | | | | | | | This test triggers the case referenced in QTBUG-72236 and is added to avoid regressions. Task-number: QTBUG-72236 Change-Id: I797015dfe25a084e75183c02e07dddb224fbc738 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-101-2/+24
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ie8a4bf768bffba61dca9e315151c035be7b48723
| * Picking: viewport contains check needs to use pos in GL coordinatePaul Lemire2019-01-071-2/+24
| | | | | | | | | | | | | | | | | | | | The viewport rect is computed in GL coordinates. Therefore we need to check if the mouse is contained with the position in GL coordinates. The error is not noticeable unless you are using non full height viewport. Change-Id: I1c39ff91da4a3649288826b939071a298c83c723 Task-number: QTBUG-72856 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-251-0/+2
|\| | | | | | | Change-Id: I13dfef5918cada019dfa29a28a8eee6a6efa7e27
| * texture_property_updates test: specify texture formatPaul Lemire2018-12-211-0/+2
| | | | | | | | | | | | | | | | | | It used to work before because it would default to RGBA_Unorm but that should be either deduced when using a QTextureLoader or specified when using a raw QTexture2D Change-Id: I930ce490a393f48b870d4e2c1f15e0551c468f2d Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Texture: update renderer to send handle and handle type on frontend texturesPaul Lemire2018-10-112-1/+5
| | | | | | | | | | | | Change-Id: I78047f354a9f7cdbb56bd2b5dee79cb77e6cb749 Task-number: QTBUG-70055 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Renderer: implement using OpenGL textures from a texture idPaul Lemire2018-10-119-0/+829
|/ | | | | | Change-Id: Ifc65966c50cb6fc8780206852f92bf1d4a6b4d5b Task-number: QTBUG-69918 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* EntityLoader: add sourceComponent propertyPaul Lemire2018-08-201-26/+49
| | | | | | | | | Now handles either loading from file or from a Component [ChangeLog] EntityLoader now also supports loading an Entity from a Component Change-Id: I1988f897071e5527b36e1b494bba57e9ab165bd8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Properly update properties from Backend to Frontend texturesPaul Lemire2018-08-087-1/+308
| | | | | | | | | | | | | | | | | | | Taking into account we have texture sharing in the backend, we can only update frontend texture properties once we have created the shared backend texture. Code was adjusted to retrieve these properties when creating the GLTexture. Such changes are stored and sent on the next run loop from a job where they are distributed to all referenced frontend Texture. The status property handling has also been updated to send status changes to all shared textures instead of just the texture whose data generator is used to gather the data. A manual test checking texture property updates, sharing and remote url sharing has also been added. Change-Id: I8ed2449fe57c9d7337580b0f7561f974cbd5006d Task-number: QTBUG-65775 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for loading specific animations from glTF 2 filesSean Harmer2018-08-029-0/+586
| | | | | | | | | | | | | | Can now specify source urls to QAnimationClipLoader with query parameters for animationIndex or animationName. Add a new manual test to demonstrate/test this by loading the 2nd animation from the Rigged-Simple.gltf file. Will followup with the same support for Qt 3D native json animation files. Change-Id: Icb66073f29b8471fe06e2e2e9c43720567dc9ee5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix: Do not enforce TextureImage to be parented only by TexturePaul Lemire2018-07-186-1/+224
| | | | | | | | | | | | | | | | | | | | This behavior prevented using TextureImage not directly parented by the Texture that uses them (assert would be triggered). In turn, this also prevents sharing a TextureImage among several Texture instances which is counter productive since this is where the data is actually stored. This patch fixes this issue. It removes all direct coupling between Texture and TextureImages. Now Texture only contains the list of TextureImage ids it references. This allows to not make look-ups into the TextureImageManager to retrieve handles, which could be an issue if TextureImages have not yet had their backend created. TextureImage doesn't keep track of the referencing texture that uses it anymore. Instead, we let the renderer do the job of checking if any of the TextureImage referenced by a Texture has changed to trigger actual Texture update. Change-Id: I3c63379d0f4b314e9b53f225870eeaded0bb4aec Task-number: QTBUG-69407 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add replacement materials examplev5.11.0-beta3Sean Harmer2018-04-042-2/+2
| | | | | | | | | | | | | | All texture assets were made by KDAB under the CLA. The material "sphere" mesh is from Allegorithmic and published under the Creative Commons 4 license. See paragraph 1.2 of https://www.allegorithmic.com/legal/substance-share Task-number: QTBUG-61415 Change-Id: I23d61723bbac561e22e11fa57105b29148c01699 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 74c06c02f896c6aba408cfd0857d317378572736)
* Notify texture status changedMike Krus2018-03-161-2/+5
| | | | | Change-Id: Id8ef731d5f80648c19221c1d1b334bd8367188c3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Manual unit test for ray castingMike Krus2018-02-0112-1/+637
| | | | | | Change-Id: Icdd27b5ef6b50512e4af40d68d1ba7525f56b991 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add normalizedTime function to blendedlclip animatorsChristian Strømme2018-01-231-7/+9
| | | | | Change-Id: I19c1907371d9d131295558eb19c297d544ebef7d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Mesh loading: send status updatePaul Lemire2018-01-221-0/+1
| | | | | | Change-Id: Id4b73655ee30c3c225ee804f1e9244cc2b16aebf Task-number: QTBUG-60927 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix layer filter manual testPaul Lemire2017-11-161-2/+2
| | | | | Change-Id: I88eb9b0a88291a5152d5eded3c16d01c84a459fe Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix animation local time calculation when changing playbackRateJuan José Casafranca2017-10-062-4/+44
| | | | | | | | | | Animation local time was computed in absolute mode, as a scale of the global time that has passed since the start of the animation. Now is computed relative to the last local time, as the last local time + a scale of the elapsed global time. Change-Id: I5c29002602a5184174618ac7755ec94f5c7a328f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.9' into 5.10Sean Harmer2017-10-053-29/+48
|\ | | | | | | | | | | | | Conflicts: src/animation/backend/animationutils.cpp Change-Id: I6bd0d1d15da00537a0bb064fc828b2460584b8e8
| * Share the effect from the phong materialSean Harmer2017-10-033-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only loads the shader source once instead of 1000 times. Reduces the time to first frame by a further 30% by massively reducing the work the main thread has to do at startup. The Qt3DExtras material classes are convenient but lead to bad practices like this. We should provide a way to allow them to share the effect easily but still use the provided materials for their API. Perhaps a new ctor overload that takes a QEffect pointer would work nicely. Also fixed some float vs double vs int precision warnings as a drive by. Change-Id: I181de8d95841eb88c91c29ef6f45d215da079b98 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Share the mesh in bigscene-cppSean Harmer2017-10-033-8/+12
| | | | | | | | | | | | | | | | No point loading the same data 1k times. Shaves 35% off the time from application start to first frame being complete. Change-Id: I8cd7c8a5aa377c0663c03e35d7a4c03f50b052f6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Use qFuzzyCompare for rotation anglesSean Harmer2017-10-031-2/+2
| | | | | | | | | | | | | | Fixes clang warning. Change-Id: I1831bd112c33cdd1fe9cc7ae169cfba05cb8a694 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Don't send change notifications for unneeded propertiesSean Harmer2017-10-031-0/+4
| | | | | | | | | | | | | | | | | | The backend doesn't need to know about the rotation angles used to update the transform. Saves about 3% of time on the main thread related to mallocing the property change notifications. Change-Id: I784baf705cdd697ba860dc7a0c2e0e1c9ee467ec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Extend skinned mesh manual test to use an animatorSean Harmer2017-10-038-5/+4722
| | | | | | | | | | Change-Id: I890abe966ba617f23a07137c6347fafac97ab591 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Remove duplicate SUBDIRS entry from manual testsSean Harmer2017-08-301-2/+1
| | | | | | | | | | Change-Id: I6f3de6e15a77695fea0cea1bc38ffc7c21607897 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | BlitFramebuffer framegraph nodeJuan José Casafranca2017-08-235-1/+367
| | | | | | | | | | | | | | | | This node allows to copy the content from one FBO to another or to screen Task-number: QTBUG-58162 Change-Id: I6016c46d9d538a012c2f641116ed766dd70ad021 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.9' into devSean Harmer2017-08-1912-64/+653
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix deferred-renderer-qml lightingWieland Hagen2017-08-024-63/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The lights must be part of entities that are actually included in the final scene effect layer. So the light world positions have to be forwarded from the actual scene entities to some "dummy" light entities that exist just for the final scene effect render step. Also correct model / modelNormal matrices must be used for global normal/position calculation in the GBuffer render step. Task-number: QTBUG-46707 Change-Id: I380d2e2ecb008ab0606dcd36cd5d98dd1ec41ba6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * deferred-renderer-qml example: add all .qml files to projectWieland Hagen2017-08-021-0/+2
| | | | | | | | | | Change-Id: I9add67acbfab26c78c137753bb6b81865bf0abcf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * RenderCapture: read back from the correct framebufferPaul Lemire2017-07-177-1/+532
| | | | | | | | | | | | | | | | | | | | | | Up until now, RenderCapture would read back from the back buffer. In cases where it's used within a RenderTargetSelector, it should instead read back from the ColorAttachment0 of the framebuffer. Later on we might allow to specify the ColorAttachment. Change-Id: I9ca94333184338b2fdb79c5c2668d5929ac8d405 Task-number: QTBUG-61547 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Renderer: launch proximity filter jobPaul Lemire2017-08-195-1/+229
| | | | | | | | | | | | | | Also added a manual test example Change-Id: Ib560dcfdd5e0996cb40d892886c94212e3f8e32d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Remove misplaced execute permissionsEdward Welbourne2017-08-161-0/+0
| | | | | | | | | | Change-Id: Ie7a467738007a4ddd503f435abca9ceadf0c0979 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Adapt manual test to rotate the child jointSean Harmer2017-08-161-13/+13
| | | | | | | | | | | | | | More realistic use case than translating a joint. Change-Id: I8d7dd45320d461ed8d9792cfa6b7fa4610cd5d45 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add the animation to the child joint rather than root jointSean Harmer2017-08-161-5/+5
| | | | | | | | | | | | | | Shows how to animate joints using frontend API. Change-Id: Ie2de8bebaa4fab3c83c83cfa8e560a0b4ee96e45 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Attach an animation to the root joint of the simple rigged modelSean Harmer2017-08-162-0/+36
| | | | | | | | | | | | | | | | For now it's just a simple translation. Will build this up to make a non-root joint do more interesting things. Change-Id: I53496dee3b62d1979ddcb8663bfd3cdec2d53a38 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Update skinned mesh example to expose joints of objectSean Harmer2017-08-162-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | To do this we add a helper Sqt struct that wraps up an affine transformation as a scale vector, rotation quaternion and a translation vector. This is the format in which the animation aspect will animate the joints later so it's easier to keep the transforms split like this. It's also less data to move around compared with a 4x4 matrix (10 vs 16 floats, 12 including the padding). Change-Id: Iaa30b5ef5d1635cc208ead918827140cf2765908 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Extend skinned mesh example to show a simple model tooSean Harmer2017-08-105-50/+95
| | | | | | | | | | Change-Id: Ife2a5c1906e9a66858fa1bf5b8a5bcff3cb61feb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Extend skinned mesh manual test to consume skinning paletteSean Harmer2017-08-101-4/+19
| | | | | | | | | | Change-Id: I07e6d46e7f1350fe2d3e3fef86e751dc2a1f3d7d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Use a custom material in skined mesh manual testSean Harmer2017-08-094-5/+118
| | | | | | | | | | | | | | | | In preparation for when the renderer can populate the skinning matrix palette. Change-Id: I0abd57397cb905aa3b5cc237364a5b8edb817174 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add jointCount property to QAbstractSkeletonSean Harmer2017-08-091-0/+1
| | | | | | | | | | | | | | Set this from the backend when a skeleton is loaded. Change-Id: I752670b93b6ae1fad70534b5f8983ae2ca86fd78 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Load skeleton from glTF 2 fileSean Harmer2017-08-091-0/+1
| | | | | | | | | | Change-Id: I2f775b9b81b2e5cbfccb3d4ff2d58fe7a3225b61 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add manual test for skinned mesh renderingSean Harmer2017-08-086-1/+284
| | | | | | | | | | Change-Id: I904e3f41a44dd549334c884c2dc96ff6fb928a45 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Accept/Drop entities and filter recursivelyJuan José Casafranca2017-08-025-1/+305
| | | | | | | | | | | | | | | | | | | | The layer now may specify if a subtree must be completely accepted recursively. The layerfilter can specify if the entities must be accepted or dropped. Task-number: QTBUG-59814 Change-Id: I7beff9e036d5de8b128cf960ba5f11477e5784e1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>