Dave Reid
							
						 
						
							 
							
							
							
								
							
								1eb88e4bc1 
								
							
								 
							
						 
						
							
							
								
								Cleanup.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 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=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								d07496460a 
								
							
								 
							
						 
						
							
							
								
								Add the ability to convert a SIMD quat to a standard mat4.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								942bf08fe3 
								
							
								 
							
						 
						
							
							
								
								Add the ability to convert standard mat4s and mat3s to SIMD quats.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 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=13 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=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								8c7828e6f7 
								
							
								 
							
						 
						
							
							
								
								Fixed merge  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								3c7989486e 
								
							
								 
							
						 
						
							
							
								
								Fixed literals in dual quaternion implementation  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 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=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								6a7ccdb530 
								
							
								 
							
						 
						
							
							
								
								Fix another compilation error.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								b6d994f638 
								
							
								 
							
						 
						
							
							
								
								Compilation fixes due to missing P template parameters.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								5519b86003 
								
							
								 
							
						 
						
							
							
								
								Fix fvec4SIMD and fmat4x4SIMD compilation errors.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Dave Reid
							
						 
						
							 
							
							
							
								
							
								30dca2d0c7 
								
							
								 
							
						 
						
							
							
								
								Fix an ambiguity error with clamp().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								161c6c474b 
								
							
								 
							
						 
						
							
							
								
								Added library builds  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								f1967b5fb3 
								
							
								 
							
						 
						
							
							
								
								Removed GTX_ocl_type, issue  #64  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								a67c7594bc 
								
							
								 
							
						 
						
							
							
								
								Clarified comments in GTC_epsilon, issue  #69  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								e72f18997c 
								
							
								 
							
						 
						
							
							
								
								Fixed GTX_multiple for negative values, issue  #51  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								604405e941 
								
							
								 
							
						 
						
							
							
								
								Fixed equal operator on quat  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								54e9d54579 
								
							
								 
							
						 
						
							
							
								
								Fixed tests and mat type typedefs  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								abbb0fc7cb 
								
							
								 
							
						 
						
							
							
								
								Added component wise comparison operators for quaternion  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								d4043ea49a 
								
							
								 
							
						 
						
							
							
								
								Added all precision types for GTC_type_precision  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								296e3d7007 
								
							
								 
							
						 
						
							
							
								
								Fixed half precision implementation  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 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=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								c14e2d7fbc 
								
							
								 
							
						 
						
							
							
								
								Added precision template parameter  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								d2c0cf0a93 
								
							
								 
							
						 
						
							
							
								
								Fixed space characters  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								4b4f3fbbaa 
								
							
								 
							
						 
						
							
							
								
								Fixed space characters and improved forward declaration, including extensions  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								9e5e056229 
								
							
								 
							
						 
						
							
							
								
								Clean up  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								5bb22ed2ee 
								
							
								 
							
						 
						
							
							
								
								Added txt files to the project solution  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								589e7cda6b 
								
							
								 
							
						 
						
							
							
								
								Added forward declarations (glm/fwd.hpp) for faster compilations, issue  #56  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								afb7779baf 
								
							
								 
							
						 
						
							
							
								
								Added forward declarations (glm/fwd.hpp) for faster compilations, issue  #56  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								ea09100144 
								
							
								 
							
						 
						
							
							
								
								Added forward declarations (glm/fwd.hpp) for faster compilations, issue  #56  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								39cf417691 
								
							
								 
							
						 
						
							
							
								
								Added initial implementation for forward declarations: int and float scalar types,  #56  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								6a96cd819a 
								
							
								 
							
						 
						
							
							
								
								Fixed dual quaternion build on Clang, fixed space characters  #49  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								78d3e5ca66 
								
							
								 
							
						 
						
							
							
								
								Updated readme  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								e7dc01fc06 
								
							
								 
							
						 
						
							
							
								
								Fixed slerp, linear interpolation when cosTheta is close to 1,  #65  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								dab66f81e5 
								
							
								 
							
						 
						
							
							
								
								Fixed mix function for bool and bvec* type third parameter, issue  #59  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								356e70e653 
								
							
								 
							
						 
						
							
							
								
								Autodetect C++ version using __cplusplus value, issue  #62  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								003c547e43 
								
							
								 
							
						 
						
							
							
								
								Fixed isnan and isinf on Android with Clang, issue  #54  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								8ed5f541ff 
								
							
								 
							
						 
						
							
							
								
								Resolved issue  #58  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								4d71624067 
								
							
								 
							
						 
						
							
							
								
								Added file headers so that the files are no longer empty.  #57  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								6c4ae0d241 
								
							
								 
							
						 
						
							
							
								
								Fixed space characters  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								f37af51426 
								
							
								 
							
						 
						
							
							
								
								Fixed API for euclian, only need a vec2 parameter  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Maksim Vorobiev
							
						 
						
							 
							
							
							
								
							
								2afa70aedf 
								
							
								 
							
						 
						
							
							
								
								Removed erroneous include "./gtc/dual_quaternion.hpp". Now correctly including "./gtx/dual_quaternion.hpp"  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								982bb5ce5d 
								
							
								 
							
						 
						
							
							
								
								Added rotation function, issue  #22  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								18a8efde62 
								
							
								 
							
						 
						
							
							
								
								Resolve issue  #39 , exp, squad and intermediate functions  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								1e3cb00fe5 
								
							
								 
							
						 
						
							
							
								
								Completed bit interleaving for 3 and 4 values  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								3e3736769c 
								
							
								 
							
						 
						
							
							
								
								Fixed intrinsics build  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								2a4434786e 
								
							
								 
							
						 
						
							
							
								
								Updated date  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Christophe Riccio
							
						 
						
							 
							
							
							
								
							
								eafe125d95 
								
							
								 
							
						 
						
							
							
								
								Updated readme for GLM 0.9.4.3  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)  
						
					 
				
					
						
							
							
								 
								Maksim Vorobiev
							
						 
						
							 
							
							
							
								
							
								50c870ea96 
								
							
								 
							
						 
						
							
							
								
								Moved all dual quaternion functionality from GTC space to GTX.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=13 years)