commit
						a331771ea8
					
				
				 29 changed files with 1233 additions and 292 deletions
			
			
		| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_int1_sized
 | ||||
| /// @file glm/ext/vector_int1_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_int1_sized GLM_EXT_vector_int1_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized signed integer vector types.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_int1_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_int_sized
 | ||||
| /// @see ext_vector_uint1_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_int1.hpp" | ||||
| #include "../ext/scalar_int_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_int1_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_int1_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int8, lowp>		lowp_i8vec1; | ||||
| 	/// Medium precision 8 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int8, mediump>	mediump_i8vec1; | ||||
| 	/// High precision 8 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int8, highp>		highp_i8vec1; | ||||
| 	/// 8 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int8, defaultp>	i8vec1; | ||||
| 
 | ||||
| 	/// Low precision 16 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int16, lowp>		lowp_i16vec1; | ||||
| 	/// Medium precision 16 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int16, mediump>	mediump_i16vec1; | ||||
| 	/// High precision 16 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int16, highp>	highp_i16vec1; | ||||
| 	/// 16 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int16, defaultp>	i16vec1; | ||||
| 
 | ||||
| 	/// Low precision 32 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int32, lowp>		lowp_i32vec1; | ||||
| 	/// Medium precision 32 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int32, mediump>	mediump_i32vec1; | ||||
| 	/// High precision 32 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int32, highp>	highp_i32vec1; | ||||
| 	/// 32 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int32, defaultp>	i32vec1; | ||||
| 
 | ||||
| 	/// Low precision 64 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int64, lowp>		lowp_i64vec1; | ||||
| 	/// Medium precision 64 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int64, mediump>	mediump_i64vec1; | ||||
| 	/// High precision 64 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int64, highp>	highp_i64vec1; | ||||
| 	/// 64 bit signed integer vector of 1 component type.
 | ||||
| 	typedef vec<1, int64, defaultp>	i64vec1; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_int2_sized
 | ||||
| /// @file glm/ext/vector_int2_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_int2_sized GLM_EXT_vector_int2_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized signed integer vector of 2 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_int2_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_int_sized
 | ||||
| /// @see ext_vector_uint2_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_int2.hpp" | ||||
| #include "../ext/scalar_int_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_int2_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_int2_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int8, lowp>			lowp_i8vec2; | ||||
| 	/// Medium precision 8 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int8, mediump>		mediump_i8vec2; | ||||
| 	/// High precision 8 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int8, highp>			highp_i8vec2; | ||||
| 	/// 8 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int8, defaultp>		i8vec2; | ||||
| 
 | ||||
| 	/// Low precision 16 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int16, lowp>			lowp_i16vec2; | ||||
| 	/// Medium precision 16 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int16, mediump>		mediump_i16vec2; | ||||
| 	/// High precision 16 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int16, highp>		highp_i16vec2; | ||||
| 	/// 16 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int16, defaultp>		i16vec2; | ||||
| 
 | ||||
| 	/// Low precision 32 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int32, lowp>			lowp_i32vec2; | ||||
| 	/// Medium precision 32 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int32, mediump>		mediump_i32vec2; | ||||
| 	/// High precision 32 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int32, highp>		highp_i32vec2; | ||||
| 	/// 32 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int32, defaultp>		i32vec2; | ||||
| 
 | ||||
| 	/// Low precision 64 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int64, lowp>			lowp_i64vec2; | ||||
| 	/// Medium precision 64 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int64, mediump>		mediump_i64vec2; | ||||
| 	/// High precision 64 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int64, highp>		highp_i64vec2; | ||||
| 	/// 64 bit signed integer vector of 2 components type.
 | ||||
| 	typedef vec<2, int64, defaultp>		i64vec2; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_int3_sized
 | ||||
| /// @file glm/ext/vector_int3_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_int3_sized GLM_EXT_vector_int3_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized signed integer vector of 3 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_int3_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_int_sized
 | ||||
| /// @see ext_vector_uint3_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_int3.hpp" | ||||
| #include "../ext/scalar_int_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_int3_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_int3_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int8, lowp>			lowp_i8vec3; | ||||
| 	/// Medium precision 8 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int8, mediump>		mediump_i8vec3; | ||||
| 	/// High precision 8 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int8, highp>			highp_i8vec3; | ||||
| 	/// 8 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int8, defaultp>		i8vec3; | ||||
| 
 | ||||
| 	/// Low precision 16 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int16, lowp>			lowp_i16vec3; | ||||
| 	/// Medium precision 16 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int16, mediump>		mediump_i16vec3; | ||||
| 	/// High precision 16 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int16, highp>		highp_i16vec3; | ||||
| 	/// 16 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int16, defaultp>		i16vec3; | ||||
| 
 | ||||
| 	/// Low precision 32 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int32, lowp>			lowp_i32vec3; | ||||
| 	/// Medium precision 32 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int32, mediump>		mediump_i32vec3; | ||||
| 	/// High precision 32 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int32, highp>		highp_i32vec3; | ||||
| 	/// 32 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int32, defaultp>		i32vec3; | ||||
| 
 | ||||
| 	/// Low precision 64 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int64, lowp>			lowp_i64vec3; | ||||
| 	/// Medium precision 64 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int64, mediump>		mediump_i64vec3; | ||||
| 	/// High precision 64 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int64, highp>		highp_i64vec3; | ||||
| 	/// 64 bit signed integer vector of 3 components type.
 | ||||
| 	typedef vec<3, int64, defaultp>		i64vec3; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_int4_sized
 | ||||
| /// @file glm/ext/vector_int4_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_int4_sized GLM_EXT_vector_int4_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized signed integer vector of 4 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_int4_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_int_sized
 | ||||
| /// @see ext_vector_uint4_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_int4.hpp" | ||||
| #include "../ext/scalar_int_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_int4_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_int4_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int8, lowp>			lowp_i8vec4; | ||||
| 	/// Medium precision 8 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int8, mediump>		mediump_i8vec4; | ||||
| 	/// High precision 8 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int8, highp>			highp_i8vec4; | ||||
| 	/// 8 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int8, defaultp>		i8vec4; | ||||
| 
 | ||||
| 	/// Low precision 16 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int16, lowp>			lowp_i16vec4; | ||||
| 	/// Medium precision 16 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int16, mediump>		mediump_i16vec4; | ||||
| 	/// High precision 16 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int16, highp>		highp_i16vec4; | ||||
| 	/// 16 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int16, defaultp>		i16vec4; | ||||
| 
 | ||||
| 	/// Low precision 32 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int32, lowp>			lowp_i32vec4; | ||||
| 	/// Medium precision 32 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int32, mediump>		mediump_i32vec4; | ||||
| 	/// High precision 32 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int32, highp>		highp_i32vec4; | ||||
| 	/// 32 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int32, defaultp>		i32vec4; | ||||
| 
 | ||||
| 	/// Low precision 64 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int64, lowp>			lowp_i64vec4; | ||||
| 	/// Medium precision 64 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int64, mediump>		mediump_i64vec4; | ||||
| 	/// High precision 64 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int64, highp>		highp_i64vec4; | ||||
| 	/// 64 bit signed integer vector of 4 components type.
 | ||||
| 	typedef vec<4, int64, defaultp>		i64vec4; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,32 @@ | ||||
| /// @ref vector_packing
 | ||||
| /// @file glm/ext/vector_packing.hpp
 | ||||
| ///
 | ||||
| /// @see core (dependence)
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_packing GLM_EXT_vector_packing
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_packing.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// This extension provides a set of function to convert vertors to packed
 | ||||
| /// formats.
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| // Dependency:
 | ||||
| #include "../detail/qualifier.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_packing extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_packing
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }// namespace glm
 | ||||
| 
 | ||||
| #include "vector_packing.inl" | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_uint1_sized
 | ||||
| /// @file glm/ext/vector_uint1_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_uint1_sized GLM_EXT_vector_uint1_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized unsigned integer vector types.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_uint1_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_uint_sized
 | ||||
| /// @see ext_vector_int1_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_uint1.hpp" | ||||
| #include "../ext/scalar_uint_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_uint1_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_uint1_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint8, lowp>			lowp_u8vec1; | ||||
| 	/// Medium precision 8 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint8, mediump>		mediump_u8vec1; | ||||
| 	/// High precision 8 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint8, highp>		highp_u8vec1; | ||||
| 	/// 8 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint8, defaultp>		u8vec1; | ||||
| 
 | ||||
| 	/// Low precision 16 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint16, lowp>		lowp_u16vec1; | ||||
| 	/// Medium precision 16 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint16, mediump>		mediump_u16vec1; | ||||
| 	/// High precision 16 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint16, highp>		highp_u16vec1; | ||||
| 	/// 16 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint16, defaultp>	u16vec1; | ||||
| 
 | ||||
| 	/// Low precision 32 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint32, lowp>		lowp_u32vec1; | ||||
| 	/// Medium precision 32 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint32, mediump>		mediump_u32vec1; | ||||
| 	/// High precision 32 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint32, highp>		highp_u32vec1; | ||||
| 	/// 32 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint32, defaultp>	u32vec1; | ||||
| 
 | ||||
| 	/// Low precision 64 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint64, lowp>		lowp_u64vec1; | ||||
| 	/// Medium precision 64 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint64, mediump>		mediump_u64vec1; | ||||
| 	/// High precision 64 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint64, highp>		highp_u64vec1; | ||||
| 	/// 64 bit unsigned integer vector of 1 component type.
 | ||||
| 	typedef vec<1, uint64, defaultp>	u64vec1; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_uint2_sized
 | ||||
| /// @file glm/ext/vector_uint2_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_uint2_sized GLM_EXT_vector_uint2_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized unsigned integer vector of 2 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_uint2_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_uint_sized
 | ||||
| /// @see ext_vector_int2_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_uint2.hpp" | ||||
| #include "../ext/scalar_uint_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_uint2_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_uint2_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint8, lowp>			lowp_u8vec2; | ||||
| 	/// Medium precision 8 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint8, mediump>		mediump_u8vec2; | ||||
| 	/// High precision 8 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint8, highp>		highp_u8vec2; | ||||
| 	/// 8 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint8, defaultp>		u8vec2; | ||||
| 
 | ||||
| 	/// Low precision 16 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint16, lowp>		lowp_u16vec2; | ||||
| 	/// Medium precision 16 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint16, mediump>		mediump_u16vec2; | ||||
| 	/// High precision 16 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint16, highp>		highp_u16vec2; | ||||
| 	/// 16 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint16, defaultp>	u16vec2; | ||||
| 
 | ||||
| 	/// Low precision 32 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint32, lowp>		lowp_u32vec2; | ||||
| 	/// Medium precision 32 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint32, mediump>		mediump_u32vec2; | ||||
| 	/// High precision 32 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint32, highp>		highp_u32vec2; | ||||
| 	/// 32 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint32, defaultp>	u32vec2; | ||||
| 
 | ||||
| 	/// Low precision 64 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint64, lowp>		lowp_u64vec2; | ||||
| 	/// Medium precision 64 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint64, mediump>		mediump_u64vec2; | ||||
| 	/// High precision 64 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint64, highp>		highp_u64vec2; | ||||
| 	/// 64 bit unsigned integer vector of 2 components type.
 | ||||
| 	typedef vec<2, uint64, defaultp>	u64vec2; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_uint3_sized
 | ||||
| /// @file glm/ext/vector_uint3_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_uint3_sized GLM_EXT_vector_uint3_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized unsigned integer vector of 3 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_uint3_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_uint_sized
 | ||||
| /// @see ext_vector_int3_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_uint3.hpp" | ||||
| #include "../ext/scalar_uint_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_uint3_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_uint3_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint8, lowp>			lowp_u8vec3; | ||||
| 	/// Medium precision 8 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint8, mediump>		mediump_u8vec3; | ||||
| 	/// High precision 8 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint8, highp>		highp_u8vec3; | ||||
| 	/// 8 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint8, defaultp>		u8vec3; | ||||
| 
 | ||||
| 	/// Low precision 16 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint16, lowp>		lowp_u16vec3; | ||||
| 	/// Medium precision 16 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint16, mediump>		mediump_u16vec3; | ||||
| 	/// High precision 16 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint16, highp>		highp_u16vec3; | ||||
| 	/// 16 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint16, defaultp>	u16vec3; | ||||
| 
 | ||||
| 	/// Low precision 32 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint32, lowp>		lowp_u32vec3; | ||||
| 	/// Medium precision 32 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint32, mediump>		mediump_u32vec3; | ||||
| 	/// High precision 32 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint32, highp>		highp_u32vec3; | ||||
| 	/// 32 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint32, defaultp>	u32vec3; | ||||
| 
 | ||||
| 	/// Low precision 64 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint64, lowp>		lowp_u64vec3; | ||||
| 	/// Medium precision 64 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint64, mediump>		mediump_u64vec3; | ||||
| 	/// High precision 64 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint64, highp>		highp_u64vec3; | ||||
| 	/// 64 bit unsigned integer vector of 3 components type.
 | ||||
| 	typedef vec<3, uint64, defaultp>	u64vec3; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,65 @@ | ||||
| /// @ref ext_vector_uint4_sized
 | ||||
| /// @file glm/ext/vector_uint4_sized.hpp
 | ||||
| ///
 | ||||
| /// @defgroup ext_vector_uint4_sized GLM_EXT_vector_uint4_sized
 | ||||
| /// @ingroup ext
 | ||||
| ///
 | ||||
| /// Exposes sized unsigned integer vector of 4 components type.
 | ||||
| ///
 | ||||
| /// Include <glm/ext/vector_uint4_sized.hpp> to use the features of this extension.
 | ||||
| ///
 | ||||
| /// @see ext_scalar_uint_sized
 | ||||
| /// @see ext_vector_int4_sized
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "../ext/vector_uint4.hpp" | ||||
| #include "../ext/scalar_uint_sized.hpp" | ||||
| 
 | ||||
| #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) | ||||
| #	pragma message("GLM: GLM_EXT_vector_uint4_sized extension included") | ||||
| #endif | ||||
| 
 | ||||
| namespace glm | ||||
| { | ||||
| 	/// @addtogroup ext_vector_uint4_sized
 | ||||
| 	/// @{
 | ||||
| 
 | ||||
| 	/// Low precision 8 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint8, lowp>			lowp_u8vec4; | ||||
| 	/// Medium precision 8 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint8, mediump>		mediump_u8vec4; | ||||
| 	/// High precision 8 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint8, highp>		highp_u8vec4; | ||||
| 	/// 8 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint8, defaultp>		u8vec4; | ||||
| 
 | ||||
| 	/// Low precision 16 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint16, lowp>		lowp_u16vec4; | ||||
| 	/// Medium precision 16 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint16, mediump>		mediump_u16vec4; | ||||
| 	/// High precision 16 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint16, highp>		highp_u16vec4; | ||||
| 	/// 16 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint16, defaultp>	u16vec4; | ||||
| 
 | ||||
| 	/// Low precision 32 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint32, lowp>		lowp_u32vec4; | ||||
| 	/// Medium precision 32 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint32, mediump>		mediump_u32vec4; | ||||
| 	/// High precision 32 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint32, highp>		highp_u32vec4; | ||||
| 	/// 32 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint32, defaultp>	u32vec4; | ||||
| 
 | ||||
| 	/// Low precision 64 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint64, lowp>		lowp_u64vec4; | ||||
| 	/// Medium precision 64 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint64, mediump>		mediump_u64vec4; | ||||
| 	/// High precision 64 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint64, highp>		highp_u64vec4; | ||||
| 	/// 64 bit unsigned integer vector of 4 components type.
 | ||||
| 	typedef vec<4, uint64, defaultp>	u64vec4; | ||||
| 
 | ||||
| 	/// @}
 | ||||
| }//namespace glm
 | ||||
| @ -0,0 +1,28 @@ | ||||
| #include <glm/ext/scalar_packing.hpp> | ||||
| #include <glm/ext/scalar_relational.hpp> | ||||
| 
 | ||||
| int test_packUnorm() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int test_packSnorm() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_packUnorm(); | ||||
| 	Error += test_packSnorm(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_int1_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| 	static_assert(sizeof(glm::lowp_i8vec1) == 1, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i8vec1) == 1, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i8vec1) == 1, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::i8vec1) == 1, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i16vec1) == 2, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i16vec1) == 2, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i16vec1) == 2, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i16vec1) == 2, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i32vec1) == 4, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i32vec1) == 4, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i32vec1) == 4, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i32vec1) == 4, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i64vec1) == 8, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i64vec1) == 8, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i64vec1) == 8, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i64vec1) == 8, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i8vec1) == 1 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec1) == 2 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec1) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i64vec1) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::i8vec1) < sizeof(glm::i16vec1) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec1) < sizeof(glm::i32vec1) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec1) < sizeof(glm::i64vec1) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_int2_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| 	static_assert(sizeof(glm::lowp_i8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::i8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i8vec2) == 2 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec2) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec2) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i64vec2) == 16 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::i8vec2) < sizeof(glm::i16vec2) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec2) < sizeof(glm::i32vec2) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec2) < sizeof(glm::i64vec2) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_int3_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| 	static_assert(sizeof(glm::lowp_i8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::i8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_i64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_i64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_i64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::i64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i8vec3) == 3 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec3) == 6 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec3) == 12 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i64vec3) == 24 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::i8vec3) < sizeof(glm::i16vec3) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec3) < sizeof(glm::i32vec3) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec3) < sizeof(glm::i64vec3) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_int4_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| static_assert(sizeof(glm::lowp_i8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::mediump_i8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::highp_i8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::i8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_i16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_i16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_i16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::i16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_i32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_i32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_i32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::i32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_i64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_i64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_i64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::i64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i8vec4) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec4) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec4) == 16 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_i64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_i64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_i64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::i64vec4) == 32 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::i8vec4) < sizeof(glm::i16vec4) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i16vec4) < sizeof(glm::i32vec4) ? 0 : 1; | ||||
| 	Error += sizeof(glm::i32vec4) < sizeof(glm::i64vec4) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,58 @@ | ||||
| #include <glm/ext/vector_packing.hpp> | ||||
| #include <glm/ext/vector_relational.hpp> | ||||
| #include <glm/ext/vector_uint2_sized.hpp> | ||||
| #include <glm/ext/vector_int2_sized.hpp> | ||||
| #include <glm/gtc/packing.hpp> | ||||
| #include <glm/vec2.hpp> | ||||
| #include <vector> | ||||
| 
 | ||||
| int test_packUnorm() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	std::vector<glm::vec2> A; | ||||
| 	A.push_back(glm::vec2(1.0f, 0.7f)); | ||||
| 	A.push_back(glm::vec2(0.5f, 0.1f)); | ||||
| 
 | ||||
| 	for (std::size_t i = 0; i < A.size(); ++i) | ||||
| 	{ | ||||
| 		glm::vec2 B(A[i]); | ||||
| 		glm::u16vec2 C = glm::packUnorm<glm::uint16>(B); | ||||
| 		glm::vec2 D = glm::unpackUnorm<float>(C); | ||||
| 		Error += glm::all(glm::equal(B, D, 1.0f / 255.f)) ? 0 : 1; | ||||
| 		assert(!Error); | ||||
| 	} | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int test_packSnorm() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	std::vector<glm::vec2> A; | ||||
| 	A.push_back(glm::vec2(1.0f, 0.0f)); | ||||
| 	A.push_back(glm::vec2(-0.5f, -0.7f)); | ||||
| 	A.push_back(glm::vec2(-0.1f, 0.1f)); | ||||
| 
 | ||||
| 	for (std::size_t i = 0; i < A.size(); ++i) | ||||
| 	{ | ||||
| 		glm::vec2 B(A[i]); | ||||
| 		glm::i16vec2 C = glm::packSnorm<glm::int16>(B); | ||||
| 		glm::vec2 D = glm::unpackSnorm<float>(C); | ||||
| 		Error += glm::all(glm::equal(B, D, 1.0f / 32767.0f * 2.0f)) ? 0 : 1; | ||||
| 		assert(!Error); | ||||
| 	} | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_packUnorm(); | ||||
| 	Error += test_packSnorm(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_uint1_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| 	static_assert(sizeof(glm::lowp_u8vec1) == 1, "uint8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_u8vec1) == 1, "uint8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_u8vec1) == 1, "uint8 size isn't 1 byte on this platform"); | ||||
| 	static_assert(sizeof(glm::u8vec1) == 1, "uint8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_u16vec1) == 2, "uint16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_u16vec1) == 2, "uint16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_u16vec1) == 2, "uint16 size isn't 2 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::u16vec1) == 2, "uint16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_u32vec1) == 4, "uint32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_u32vec1) == 4, "uint32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_u32vec1) == 4, "uint32 size isn't 4 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::u32vec1) == 4, "uint32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| 	static_assert(sizeof(glm::lowp_u64vec1) == 8, "uint64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::mediump_u64vec1) == 8, "uint64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::highp_u64vec1) == 8, "uint64 size isn't 8 bytes on this platform"); | ||||
| 	static_assert(sizeof(glm::u64vec1) == 8, "uint64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u8vec1) == 1 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u8vec1) == 1 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u16vec1) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec1) == 2 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u32vec1) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec1) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u64vec1) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u64vec1) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::u8vec1) < sizeof(glm::u16vec1) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec1) < sizeof(glm::u32vec1) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec1) < sizeof(glm::u64vec1) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_uint2_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| static_assert(sizeof(glm::lowp_u8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::highp_u8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::u8vec2) == 2, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u16vec2) == 4, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u32vec2) == 8, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u64vec2) == 16, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u8vec2) == 2 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u8vec2) == 2 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u16vec2) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec2) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u32vec2) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec2) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u64vec2) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u64vec2) == 16 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::u8vec2) < sizeof(glm::u16vec2) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec2) < sizeof(glm::u32vec2) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec2) < sizeof(glm::u64vec2) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_uint3_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| static_assert(sizeof(glm::lowp_u8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::highp_u8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::u8vec3) == 3, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u16vec3) == 6, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u32vec3) == 12, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u64vec3) == 24, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u8vec3) == 3 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u8vec3) == 3 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u16vec3) == 6 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec3) == 6 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u32vec3) == 12 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec3) == 12 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u64vec3) == 24 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u64vec3) == 24 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::u8vec3) < sizeof(glm::u16vec3) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec3) < sizeof(glm::u32vec3) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec3) < sizeof(glm::u64vec3) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| #include <glm/ext/vector_uint4_sized.hpp> | ||||
| 
 | ||||
| #if GLM_HAS_STATIC_ASSERT | ||||
| static_assert(sizeof(glm::lowp_u8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::highp_u8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| static_assert(sizeof(glm::u8vec4) == 4, "int8 size isn't 1 byte on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u16vec4) == 8, "int16 size isn't 2 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u32vec4) == 16, "int32 size isn't 4 bytes on this platform"); | ||||
| 
 | ||||
| static_assert(sizeof(glm::lowp_u64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::mediump_u64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::highp_u64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| static_assert(sizeof(glm::u64vec4) == 32, "int64 size isn't 8 bytes on this platform"); | ||||
| #endif | ||||
| 
 | ||||
| static int test_size() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u8vec4) == 4 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u8vec4) == 4 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u16vec4) == 8 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec4) == 8 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u32vec4) == 16 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec4) == 16 ? 0 : 1; | ||||
| 
 | ||||
| 	Error += sizeof(glm::lowp_u64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::mediump_u64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::highp_u64vec4) == 32 ? 0 : 1; | ||||
| 	Error += sizeof(glm::u64vec4) == 32 ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| static int test_comp() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += sizeof(glm::u8vec4) < sizeof(glm::u16vec4) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u16vec4) < sizeof(glm::u32vec4) ? 0 : 1; | ||||
| 	Error += sizeof(glm::u32vec4) < sizeof(glm::u64vec4) ? 0 : 1; | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
| 
 | ||||
| int main() | ||||
| { | ||||
| 	int Error = 0; | ||||
| 
 | ||||
| 	Error += test_size(); | ||||
| 	Error += test_comp(); | ||||
| 
 | ||||
| 	return Error; | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue