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 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							f1967b5fb3 
							
						 
					 
					
						
						
							
							Removed GTX_ocl_type, issue  #64  
						
						
						
						
					 
					
						2013-04-19 21:53:31 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							a67c7594bc 
							
						 
					 
					
						
						
							
							Clarified comments in GTC_epsilon, issue  #69  
						
						
						
						
					 
					
						2013-04-19 21:44:49 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							85ae145cf5 
							
						 
					 
					
						
						
							
							Fixed merge  
						
						
						
						
					 
					
						2013-04-19 21:38:57 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							073675d970 
							
						 
					 
					
						
						
							
							Updated readme for issue  #70  
						
						
						
						
					 
					
						2013-04-19 21:36:10 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							e5172fb284 
							
						 
					 
					
						
						
							
							Merge pull request  #70  from Adellica/0.9.4  
						
						... 
						
						
						
						Fixed mat2x4 value-type constructor, issue #70  
						
						
					 
					
						2013-04-19 12:33:43 -07:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							e72f18997c 
							
						 
					 
					
						
						
							
							Fixed GTX_multiple for negative values, issue  #51  
						
						
						
						
					 
					
						2013-04-19 21:30:52 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							604405e941 
							
						 
					 
					
						
						
							
							Fixed equal operator on quat  
						
						
						
						
					 
					
						2013-04-17 18:24:02 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							54e9d54579 
							
						 
					 
					
						
						
							
							Fixed tests and mat type typedefs  
						
						
						
						
					 
					
						2013-04-17 12:26:34 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							abbb0fc7cb 
							
						 
					 
					
						
						
							
							Added component wise comparison operators for quaternion  
						
						
						
						
					 
					
						2013-04-17 11:16:54 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							d4043ea49a 
							
						 
					 
					
						
						
							
							Added all precision types for GTC_type_precision  
						
						
						
						
					 
					
						2013-04-16 21:58:26 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							296e3d7007 
							
						 
					 
					
						
						
							
							Fixed half precision implementation  
						
						
						
						
					 
					
						2013-04-15 11:04:24 +02:00 
						 
				 
			
				
					
						
							
							
								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 
						
						
					 
					
						2013-04-14 23:30:30 +02:00 
						 
				 
			
				
					
						
							
							
								Christophe Riccio 
							
						 
					 
					
						
						
						
						
							
						
						
							c14e2d7fbc 
							
						 
					 
					
						
						
							
							Added precision template parameter  
						
						
						
						
					 
					
						2013-04-10 13:46:27 +02:00