Vladimír Vondruš
a0b8dcc067
Math: rename Quaternion::fromRotation() to rotation().
...
Now it is similar in usage to Matrix4 functions and is now also
crossreferenced in documentation. Also updated the test to also check
assertion.
13 years ago
Vladimír Vondruš
93ac7f0d3c
Math: rotating vectors with Quaternion.
13 years ago
Vladimír Vondruš
730c09567d
Math: ability to explicitly create Quaternion for given vector.
13 years ago
Vladimír Vondruš
7c81755152
Math: slightly reorganize Quaternion test.
13 years ago
Vladimír Vondruš
35c4b5bd23
Doc++
13 years ago
Vladimír Vondruš
ff06d88a24
Extension header for OpenGL ES is available now.
...
ES3 will need to be handled differently, not bothering with that for now.
13 years ago
Vladimír Vondruš
5af9e3abc6
TextureTools: use Math::max() instead of doing it by hand.
13 years ago
Vladimír Vondruš
afea4f34db
Text: proper UTF-8 support in Font::prerender().
13 years ago
Vladimír Vondruš
692f4854a7
Ability to retrieve texture image size in given mip level.
13 years ago
Vladimír Vondruš
f23827bd87
Clang linker fixes.
13 years ago
Vladimír Vondruš
8d2485c331
Clang also needs parentheses around default templated arguments.
13 years ago
Vladimír Vondruš
3610a80dfd
Clang fixes for templated base classes.
...
Unlike GCC it does need the `template` keyword on weird places.
13 years ago
Vladimír Vondruš
28c15aeb93
Clang fixes for friend declarations.
...
Friending only constructor apparently doesn't help, specifying
full-scope name for Resource.
13 years ago
Vladimír Vondruš
55fecaff5a
Template aliases also can't have "conflicting" default arguments.
...
Clang didn't like that (and I thought these workarounds aren't needed
with C++11's alias template anymore).
13 years ago
Vladimír Vondruš
c339063566
Don't instanitate/declare structs as classes.
...
Clang warned about that.
13 years ago
Vladimír Vondruš
dd9fcd83f0
Fixed name clash in internal implementation.
...
Clang didn't like that.
13 years ago
Vladimír Vondruš
18ad4307aa
Implementation for texture level parameter query.
13 years ago
Vladimír Vondruš
bc48107d5a
magnum-info: indent with 4, not 3 spaces.
13 years ago
Vladimír Vondruš
99e2bd4c64
Doc++
13 years ago
Vladimír Vondruš
0144c38a54
Math: moved lerp() from Vector to Functions.h.
...
It does nothing special for vectors (unlike e.g. quaternion LERP) and
scalar overload is useful too.
13 years ago
Vladimír Vondruš
b63adf2404
Math: added Gram-Schmidt orthogonalization algorithm.
13 years ago
Vladimír Vondruš
1967179a40
Math: slight improvement of Gram-Schmidt orthonormalization algorithm.
...
Using Vector::projectOntoNormalized(), as it is slightly faster, renamed
the functions to properly mention that this is orthonormalization.
13 years ago
Vladimír Vondruš
ce2a07a09a
Math: slightly faster Vector::projectedOntoNormalized().
...
The assertion will still compute the dot product (but not in release
builds).
13 years ago
Vladimír Vondruš
019c9c0c5f
Math: Gauss-Jordan algorithm as pure functions.
...
No need to wrap this in a class.
13 years ago
Vladimír Vondruš
11544813a2
Math: don't needlessly include Matrix in GaussJordanTest.
...
Should save another bit of recompilation time in addition to previous
commit.
13 years ago
Vladimír Vondruš
ede0d9b503
Math: generalize Gram-Schmidt algorithm for non-square matrices.
13 years ago
Vladimír Vondruš
9a1f1e1a16
Text: mutable TextRenderer implementation.
...
Allows fast text updates (using buffer mapping). Also fully documented
the workflow.
13 years ago
Vladimír Vondruš
780228d0b8
SceneGraph: restarting animation should allow the same repeat count.
...
Updated test to check that.
13 years ago
Vladimír Vondruš
8a63939134
Math: added vector/scalar abs() function.
13 years ago
Vladimír Vondruš
e67142db1d
Properly check (and document) dependencies for Text library.
13 years ago
Vladimír Vondruš
a2e21020aa
Text: reworked TextRenderer internals.
...
* Common layouting code in separate non-templated class.
* Direct creation of interleaved vertex array and compressed index
buffer, saves some memory operations and removes MeshTools dependency.
* Preparation for mutable TextRenderer implementation.
13 years ago
Vladimír Vondruš
3eef49ae8b
Text: cleaned up TextRenderer header.
13 years ago
Vladimír Vondruš
c113598845
Platform: added Sdl2Application::exit().
13 years ago
Vladimír Vondruš
0dea0d8aff
Platform: cleaned-up AbstractXApplication header.
13 years ago
Vladimír Vondruš
49b5c3c561
Minor code cleanup.
13 years ago
Vladimír Vondruš
38f6ddcbef
Physics: function for detecting first collision with shape in the group.
13 years ago
Vladimír Vondruš
792892bbed
Physics: AxisAlignedBox / Point collision.
13 years ago
Vladimír Vondruš
2269919a99
Physics: specify AABB by its minimal and maximal dimensions.
...
Center + size was confusing for entering and also with bad
performance for computing collisions.
13 years ago
Vladimír Vondruš
0885320603
Math: vector dot product in terms of component-wise multiply and sum.
...
Less SIMD alternatives to implement in the future.
13 years ago
Vladimír Vondruš
f2599778f3
Primitives: fixed compilation error.
...
Caused by recent change of Point*D constructor to explicit.
13 years ago
Vladimír Vondruš
f517a000ed
Math: follow Vector changes in BoolVector.
...
Added constexpr "filling" constructor, updated tests, added constexpr
test.
13 years ago
Vladimír Vondruš
bbea562a6c
Math: properly testing all constexpr methods in RectangularMatrix.
...
Fixed data() method, it doesn't need to use reinterpret_cast.
13 years ago
Vladimír Vondruš
bbc98746e4
Math: properly testing all constexpr methods in Vector.
...
Fixed conversion constructor, as pointer chasings are not allowed in
constexpr functions.
13 years ago
Vladimír Vondruš
0f938003df
Math: constexpr implementation for "filling" Vector constructor.
...
Also removed constexpr alternatives to it in Vector2, Vector3 and
Vector4 as they are now not needed.
13 years ago
Vladimír Vondruš
a39fa198c8
Math: removed inappropriate `constexpr` from operator!=()
...
Method calling another method that will possibly be done via SIMD in the
future cannot be constexpr.
13 years ago
Vladimír Vondruš
f7a8641081
Math: fixed one-argument Vector constructors.
...
It is now possible to implicitly create one-element Vector and also
explicitly fill more-element Vector with one value without any ambiguous
overload conflicts:
Vector<1, int> a1 = 1; // calls implicit constructor
//Vector<3, int> a3 = 1; // error!
Vector<1, int> b1(1); // still calls the implicit constructor, the
// explicit is disabled for one-element vector
Vector<3, int> b3(1); // calls the explicit "filling" constructor,
// the implicit is disabled for only one argument
The downside of this is that now specifying improper element count in
constructor doesn't lead to static_assert with human readable error, but
rather cryptic "no match" error.
13 years ago
Vladimír Vondruš
2d0aad34b2
Math: SVD algorithm implementation.
13 years ago
Vladimír Vondruš
0f547d7e8e
Math: added RectangularMatrix::sum(),product(),{min,max}(),{min,max}Abs().
13 years ago
Vladimír Vondruš
60f86b8ea0
Math: added Vector::{min,max}Abs().
13 years ago
Vladimír Vondruš
7b507d0485
Math: improve Vector::min()/max() tests.
13 years ago