| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I76c28fc48ee6683f3e86aceffd66e2b579899d5b
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
This will be used to visit all nodes by the visitor for the purpose of
collecting vlaue nodes that should be evaluated.
Change-Id: Iff84eed2ee139a0ecd3639994549e5859b5827d0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
We need to add another function that returns all potential dependencies
rather than just those that are dependencies given the current state
(blend value). Make room for that by renaming this to a more descriptive
name.
Change-Id: I06cdc2e471007e3bd40cd7b687a4a2c21e4b2828
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Now the old blend() virtual is gone we can give this function a nicer
name.
Change-Id: I74e427692f9667d52342d5c558bff3e7cf63c652
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
No longer needed as replaced by the more general doBlend() protected
virtual.
Change-Id: I5f11c068f8a379baa53a033e5ce8ce63ff64d5ba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
No longer needed. The tree is not managed by parent/child relationships
any longer.
Change-Id: I711e71a4b54491f5713732ea54100b7ce9526527
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
No longer needed as concrete subclasses each provide their own specific
APIs for managing clips or sub trees.
Change-Id: I8e090bcf18ad9bf0d19e36128d7556aaa6cd6edf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is called by the non virtual performBlend (will be renamed
once old implementation is removed). The key here is that all
nodes in the blend tree will have the exact same layout for the
ClipResults for a given animator. This means we don't need to have
a mapping data structure for every node in the tree. This really
simplifies the blending implementation and will allow us to
parallelise this much better in the future as each blend node
could make use of a parallel_for() or map() type operation.
To achieve this we will need to perform a gather operation that
maps the ClipResults coming straight out of an animation clip
to the ClipResults layout used by the blend tree as described
above. This will be done in a follow up commit.
Change-Id: I389383d3b9197a6ef36b529f44ac89cb5c593023
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The resulting duration is independent of which animators the blend
tree is associated with so this can be implemented as a simple set
of virtual functions in the concrete classes.
The value node simply returns the duration of the contained clip; the
additive node returns the duration of the base node; and the lerp node
lerps the durations of the start and end nodes.
Change-Id: Ib6edea3fa495885493fa72d44437fea5a8c5a446
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow a job to build up a list of clips to be evaluated for
the blend tree. This has enough flexibility to allow us to support
many types of bend node in the future but still allow us to only
evaluate the clips actually needed at any given time and for the
current set of blend node states.
Change-Id: I6bfff6d18434af4f09764d890af6f8f429996994
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
| |
Reduces visual clutter
Change-Id: I807adbdabc2c010f0b33a7ebf89f7aeeaabd5b6d
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A blend tree (or subset of) can be shared between multiple animators.
This implies that when evaluating blend trees we need to be able to
store and retrieve the results of node evaluations on a per animator
basis (as each animator may well have a different start time and
therefore map to different local times for the same blend tree).
Presently this is done by storing the blend tree node evaluation
results within the jobs themselves. Instead, let's delegate this to
the blend tree nodes.
This is the first step in making the blend tree more general to support
more complicated blend operations such as generalised lerps,
barycentric lerps, multidimensional lerps etc. Future commits will
build up support for this in parallel with the current implementation
and then remove the existing implementation when complete.
Change-Id: Ife097ec11571c71e9e3d420b3ca67efa2e1639cc
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
Also rename backend class accordingly.
Task-number: QTBUG-58904
Change-Id: I3a8d3898507e5055c2727e4bb1b19b06fdba988b
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced an abstract base class for types of animation clip. Also
renamed QAnimationClip to QAnimationClipLoader since it loads data
from files.
Also renamed corresponding backend type and fixed up unit tests
accordingly.
Task-number: QTBUG-58898
Change-Id: I01a96e108cbbcd12e01913693e96610598965018
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
|
|
|
|
|
|
| |
Allows to make each subclass perform its own blending
Change-Id: I0a8e32ebc549c988cf4cab59806152c7aa0825f4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
Also adds a ClipBlendNode manager in the backend to have polymorphism and a
proper tree structure
Change-Id: I64e03d4d31acece6d924e15ec8b3b7565e14168c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|