| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Change-Id: I811c1a7334674d670f42eb46195e2e0e23b690f3
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 0731f8b336a6792e344dfefad8b7e9c79afac2d2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assimp actually bundles a whole lot of other libs and tools. Document
them properly.
[ChangeLog][Third-Party Code] Also document sub-projects that are part
of the Assimp project: Clipper, irrXML, Open3DGC, OpenDLL-Parser, Poly2Tri,
RapidJSON, Unzip, Utf8Cpp, and Zip.
Change-Id: I3ae696f081a6c7cee89e5901b2036da2f41a7417
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit d8b98b3e236bb2dcec0b8082d9a59c54efc63bca)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
| |
Task-number: QTBUG-84905
Change-Id: I4eca9e609ea589e651de727fe5749c1deaaa34c9
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: Ia65be6befec3aa07080650ad82c59053b6d3670b
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 809ef32b3901213dcd0576a77eb507a06ba55ff3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84905
Change-Id: I2c9ddcf415e3f7565c1ba606adb3ab4c6eadfebb
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
(cherry picked from commit a2f1ee50bb5f25a92d6f1ede0438a1d236f8ba67)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an issue when resizing a Scene3D that is inside
a QQuickWidget to ensure that it has something rendered in
each frame.
Fixes: QTBUG-83095
Change-Id: Ic6c8b1b2efd0757f9f88768aafb331c4c1a1f9f2
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 2e3607aa120324f60832ca1cd42aaeaf22cc148d)
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
We were only releasing them at runtime if they changed, but we should
also clean them up before we are destroyed.
Change-Id: Ibc3f37fba92e8be8381fd869af7f5747da87038a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
applyAspect shouldn't not be checking against the m_aspects list
following the recent refactorings introduced in
cdc9efb609894298d8d854a0ec75f9cb8e89f195.
This checks prevents any optional aspect from being used because
m_aspects will never be empty.
Change-Id: I6548d86599b3ac4c8aaad034a3e4ffc830a855c5
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
Looks like it actually never worked.
Task-number: QTBUG-75219
Change-Id: I54e7c58be57c41461c95c48ec3e76aa45bf340a1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a Scene3D item switches screens then it will need to be
reinitalized so that the supporting contexts, offscreen surfaces are
set to use the same screen and not the original one. This ensures that
the item is still rendered correctly on the new screen.
This includes a manual test using QQuickWidget in separate windows that
enables it going from one screen to the other.
This is a fresh version after the previous version was found to have a
bug shown in the scene3d-loader test which has now been resolved.
Change-Id: I3c711e894018db52ec00a8a5d2e0fb0128743ab1
Done-with: Antti Kokko <antti.kokko@qt.io>
Fixes: QTBUG-79192
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 4eef300be70509a208527bf164f7746fa1bf07a1)
|
|
|
|
|
| |
Change-Id: If450816fadce4adad4881938ecaea9c4000afe16
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FBO need to be rebuild when one of the attachments directly or indirectly
changes. By direct change we mean one of the FBO attachment texture being
resized or the list of attachments changing. By indirect we mean when
texture resource is recreated internally by the engine.
Failure to handle this cases resulted in FBO referencing invalid
attachments.
Change-Id: I8dd4c08e464eed7fb0eeefd61a4158304ab4245f
Task-number: QTBUG-64757
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
It appears we never destroyed FBOs which lead to bugs
when destroying and recreating a RenderTarget
Change-Id: I99b3df95b821670aa3bbd63209ff9bcc21afbf79
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
To prevent any container detaching
Change-Id: Ie7de744fd492efaab49aa133a7904b293dc7d178
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Previous fix was not closing the loop on every primitive,
just the last one.
Task-number: QTBUG-71919
Change-Id: I22d52258477b0c4777118ee36a0b3868da982885
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-71919
Change-Id: If7923fab6c43f5d7139d1bbdceb73c17bf489099
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 69789d0184ffa54c1760ad5204bb4539c9399753)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-75145
Change-Id: Ibee7d877bf78c2d2ed74ac8a89b7af5bf22f14f1
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
(cherry picked from commit b18845b0451cf0ff9c7611483b589ce51b3c9e1b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit f60a57ebe0e9a4449fb0f8f28a38c0f69b3f845e)
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
(cherry picked from commit 93aa379ae5cf624f024aa9173ce42e90b5c58002)
|
|
|
|
|
| |
Change-Id: Ib7b491c638508cfcdfbd523fd4e6a3d757c2c832
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ClipAnimator is always dirty because at each frame the normalizedTime is
changed. This has a big performance penalisation as we are launching
job which updates the property map at each frame.
This patch adds a new dirty flag which is use to decide if the animator
need to update the mapping of the fcurve to actual node properties.
Using that flag, a new UpdatePropertyMapJob is launched for dirty
clipAnimators.
Some scenes boost from 30fps to 60fps (vsync) during animation.
Change-Id: Ic8a8db01535c55995bc569ea5a69660a40014401
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
* Fix off-by-one errors
* Allow non-integer cell sizes
Change-Id: I081cb5050a6805cbc9183fb2a7a1ee07b5594187
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTBUG-74682
Change-Id: I346d31333f4bbce9a909798c176ad09fc2267859
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-74683
Change-Id: I821e52ab071b422c1e1351d59b83e9879fa2a884
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTBUG-77789
Change-Id: I3dcee435562c86ea9db98ee7c50a42d06bd576f9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
| |
Change-Id: Ia844b046720b530fbb9b7bac096d1853710225c3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ia6e6ca65469c7c04914fbb6a73f796ec86436577
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I4584d2c879a72eccbaf273d0e84b3b6f6bb55295
Task-number: QTBUG-77675
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
Add a reference to Scene3D hoverEnabled
Change-Id: I59e282a985ae5af30ff22d7caf433fb3b7cd821b
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
So try to avoid performing these calls on such texture
Change-Id: I051fd6a0150d07656687a1f84756d8a3d506ec24
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: If7759ce872d26087d181eefe24504409aa779ea9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
But only markDirty(ParametersDirty) as that's the only thing
this is affecting.
Change-Id: I450d013dc266ca70ca51cfa866b731a6e8b6499a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Id82777c111827e8db8924d2d39b5844386344b69
Task-number: QTBUG-76767
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: I8d56836f1f075c7239b262454131062c10058026
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
It's common while textures are loading
Change-Id: I360c88c72fbd0a034aff07451fd49be17b348d40
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
State and parameter handling are the same between the two branches
Change-Id: Ic8394a969184daead33253c9303c20ecf1a97484
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Iead857526a06b104080ab843b26c49efc22f05cc
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
It can be created with a non normalized dir vector but we should
always perform the computations with a normalized dir vector for
correct results.
Change-Id: Ie9108de7ed2092f6b979a70ad9391267fe6c4696
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I4499e945481a22adfbafcc82198f7c411d04301b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Id886decd4f2bd83a2319b4ad792a15b7280cb448
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
colorbuffer -> colorBuffer
Fixes: QTBUG-76342
Change-Id: Ic63ac9b333710ebab17aa7c4ccd9e864f10e6fcf
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-74165
Change-Id: I4d3de42cddd8f6e1e6729cc16a52e135ab7fa3b1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code snippets were outdated, referring to QML properties that
do not exist. In particular, the Deferred Rendering section contains
code that was based on an example that's since moved into tests.
Adapt the code to match the updates done to that example and also
mention where it originates from.
Task-number: QTBUG-73024
Change-Id: I9ec750d05f8e853e5614f33dadcbe44a0b42e356
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|