Vladimír Vondruš
5f822d0c9b
Fixed copypaste error in Matrix3::translation().
14 years ago
Vladimír Vondruš
ca2993cadc
Don't compute sine and cosine more times than necessary.
14 years ago
Vladimír Vondruš
14f53bf6a3
Doc++
14 years ago
Vladimír Vondruš
6cb257670a
Fixed compilation for Color4::rgb().
14 years ago
Vladimír Vondruš
624f4f8531
Inlined inline functions.
14 years ago
Vladimír Vondruš
a22263c60b
Added missing includes to Image classes.
14 years ago
Vladimír Vondruš
ecad221a8b
Faster alternatives for rotation around main axes.
14 years ago
Vladimír Vondruš
5d9c4038f5
Doc++
14 years ago
Vladimír Vondruš
ce2ac51d08
Extension lists can be const as well.
14 years ago
Vladimír Vondruš
779808e2f7
Added setUniform() for doubles.
...
I knew it did exist, but the manuals said otherwise.
14 years ago
Vladimír Vondruš
64e363f495
Minor documentation fixes.
14 years ago
Vladimír Vondruš
b3517eda01
Doc: crosslinking MeshTools and relevant Mesh functions.
14 years ago
Vladimír Vondruš
1013d16b68
More documentation updates for primitives.
14 years ago
Vladimír Vondruš
6a2ebf5c3d
Fixed Vector, Point and Color constructors from smaller types.
...
Currently, when accidentaly creating specialized Vector from smaller
number of components than required, the error message isn't really
helpful, as it stops on static assert on wrong number of arguments
passed to RectangularMatrix:
Vector3(0, 1); // static assert: wrong number of arguments passed to
// RectangularMatrix<1, 2> -- wtf?!
Now the first argument is Vector2/Vector3 instead of Vector<2>/Vector<3>
and the error message now properly states that no matching constructor
was found.
14 years ago
Vladimír Vondruš
23cbc121d6
Using only RectangularMatrix in setUniform(), added remaining setters.
...
Shader implementations now have to include Vector, Matrix and Color
classes on their own.
14 years ago
Vladimír Vondruš
93961aca65
Don't include Matrix3 in Matrix4, as it isn't used.
...
Also updated includes in dependent headers.
14 years ago
Vladimír Vondruš
bfbaa79e7b
Better documentation for primitives.
14 years ago
Vladimír Vondruš
9e24a7bca0
Don't return Matrix3 from Matrix4 member functions.
...
Matrix3 is for 2D affine transformations, while Matrix4 is for 3D.
Returning Matrix3 would allow doing this, which isn't meaningful
operation at all:
Matrix4 transformation;
Vector2 wtf = transformation.rotationScaling().translation();
14 years ago
Vladimír Vondruš
6895611f9b
Fixed ResourceManager example.
14 years ago
Vladimír Vondruš
949b092a60
Support for '0' and '1' constants in swizzle() functions.
...
Also deconfused related documentation a bit.
14 years ago
Vladimír Vondruš
77c0ab9cd4
2D/3D alternatives of collision detection shapes.
14 years ago
Vladimír Vondruš
b68a168fcb
Doc: crosslinking 1D/2D/3D alternatives.
14 years ago
Vladimír Vondruš
c820cbeee6
Point*D overload for Matrix subclasses.
14 years ago
Vladimír Vondruš
6aa7e3e806
Added Point*D::vector() function.
...
Equivalent to xy() and xyz(), useful for seamless 2D/3D integration.
14 years ago
Vladimír Vondruš
9feb8d32a5
Overloaded operators also for Point2D and Point3D.
14 years ago
Vladimír Vondruš
5b7ffedce3
Fixed serious copypasta error.
...
It's weird that it was working until now.
14 years ago
Vladimír Vondruš
2c0995cf26
2D equivalents of Geometry::Distance functions.
...
Also using std::sqrt() instead of sqrt() (has overloads for float).
14 years ago
Vladimír Vondruš
f4bc8b6174
Physics: Fixed Box shape compilation, added missing unit test.
14 years ago
Vladimír Vondruš
e114fc12df
Hide Matrix::ij() reimplementation from documentation.
14 years ago
Vladimír Vondruš
04d58b3dbd
Fixed collision detection boolean/logical operations confusion.
...
Current implementation provided logical operations as if it were boolean
operations, which is wrong. Booleans might (or might not) be implemented
in the future, but currently the logical are enough.
14 years ago
Vladimír Vondruš
b2679d32f8
MeshTools: added transform() function.
...
In the future it will use multithreading/GPU transform feedback for
large arrays.
14 years ago
Vladimír Vondruš
b53759fb21
Doc++
...
* Grouping lengthy documentation into "Feature overview" page.
* Link only to example index, where all the disclaimers are.
* Also minor documentation updates.
14 years ago
Vladimír Vondruš
55d9b5ae84
MeshTools::interleave(): specialization for only one attribute array.
...
Also minor documentation fixes.
14 years ago
Vladimír Vondruš
fb70ef046a
Functions for getting translation part of the matrix.
14 years ago
Vladimír Vondruš
71784a777c
Functions for getting 2D rotation and scaling part of 3x3 matrix.
...
Crosslinked the documentation with 2D/3D alternatives and
"setters"/"getters".
14 years ago
Vladimír Vondruš
f637106727
Initial version of resource manager.
14 years ago
Vladimír Vondruš
e99a63f38e
Doc++
14 years ago
Vladimír Vondruš
02f0de619a
Method chaining for Mesh.
14 years ago
Vladimír Vondruš
04829da616
Mesh::setFrontFace() should be static (and inline).
14 years ago
Vladimír Vondruš
67c83507be
Added simple guide for contributions.
14 years ago
Vladimír Vondruš
a385441c02
Moved type conversion constructor from Vector to RectangularMatrix.
14 years ago
Vladimír Vondruš
5d639095ee
Removed "wontfix" TODOs.
...
Loop unrolling is better to leave up to the compiler, as it will do it
automatically and it doesn't add any maintenance burden. Constexpr
addition, multiplication etc. of Vector would be nice, but will that be
really useful? Maybe once if at all?
14 years ago
Vladimír Vondruš
391e721ac6
Cache-oblivious traversing order in Matrix functions.
...
Loop through all cols, then rows, so the memory is accessed
continuously.
14 years ago
Vladimír Vondruš
03f135e696
Documentation clarification, assertion update.
...
Don't yell at the user all the time.
14 years ago
Vladimír Vondruš
7c17871c90
Assuming the vectors are normalized in Matrix4::rotation().
14 years ago
Vladimír Vondruš
b43a6ee586
Square primitive.
14 years ago
Vladimír Vondruš
90a3b76e05
Have both 2D and 3D alternatives of mesh and object data in Trade.
14 years ago
Vladimír Vondruš
071afa0b7a
Point*D Vector* subclasses for homogeneous coordinates.
...
Vector4 doesn't set W component to one by default anymore, this is now
handled by Point*D itself. This finally allows creating of 2D primitives
and 2D position vectors without messing explicitly with Z = 1.
All classes which should use Point instead of Vector were updated to use
Point instead.
14 years ago
Vladimír Vondruš
b90ba53f2e
Doc++ (positions, not vertices).
14 years ago
Vladimír Vondruš
eb803200d6
Disabled denormalization test for long double altogether.
...
Fails in Debug, but passes in Release mode on my GCC 4.7 @ x86_64. Not
sure what to do about it.
14 years ago