- Added GLM_EXT_vector_intX_sized and GLM_EXT_vector_uintX_sized extensions

This commit is contained in:
Christophe Riccio
2020-02-04 17:11:07 +01:00
parent 13724cfae6
commit 8e58cdbbf8
19 changed files with 1103 additions and 3 deletions

View File

@@ -6,9 +6,9 @@
#define GLM_VERSION_MAJOR 0
#define GLM_VERSION_MINOR 9
#define GLM_VERSION_PATCH 9
#define GLM_VERSION_REVISION 7
#define GLM_VERSION 997
#define GLM_VERSION_MESSAGE "GLM: version 0.9.9.7"
#define GLM_VERSION_REVISION 8
#define GLM_VERSION 998
#define GLM_VERSION_MESSAGE "GLM: version 0.9.9.8"
#define GLM_SETUP_INCLUDED GLM_VERSION

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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