Christophe Riccio
c795562f67
Renamed gentype::null into gentype::_null for Tizen, #78
ago%!(EXTRA string=12 years)
Robert Ancell
f0d4080fe3
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases. Does not fix the specialized versions of these functions
ago%!(EXTRA string=12 years)
Christophe Riccio
31805bcd79
Removed grid test
ago%!(EXTRA string=12 years)
Christophe Riccio
281a391b4d
Fixed swizzle build on Visual C++ compiler
ago%!(EXTRA string=12 years)
Dave Reid
e0cfd7d672
Attempt a small optimization in operator*(fquatSIMD, fvec4SIMD). No big improvement.
ago%!(EXTRA string=12 years)
Dave Reid
c08ea7656b
Reorganize operator* to makes things a bit clearer.
ago%!(EXTRA string=12 years)
Dave Reid
1eb88e4bc1
Cleanup.
ago%!(EXTRA string=12 years)
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).
ago%!(EXTRA string=12 years)
Dave Reid
d07496460a
Add the ability to convert a SIMD quat to a standard mat4.
ago%!(EXTRA string=12 years)
Dave Reid
942bf08fe3
Add the ability to convert standard mat4s and mat3s to SIMD quats.
ago%!(EXTRA string=12 years)
Dave Reid
13837e1079
Remove the SSE3 implementation in operator*(fquatSIMD, fquatSIMD).
...
The SSE2 version is now running faster than the SSE3 version.
ago%!(EXTRA string=12 years)
Dave Reid
197b6c96d8
Improve efficiency of operator*(fquatSIMD, fquatSIMD) in SSE4 mode.
...
Now only requires 3 shuffle, 4 mul and 4 dpps.
ago%!(EXTRA string=12 years)
Dave Reid
d23da666c5
Merge branch '0.9.5' of https://github.com/g-truc/glm into quat_simd
ago%!(EXTRA string=12 years)
Christophe Riccio
5a82afae6f
Fixed merge
ago%!(EXTRA string=12 years)
Christophe Riccio
8c7828e6f7
Fixed merge
ago%!(EXTRA string=12 years)
Christophe Riccio
3c7989486e
Fixed literals in dual quaternion implementation
ago%!(EXTRA string=12 years)
Christophe Riccio
fb99c4d2e7
Merge pull request #74 from mackron/0.9.5_Compilation_Fixes
...
SIMD compilation fixes + clamp() ambiguity fix.
ago%!(EXTRA string=12 years)
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.
ago%!(EXTRA string=12 years)
Dave Reid
6a7ccdb530
Fix another compilation error.
ago%!(EXTRA string=12 years)
Dave Reid
b6d994f638
Compilation fixes due to missing P template parameters.
ago%!(EXTRA string=12 years)
Dave Reid
5519b86003
Fix fvec4SIMD and fmat4x4SIMD compilation errors.
ago%!(EXTRA string=12 years)
Dave Reid
30dca2d0c7
Fix an ambiguity error with clamp().
ago%!(EXTRA string=12 years)
Christophe Riccio
161c6c474b
Added library builds
ago%!(EXTRA string=12 years)
Christophe Riccio
f1967b5fb3
Removed GTX_ocl_type, issue #64
ago%!(EXTRA string=12 years)
Christophe Riccio
a67c7594bc
Clarified comments in GTC_epsilon, issue #69
ago%!(EXTRA string=12 years)
Christophe Riccio
85ae145cf5
Fixed merge
ago%!(EXTRA string=12 years)
Christophe Riccio
073675d970
Updated readme for issue #70
ago%!(EXTRA string=12 years)
Christophe Riccio
e5172fb284
Merge pull request #70 from Adellica/0.9.4
...
Fixed mat2x4 value-type constructor, issue #70
ago%!(EXTRA string=12 years)
Christophe Riccio
e72f18997c
Fixed GTX_multiple for negative values, issue #51
ago%!(EXTRA string=12 years)
Christophe Riccio
604405e941
Fixed equal operator on quat
ago%!(EXTRA string=12 years)
Christophe Riccio
54e9d54579
Fixed tests and mat type typedefs
ago%!(EXTRA string=12 years)
Christophe Riccio
abbb0fc7cb
Added component wise comparison operators for quaternion
ago%!(EXTRA string=12 years)
Christophe Riccio
d4043ea49a
Added all precision types for GTC_type_precision
ago%!(EXTRA string=12 years)
Christophe Riccio
296e3d7007
Fixed half precision implementation
ago%!(EXTRA string=12 years)
Kristian Lein-Mathisen
867db84ca5
Fixed mat2x4 value-type constructor
...
#include <glm/glm.hpp>
#include <iostream>
using namespace std;
int main() {
// creating two should-be identical matrices
glm::mat2x4 A((int)1);
glm::mat2x4 B((float)1);
float* Aptr = (float*)&A;
float* Bptr = (float*)&B;
for(int i = 0 ; i < 8 ; i++) cout << Aptr[i] << " "; cout << endl;
for(int i = 0 ; i < 8 ; i++) cout << Bptr[i] << " ";
}
output before patch:
1 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0
output after patch:
1 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0
ago%!(EXTRA string=12 years)
Christophe Riccio
c14e2d7fbc
Added precision template parameter
ago%!(EXTRA string=12 years)
Christophe Riccio
bb0398ae4a
Updated default precision section
ago%!(EXTRA string=12 years)
Christophe Riccio
d2c0cf0a93
Fixed space characters
ago%!(EXTRA string=12 years)
Christophe Riccio
4b4f3fbbaa
Fixed space characters and improved forward declaration, including extensions
ago%!(EXTRA string=12 years)
Christophe Riccio
733cd31b0d
Updated documentation design (code), improved swizzling description
ago%!(EXTRA string=12 years)
Christophe Riccio
653e2e20ba
Updated manual, new table of contents design. Created a faster compilation section, still in progress.
ago%!(EXTRA string=12 years)
Christophe Riccio
e060785c15
Updated documentation for forward declaration
ago%!(EXTRA string=12 years)
Christophe Riccio
9e5e056229
Clean up
ago%!(EXTRA string=12 years)
Christophe Riccio
5bb22ed2ee
Added txt files to the project solution
ago%!(EXTRA string=12 years)
Christophe Riccio
589e7cda6b
Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56
ago%!(EXTRA string=12 years)
Christophe Riccio
afb7779baf
Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56
ago%!(EXTRA string=12 years)
Christophe Riccio
ea09100144
Added forward declarations (glm/fwd.hpp) for faster compilations, issue #56
ago%!(EXTRA string=12 years)
Christophe Riccio
39cf417691
Added initial implementation for forward declarations: int and float scalar types, #56
ago%!(EXTRA string=12 years)
Christophe Riccio
6a96cd819a
Fixed dual quaternion build on Clang, fixed space characters #49
ago%!(EXTRA string=12 years)
Christophe Riccio
78d3e5ca66
Updated readme
ago%!(EXTRA string=12 years)