Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
vor 11 Jahren
Sam Hocevar
f7a8d5079b
math: disable a few unused operators (for integer quaternions, for instance).
vor 11 Jahren
Sam Hocevar
62f7068516
math: move code from vector.cpp to matrix.cpp and transform.cpp.
vor 11 Jahren
Sam Hocevar
4f28047fc4
math: refactor more shit, I have no idea what I’m doing.
vor 11 Jahren
Sam Hocevar
52cd11358e
math: finish renaming matrix<> to mat<>.
vor 11 Jahren
Sam Hocevar
7a28671dee
math: get rid of the base_vec* classes (thanks to relaxed unions), rename
MASK to SWIZZLE in the vector templates, rename matrix<> to mat<> for
consistency, implement transposition for all matrix sizes, make matrix
columns private and only accessible through operator[].
vor 11 Jahren
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
vor 11 Jahren
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
vor 11 Jahren
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
vor 11 Jahren
Benjamin ‘Touky’ Huet
60887138ff
Added tostring to vectors, similar to printf, but with tostring.
vor 11 Jahren
Sam Hocevar
cb62b52ce6
math: add quat::axis() and quat::angle() to retrieve axis and angle from a
quaternion, improve quat::rotate(vec3, vec3) to gracefully handle corner
cases, and add unit tests for all of these.
vor 11 Jahren
Sam Hocevar
8443733a08
math: add GLSL-inherited degrees() and radians() conversion functions.
vor 11 Jahren
Sam Hocevar
2bbc0d965a
math: fix broken translation in lookat() function.
vor 12 Jahren
Sam Hocevar
7cf2a85ae0
math: make mat4::lookat nicer to read.
vor 12 Jahren
Sam Hocevar
3b62246ef8
math: minor rework in the Euler angles conversion.
vor 12 Jahren
Sam Hocevar
5f3ad5cc15
math: add constant vectors vec2::zero, vec2::axis_x, etc.
vor 12 Jahren
Benjamin ‘Touky’ Huet
0a7dc44a67
Added MessageService : Basic & Naive Message logging.
Camera & vector.cpp : Fixed shifted_perspective crash with almost zero FOV.
vor 12 Jahren
Sam Hocevar
353d0a4417
math: last pass (hopefully) at the quaternion/euler conversions.
vor 12 Jahren
Sam Hocevar
d5d73330e8
math: more quaternion to Euler angles fixes, plus unit tests.
vor 12 Jahren
Sam Hocevar
9ecd579593
math: fix quaternion to euler conversion and add unit tests.
vor 12 Jahren
Benjamin ‘Touky’ Huet
04556dea8b
mat4 : removed useless ortho(). Fixed shifted_perspective so it actually works.
numeric : Added SmoothClamp & swap
camera : fixed target&up issues and added screen-scale factor.
touky_demo : correct camera integration & first pass on uro refactor. Also added Makefile to vcproj
vor 12 Jahren
Sam Hocevar
58ec9dd582
math: add lol::sq() square function and simplify quaternion conversions.
vor 12 Jahren
Sam Hocevar
6adf553806
math: implement vec3::toeuler_* for Tait-Bryan angles.
vor 12 Jahren
Sam Hocevar
f193bc2caa
scene: break text rendering again so that 2D games work properly...
vor 12 Jahren
Benjamin ‘Touky’ Huet
876f62228c
btphystest : added new camera functions. Added funny camera stuff for cat simulation.
vor 12 Jahren
Sam Hocevar
7fa84cdf36
math: remove debug code.
vor 12 Jahren
Sam Hocevar
c6e453fe5c
math: add unit tests for quat::rotate(vec3, vec3).
vor 12 Jahren
Sam Hocevar
af6deb15a2
math: create a quaternion from two vectors.
vor 12 Jahren
Benjamin ‘Touky’ Huet
181334f5ad
Added shifted_perspective for easier camera handling.
MeshViewer : Camera update and small object tweak.
ortho to perspective transition is now perfect.
vor 12 Jahren
Sam Hocevar
d8c6d4c198
doc: add some comments in vector.cpp functions.
vor 12 Jahren
Sam Hocevar
6faf4ee067
base: roll our own constants because it’s always a pain in the ass
to get M_PI from the platform headers and cast it to float.
vor 12 Jahren
Sam Hocevar
eead925c59
math: use "degrees" as the variable name for rotations for clarity.
vor 13 Jahren
Sam Hocevar
16d53895fa
math: remove coercion rules in the vector classes, they increase the
compilation time for very little benefit and maybe even confusion.
vor 13 Jahren
Benjamin ‘Touky’ Huet
c7219ff1dd
New year copyright update.
vor 13 Jahren
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
vor 13 Jahren
Sam Hocevar
2bf4cb668b
math: add a uniform scaling matrix constructor.
vor 13 Jahren
Sam Hocevar
5c5abfa53c
math: improve slerp implementation.
vor 13 Jahren
jeunathe
5224a5dd99
Added test in slerp to avoid -1 quat members
vor 13 Jahren
jeunathe
cbd842b21a
Added Slerp method to Quat
vor 13 Jahren
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
vor 13 Jahren
Sam Hocevar
8375f3443d
build: fix the PS3 port by using our trig.h everywhere instead of stdlib
functions; also remove a lot of idiotic "using namespace std" from the
codebase.
vor 13 Jahren
Sam Hocevar
59ba6e6c87
core: no longer deactivate std::ostream features on Android.
vor 13 Jahren
Sam Hocevar
f30105e675
math: implement all Euler conversions for 3×3 matrices.
vor 13 Jahren
Sam Hocevar
552dfee5b1
math: implement quaternion creation from true Euler angles (as opposed
to the Tait-Bryan angles we had for now). Also, change quaternion storage
order to wxyz in order to match the constructors.
vor 13 Jahren
Sam Hocevar
da6062de06
core: add methods to set the camera's view matrix.
vor 13 Jahren
Sam Hocevar
e1d0beae1a
math: support all Tait-Bryan angle combinations in quaternions.
vor 13 Jahren
Sam Hocevar
fad3e434cf
math: fix a bug in mat3::fromeuler().
vor 13 Jahren
Sam Hocevar
ecda7cd569
math: replace mat3::rotate(quat) with an explicit constructor, and add
more unit tests for the quaternion to 3×3 matrix conversion.
vor 13 Jahren
Sam Hocevar
032b32271b
math: fix a bug in the rotation matrix to quaternion conversion, found
with the unit tests.
vor 13 Jahren
Sam Hocevar
e91c326f57
math: add methods to convert from a quaternion to Euler angles and from
Euler angles to a rotation matrix. Also fix quat::rotate() which was not
building the correct quaternion.
vor 13 Jahren