Vladimír Vondruš
c9f179c474
Animation: test the pause better.
...
Turns out I managed to test in a way that hides a bug since it gives out
the same value.
8 years ago
Vladimír Vondruš
de995059c6
Animation: make Player::elapsed() behave correctly after a "run out".
8 years ago
Vladimír Vondruš
8a71cb6415
Animation: added Player::elapsed().
...
It's not working exactly as it should yet, but the proper update
wouldn't apply so cleanly, so doing that in the next commit.
8 years ago
Vladimír Vondruš
b1b663fa65
Animation: support for spline interpolation.
8 years ago
Vladimír Vondruš
ac11a8e815
Animation, Trade: support Complex for rotation animations.
...
Since there's now lerp() and slerp() for it.
8 years ago
Vladimír Vondruš
ffe838a404
Animation: add an explanatory comment.
8 years ago
Vladimír Vondruš
4da2a2b503
Animation: fix XPASS on asm.js.
8 years ago
Vladimír Vondruš
ba08003d66
Animation: workaround so we're able to test with MSVC debug iterators on.
8 years ago
Vladimír Vondruš
7fc58ed112
Animation: work around an ICE involving std::chrono on MSVC 2017.
...
I lost two hours on pinpointing this one. Gah.
8 years ago
Vladimír Vondruš
fc454334ab
Animation: more MSVC fun!
8 years ago
Vladimír Vondruš
e323ea7f26
Animation: properly handle Player with empty duration.
...
Turns out with current design we can allow fun things even for empty
durations. I like this.
8 years ago
Vladimír Vondruš
156f21a165
Animation: GCC 4.7 WHAT ARE YOU DOING
8 years ago
Vladimír Vondruš
3df692f29a
Animation: added Player::addRawCallback().
...
Provides some further optimization opportunities.
8 years ago
Vladimír Vondruš
2adc4e8f59
Animation: implementation of the Player class.
8 years ago
Vladimír Vondruš
aaacaa6177
Animation: benchmark TrackView to verify my performance assumptions.
...
Turns out my performance assumptions were correct! :)
8 years ago
Vladimír Vondruš
51fa67412a
Animation: TrackViewStorage doesn't need to be *that* type-erased.
...
Moreover, this will prevent from passing e.g. integer-based keys to
Trade::AnimationData. And this also now allows me to add duration() to
Trade::AnimationData. I also moved all accessors that don't need a
concrete value type to this base class.
8 years ago
Vladimír Vondruš
77f4558655
Animation: added Track[View]::duration().
8 years ago
Vladimír Vondruš
75e479859b
Animation: added Track[View]::size().
8 years ago
Vladimír Vondruš
fa449c9ad0
Animation: make it possible to specify Track interpolator via an enum.
...
Or via an enum + func ptr. Main goal of this is to provide a hint to
users who want to supply their own interpolator (for example with a
different perf/correctness tradeoff, or a optimized/inlined/batch
version etc.).
8 years ago
Vladimír Vondruš
1ec90a2cc1
Animation: make it possible to easily create empty track(view)s.
8 years ago
Vladimír Vondruš
7b0f1e99d6
Animation: add a typeless storage base for TrackView.
8 years ago
Vladimír Vondruš
844b42f5e9
Animation: added Interpolation enum and interpolatorFor() helper.
...
Will be used to supply general desired interpolation method to tracks to
make it possible for the user to decide about a particular interpolator
function for given type.
8 years ago
Vladimír Vondruš
7a0a5ba77e
Animation: make it possible to have integer keys.
8 years ago
Vladimír Vondruš
4d4b299740
Animation: make interpolation result type non-implicit.
...
TrackView can, for example, have quaternions encoded as a 10-10-10-2
integer, but the result should still be a Quaternion.
8 years ago
Vladimír Vondruš
8cc560eadc
Animation: new Track and TrackView containers.
8 years ago
Vladimír Vondruš
9a8f88d59e
Bootstrap the Animation library with keyframe interpolation functions.
...
Yay!
8 years ago