Christophe Riccio
1c68cee29b
Clean up code test for branch compatibility on all platforms
2013-05-12 11:40:25 +02:00
Christophe Riccio
9841d2a2b4
Removed SSE tests
2013-05-11 22:40:02 +02:00
Christophe Riccio
929b521381
Added embedded SSE opetimizations in mat4 code
2013-05-11 00:08:55 +02:00
Christophe Riccio
66e3e52592
Fixed increment and decrement operators for matrix types
2013-05-10 23:08:30 +02:00
Christophe Riccio
95e72aa545
Added asserts to GTC_matrix_access
2013-05-10 22:00:53 +02:00
Christophe Riccio
6487ed1c34
Added assert to row and column functions
2013-05-10 21:52:23 +02:00
Christophe Riccio
1b3d5cd378
Fixed space characters
2013-05-10 21:37:20 +02:00
Christophe Riccio
a2583caa0f
Added vector type operator declarations
2013-05-10 14:03:54 +02:00
Christophe Riccio
a319cff426
Removed scalar functions
2013-05-10 12:36:10 +02:00
Christophe Riccio
ebd38a0a78
Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5
2013-05-10 11:28:22 +02:00
Christophe Riccio
9556540244
Fixed documents
2013-05-10 11:28:08 +02:00
Christophe Riccio
28d8e7f251
Fixed increment and decrement operators tests
2013-05-10 01:44:13 +02:00
Christophe Riccio
4a93e0ab70
Fixed explicit empty constructors for specialized half classes
2013-05-09 16:06:59 +02:00
Christophe Riccio
1839858465
Fixed missing typename
2013-05-09 13:46:56 +02:00
Christophe Riccio
691f04e14f
Fixed post in/decrement operators
2013-05-08 21:52:21 +02:00
Christophe Riccio
28c6bba18c
Refacted GTC_angle
2013-05-07 01:20:00 +02:00
Christophe Riccio
929f140b1e
Added GTC_angle extension files
2013-05-07 01:05:45 +02:00
Christophe Riccio
b2e55904b8
Fixed dual quat built on GCC
2013-05-07 01:02:52 +02:00
Christophe Riccio
5338aaac9e
Added half literals
2013-05-07 01:01:56 +02:00
Christophe Riccio
49fbfa051c
Optimized radians and degrees functions
2013-05-06 20:35:13 +02:00
Christophe Riccio
13f27821b9
Completed GTX_multiple for negative values, issue #79
2013-05-06 18:00:06 +02:00
Christophe Riccio
e3da5f952c
Fixed merge
2013-05-06 15:34:37 +02:00
Christophe Riccio
57a093035f
Updated cast test
2013-05-06 15:22:42 +02:00
Christophe Riccio
86a5825fee
Merge pull request #80 from robert-ancell/0.9.4
...
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases...
2013-05-06 06:16:35 -07:00
Christophe Riccio
092ccbe64f
Merge branch '0.9.5' of https://github.com/g-truc/glm into 0.9.5
2013-05-05 21:36:41 +02:00
Christophe Riccio
56564badb5
Added tests for issue #72
2013-05-05 21:36:22 +02:00
Christophe Riccio
0d3883c204
Merge pull request #75 from mackron/quat_simd
...
SIMD Quaternions
2013-05-05 09:16:35 -07:00
Christophe Riccio
c795562f67
Renamed gentype::null into gentype::_null for Tizen, #78
2013-05-05 18:06:42 +02:00
Robert Ancell
f0d4080fe3
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases. Does not fix the specialized versions of these functions
2013-05-03 16:52:06 -07:00
Christophe Riccio
31805bcd79
Removed grid test
2013-05-01 19:03:41 +02:00
Christophe Riccio
281a391b4d
Fixed swizzle build on Visual C++ compiler
2013-05-01 01:54:48 +02:00
Dave Reid
e0cfd7d672
Attempt a small optimization in operator*(fquatSIMD, fvec4SIMD). No big improvement.
2013-04-24 15:00:03 +10:00
Dave Reid
c08ea7656b
Reorganize operator* to makes things a bit clearer.
2013-04-24 14:46:20 +10:00
Dave Reid
1eb88e4bc1
Cleanup.
2013-04-24 14:06:28 +10:00
Dave Reid
c1006718b3
Add fastMix() and fastSlerp() implementations.
...
These have stricter pre-conditions than standard mix() and slerp()
- 1) Input quaternions must be unit length.
- 2) The interpolation factor (a) must be in the range [0, 1]
None of these restrictions should be too bad. The reason for these is that it uses fastAcos()
and fastSin(), both of which have a limited allowable range.
In my contrived tests, I observed about a 10x improvement over the standard versions. This is
mostly because of the faster acos/sin operations. The fastSin(__m128) implementation also helps
here because it can do four fastSin() operations simultaneously using SSE (mix() and slerp()
each need three).
2013-04-24 13:55:38 +10:00
Dave Reid
d07496460a
Add the ability to convert a SIMD quat to a standard mat4.
2013-04-24 09:54:28 +10:00
Dave Reid
942bf08fe3
Add the ability to convert standard mat4s and mat3s to SIMD quats.
2013-04-24 09:39:22 +10:00
Dave Reid
13837e1079
Remove the SSE3 implementation in operator*(fquatSIMD, fquatSIMD).
...
The SSE2 version is now running faster than the SSE3 version.
2013-04-24 08:51:17 +10:00
Dave Reid
197b6c96d8
Improve efficiency of operator*(fquatSIMD, fquatSIMD) in SSE4 mode.
...
Now only requires 3 shuffle, 4 mul and 4 dpps.
2013-04-24 07:58:41 +10:00
Dave Reid
d23da666c5
Merge branch '0.9.5' of https://github.com/g-truc/glm into quat_simd
2013-04-24 07:33:10 +10:00
Christophe Riccio
5a82afae6f
Fixed merge
2013-04-23 16:49:02 +02:00
Christophe Riccio
8c7828e6f7
Fixed merge
2013-04-23 16:40:07 +02:00
Christophe Riccio
3c7989486e
Fixed literals in dual quaternion implementation
2013-04-23 16:39:15 +02:00
Christophe Riccio
fb99c4d2e7
Merge pull request #74 from mackron/0.9.5_Compilation_Fixes
...
SIMD compilation fixes + clamp() ambiguity fix.
2013-04-23 07:37:37 -07:00
Dave Reid
7563a8bc4d
Add initial implementation of SIMD optimized quaternions.
...
A few things here can probably be improved by people a lot smarter then
me, but for the most part things are generally faster.
A few notes:
- A fquatSIMD can be converted to a fmat4x4SIMD using mat4SIMD_cast().
- A tquat<float> can be converted to a fquatSIMD using quatSIMD_cast().
- Some functions are virtually the same as their scalar counterparts
because I've just not been able to get them faster.
- Only the basic functions are implemented. Future plans include fast,
approximate normalize, length and mix/slerp functions.
2013-04-23 15:36:12 +10:00
Dave Reid
6a7ccdb530
Fix another compilation error.
2013-04-23 14:18:05 +10:00
Dave Reid
b6d994f638
Compilation fixes due to missing P template parameters.
2013-04-23 10:01:50 +10:00
Dave Reid
5519b86003
Fix fvec4SIMD and fmat4x4SIMD compilation errors.
2013-04-23 09:19:57 +10:00
Dave Reid
30dca2d0c7
Fix an ambiguity error with clamp().
2013-04-23 09:09:37 +10:00
Christophe Riccio
161c6c474b
Added library builds
2013-04-22 22:28:00 +02:00