summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix qml signal documentation for QObjectPickerPaul Lemire2017-08-181-35/+62
| | | | | | | | | | | | | | | | Also align everything properly Change-Id: I7948670912f3d321829ee1af90ebcb2497b6f98f Task-number: QTBUG-61996 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix qml signal documentation for QMouseHandlerPaul Lemire2017-08-181-25/+49
| | | | | | | | | | | | | | | | Also align everything properly Change-Id: I65d4ed2646ed69a5037f9e8bca3c6ade6f7199b8 Task-number: QTBUG-61997 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Doc: add missing QGeometryRenderer Lines primitive typeMassimo Callegari2017-08-161-0/+1
| | | | | | | | | | Change-Id: Id9b03475181ef28dbee7d51d5ef3f7671f815343 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix Quick3DNode factories following QQmlType changesPaul Lemire2017-08-1610-27/+15
| | | | | | | | | | Change-Id: I333485024f4c5534d8f2bf6ee301ba52638e6126 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * VSyncFrameAdvanceService: fix Scene3D renderingPaul Lemire2017-08-115-7/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rendering with Scene3D it could be that doRender() is called a lot more times than the speed at which the Qt3D simulation loop is running (this happens when resizing the window) This results in vsyncFrameAdvance->proceedToNextFrame() being called while the simulation isn't in a waiting state (simulation loop not yet blocking on vsyncFrameAdvance->waitForNextFrame()). This means that when the simulation loop finally unlocks, it would be able to make several loops for a given frame. Obviously this is really dangerous as the simulation loop drives the synching of changes and this could result in the data being prepared by the render jobs and the actual data in the managers to be corrupt. To fix that, vsyncFrameAdvance->waitForNextFrame() now acquires all available resources + 1 to cope with proceedToNextFrame being called more than once. Obviously this doesn't happen when Qt3D drives the rendering and the VSyncFrameAdvanceService was adjusted to have different behaviors depending on whether we are rendering with Scene3D or not. Change-Id: I495779571256d132fa7e1b3b31114f737de35a71 Task-number: QTBUG-60613 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Doc: add doc to undocumented methodsNico Vertriest2017-08-112-0/+22
| | | | | | | | | | | | | | | | - qtext2dentity.cpp - qabstractphysicaldevice.cpp Change-Id: I026ac031c366c979e17667c3635c1a391a5bba8a Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Doc: correct declaration qml propertiesNico Vertriest2017-08-113-8/+6
| | | | | | | | | | | | | | | | | | | | qadditiveclipblend.cpp:173: warning: Unrecognizable QML module/component qualifier for AbstractClipBlendNode baseClip qadditiveclipblend.cpp:191: warning: Unrecognizable QML module/component qualifier for AbstractClipBlendNode additiveClip qblendedclipanimator.cpp:276: warning: Unrecognizable QML module/component qualifier for AbstractClipBlendNode blendTree qclipanimator.cpp:124: warning: Unrecognizable QML module/component qualifier for AbstractAnimationClip clip Change-Id: Ic761f75986e41dc4ec7ab9e97e6776e49498f870 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Fix Qt3D.Animation version in documentationTasuku Suzuki2017-08-042-3/+3
| | | | | | | | | | | | | | Qt3D.Animation only supports version 2.9 Change-Id: Ib300af05412e748384f988a930d14e650da6d701 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Implement property updates for QStencilTest and QStencilOperationWieland Hagen2017-08-036-30/+128
| | | | | | | | | | | | | | | | Make sure to catch all changed signals from the arguments classes and re-send the arguments to the backend. Change-Id: I0a5e2f42fce4c5ff81489d8a66ad277aa607db0c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix QAlphaMask and QStencilMask render states property updatingWieland Hagen2017-08-033-1/+10
| | | | | | | | | | Change-Id: Ie11ce88441a6d287d50d1cb78365a65b2742a502 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add QRenderState unit testWieland Hagen2017-08-034-1/+314
| | | | | | | | | | | | | | Backend nodes should receive frontend proeperty changes Change-Id: I19ba70d08de833aab467a51d5b21553f0b602ec6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Disable QQmlType codepathsPaul Lemire2017-08-035-0/+10
| | | | | | | | | | | | | | Will allow to update the qt5.git configuration without breaking the CI Change-Id: I16d7e2af9da935d4d31f5909575c8edec4a9432e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add private module qt3dcoretestSean Harmer2017-08-037-0/+366
| | | | | | | | | | | | | | | | Static library containing helpers for unit tests to avoid having to build the same files 200 times. Change-Id: I89d63abbd7777a96276154298c2748e2d6774514 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Doc: fix minor link issueNico Vertriest2017-08-031-1/+1
| | | | | | | | | | | | | | qlevelofdetail.cpp:270: warning: Can't link to Qt3dRender::QLevelOfDetailBoundingSphere Change-Id: I29b023f5a2c60a62dd7bdacf63182649dd947059 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix compilation on linux with -qt3d-profile-jobsPaul Lemire2017-08-031-0/+1
| | | | | | | | | | Change-Id: Iebecab6fa362bb6bda4ee720cb0259214ced52a4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * 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>
| * Doc: correct link to TextureNico Vertriest2017-08-021-2/+2
| | | | | | | | | | | | | | qparameter.cpp:47: warning: Can't link to Texture Change-Id: I32bd287393d0704246d28768f949f84e161ca7fb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Fix RenderCommand sortingPaul Lemire2017-08-025-34/+365
| | | | | | | | | | | | | | | | | | | | | | | | - Remove type punning mechanism that was used to filter previously (could lead to undefined behavior) - Properly filter based on shader and material - Add unit tests Change-Id: I8d0fd4a49d586e6ec26515e2cafe1ea94d38f8f1 Task-number: QTBUG-60183 Reviewed-by: Oleg Evseev <ev.mipt@gmail.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix RenderState property updatesWieland Hagen2017-07-221-11/+12
| | | | | | | | | | | | | | Some had old property names Change-Id: Id82fcce9dac05d2566bafabebf66ff51300db16d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Use QSharedPointer::create() moreMarc Mutz2017-07-2228-75/+75
| | | | | | | | | | | | | | | | | | | | This is the result of running the (experimental) clang-tidy check qt-modernize-qsharedpointer-create Discarded changes: none. Change-Id: Ic6368521ebf5841267ffe7917cc652627f7b26a7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix build: src/plugins/sceneparsers/assimp depends on Qt3DAnimationThiago Macieira2017-07-201-1/+1
| | | | | | | | | | | | | | | | | | /usr/bin/ld.gold: error: cannot find -lQt53DAnimation assimpimporter.o:assimpimporter.cpp:function Qt3DRender::AssimpImporter::node(aiNode*): error: undefined reference to 'Qt3DAnimation::QKeyframeAnimation::setTarget(Qt3DCore::QTransform*)' Change-Id: I84e45059a888497fb55ffffd14d2e19ea52ecf55 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Fix memory leaks in assimp SceneLoaderMäättä Antti2017-07-201-0/+34
| | | | | | | | | | | | | | | | | | Add deallocation guard agains resources allocated by the assimpimporter and deallocate them when the scene is deallocated. Task-number: QTBUG-61856 Change-Id: I2f7ddb1654da1674fa448861dfd2b368a55eb4f0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * RenderCapture: read back from the correct framebufferPaul Lemire2017-07-1725-37/+722
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Improve supported file format documentation in QMeshTasuku Suzuki2017-07-131-4/+24
| | | | | | | | | | Change-Id: I2078bec7dccea9f2c41978da310376df4ed84cff Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Fix tst_shaderbuilder following change in QShaderGeneratorPaul Lemire2017-08-191-1/+1
| | | | | | | | | | | | | | | | Change in question is on qtbase: b6c3f55b932b28a7e4acdd5952a93e929b461b92 Change-Id: Iaeb64f2fd3a9f9ca57d5e57609cb3f1b6a5aa153 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Renderer: launch proximity filter jobPaul Lemire2017-08-1911-8/+279
| | | | | | | | | | | | | | Also added a manual test example Change-Id: Ib560dcfdd5e0996cb40d892886c94212e3f8e32d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Entity: use macros to reduce code duplicationPaul Lemire2017-08-182-357/+95
| | | | | | | | | | | | | | | | | | | | These macros make it easiers to define the template specializations for componentHandle, renderComponent and componentUuid Functions are privately exported as this is required for Scene2D. Change-Id: I14a90ad5db1a506f1c5d3d02fa671e940f6290a0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | qt3d_animation_export.py: fix crashPaul Lemire2017-08-181-9/+14
| | | | | | | | | | | | | | | | Do the fCurveIndex lookup in the right code branch which otherwise could lead to out of range access (euler to quaternion case) Change-Id: Ib3da1186ec2b20021436434c54a26f13969c49d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | FilterProximityDistanceJob addedPaul Lemire2017-08-187-4/+520
| | | | | | | | | | | | | | | | | | | | Filters entity based on distance between an entity and another target entity. Properly unit tested Change-Id: I776c634dee2d4fd94c40cb5720cc5588daa1b741 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add ProximityFilter backend nodePaul Lemire2017-08-188-4/+328
| | | | | | | | | | Change-Id: I2e3fa11cae9113106e4a8c77832e3a2a3c27a24a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add QProximityFilter FrameGraphNodePaul Lemire2017-08-189-3/+655
| | | | | | | | | | | | | | Allows to filter entities based on their distance to another entity Change-Id: Id2486edc5ec49722308c4b94a87e61241e5bd932 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Remove unused code using past internal APIPaul Lemire2017-08-183-56/+0
| | | | | | | | | | Change-Id: I272642205ad01ae0b838c7ca5cda5bd4b33a57a8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Fix and improve layer filteringPaul Lemire2017-08-1814-295/+688
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now handle the case where multiple LayerFilter nodes are nested within the same FrameGraphBranch. We also have improved the Accept/Discard into Accept Any/All and Discard Any/All which should now handle all filtering cases. We now build a list of layerIds stored into Entity based on the recursive flags on the layers being set. This allows to make layer filtering simpler but the layerIds list building step will need to be improved as a follow up commit Unit tests updated Change-Id: I93451493e41c6c9486defa7e88eaee073a9bc932 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Disable SIMD for msvc2013 on x86Sean Harmer2017-08-171-2/+2
| | | | | | | | | | | | | | | | Avoids an internal compiler error. Task-number: QTBUG-62551 Change-Id: I74275d07cfbff2c7053d819fe7fb64fe69a2f634 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 euler rotation angle convenience properties to QJointSean Harmer2017-08-164-0/+206
| | | | | | | | | | | | | | As we did for QTransform. These are frontend only properties. Change-Id: Ic2fb1080ff68e26437c7e35632bdfcc00e51c017 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>
* | Create QJoints using factorySean Harmer2017-08-161-1/+3
| | | | | | | | | | | | | | | | That way we get the QML object including the extension object if using QML. This then allows us to access the child joints. Change-Id: I5c95da830625399f75ee7dfcab0f68263aa3b865 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add extension object for QJoint to manage child joints from QMLSean Harmer2017-08-165-2/+192
| | | | | | | | | | Change-Id: I074e78f5e0c0be878d697dc87846ecc6ed6cd78f 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 local poses of JointInfos from dirty JointsSean Harmer2017-08-167-5/+53
| | | | | | | | | | | | | | | | | | | | | | These will then get picked up when calculating the skinning matrix palettes for the armatures. In the future, this job is a good candidate for being decomposed into multiple jobs for data parallelism e.g. one job per skeleton. Change-Id: Ie1e7ddb3baec80f639bf8824482f730967a43afe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Trigger a skeleton re-load when an inverse bind matrix changesSean Harmer2017-08-164-7/+22
| | | | | | | | | | | | | | | | This is a rare operation so should not be a problem to do a full skeleton rebuild when it happens. Change-Id: I00c3293dfff91d99bda762051714cb9eaae2c40f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Set the SkeletonManager on Skeleton with a custom node factorySean Harmer2017-08-164-2/+47
| | | | | | | | | | | | | | Aligns it with Joint for consistency. Change-Id: Ie14dc65e8c00782bbb3e4b4a2270970b095a3586 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Change SkeletonManager to accept HSkeleton directlySean Harmer2017-08-163-7/+6
| | | | | | | | | | | | | | | | Avoids repeating the same lookup from QNodeId each time we mark a skeleton as dirty. Change-Id: I8a1365949532f6707c001b6f605efdedfb322f31 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Create SkeletonData from Joint backend nodesSean Harmer2017-08-168-5/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be done either by using a QSkeleton on the frontend or with a QSkeletonLoader that has the createJointsEnabled property set to true. In the latter case, the loader creates the joint node hierarchy on the backend then moves them to the main thread in a similar way to QGeometryRenderer handles Geoemtry. Once the joint hierarchy is set on the frontend QSkeletonLoader, it notifies the backend and from there it follows the same code path as for QSkeleton. Change-Id: I5f673e154bb3a3e677b80b8ee984f4168403c288 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add backend node for QJointSean Harmer2017-08-1613-3/+569
| | | | | | | | | | Change-Id: Ie06f41aefebf9c5c5d8dd8bcd68f9f352799ad18 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Update skinned mesh example to expose joints of objectSean Harmer2017-08-1616-21/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | GraphicsHelpers: fix handling of matrice attributesPaul Lemire2017-08-115-0/+44
| | | | | | | | | | Change-Id: I881c284be36e6017f7aab7551db1b99abaee11fe Reviewed-by: Sean Harmer <sean.harmer@kdab.com>