summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QNode: stop using hash<node,connection> for bookkeeping5.13Paul Lemire2019-11-042-9/+17
| | | | | | | | | | | | | | | It is totally valid to have actually the same node used for 2 distinct connections (e.g setting 2 different node properties to the same node). With the hash, the second setter call would overwrite the first connection resulting in leaving a dangling connection around potentially resulting in crashes. Instead use a QVector<pair<node, connection>> and adjust code accordingly. Change-Id: I49870c409c3f7b629c8f1bdfcb8757a904db2490 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 906f8a62f89a7ce2343a155e6db62616e66dc14b) Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix the way we compute light positionsPaul Lemire2019-10-291-1/+2
| | | | | | | | | | We were using worldBoundingVolume->center() but this has been changed recently and a null bounding volume now cannot be transformed. Instead just use the worldMatrix transform to compute the light position. Change-Id: I2d884a4a5a3808ff812eb581f6bb631bbe6ab4c1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add documentation for PhongAlphaMaterial propertiesMats Honkamaa2019-10-171-0/+35
| | | | | | | | | | Added documentation for the following PhongAlphaMaterial QML Type properties: blendFunctionArg, destinationAlphaArg, destinationRgbArg, sourceAlphaArg, and sourceRgbArg. Task-number: QTBUG-78480 Change-Id: I392480926f8803e82ad88ee9638130c6f9b74931 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add BufferCapture QML documentationMats Honkamaa2019-10-171-0/+8
| | | | | | | | Copied the very basic C++ docs. Task-number: QTBUG-79109 Change-Id: Ib5803dfc06d7d10001e31f9cb0c113509cc23f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QML doc for texturesPaul Lemire2019-10-162-0/+185
| | | | | Change-Id: I649cf174ff59c64358d13c762eeb500521f712ce Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Add light_0/7 as uniformsJuan Jose Casafranca2019-10-161-0/+23
| | | | | | | | | Some ES2/3 drivers dont support structure arrays This patch uploads also light_0/7 uniforms in addition to light[0]/[7] so the shader can be unrolled for those devices that need it Change-Id: I9356e7624c1c0593e7803914f0ecf2d84de48681 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Renderer: check context thread before destroying resourcesPaul Lemire2019-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | Only try to cleanup the resources if we know we are called from the right thread. releaseGraphicsResources can be called from 2 places: - Scene3DCleaner when using Scene3D (when closing the window) - AspectThread when the RenderAspect gets unregistered In configurations where the context lives in the main thread (Scene3D + single threaded render loop / ANGLE), the RenderAspect gets unregistered before the Scene3DCleaner has had time to call releaseGraphicsResources. This means that we won't release the resources ourselved and that the driver will have to do that for us. This has been fixed properly in 5.14 with the AspectThread removal. Task-number: QTBUG-60971 Change-Id: I49c1c2f74ad09e7162b988f87bac65863f8490d8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Use correct qml module names for qml typesPaul Wicking2019-10-142-1/+2
| | | | | Change-Id: I19c9f2a3d31af77366316e78194a15789d1b67f9 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Add note to material system nodes that can't be disabledAntti Määttä2019-10-104-0/+16
| | | | | | Task-number: QTBUG-67017 Change-Id: I20acb3aa5e778be7752e1568b08001838f094eb3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make sure right screen is set on QOpenGLContext and QOffscreenSurfaceAndy Shaw2019-10-109-0/+34
| | | | | | | | | | 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>
* Fix blitting to also blit depth and stencil buffersPaul Lemire2019-10-091-1/+2
| | | | | Change-Id: Ib7b491c638508cfcdfbd523fd4e6a3d757c2c832 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Prevent picking from losing eventsAntti Määttä2019-10-091-2/+2
| | | | | | | | | | | Use append instead of assingment in PickBoundingVolumeJobs setxxxEvents. The setters gets called more times than the job gets to run so appending will not overwrite the events we have not processed yet. Task-number: QTBUG-69397 Change-Id: I4823ac5f622f636ee18af64d729ef196f76bc886 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add comment about far plane value affecting pickingAntti Määttä2019-10-091-0/+6
| | | | | | | | Task-number: QTBUG-70589 Change-Id: I397d24f3d7fed25fe3612e481a3ee16d4e0fe1ab Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix rendering when closing and re-opening a windowTomi Korpipaa2019-10-091-4/+0
| | | | | | | | | | | | | Scene3D stops rendering if a window is closed and then opened again. That happens because eventfilter was removed at SurfaceAboutToBeDestroyed. There is no need to remove the event filter, as a destroyed window will not receive any events in any case. Task-number: QTBUG-77263 Change-Id: I1bcf3c572da6c06c09d1d9590bd8481b1fed6953 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add documentation for AbstractClipAnimator QML type propertiesMats Honkamaa2019-10-081-0/+22
| | | | | | | | | Add documentation for the following QML properties: channelMapper, clock, normalizedTime, running. Task-number: QTBUG-78482 Change-Id: I1c24b5f9cbf647eda6f7bb329c58e496dcb22f4a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Clarify Scene2D input event supportTomi Korpipaa2019-10-071-0/+4
| | | | | | | Task-number: QTBUG-63900 Change-Id: I4a0331cd364480f6cdbf89e53ae486f13e6c3fe7 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Ensure we can build assimp on Windows and macOS with non gcc compilersAndy Shaw2019-10-071-1/+1
| | | | | | Fixes: QTBUG-75145 Change-Id: Ibee7d877bf78c2d2ed74ac8a89b7af5bf22f14f1 Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Doc: Add inherits tags to ClipAnimator and BlendedClipAnimatorMats Honkamaa2019-10-042-0/+2
| | | | | | Task-number: QTBUG-78485 Change-Id: Ic80a17b40c9ee81fd7bac2e669e729358c19c340 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix for bounding volume handling and calculationVolker Enderlein2019-10-013-34/+107
| | | | | | | | | | | | | | - Fixed Ritter algorithm implementation - Added notation of invalid bounding sphere (radius == -1.0) - Handle merging of invalid bounding sphere with valid ones - Added test cases and adjusted tests boundingsphere and proximityfilter - This is necessary to ensure the correct working for viewAll and viewEntity Task-number: QTBUG-78313 Change-Id: I1dc6d227cf9009f6fbd3230093c7a7a94fb05ae3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Reset input axis changes when enabling camera controllerMike Krus2019-09-302-0/+8
| | | | | | | | | | | When input axis are enabled or disable, we now reset the value to 0. And enabling or disabling the camera controller, we now do the same for the axis. This prevents residual movement when re-enabling the controller due to the asynchronous updates. Task-number: QTBUG-77996 Change-Id: I5ac016d5b708e1f8d8eaa996bbd28c00c0f05e79 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix documentation issues for Qt3DRender::QTexture* classesTopi Reinio2019-09-271-2/+24
| | | | | | Fixes: QTWEBSITE-878 Change-Id: I8a4ac1de75dfb8ec4ff784a01d3e4abbc031a7ba Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix potential memory leakMichael Brasser2019-09-171-1/+1
| | | | | Change-Id: I91a41154ad4acb0f1f7497a2616d219770640ca6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Disable frame action when camera controller is disabledMike Krus2019-09-041-1/+2
| | | | | | | | | | | | | If a camera controller gets disabled while a movement is in progress, it may start moving indefinitely without any mouse events, or not respond to mouse events to stop the movement. Disabling the frame action will prevent this. Task-number: QTBUG-77996 Change-Id: I0120436a8ff9ff8b4306c41053aa494ac2ec3f42 Reviewed-by: Akihito Izawa <akihito.izawa@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-3112-27/+53
|\ | | | | | | Change-Id: Iae9a2903afd5da09cfd9288ff6cf74d7f069c83b
| * Minor fixes for QSprite* classesMichael Brasser2019-08-303-6/+6
| | | | | | | | | | | | | | | | * Fix off-by-one errors * Allow non-integer cell sizes Change-Id: I081cb5050a6805cbc9183fb2a7a1ee07b5594187 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * Update MetalRoughMaterial documentionMichael Brasser2019-08-291-3/+3
| | | | | | | | | | | | | | | | These properties are not strongly typed. Change-Id: I02c8b793cc7b7f9e88a8b8598ea27efa93fa0468 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Fix LerpClipBlend QML documentationMats Honkamaa2019-08-271-3/+3
| | | | | | | | | | | | Task-number: QTBUG-74682 Change-Id: I346d31333f4bbce9a909798c176ad09fc2267859 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Add QML documentation for ClipBlendValueMats Honkamaa2019-08-261-0/+11
| | | | | | | | | | | | Task-number: QTBUG-74683 Change-Id: I821e52ab071b422c1e1351d59b83e9879fa2a884 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Allow multiple instances of a few render statesHarald Vistnes2019-08-265-14/+29
| | | | | | | | | | | | | | | | | | | | Allow more than one instance of BlendEquationArgumentsMask and ClipPlaneMask render states. Task-number: QTBUG-77735 Change-Id: I9d2bdc82843e2eaf0f8a781208e4ca10e3a777c7 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Add missing * for SkyboxEntity QML type documentationMats Honkamaa2019-08-261-1/+1
| | | | | | | | | | | | Task-number: QTBUG-77789 Change-Id: I3dcee435562c86ea9db98ee7c50a42d06bd576f9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-244-19/+63
|\| | | | | | | Change-Id: I7d7274866129a3c8a3ed3788680a46368120d20d
| * Expand QCamera::exposure documentationMichael Brasser2019-08-201-0/+20
| | | | | | | | | | Change-Id: Ia844b046720b530fbb9b7bac096d1853710225c3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Expand EnvironmentLight documentationMichael Brasser2019-08-201-3/+31
| | | | | | | | | | Change-Id: Ia6e6ca65469c7c04914fbb6a73f796ec86436577 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Matrix_SSE/Matrix_AVX2: fix mapVectorPaul Lemire2019-08-202-16/+12
| | | | | | | | | | | | Change-Id: I4584d2c879a72eccbaf273d0e84b3b6f6bb55295 Task-number: QTBUG-77675 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Fix a -Werror=shadow in EntityLiang Qi2019-08-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Triggered by gcc version 4.8.5 (SUSE Linux): src/core/nodes/qentity.h: In member function ‘QVector<T*> Qt3DCore::QEntity::componentsOfType() const’: src/core/nodes/qentity.h:69:32: error: declaration of ‘components’ shadows a member of 'this' [-Werror=shadow] const QComponentVector components = this->components(); ^ Change-Id: I02507b3ff75b0f21d958955f3ce9a8b01f471d05 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-133-1/+10
|\| | | | | | | Change-Id: I359b15d87622515ee4f05db1f01d4b476027378e
| * Improve documentation of ObjectPickerJean-Michaël Celerier2019-08-071-0/+2
| | | | | | | | | | | | | | Add a reference to Scene3D hoverEnabled Change-Id: I59e282a985ae5af30ff22d7caf433fb3b7cd821b Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * GLTexture: glTexParam is not supported on multisampled texturesPaul Lemire2019-08-071-0/+7
| | | | | | | | | | | | | | So try to avoid performing these calls on such texture Change-Id: I051fd6a0150d07656687a1f84756d8a3d506ec24 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * submissioncontext fix: devicePixelRatio is not an integerPaul Lemire2019-08-071-1/+1
| | | | | | | | | | | | | | | | Converting it to int would cause the viewport not to take the whole expected size as the interger conversion would essentially floor the value. Change-Id: Ic608b0e1a0910aadb8b98c3225f999cba6326535 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-061-3/+16
|\| | | | | | | Change-Id: I8957f671305454e7b2db83f52a09a2fa4b6d3e67
| * Improve SortPolicy documentationMichael Brasser2019-08-051-3/+16
| | | | | | | | | | Change-Id: If7759ce872d26087d181eefe24504409aa779ea9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-306-1/+109
|\| | | | | | | Change-Id: Id2885cdbb45f8aa701e218b6201f0a3732b7ef11
| * ShaderData: don't call markDirty(AllDirty)Paul Lemire2019-07-241-1/+1
| | | | | | | | | | | | | | | | But only markDirty(ParametersDirty) as that's the only thing this is affecting. Change-Id: I450d013dc266ca70ca51cfa866b731a6e8b6499a Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * Add QML documentation to QSkyboxEntityPaul Lemire2019-07-241-0/+45
| | | | | | | | | | | | Change-Id: Id82777c111827e8db8924d2d39b5844386344b69 Task-number: QTBUG-76767 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * Provide more detail in *Light documentationMichael Brasser2019-07-234-0/+63
| | | | | | | | | | Change-Id: I8d56836f1f075c7239b262454131062c10058026 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-239-18/+54
|\| | | | | | | Change-Id: I2a66e9344b72524431885bdf5f59fcaedb94c718
| * Silence warnings about null textures in uniformsMike Krus2019-07-221-0/+6
| | | | | | | | | | | | | | It's common while textures are loading Change-Id: I360c88c72fbd0a034aff07451fd49be17b348d40 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Renderer: use last known good surface to reset render statesPaul Lemire2019-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were instead checking against the last surface used (which could be null) instead of the last known good surface to reset the render states. This could result in not resetting the render states and keeping dangling pointers around. To know if we can render, we check find the first non null surface in the list of RV. In most cases we can safelly assume that if first RV has a surface, all following ones will likely use the same surface. If we have no good surface we skip the rendering. However in the case you have a FG where the first RV has a surface but not the last one (which wouldn't really make sense but can happen if you mess up), we could end up in the above case where surface is nullptr though we have partially rendered something for the RV which had valid surfaces. Change-Id: I902b8c7a943ad2ca7e2f487873f73990cf8db433 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * Align RenderView::buildComputeRenderCommands with buildDrawRenderCommandsPaul Lemire2019-07-191-3/+14
| | | | | | | | | | | | | | State and parameter handling are the same between the two branches Change-Id: Ic8394a969184daead33253c9303c20ecf1a97484 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * RenderStates: fix override of nested RenderStatesPaul Lemire2019-07-187-14/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>