Commit Graph

1357 Commits

Author SHA1 Message Date
Dave Reid
dc9a2486d6 Fix a -Wswitch-default warning in GCC.
The default case should never actually be met. I've added an assert(false) statement here for sanity.
2012-12-22 11:57:19 +10:00
Christophe Riccio
ac59f0e4c5 Updated manual, fixing issue #16 2012-12-22 02:23:39 +01:00
Christophe Riccio
ad36b36b5b Updated mix and lerp documentation 2012-12-22 01:32:33 +01:00
Christophe Riccio
29805391bd Added tests for slerp function 2012-12-22 00:32:07 +01:00
Christophe Riccio
b78d53d0ac Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-12-21 23:05:38 +01:00
Christophe Riccio
912d1b1e81 Added slerp, lerp and mix functions for quaternions. Added, fixed and clarified documentation. 2012-12-21 23:05:10 +01:00
Christophe Riccio
a38b927608 Merge pull request #27 from mackron/SIMD
SIMD MinGW Fixes
2012-12-21 11:02:43 -08:00
Christophe Riccio
6f22430bbc Resolved quaternion slerp interpolation, implemented by mix function 2012-12-21 02:21:21 +01:00
Dave Reid
7b6fb9f635 Fix GCC warnings. 2012-12-21 10:48:10 +10:00
Dave Reid
f206f39c3a Fix MinGW compilation error. 2012-12-21 10:38:46 +10:00
Christophe Riccio
b5274bfa52 Updated readme.txt for GLM 0.9.4.1 release 2012-12-21 00:18:34 +01:00
Christophe Riccio
d694c0d19d Merge branch '0.9.4' of https://github.com/g-truc/glm into 0.9.4 2012-12-21 00:17:51 +01:00
Christophe Riccio
82832839c2 Resolved issue #24, incorrect assert messages for step and smoothstep 2012-12-21 00:17:23 +01:00
Christophe Riccio
1a2e05a1cc Merge pull request #25 from mackron/SIMD
SIMD Improvements and Additions
2012-12-20 15:05:05 -08:00
Dave Reid
18c616528a Add missing implementations of fmat4x4SIMD unary operators. 2012-12-21 08:33:14 +10:00
Dave Reid
c6c8dd15f2 Add missing implementation of fmat4x4SIMD binary operators. 2012-12-21 08:28:34 +10:00
Dave Reid
a4ea111417 Add a new constructor to fmat4x4SIMD that takes a __m128[4]. This is used in a future commit. 2012-12-21 08:19:36 +10:00
Dave Reid
60c3d3c943 Improve const-correctness in instrinsic_matrix.inl. 2012-12-21 08:12:30 +10:00
Dave Reid
3681cd3523 Add support for doing an identity initialization in the default constructor of fmat4x4SIMD().
This is disabled by default and enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. It makes toggling between SIMD and non-SIMD builds a bit easier.
2012-12-21 07:55:39 +10:00
Dave Reid
efff3add87 Add support for doing a (0.0, 0.0, 0.0, 0.0) initialization in the default constructor of fvec4SIMD().
This is disabled by default, but enabled with GLM_SIMD_ENABLE_DEFAULT_INIT. This makes toggling between SIMD and non-SIMD builds a bit easier.
2012-12-21 07:49:49 +10:00
Dave Reid
87c90590be Add support for x,y,z,w accessors to fvec4SIMD.
This is done via a union. It must be enabled with GLM_SIMD_ENABLE_XYZW_UNION. A nameless struct/union warning in VC (C4201) is explicitly disabled with the "pragma warning(push/pop)" system.

Allowing xyzw access makes it much easier to toggle between SIMD and non-SIMD builds.
2012-12-21 07:40:03 +10:00
Christophe Riccio
560b474008 Fixed quat slerp using mix function when cosTheta close to 1 2012-12-20 18:13:04 +01:00
Christophe Riccio
0b41846700 Fixed speeling 2012-12-20 11:16:12 +01:00
Christophe Riccio
c19dda3797 Fixed quaternion interpolation when cosTheta is close to zero 2012-12-20 00:37:28 +01:00
Christophe Riccio
ec05d43d7d Updated readme for GLM 0.9.4.1 release 2012-12-16 22:05:23 +01:00
Christophe Riccio
443f62bb08 Fixed issue #19, fixed -0.0 with half 2012-12-16 21:54:54 +01:00
Christophe Riccio
8a291a9dc2 Fixed bug #14, fixed constexpr 2012-12-13 23:08:41 +01:00
Christophe Riccio
841f91e830 Fixed bug #15, added missing roll, pitch and yaw functions; Fixed half implicit conversions 2012-12-13 22:48:20 +01:00
Christophe Riccio
931b7bcdd6 Fixed issue #18 glm::clamp and NaN's 2012-12-13 11:26:59 +01:00
Christophe Riccio
a7fb9f31fd Fixed bug #13, ICC built on Linux 2012-12-10 14:07:33 +01:00
Christophe Riccio
c7fa6d745a Revert previous change trying to fix bug #13: Break the build on Windows... 2012-12-09 00:40:25 +01:00
Christophe Riccio
8b75ff6e1c Added GTX_multiple tests 2012-12-07 11:25:06 +01:00
Christophe Riccio
7e0288359f Tentative of fixing bug #13, nextafter on Intel compiler 2012-12-07 11:22:13 +01:00
Christophe Riccio
753d5db251 Updated documentation 2012-11-18 14:05:52 +01:00
Christophe Riccio
5474e33d08 Clean up util files 2012-11-18 14:03:14 +01:00
Christophe Riccio
b8f30c5ad3 Fixed bug #11, added missing quat based epsilonEqual and epsilonNotEqual definitions 2012-11-15 15:37:28 +01:00
Christophe Riccio
47b610c6d3 Clean up doxygen documentation 2012-11-15 15:29:41 +01:00
Christophe Riccio
4b18cc7051 Clean up doxygen documentation... was exposing implementation details 2012-11-14 12:16:10 +01:00
Christophe Riccio
2f8f070597 Fixed GTC_epsilon with Clang 2012-11-14 12:02:24 +01:00
Christophe Riccio
0b745d4e1c Clean up space characters 2012-11-13 17:57:42 +01:00
Christophe Riccio
7b60ef7ab4 Merge branch 'master' of https://github.com/g-truc/glm into 0.9.4 2012-11-13 17:55:19 +01:00
Christophe Riccio
214c56cd45 Updated doxygen documentation 2012-11-13 17:54:11 +01:00
Christophe Riccio
63ae274be2 Merge pull request #10 from boromisp/master
Sphere intersection fixes
2012-11-13 08:51:21 -08:00
Christophe Riccio
9a4abb07ef Updated GLM manual for 0.9.4 2012-11-13 13:48:37 +01:00
Christophe Riccio
7778013575 Fixed space characters 2012-11-13 13:19:11 +01:00
boromisp
1683e78f58 Fixed the line-sphere intersection
The original implementation had the same mistakes than the ray-sphere
intersection.
Added two new 'out' parameters to return both intersection ponits.
Changed the implementation to the geomethric method.
2012-11-11 23:53:10 +01:00
boromisp
ed12134f34 Fixed the original ray-sphere intersection
Changed the original analytic method to a geometrical.

The errors in the original intersection calculation:
The function has a sphere center parameter, but ignores it and assumes
that the sphere is in the origo.
It calculates the length of the ray direction vector, but later on uses
this vector as a unit vector.
The position calculation is simply wrong. It multiplies the direction
vector with the radius of the sphere instead of the calculated
intersection distance.

The quadratic equation solving could be improved too:
There should be an early exit for negative discriminant.
The naive implementation sould be changed to a floating-point
specialized one.
2012-11-11 23:41:11 +01:00
boromisp
3a3c1fd8e8 Added new ray-sphere intersection
This version uses a geometric method (usually faster) and doesn't
calculate the intersection position and normal, only the distance.
2012-11-11 23:09:12 +01:00
Christophe Riccio
4fff9b4367 Added matrix inverse tests and clean up space characters 2012-11-09 03:39:43 +01:00
Christophe Riccio
c9a0b87c7b Fixed spaces 2012-11-09 01:24:22 +01:00