Vladimír Vondruš
4acfa8c197
Primitives: a better line primitive.
8 years ago
Vladimír Vondruš
523c16779d
Math: added missing CubicHermite [s]lerp[ShortestPath]() overloads.
8 years ago
Vladimír Vondruš
dfcd33ffe8
Math: properly test also (s)lerpShortestPath() assertions.
...
And boom, there was a bug.
8 years ago
Vladimír Vondruš
d5e6012824
Math: simplify CubicHermite test.
...
Not sure why I brainfarted so bad here.
8 years ago
Vladimír Vondruš
2975a1ba2d
Doc++
...
Removed redundant equations and linking just to the relevant docs
instead, these would be hard to maintain otherwise.
8 years ago
Vladimír Vondruš
b615e1ae28
Shaders: support multiple lights in Phong.
8 years ago
Vladimír Vondruš
7d0757ca4d
Shaders: debug output for all Flag / Flags enums / enum sets.
8 years ago
Vladimír Vondruš
89ab8c43e0
MeshTools: why put docs for transform() to an obscure dualquat overload?
...
The type is not even usable for scaling. Putting the docs to the Matrix4
overload instead. Thanks to @uzername for pointing this out.
8 years ago
Vladimír Vondruš
b93fcd6d9d
Trade: camera type, projection size and aspect ratio support.
8 years ago
Vladimír Vondruš
fa10765198
Trade: alpha mode, alpha mask and double sided material properties.
8 years ago
Vladimír Vondruš
4b7dab10e1
Math: improve docs of Matrix4::perspectiveProjection().
8 years ago
Alan
3bbb4088a8
Update Range.h
8 years ago
Vladimír Vondruš
13a6ba8a23
Math: benchmark quaternion interpolation methods.
8 years ago
Vladimír Vondruš
cbc35c4353
Stub documentation for transformation interpolation and animation.
8 years ago
Vladimír Vondruš
eadf8986f6
Math: fuzzy compare for division-by-zero in quaternion s(c)lerp.
...
Also remove a totally unneeded conversion.
8 years ago
Vladimír Vondruš
880bf7a1b6
Animation: list the new interpolators.
8 years ago
Vladimír Vondruš
9f8da6d47a
Animation: prefer "shortest path" interpolators in interpolatorFor().
...
The function has an explicit name but making it the default makes for a
less surprising behavior.
8 years ago
Vladimír Vondruš
fde07c6c58
Doc++
8 years ago
Vladimír Vondruš
780e5258cc
Math: consistently use arccos() in math equations.
8 years ago
Vladimír Vondruš
ec34009025
Math: document the usual notation for complex/dual/quat numbers.
8 years ago
Vladimír Vondruš
1f507d81d4
Math: make docs of slerp() for Complex consistent with Quaternion.
8 years ago
Vladimír Vondruš
737104f2c7
Math: added "shortest path" alternatives to lerp(), slerp() and sclerp().
...
Before neither of the lerp(), slerp() had the shortest path check, while
sclerp() had it. Now, to be consistent, none of them has it and there
are lerpShortestPath(), slerpShortestPath() and sclerpShortestPath()
functions that have the shortest path check.
This is different from other engines, where there's usually only the
shortest path interpolation by default and either an optional
"non-shortest-path" interpolation or no alternative at all. I like to
give the users a choice, so there's both versions and the
non-shortest-path version is the default, because -- at least in case of
lerp() -- this results in a quite significant perf difference (15%
faster), so why not have it. Preprocess your data instead ;)
8 years ago
Vladimír Vondruš
d156a60943
Math: fix sclerp() behavior with dual quaternions having the same angle.
...
The fix done with https://github.com/mosra/magnum/pull/122
(0e05c7289e ) was not tested properly (see
previous commit) and thus this code path never worked. This properly
lerps the translation part and recombines it with the rotation instead
of interpolating just a part of it.
Also I'm no longer having any "dotResult" that's done only on the
vector part of the rotation, but instead using the full
rotation quaternion dot product. I have no idea why it was done this
way. This branch was also never properly tested -- it'll be with the
introduction of "shortest path" variants in the next commit.
8 years ago
Vladimír Vondruš
425d31fb5c
Math: no, this is testing it wrong.
...
And causes an assertion message. Obviously the test doesn't pass anymore
after this fix.
8 years ago
Vladimír Vondruš
f583d1c853
Math: cleaned up the sclerp() test.
...
No need to have the precision so crazy.
8 years ago
Vladimír Vondruš
68f34b3283
Math: STUPID EFFING DOXYGEN GODDAMIT I HATE YA WITH PASSION
8 years ago
Vladimír Vondruš
6c8a2a46b8
Math: implement cubic Bezier <-> cubic Hermite conversion.
8 years ago
Vladimír Vondruš
c3d093bee9
Trade: support for spline interpolation in AnimationData.
8 years ago
Vladimír Vondruš
b1b663fa65
Animation: support for spline interpolation.
8 years ago
Vladimír Vondruš
e997344b8c
Math: new CubicHermite class.
...
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š
8c7c74c22e
Math: mutable getters for Complex, Dual and Quaternion.
...
Not sure why these were omitted. Everything else has them.
8 years ago
Vladimír Vondruš
c2c6b9f22b
Math: added lerp() and slerp() for complex numbers.
...
It's a straight copy of the code for quaternions -- it could probably be
simplified a bit, but I don't have the necessary brain cells at the
moment. I tried the following but failed:
retun Complex::rotation(acos(cosAngle)*t)*normalizedA;
8 years ago
Vladimír Vondruš
0f4b88870a
Math: simplify angle() implementation for Complex.
...
Not sure why that wasn't done before.
8 years ago
Vladimír Vondruš
bb9b41057f
Math: separate assertion tests into a dedicated test case.
8 years ago
Vladimír Vondruš
5e9bce3823
DebugTools: doc++
8 years ago
Vladimír Vondruš
a77a46c926
Math: debug output for Half with proper amount of decimal places.
...
The totally random places after were not exactly useful. This file was
sitting here for a while, not sure why I didn't commit that earlier.
8 years ago
Vladimír Vondruš
943d74dd1c
GL: restore backwards compatibility of deprecated Buffer::map<T>().
...
Calling map<void>() was trying to instantiate ArrayView<void> through
arrayCast<void>(), which is not possible (void has no size etc etc.).
Casting the returned pointer directly instead. Thanks to @AndySomogyi
for pointing this out.
8 years ago
Vladimír Vondruš
8dc1f8a7da
MeshTools: make the generateFlatNormals() docs less handwavy.
...
If it takes *me* ten minutes to figure out how this needs to be used,
then it probably should be documented.
8 years ago
Vladimír Vondruš
f6ba4111e1
GL: remove obsolete Firefox workaround.
...
Reverts commit 4ce2875262 from 2015. This
is now also worked around directly in Emscripten:
6dc4ac5f9e/src/library_gl.js (L7361)
8 years ago
Vladimír Vondruš
439b40f762
Platform: this actually asserts now.
8 years ago
Vladimír Vondruš
dba35bac7a
Platform: initial HiDPI support in GlfwApplication.
...
Not basing this off GLFW 3.3 as it's far from being released yet, just a
copy of what's done for SDL2 already.
8 years ago
Vladimír Vondruš
df08500305
package: explicitly enable Shapes in all dev PKGBUILDs and CIs.
...
Because now it's disabled by default and I still need to keep having it
tested.
8 years ago
Vladimír Vondruš
8efc6b39e9
Deprecate the Shapes library and everything that depends on it.
...
Scheduled for removal in ~6 months if all goes well.
8 years ago
Vladimír Vondruš
c9d621bed2
Shapes: properly export all instances.
...
Not sure why this wasn't done already.
8 years ago
Vladimír Vondruš
61d0ad9c7c
external: update generated Vulkan headers for new global function in 1.1.
...
See https://github.com/mosra/flextgl/issues/18 for a detailed
discussion.
8 years ago
Vladimír Vondruš
2c56d1600a
modules: properly handle optional dependencies of DebugTools.
...
*Finally.*
8 years ago
Vladimír Vondruš
7b6fd1f88f
doc: checklist for deprecating a whole library.
8 years ago
Vladimír Vondruš
555412c4c3
doc: mention Windows Emscripten guide from @Squareys .
8 years ago