| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
We need to call the base class handler so that the generic code in
QNode can process the call to update the running property.
Change-Id: I7fa3c051f47c2a41c5620f1a72f309192d5ea907
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ie7fe80039a6cb88a0f1540ce252c9dee36d0afe1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic725f70329920b41ac18e7bfe4f249247b2cbc83
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Buffers in glTF are used for several other things than just vertex
attributes so silence this annoying warning.
Change-Id: I4c65ff681b148e449af0b8ce689f6df157eeca61
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
So far just skeletal animations. Morph targets will come in Qt
5.11.
Change-Id: Ib1f3efe894ad993b97f79e7f71d92cb4836e4e32
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Same as in QTransform.
Change-Id: Ia1dca19c8faf996629ecbf8832e5625e7b22532c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/animation/backend/animationutils.cpp
Change-Id: I6bd0d1d15da00537a0bb064fc828b2460584b8e8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This now correctly handles both the old ChannelMapping and the
new SkeletonMapping use cases. There was some ambiguity about
which way around the indices were being generated. It worked in
previous cases for the limited data available to test with. This
has been tested to work with both the JSON animation format and
skeletal animations loaded from JSON and glTF 2 files.
Change-Id: Ie8558c764cd8dc57d6cdad19bbc6a66052bc68d0
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I4a9044933b182a2e0eba745483f1b8bc214dcdba
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Abstracted the orbit and first person camera controllers into a base class.
These two controllers shared a lot of similarities.
This allows developers to easily create a custom camera controller by deriving
from QAbstractCameraController and implementing one function.
[ChangeLog][Qt3DExtras][] Added Qt3DExtras::QAbstractCameraController
abstract base class to make implementing new camera controllers easier.
Change-Id: I43cfbc03f7294b1740f199ac7ededa9578234974
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is the receiving side of the changes sent by the animation aspect.
Not much to do as everything is already in place.
Change-Id: I36a79868d28bab0cf71a176b175e5ea42727979a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise we inadvertently send callbacks even when not requested.
Change-Id: I398c930740133f39982d6b071443fbeee8b029a9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to only create MappingData objects for those channels
for which we actually have animation data. There is no point, and even
more importantly, it is dangerous to try to do so as we will overwrite
the existing data of the target properties.
TODO: Fix this on 5.9 and forward merge to 5.10
Change-Id: Idb9d2fdef0e3297c0f35ad8c4af01b777321674d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At present it is still needlessly, and incorrectly, updating the
transforms of joints for which we have no animation data by using a
default value of 0 for each component. This causes the joints to be
scaled to 0 which is not particularly useful. We should only update
joints for which we have valid animation data and leave the other
joints alone.
For a skeleton this will be OK as we have the initial set of local
poses available. For regular QNode properties, the animator/mapper
will need to take a snapshot of the current property value when
the animation is started so that we can fill in the missing values
when generating property changes. This should also be fixed on the
5.9 branch.
Change-Id: Ib8f28c55cdfbca3f335777028f72250641092fc9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I2eaf725022f5044d7faf647f8789e73de969d49b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/animation/backend/animationutils.cpp
src/animation/backend/animationutils_p.h
src/render/geometry/qmesh.cpp
tests/auto/animation/animation.pro
Change-Id: Ifb57bfb0b12b3ebf9ee177d4ea684134455b4143
|
| |
| |
| |
| |
| |
| |
| | |
Everything goes through the other overload now.
Change-Id: Id0c196a6967a9f83e47092ca1fc7f4ab4ebe9309
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Will make it possible to reduce the amount of code to maintain and test.
There are still several ways to optimize this too so best to only do it
for one code path that all animators use.
Change-Id: I05ebd4f41d88aa0bea37d4d17130bc79c96ebd5c
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Should pass before and after the refactoring.
Change-Id: I9ef8f948f03a131546fc6485e9c66494ff383714
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Caches the resolution of node ids to ChannelMappings. Updated test to
check this new feature.
Change-Id: I0c2f539c2bd91e7918b98c5b60c9ca486b63ec08
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I9015546607b5663f1feada64bc03cb73d3538ef2
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than assuming they are in order. The blended clip animator
code path now behaves the same as the simple QClipAnimator in
that it can handle clips with channel components not in the
expected order. We can now look at making both share a common
code path.
Change-Id: I61848e07b4f418ba9f4c56f56f4f49c9a5fbd588
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I5a86547ae669394c290b30427f98821bc7552a63
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This correctly handles the case where the blend tree consists of a
single value node. Added test case to catch it.
Change-Id: I8982d2081748866d163f107a4513bd2d17feb83a
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Copy externalRenderTargetSize and surfacePixelRatio from
old to new surfaceSelector when setting activeFrameGraph
on RenderSettings. Previously, when switching
activeFrameGraph, surface was copied from old to new
surfaceSelector, but these other properties were not. The
rendered image was then stretched until window is resized
again.
Change-Id: I62b78da05c764f981813ab96b9a769bae7d786b2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
For < 3 vertices, array accesses would fail, and face creation not
make sense anyways
Change-Id: I5eb746dfdec92d1c836e9870d87e7900530ec81c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Or else we will continue uploading data indefinitely
Change-Id: If81d8a0a790964c699462fbcb166808ee7859f59
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I8ce9c418b6a77aa6ec8054bdacfd69152924fbfe
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I890be56a59be47923bd0c2db31d72d3c2c45ae0e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ibb735878c6c6b7f14eb26a0f98c200045b4979b6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I4d22b177745b257950212e48fa550143813c4f6b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Iad0b51e19cc78683f18db0ae2718df6abd4ba72f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I35c12c52a965a554b49cdb6ebb8f65658e8ecea3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Makes it cleaner overall since the light structs were shared with the
metalrough includes and the gooch fragment shader but they didn't use
the functions in there.
Change-Id: I459ff0fc2d751a5be9296dc33dda0efcb06b917c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This property was available in the textured phong variants but somehow
we didn't implement it yet for metal/rough. This new parameter is not
used yet, but will be in the next commit where we unify the vertex
shaders.
Change-Id: I0d5293f6413a4a0412d92d2d42bf700238938fc6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We currently do a bit more work than strictly needed in some cases, but
that will change later on when this shader is converted into a graph.
Changing now will make this future refactoring easier.
Change-Id: I887601c18575bef79e25a23ed054aa336b1e860a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
The clockId was not being sent to the backend as part of the change
Change-Id: Ibaa57ec1853b5ec29942f027b68565d87838761e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
They are identical to their non-alpha counterparts at that point, so no
need to keep them around.
Change-Id: Ia3961670dc1d5c0f65711476c8dc6cc467df62c5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I331dd9b4adf7a412338daba6d11ca945dc290054
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
This way the use is more similar to the one for metal/rough.
Change-Id: I143df910f43e29ef622f24bd97a23c90a2c8ef68
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since this was the sole user of adModel we also remove it in the
process.
Change-Id: Ibb79bb05c10b33e69601624ea9ad1fdf8523fdbf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All materials and examples are ported away from it. It was really not
related to normal mapping at all, somehow it was an implementation of
adsModel working in tangent space instead of world space.
Now we got it all in world space, just like for the metal/rough
implementation.
Change-Id: I3346277ce9b91328d70d914b319ac25f947fff0e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I83e750c131ba070ce68b42a9837bd01dd064173c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I910d1fa7099dc726e022cbf35702b0b58fbac64e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It can also be removed from the backend class, now the renderer doesn't
look at it anyway.
Change-Id: I5643922dccc81c0ee33f80e4b0ea34b63e51d89c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Stop reading the buffer type from the buffer object and instead use the
attribute type to determine the binding point.
Change-Id: I95856776297252c6e332f842c2b5362d1467e420
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This way we don't rely on the buffer type member in those case, this can
be all determined from the current context anyway. It also prevents
forcing a single use for a buffer.
Change-Id: I8c5ec3878bd36ddbfd257adfb218561d44f18823
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
For downloading the data from a buffer, similarly to uploads, the
binding point doesn't really matter so always use the same binding point.
Change-Id: I5950e58ff8a0acc719ea784cdf2fb2370077c868
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For uploading the data in a buffer, the binding point doesn't really
matter so always use the same binding point.
This is the first step toward finally deprecating QBuffer::type, this is
going to be a long journey it seems.
Change-Id: Icad36d35764cbc25d249a651b80ebbce6b34828d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|