| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
Also align everything properly
Change-Id: I7948670912f3d321829ee1af90ebcb2497b6f98f
Task-number: QTBUG-61996
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also align everything properly
Change-Id: I65d4ed2646ed69a5037f9e8bca3c6ade6f7199b8
Task-number: QTBUG-61997
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Id9b03475181ef28dbee7d51d5ef3f7671f815343
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I333485024f4c5534d8f2bf6ee301ba52638e6126
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
- qtext2dentity.cpp
- qabstractphysicaldevice.cpp
Change-Id: I026ac031c366c979e17667c3635c1a391a5bba8a
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Qt3D.Animation only supports version 2.9
Change-Id: Ib300af05412e748384f988a930d14e650da6d701
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ie11ce88441a6d287d50d1cb78365a65b2742a502
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Backend nodes should receive frontend proeperty changes
Change-Id: I19ba70d08de833aab467a51d5b21553f0b602ec6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Will allow to update the qt5.git configuration without breaking the CI
Change-Id: I16d7e2af9da935d4d31f5909575c8edec4a9432e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
qlevelofdetail.cpp:270: warning: Can't link to Qt3dRender::QLevelOfDetailBoundingSphere
Change-Id: I29b023f5a2c60a62dd7bdacf63182649dd947059
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Iebecab6fa362bb6bda4ee720cb0259214ced52a4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I9add67acbfab26c78c137753bb6b81865bf0abcf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
qparameter.cpp:47: warning: Can't link to Texture
Change-Id: I32bd287393d0704246d28768f949f84e161ca7fb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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>
|
| |
| |
| |
| |
| |
| |
| | |
Some had old property names
Change-Id: Id82fcce9dac05d2566bafabebf66ff51300db16d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
/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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I2078bec7dccea9f2c41978da310376df4ed84cff
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Change in question is on qtbase:
b6c3f55b932b28a7e4acdd5952a93e929b461b92
Change-Id: Iaeb64f2fd3a9f9ca57d5e57609cb3f1b6a5aa153
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Also added a manual test example
Change-Id: Ib560dcfdd5e0996cb40d892886c94212e3f8e32d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I2e3fa11cae9113106e4a8c77832e3a2a3c27a24a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Allows to filter entities based on their distance to another entity
Change-Id: Id2486edc5ec49722308c4b94a87e61241e5bd932
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I272642205ad01ae0b838c7ca5cda5bd4b33a57a8
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Avoids an internal compiler error.
Task-number: QTBUG-62551
Change-Id: I74275d07cfbff2c7053d819fe7fb64fe69a2f634
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ie7a467738007a4ddd503f435abca9ceadf0c0979
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
More realistic use case than translating a joint.
Change-Id: I8d7dd45320d461ed8d9792cfa6b7fa4610cd5d45
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
As we did for QTransform. These are frontend only properties.
Change-Id: Ic2fb1080ff68e26437c7e35632bdfcc00e51c017
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Shows how to animate joints using frontend API.
Change-Id: Ie2de8bebaa4fab3c83c83cfa8e560a0b4ee96e45
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I074e78f5e0c0be878d697dc87846ecc6ed6cd78f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Aligns it with Joint for consistency.
Change-Id: Ie14dc65e8c00782bbb3e4b4a2270970b095a3586
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ie06f41aefebf9c5c5d8dd8bcd68f9f352799ad18
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I881c284be36e6017f7aab7551db1b99abaee11fe
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|