Vladimír Vondruš
59852ace85
Math: ability to slice Range into lower dimensions.
8 years ago
Vladimír Vondruš
d88e79cd9e
Math: new Color[34]::fromSrgb[Alpha]() and Color[34]::toSrgb[Alpha]Int().
...
For easier conversion of packed 24-/32-bit colors to the Color types.
8 years ago
Vladimír Vondruš
04f4917f7b
Math: disable floating-point vector ops on integral types.
...
Avoids accidents.
8 years ago
Vladimír Vondruš
261221c864
Math: make projection operator math consistent everywhere.
8 years ago
Vladimír Vondruš
44b059bbc5
Math/Algorithms: improve SVD docs, add a test for xform decomposition.
8 years ago
Vladimír Vondruš
3a8b1a2121
Math/Algorithms: reimplement QR decomposition using Gram-Schmidt.
...
That one is reportedly using the more stable implementation, so just use
it. The code is then also easier to follow. Also added a matrix
decomposition test case and referencing it from the docs, in case
someone would need it again.
8 years ago
Vladimír Vondruš
f9328e3f64
Math/Algorithms: update algorithm docs and make code snippets compiled.
...
And add a bunch more math equations. Of course there was deprecated
functionality being used and some stuff not even compiling.
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š
ae2281dfd7
Math: minor cleanup of the Bezier test.
8 years ago
Vladimír Vondruš
ede56e6705
Math: doc++
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š
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š
da7d443b67
Math: added lerp(T, T, bool).
...
Last missing piece for fully orthogonal functionality. There was a
lerp(T, T, BoolVector) before, but not a scalar version. This also makes
scalar interpolation phase in select() working with arbitrary types.
8 years ago
Vladimír Vondruš
b024d69a44
Math: properly forward-declare BoolVector.
8 years ago
Vladimír Vondruš
cc51bff893
Math: make lerp() take any type.
...
Needed in order to easily pass interpolators to the Animation library.
8 years ago
Vladimír Vondruš
002d2260fd
Math: added select().
...
For animations I need a constant interpolator with the same API as
lerp() and friends.
8 years ago
Vladimír Vondruš
6e74966d94
Math: doc++
...
Make the whole vector bold, including the subscript.
8 years ago
Vladimír Vondruš
d08b064b5b
Math: doc++
8 years ago
Vladimír Vondruš
3be84b89f7
Math: doc++
8 years ago
Vladimír Vondruš
5d60f0d350
Math: moved Geometry::Distance and Intersection directly into Math.
...
Too deep nesting, too much typing. Colon cancer. Fully preserving
backwards compatibility, except for the recently added cone/frustum
intersection functions, which were not in master yet.
8 years ago
Vladimír Vondruš
915d0f0600
Math/Geometry: this test passes only on non-optimized Emscripten builds.
...
And there's no way to detect that, so doing this ugly thing.
8 years ago
Vladimír Vondruš
f0adb5688f
Math/Geometry: reduce benchmark iterations.
...
It still runs with acceptable error but at a quarter time. The iteration
count can be always increased from command-line.
8 years ago
Vladimír Vondruš
60940264cd
Math/Geometry: remove unused parameter.
8 years ago
Vladimír Vondruš
8292ac9a3e
Math/Geometry: added a missing test case.
8 years ago
Vladimír Vondruš
be3dcc6fa0
Math/Geometry: improve assertion message.
8 years ago
Vladimír Vondruš
a77b08471e
Math/Geometry: various cleanup.
...
Spacing, indentation, overly wide lines, some const etc. Minor stuff,
except for renaming function arguments for consistency. That affects
everything.
8 years ago
Squareys
04ca48ce64
Math: Add and improve intersection methods
...
Signed-off-by: Squareys <squareys@googlemail.com>
8 years ago
Vladimír Vondruš
40a5b898a2
Math: ability to convert BoolVector from/to external representation.
8 years ago
Vladimír Vondruš
47d79ef47d
Math: add GLSL bvec* as keywords for BoolVector.
8 years ago
Vladimír Vondruš
7df90af144
Math: work around MSVC 2017 15.7.2 ICEs.
...
Reported here:
https://developercommunity.visualstudio.com/content/problem/259204/1572-regression-ice-in-constexpr-code-involving-de.html
8 years ago
Vladimír Vondruš
b8fabec474
Math: remove unused variables from tests.
...
Thanks, Clang 6.
8 years ago
Vladimír Vondruš
b79c245a63
Doc++, allow to search literals without the nonobvious operator"" prefix.
8 years ago
Vladimír Vondruš
673caa23bf
Math: compiling Angle, Color and Half code snippets.
8 years ago
Vladimír Vondruš
d9936c40fd
Math: added Constants::piQuarter().
8 years ago
Vladimír Vondruš
8094144698
Math: fix pointless MSVC warnings.
8 years ago
Vladimír Vondruš
9d159c2292
Math::Geometry: improve documentation of intersection functions.
8 years ago
Vladimír Vondruš
92071a342c
Math: added isInf() and isNan()
8 years ago
Vladimír Vondruš
105cef5efd
No need to use fully qualified name for \debugoperator.
8 years ago
Vladimír Vondruš
9793123fba
Math: long double issues are now only on 32-bit Android.
8 years ago
Vladimír Vondruš
f4d69c24f4
Math: drop a workaround for old Android GCC.
8 years ago
Vladimír Vondruš
39b14ae29d
Math: Android supports std::hypot(), round() and fma() now.
8 years ago
Vladimír Vondruš
a421b50be3
Math: doc++
8 years ago
Vladimír Vondruš
468af3284a
Math: removed long-deprecated member dot(), angle(), lerp(), cross().
...
Use free functions in Math namespace instead.
8 years ago
Vladimír Vondruš
ddde4a3277
Math: removed long-deprecated Matrix::Identity and Matrix::Zero tags.
...
Use Math::IdentityInit and Math::ZeroInit instead.
8 years ago
Vladimír Vondruš
f9dbaef465
Math: add more GLU search keywords.
8 years ago
Vladimír Vondruš
2136466f0f
Math: doc++, add search aliases for GLSL functions.
8 years ago
Vladimír Vondruš
13f71caa54
Math: doc++
8 years ago