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
739ab3529c
Resolved issue #4 , added GLM_GTX_rotate_normalized_axis
2012-12-14 00:14:02 +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
Christophe Riccio
a69de771a0
Fixed merge
2012-11-09 01:24:04 +01:00
Christophe Riccio
f96b0424ec
Merge pull request #5 from komiga/master
...
Fixed component swapping in tmat2x2::_inverse()
2012-11-08 16:00:49 -08:00
Christophe Riccio
4d3af10700
Fixed space characters
2012-11-08 15:00:50 +01:00
Christophe Riccio
669ace8067
Fixed space character
2012-11-08 14:34:22 +01:00
Christophe Riccio
bfec0e2388
Fixed epsilon for half types
2012-11-06 02:26:31 +01:00
Christophe Riccio
1fb8bec873
Fixed abs function for half based types
2012-11-06 01:23:14 +01:00
Christophe Riccio
cdf5d19275
Fixed space characters, using tab
2012-11-06 00:44:48 +01:00
Christophe Riccio
415c970188
Renamed equalEpsilon function into epsilonEqual and added tests
2012-11-05 19:43:23 +01:00
Christophe Riccio
9d9a625493
Renamed equalEpsilon function into epsilonEqual and added tests
2012-11-05 19:39:22 +01:00
Christophe Riccio
a350a26e3b
Fixed merge
2012-11-04 21:59:53 +01:00
Christophe Riccio
16876bef5a
Fixed merge
2012-11-04 21:57:19 +01:00
Christophe Riccio
1dda2390e5
Fixed warnings on MacOS X
2012-11-04 14:26:54 +01:00
Christophe Riccio
1cc7448c43
Fixed CUDA 5 warning due to parameter name mismatch between the declaration and the definition
2012-11-03 00:34:19 +01:00
Tim Howard
e2bc911f00
Fixed component swapping in tmat2x2::_inverse().
...
NB: glm::detail::tmat2x2::_inverse() incorrectly swaps all components instead of only main diagonals:
A = ⌈a b⌉
⌊c d⌋
(using standard representation). _inverse() on A incorrectly gives the order
⌈ d -c⌉
⌊-b a⌋
(swaps both diagonals) where it should be
⌈ d -b⌉
⌊-c a⌋
(I am leaving out division by the determinate for clarity).
Also, glm::inverse() in `glm/core/func_matrix.inl` is correct for 2x2 matrices and shows the mistake of _inverse().
The unit tests do not appear to test division of a mat2 by a mat2 (where this could arise).
2012-10-22 17:23:03 -04:00