|  |  | @ -8,216 +8,258 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @addtogroup gtc_type_ptr |  |  |  | 	/// @addtogroup gtc_type_ptr | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @{ |  |  |  | 	/// @{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(vec<2, T, Q> const& v) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(vec<2, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<2, T, Q>& v) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<2, T, Q>& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const * value_ptr(vec<3, T, Q> const& v) |  |  |  | 	GLM_FUNC_QUALIFIER T const * value_ptr(vec<3, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<3, T, Q>& v) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<3, T, Q>& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(vec<4, T, Q> const& v) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(vec<4, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the vector input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! From GLM_GTC_type_ptr extension. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<4, T, Q>& v) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(vec<4, T, Q>& v) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(v.x); |  |  |  | 		return &(v.x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 2, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 2, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 2, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 2, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 3, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 3, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 3, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 3, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 4, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 4, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! From GLM_GTC_type_ptr extension. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 4, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 4, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 3, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 3, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 3, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 3, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 2, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 2, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 2, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 2, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 4, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 4, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 4, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 4, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 2, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 2, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 2, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 2, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 4, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 4, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 4, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 4, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 3, T, Q> const& m) |  |  |  | 	GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 3, T, Q> const& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the address to the data of the matrix input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T * value_ptr(mat<4, 3, T, Q>& m) |  |  |  | 	GLM_FUNC_QUALIFIER T * value_ptr(mat<4, 3, T, Q>& m) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(m[0].x); |  |  |  | 		return &(m[0].x); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the constant address to the data of the input parameter. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T const * value_ptr(tquat<T, Q> const& q) |  |  |  | 	GLM_FUNC_QUALIFIER T const * value_ptr(tquat<T, Q> const& q) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(q[0]); |  |  |  | 		return &(q[0]); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Return the address to the data of the quaternion input. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T, qualifier Q> |  |  |  | 	template<typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(tquat<T, Q>& q) |  |  |  | 	GLM_FUNC_QUALIFIER T* value_ptr(tquat<T, Q>& q) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return &(q[0]); |  |  |  | 		return &(q[0]); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a vector from a pointer. |  |  |  | 	template <typename T, qualifier Q> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  | 	inline vec<1, T, Q> make_vec1(vec<1, T, Q> const& v) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return v; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<1, T, Q> make_vec1(vec<2, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<1, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<1, T, Q> make_vec1(vec<3, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<1, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<1, T, Q> make_vec1(vec<4, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<1, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<2, T, Q> make_vec2(vec<1, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<2, T, Q>(v.x, static_cast<T>(0)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<2, T, Q> make_vec2(vec<2, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return v; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<2, T, Q> make_vec2(vec<3, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<2, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<2, T, Q> make_vec2(vec<4, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<2, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<3, T, Q> make_vec3(vec<1, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<3, T, Q>(v.x, static_cast<T>(0), static_cast<T>(0)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<3, T, Q> make_vec3(vec<2, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<3, T, Q>(v.x, v.y, static_cast<T>(0)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<3, T, Q> make_vec3(vec<3, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return v; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<3, T, Q> make_vec3(vec<4, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<3, T, Q>(v); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<4, T, Q> make_vec4(vec<1, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<4, T, Q>(v.x, static_cast<T>(0), static_cast<T>(0), static_cast<T>(1)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<4, T, Q> make_vec4(vec<2, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<4, T, Q>(v.x, v.y, static_cast<T>(0), static_cast<T>(1)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<4, T, Q> make_vec4(vec<3, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return vec<4, T, Q>(v.x, v.y, v.z, static_cast<T>(1)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	template <typename T, qualifier Q> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return v; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER vec<2, T, defaultp> make_vec2(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER vec<2, T, defaultp> make_vec2(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -226,8 +268,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a vector from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER vec<3, T, defaultp> make_vec3(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER vec<3, T, defaultp> make_vec3(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -236,8 +276,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a vector from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER vec<4, T, defaultp> make_vec4(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER vec<4, T, defaultp> make_vec4(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -246,8 +284,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2x2(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2x2(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -256,8 +292,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 3, T, defaultp> make_mat2x3(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 3, T, defaultp> make_mat2x3(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -266,8 +300,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 4, T, defaultp> make_mat2x4(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 4, T, defaultp> make_mat2x4(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -276,8 +308,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 2, T, defaultp> make_mat3x2(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 2, T, defaultp> make_mat3x2(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -286,8 +316,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3x3(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3x3(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -296,8 +324,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 4, T, defaultp> make_mat3x4(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 4, T, defaultp> make_mat3x4(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -306,8 +332,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 2, T, defaultp> make_mat4x2(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 2, T, defaultp> make_mat4x2(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -316,8 +340,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 3, T, defaultp> make_mat4x3(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 3, T, defaultp> make_mat4x3(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -326,8 +348,6 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4x4(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4x4(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | @ -336,32 +356,24 @@ namespace glm | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return Result; |  |  |  | 		return Result; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return make_mat2x2(ptr); |  |  |  | 		return make_mat2x2(ptr); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return make_mat3x3(ptr); |  |  |  | 		return make_mat3x3(ptr); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a matrix from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return make_mat4x4(ptr); |  |  |  | 		return make_mat4x4(ptr); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//! Build a quaternion from a pointer. |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/// @see gtc_type_ptr |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	template<typename T> |  |  |  | 	template<typename T> | 
			
		
	
		
		
			
				
					
					|  |  |  | 	GLM_FUNC_QUALIFIER tquat<T, defaultp> make_quat(T const *const ptr) |  |  |  | 	GLM_FUNC_QUALIFIER tquat<T, defaultp> make_quat(T const *const ptr) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
	
		
		
			
				
					|  |  | 
 |