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š
f2f81df53d
Animation: make TrackView constructors implicit.
...
For consistency with all other views such as Containers::ArrayView as
these are all relatively light types and so the construction should be
lightweight as well. OTOH, Track constructors are still explicit because
they're heavy and the user should experience the heaviness firsthand.
8 years ago
Vladimír Vondruš
aa2e888bed
Trade: provide untyped access to tracks in AnimationData.
...
This reduces the templated code a bit, as I moved the index assertion to
the *.cpp file. Also the function now returns a reference to avoid
needless copies -- it's a view, but still quite a heavy view.
8 years ago
Vladimír Vondruš
1b583454b4
Trade: support both implicit and explicit duration in AnimationData.
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š
0b3e1e3068
Trade: animation import interface in AbstractImporter.
8 years ago
Vladimír Vondruš
c26075427b
Doxygen. Doxygen IS BROKEN BEYOND REPAIR.
...
I introduced *strong* enum with values, in a subnamespace, that have the
same name as completely unrelated typedefs. Guess what?! It breaks ALL
LINKS TO THOSE TYPEDEFS! **EVERYWHERE!!!**
8 years ago
Vladimír Vondruš
0109e0d7fe
Trade: convenience default constructor for AnimationTrackData.
...
Otherwise one would need to use a NoInit Array constructor and that
would cause dangling deleter function pointer call after the plugin gets
unloaded.
8 years ago
Vladimír Vondruš
dd1c8052ff
Trade: initial AnimationData implementation.
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
Vladimír Vondruš
ae2281dfd7
Math: minor cleanup of the Bezier test.
8 years ago
Vladimír Vondruš
ede56e6705
Math: doc++
8 years ago
Vladimír Vondruš
567d73da74
doc: move a new feature to correct section of changelog.
8 years ago
Vladimír Vondruš
026cb24a14
SceneGraph: GCC 4.7 SRSLY ... and the other compilers as well?!
8 years ago
Vladimír Vondruš
bc7d047fc3
SceneGraph: new TranslationRotationScalingTransformation[23]D class.
...
Useful for using with animation tracks that target the
translation/rotation/scaling properties separately.
8 years ago
Vladimír Vondruš
fbd3dedeb3
Math: add Matrix[34]::rotationShear(), scalingSquared() and scaling().
...
Important: the rotation() accessor now allows non-uniform scaling but
expects orthogonality (previously it allowed non-orthogonal rotation
axes but disallowed non-uniform scaling).
Documentation of all these accessors is further improved now as well.
8 years ago
Vladimír Vondruš
c902d4cd6e
Math: fix messed up math equations.
...
Thanks to @uzername for reporting this.
8 years ago
Vladimír Vondruš
8343217e1d
doc: more Emscripten goodies.
...
Found this forgotten in an old stash.
8 years ago
Vladimír Vondruš
8b4784cf2f
Trade: MSVC workarounds.
...
I almost forgot those were still a thing.
8 years ago
Vladimír Vondruš
e78a0ea7ea
AnyImageImporter: work around GCC 4.7 shittiness.
...
It can't handle raw string literals inside macros. Heh.
8 years ago
Vladimír Vondruš
df23d64c99
AnyImageImporter: detect DDS, EXR, HDR, JPEG, PNG and TGA signatures.
...
That's the only image test data I have at the moment.
8 years ago
Vladimír Vondruš
17012054d4
AnyImageImporter: whoops, nothing was tested by accident.
8 years ago
Vladimír Vondruš
daa934c738
Trade: I am quite stupid, actually.
8 years ago
Vladimír Vondruš
79a2451eb5
I don't want to have 100s of files named Test.cpp.
8 years ago
Vladimír Vondruš
b654a15d8c
Trade: actually create some useful docs for AbstractImporter.
8 years ago
Vladimír Vondruš
d6189cb74f
Trade: support for file loading callbacks in AbstractImporter.
8 years ago
Vladimír Vondruš
086ed8a278
Math: improve docs of matrix queries.
8 years ago
Vladimír Vondruš
a3b425bd26
Math: properly test op-and-assign operators in Unit.
8 years ago
Vladimír Vondruš
0c49c56768
Math: forgot to execute test for Vector::minmax().
...
:(
8 years ago
Vladimír Vondruš
4d53c953c8
GL: test setting at least some double uniforms.
...
Needs to be improved to cover all types, but at least something.
8 years ago
Vladimír Vondruš
d1cf23190f
GL: test AbstractShaderProgram::link() failure.
8 years ago
Vladimír Vondruš
9b3d0a1ce7
GL: better debug output for Version.
...
And a test.
8 years ago
Vladimír Vondruš
26766d3135
Trade: make it possible to attach importer state to image data.
...
The data are immutable by design, so it's a special "move constructor".
Usable when a plugin in proxying image import to external importers
(such as AnyImageImporter) and wants to attach its own state to the
result.
8 years ago
Vladimír Vondruš
7021e405a8
Trade: exhaustive test for AbstractImageConverter.
8 years ago
Vladimír Vondruš
9fe51adcd7
Trade: minor code coverage excludes.
8 years ago
Vladimír Vondruš
327f66183a
Trade: debug output for AbstractImageConverter::Feature[s].
8 years ago
Vladimír Vondruš
22d1f3bb9f
DebugTools: minor cleanup.
8 years ago
Vladimír Vondruš
f6a4615d36
doc: more Emscripten troubleshooting.
8 years ago
Vladimír Vondruš
1f9fc43c92
Text: avoid assertion failure on ES2 with EXT_texture_rg.
...
Affects iOS, among others.
8 years ago
Vladimír Vondruš
994b9b22ba
CMake: properly specify IDE folders for everything.
8 years ago
Vladimír Vondruš
fe2020bc62
CMake: provide correct alias targets for Any* plugins.
...
Forgotten in 8a2815ade5 when moving these
out of the plugins directory.
8 years ago