Added matrix integer extensions and tests

This commit is contained in:
Christophe Riccio 2020-02-10 19:06:30 +01:00
parent 684817db46
commit 9e7a486c0e
37 changed files with 1083 additions and 7453 deletions

View File

@ -6,7 +6,7 @@
/// @defgroup ext_matrix_int2x2_sized GLM_EXT_matrix_int2x2_sized
/// @ingroup ext
///
/// Include <glm/ext/matrix_int2x2.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int2x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.

View File

@ -1,12 +1,12 @@
/// @ref ext_matrix_int2x3
/// @file glm/ext/matrix_int2x3.hpp
/// @ref ext_matrix_int2x3_sized
/// @file glm/ext/matrix_int2x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup ext_matrix_int2x3 GLM_EXT_matrix_int2x3
/// @defgroup ext_matrix_int2x3_sized GLM_EXT_matrix_int2x3_sized
/// @ingroup ext
///
/// Include <glm/ext/matrix_int2x3.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int2x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
@ -14,25 +14,36 @@
// Dependency:
#include "../mat2x3.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_EXT_matrix_int2x3 extension included")
# pragma message("GLM: GLM_EXT_matrix_int2x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup ext_matrix_int2x2
/// @addtogroup ext_matrix_int2x3_sized
/// @{
/// Signed integer 2x2 matrix.
/// 8 bit signed integer 2x3 matrix.
///
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> imat2;
/// @see ext_matrix_int2x3_sized
typedef mat<2, 3, int8, defaultp> i8mat2x3;
/// Signed integer 2x2 matrix.
/// 16 bit signed integer 2x3 matrix.
///
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> imat2x2;
/// @see ext_matrix_int2x3_sized
typedef mat<2, 3, int16, defaultp> i16mat2x3;
/// 32 bit signed integer 2x3 matrix.
///
/// @see ext_matrix_int2x3_sized
typedef mat<2, 3, int32, defaultp> i32mat2x3;
/// 64 bit signed integer 2x3 matrix.
///
/// @see ext_matrix_int2x3_sized
typedef mat<2, 3, int64, defaultp> i64mat2x3;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int2x4_sized
/// @file glm/ext/matrix_int2x4_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int2x4_sized GLM_EXT_matrix_int2x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int2x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int2x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int2x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 2x4 matrix.
///
/// @see ext_matrix_int2x4_sized
typedef mat<2, 4, int8, defaultp> i8mat2x4;
/// 16 bit signed integer 2x4 matrix.
///
/// @see ext_matrix_int2x4_sized
typedef mat<2, 4, int16, defaultp> i16mat2x4;
/// 32 bit signed integer 2x4 matrix.
///
/// @see ext_matrix_int2x4_sized
typedef mat<2, 4, int32, defaultp> i32mat2x4;
/// 64 bit signed integer 2x4 matrix.
///
/// @see ext_matrix_int2x4_sized
typedef mat<2, 4, int64, defaultp> i64mat2x4;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int3x2_sized
/// @file glm/ext/matrix_int3x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int3x2_sized GLM_EXT_matrix_int3x2_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int3x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int3x2_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int3x2_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_int3x2_sized
typedef mat<3, 2, int8, defaultp> i8mat3x2;
/// 16 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_int3x2_sized
typedef mat<3, 2, int16, defaultp> i16mat3x2;
/// 32 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_int3x2_sized
typedef mat<3, 2, int32, defaultp> i32mat3x2;
/// 64 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_int3x2_sized
typedef mat<3, 2, int64, defaultp> i64mat3x2;
/// @}
}//namespace glm

View File

@ -1,487 +1,70 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int3x3_sized
/// @file glm/ext/matrix_int3x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int3x3_sized GLM_EXT_matrix_int3x3_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int3x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int3x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int3x3_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int8, defaultp> i8mat3x3;
/// 16 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int16, defaultp> i16mat3x3;
/// 32 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int32, defaultp> i32mat3x3;
/// 64 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int64, defaultp> i64mat3x3;
/// 8 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int8, defaultp> i8mat3;
/// 16 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int16, defaultp> i16mat3;
/// 32 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int32, defaultp> i32mat3;
/// 64 bit signed integer 3x3 matrix.
///
/// @see ext_matrix_int3x3_sized
typedef mat<3, 3, int64, defaultp> i64mat3;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int3x4_sized
/// @file glm/ext/matrix_int3x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int3x4_sized GLM_EXT_matrix_int3x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int3x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int3x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int3x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 3x4 matrix.
///
/// @see ext_matrix_int3x4_sized
typedef mat<3, 4, int8, defaultp> i8mat3x4;
/// 16 bit signed integer 3x4 matrix.
///
/// @see ext_matrix_int3x4_sized
typedef mat<3, 4, int16, defaultp> i16mat3x4;
/// 32 bit signed integer 3x4 matrix.
///
/// @see ext_matrix_int3x4_sized
typedef mat<3, 4, int32, defaultp> i32mat3x4;
/// 64 bit signed integer 3x4 matrix.
///
/// @see ext_matrix_int3x4_sized
typedef mat<3, 4, int64, defaultp> i64mat3x4;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int4x2_sized
/// @file glm/ext/matrix_int4x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int4x2_sized GLM_EXT_matrix_int4x2_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int4x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int4x2_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int4x2_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 4x2 matrix.
///
/// @see ext_matrix_int4x2_sized
typedef mat<4, 2, int8, defaultp> i8mat4x2;
/// 16 bit signed integer 4x2 matrix.
///
/// @see ext_matrix_int4x2_sized
typedef mat<4, 2, int16, defaultp> i16mat4x2;
/// 32 bit signed integer 4x2 matrix.
///
/// @see ext_matrix_int4x2_sized
typedef mat<4, 2, int32, defaultp> i32mat4x2;
/// 64 bit signed integer 4x2 matrix.
///
/// @see ext_matrix_int4x2_sized
typedef mat<4, 2, int64, defaultp> i64mat4x2;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int4x3_sized
/// @file glm/ext/matrix_int4x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int4x3_sized GLM_EXT_matrix_int4x3_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int4x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int4x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int4x3_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 4x3 matrix.
///
/// @see ext_matrix_int4x3_sized
typedef mat<4, 3, int8, defaultp> i8mat4x3;
/// 16 bit signed integer 4x3 matrix.
///
/// @see ext_matrix_int4x3_sized
typedef mat<4, 3, int16, defaultp> i16mat4x3;
/// 32 bit signed integer 4x3 matrix.
///
/// @see ext_matrix_int4x3_sized
typedef mat<4, 3, int32, defaultp> i32mat4x3;
/// 64 bit signed integer 4x3 matrix.
///
/// @see ext_matrix_int4x3_sized
typedef mat<4, 3, int64, defaultp> i64mat4x3;
/// @}
}//namespace glm

View File

@ -1,487 +1,70 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_int4x4_sized
/// @file glm/ext/matrix_int4x4_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_int4x4_sized GLM_EXT_matrix_int4x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_int4x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_int_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_int4x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_int4x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int8, defaultp> i8mat4x4;
/// 16 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int16, defaultp> i16mat4x4;
/// 32 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int32, defaultp> i32mat4x4;
/// 64 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int64, defaultp> i64mat4x4;
/// 8 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int8, defaultp> i8mat4;
/// 16 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int16, defaultp> i16mat4;
/// 32 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int32, defaultp> i32mat4;
/// 64 bit signed integer 4x4 matrix.
///
/// @see ext_matrix_int4x4_sized
typedef mat<4, 4, int64, defaultp> i64mat4;
/// @}
}//namespace glm

View File

@ -1,12 +1,12 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint2x2_sized
/// @file glm/ext/matrix_uint2x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint2x2_sized GLM_EXT_matrix_uint2x2_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint2x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
@ -14,474 +14,57 @@
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint2x2_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint2x2_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint8, defaultp> u8mat2x2;
/// 16 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint16, defaultp> u16mat2x2;
/// 32 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint32, defaultp> u32mat2x2;
/// 64 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint64, defaultp> u64mat2x2;
/// 8 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint8, defaultp> u8mat2;
/// 16 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint16, defaultp> u16mat2;
/// 32 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint32, defaultp> u32mat2;
/// 64 bit unsigned integer 2x2 matrix.
///
/// @see ext_matrix_uint2x2_sized
typedef mat<2, 2, uint64, defaultp> u64mat2;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint2x3_sized
/// @file glm/ext/matrix_uint2x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint2x3_sized GLM_EXT_matrix_uint2x3_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint2x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint2x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint2x3_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 2x3 matrix.
///
/// @see ext_matrix_uint2x3_sized
typedef mat<2, 3, uint8, defaultp> u8mat2x3;
/// 16 bit unsigned integer 2x3 matrix.
///
/// @see ext_matrix_uint2x3_sized
typedef mat<2, 3, uint16, defaultp> u16mat2x3;
/// 32 bit unsigned integer 2x3 matrix.
///
/// @see ext_matrix_uint2x3_sized
typedef mat<2, 3, uint32, defaultp> u32mat2x3;
/// 64 bit unsigned integer 2x3 matrix.
///
/// @see ext_matrix_uint2x3_sized
typedef mat<2, 3, uint64, defaultp> u64mat2x3;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint2x4_sized
/// @file glm/ext/matrixu_uint2x4_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint2x4_sized GLM_EXT_matrix_uint2x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint2x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint2x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint2x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 2x4 matrix.
///
/// @see ext_matrix_uint2x4_sized
typedef mat<2, 4, uint8, defaultp> u8mat2x4;
/// 16 bit unsigned integer 2x4 matrix.
///
/// @see ext_matrix_uint2x4_sized
typedef mat<2, 4, uint16, defaultp> u16mat2x4;
/// 32 bit unsigned integer 2x4 matrix.
///
/// @see ext_matrix_uint2x4_sized
typedef mat<2, 4, uint32, defaultp> u32mat2x4;
/// 64 bit unsigned integer 2x4 matrix.
///
/// @see ext_matrix_uint2x4_sized
typedef mat<2, 4, uint64, defaultp> u64mat2x4;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint3x2_sized
/// @file glm/ext/matrix_uint3x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint3x2_sized GLM_EXT_matrix_uint3x2_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint3x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint3x2_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint3x2_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_uint3x2_sized
typedef mat<3, 2, uint8, defaultp> u8mat3x2;
/// 16 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_uint3x2_sized
typedef mat<3, 2, uint16, defaultp> u16mat3x2;
/// 32 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_uint3x2_sized
typedef mat<3, 2, uint32, defaultp> u32mat3x2;
/// 64 bit signed integer 3x2 matrix.
///
/// @see ext_matrix_uint3x2_sized
typedef mat<3, 2, uint64, defaultp> u64mat3x2;
/// @}
}//namespace glm

View File

@ -1,487 +1,70 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint3x3_sized
/// @file glm/ext/matrix_uint3x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint3x3_sized GLM_EXT_matrix_uint3x3_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint3x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint3x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint3x3_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint8, defaultp> u8mat3x3;
/// 16 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint16, defaultp> u16mat3x3;
/// 32 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint32, defaultp> u32mat3x3;
/// 64 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint64, defaultp> u64mat3x3;
/// 8 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint8, defaultp> u8mat3;
/// 16 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint16, defaultp> u16mat3;
/// 32 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint32, defaultp> u32mat3;
/// 64 bit unsigned integer 3x3 matrix.
///
/// @see ext_matrix_uint3x3_sized
typedef mat<3, 3, uint64, defaultp> u64mat3;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint3x4_sized
/// @file glm/ext/matrix_uint3x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint3x4_sized GLM_EXT_matrix_uint3x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint3x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint3x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint3x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 3x4 matrix.
///
/// @see ext_matrix_uint3x4_sized
typedef mat<3, 4, uint8, defaultp> u8mat3x4;
/// 16 bit unsigned integer 3x4 matrix.
///
/// @see ext_matrix_uint3x4_sized
typedef mat<3, 4, uint16, defaultp> u16mat3x4;
/// 32 bit unsigned integer 3x4 matrix.
///
/// @see ext_matrix_uint3x4_sized
typedef mat<3, 4, uint32, defaultp> u32mat3x4;
/// 64 bit unsigned integer 3x4 matrix.
///
/// @see ext_matrix_uint3x4_sized
typedef mat<3, 4, uint64, defaultp> u64mat3x4;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint4x2_sized
/// @file glm/ext/matrix_uint4x2_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint4x2_sized GLM_EXT_matrix_uint4x2_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint4x2_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint4x2_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint4x2_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 4x2 matrix.
///
/// @see ext_matrix_uint4x2_sized
typedef mat<4, 2, uint8, defaultp> u8mat4x2;
/// 16 bit unsigned integer 4x2 matrix.
///
/// @see ext_matrix_uint4x2_sized
typedef mat<4, 2, uint16, defaultp> u16mat4x2;
/// 32 bit unsigned integer 4x2 matrix.
///
/// @see ext_matrix_uint4x2_sized
typedef mat<4, 2, uint32, defaultp> u32mat4x2;
/// 64 bit unsigned integer 4x2 matrix.
///
/// @see ext_matrix_uint4x2_sized
typedef mat<4, 2, uint64, defaultp> u64mat4x2;
/// @}
}//namespace glm

View File

@ -1,487 +1,49 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint4x3_sized
/// @file glm/ext/matrix_uint4x3_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint4x3_sized GLM_EXT_matrix_uint4x3_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint4x3_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint4x3_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint4x3_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 4x3 matrix.
///
/// @see ext_matrix_uint4x3_sized
typedef mat<4, 3, uint8, defaultp> u8mat4x3;
/// 16 bit unsigned integer 4x3 matrix.
///
/// @see ext_matrix_uint4x3_sized
typedef mat<4, 3, uint16, defaultp> u16mat4x3;
/// 32 bit unsigned integer 4x3 matrix.
///
/// @see ext_matrix_uint4x3_sized
typedef mat<4, 3, uint32, defaultp> u32mat4x3;
/// 64 bit unsigned integer 4x3 matrix.
///
/// @see ext_matrix_uint4x3_sized
typedef mat<4, 3, uint64, defaultp> u64mat4x3;
/// @}
}//namespace glm

View File

@ -1,487 +1,70 @@
/// @ref gtc_matrix_integer
/// @file glm/gtc/matrix_integer.hpp
/// @ref ext_matrix_uint4x4_sized
/// @file glm/ext/matrix_uint4x4_sized.hpp
///
/// @see core (dependence)
///
/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer
/// @ingroup gtc
/// @defgroup ext_matrix_uint4x4_sized GLM_EXT_matrix_uint4x4_sized
/// @ingroup ext
///
/// Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
/// Include <glm/ext/matrix_uint4x4_sized.hpp> to use the features of this extension.
///
/// Defines a number of matrices with integer types.
#pragma once
// Dependency:
#include "../mat2x2.hpp"
#include "../mat2x3.hpp"
#include "../mat2x4.hpp"
#include "../mat3x2.hpp"
#include "../mat3x3.hpp"
#include "../mat3x4.hpp"
#include "../mat4x2.hpp"
#include "../mat4x3.hpp"
#include "../mat4x4.hpp"
#include "../ext/scalar_uint_sized.hpp"
#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
# pragma message("GLM: GLM_EXT_matrix_uint4x4_sized extension included")
#endif
namespace glm
{
/// @addtogroup gtc_matrix_integer
/// @addtogroup ext_matrix_uint4x4_sized
/// @{
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4;
/// High-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, highp> highp_imat2x2;
/// High-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, highp> highp_imat2x3;
/// High-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, highp> highp_imat2x4;
/// High-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, highp> highp_imat3x2;
/// High-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, highp> highp_imat3x3;
/// High-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, highp> highp_imat3x4;
/// High-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, highp> highp_imat4x2;
/// High-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, highp> highp_imat4x3;
/// High-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, highp> highp_imat4x4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4;
/// Medium-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, mediump> mediump_imat2x2;
/// Medium-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, mediump> mediump_imat2x3;
/// Medium-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, mediump> mediump_imat2x4;
/// Medium-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, mediump> mediump_imat3x2;
/// Medium-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, mediump> mediump_imat3x3;
/// Medium-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, mediump> mediump_imat3x4;
/// Medium-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, mediump> mediump_imat4x2;
/// Medium-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, mediump> mediump_imat4x3;
/// Medium-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, mediump> mediump_imat4x4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4;
/// Low-qualifier signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, int, lowp> lowp_imat2x2;
/// Low-qualifier signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, int, lowp> lowp_imat2x3;
/// Low-qualifier signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, int, lowp> lowp_imat2x4;
/// Low-qualifier signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, int, lowp> lowp_imat3x2;
/// Low-qualifier signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, int, lowp> lowp_imat3x3;
/// Low-qualifier signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, int, lowp> lowp_imat3x4;
/// Low-qualifier signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, int, lowp> lowp_imat4x2;
/// Low-qualifier signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, int, lowp> lowp_imat4x3;
/// Low-qualifier signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, int, lowp> lowp_imat4x4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4;
/// High-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, highp> highp_umat2x2;
/// High-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, highp> highp_umat2x3;
/// High-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, highp> highp_umat2x4;
/// High-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, highp> highp_umat3x2;
/// High-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, highp> highp_umat3x3;
/// High-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, highp> highp_umat3x4;
/// High-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, highp> highp_umat4x2;
/// High-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, highp> highp_umat4x3;
/// High-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, highp> highp_umat4x4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4;
/// Medium-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, mediump> mediump_umat2x2;
/// Medium-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, mediump> mediump_umat2x3;
/// Medium-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, mediump> mediump_umat2x4;
/// Medium-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, mediump> mediump_umat3x2;
/// Medium-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, mediump> mediump_umat3x3;
/// Medium-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, mediump> mediump_umat3x4;
/// Medium-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, mediump> mediump_umat4x2;
/// Medium-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, mediump> mediump_umat4x3;
/// Medium-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, mediump> mediump_umat4x4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4;
/// Low-qualifier unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 2, uint, lowp> lowp_umat2x2;
/// Low-qualifier unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 3, uint, lowp> lowp_umat2x3;
/// Low-qualifier unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mat<2, 4, uint, lowp> lowp_umat2x4;
/// Low-qualifier unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 2, uint, lowp> lowp_umat3x2;
/// Low-qualifier unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 3, uint, lowp> lowp_umat3x3;
/// Low-qualifier unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mat<3, 4, uint, lowp> lowp_umat3x4;
/// Low-qualifier unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 2, uint, lowp> lowp_umat4x2;
/// Low-qualifier unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 3, uint, lowp> lowp_umat4x3;
/// Low-qualifier unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mat<4, 4, uint, lowp> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
typedef highp_imat2 imat2;
typedef highp_imat3 imat3;
typedef highp_imat4 imat4;
typedef highp_imat2x2 imat2x2;
typedef highp_imat2x3 imat2x3;
typedef highp_imat2x4 imat2x4;
typedef highp_imat3x2 imat3x2;
typedef highp_imat3x3 imat3x3;
typedef highp_imat3x4 imat3x4;
typedef highp_imat4x2 imat4x2;
typedef highp_imat4x3 imat4x3;
typedef highp_imat4x4 imat4x4;
#elif(defined(GLM_PRECISION_LOWP_INT))
typedef lowp_imat2 imat2;
typedef lowp_imat3 imat3;
typedef lowp_imat4 imat4;
typedef lowp_imat2x2 imat2x2;
typedef lowp_imat2x3 imat2x3;
typedef lowp_imat2x4 imat2x4;
typedef lowp_imat3x2 imat3x2;
typedef lowp_imat3x3 imat3x3;
typedef lowp_imat3x4 imat3x4;
typedef lowp_imat4x2 imat4x2;
typedef lowp_imat4x3 imat4x3;
typedef lowp_imat4x4 imat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
#if(defined(GLM_PRECISION_HIGHP_UINT))
typedef highp_umat2 umat2;
typedef highp_umat3 umat3;
typedef highp_umat4 umat4;
typedef highp_umat2x2 umat2x2;
typedef highp_umat2x3 umat2x3;
typedef highp_umat2x4 umat2x4;
typedef highp_umat3x2 umat3x2;
typedef highp_umat3x3 umat3x3;
typedef highp_umat3x4 umat3x4;
typedef highp_umat4x2 umat4x2;
typedef highp_umat4x3 umat4x3;
typedef highp_umat4x4 umat4x4;
#elif(defined(GLM_PRECISION_LOWP_UINT))
typedef lowp_umat2 umat2;
typedef lowp_umat3 umat3;
typedef lowp_umat4 umat4;
typedef lowp_umat2x2 umat2x2;
typedef lowp_umat2x3 umat2x3;
typedef lowp_umat2x4 umat2x4;
typedef lowp_umat3x2 umat3x2;
typedef lowp_umat3x3 umat3x3;
typedef lowp_umat3x4 umat3x4;
typedef lowp_umat4x2 umat4x2;
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION
/// 8 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint8, defaultp> u8mat4x4;
/// 16 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint16, defaultp> u16mat4x4;
/// 32 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint32, defaultp> u32mat4x4;
/// 64 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint64, defaultp> u64mat4x4;
/// 8 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint8, defaultp> u8mat4;
/// 16 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint16, defaultp> u16mat4;
/// 32 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint32, defaultp> u32mat4;
/// 64 bit unsigned integer 4x4 matrix.
///
/// @see ext_matrix_uint4x4_sized
typedef mat<4, 4, uint64, defaultp> u64mat4;
/// @}
}//namespace glm

View File

@ -1,6 +1,24 @@
glmCreateTestGTC(ext_matrix_relational)
glmCreateTestGTC(ext_matrix_transform)
glmCreateTestGTC(ext_matrix_common)
glmCreateTestGTC(ext_matrix_int2x2_sized)
glmCreateTestGTC(ext_matrix_int2x3_sized)
glmCreateTestGTC(ext_matrix_int2x4_sized)
glmCreateTestGTC(ext_matrix_int3x2_sized)
glmCreateTestGTC(ext_matrix_int3x3_sized)
glmCreateTestGTC(ext_matrix_int3x4_sized)
glmCreateTestGTC(ext_matrix_int4x2_sized)
glmCreateTestGTC(ext_matrix_int4x3_sized)
glmCreateTestGTC(ext_matrix_int4x4_sized)
glmCreateTestGTC(ext_matrix_uint2x2_sized)
glmCreateTestGTC(ext_matrix_uint2x3_sized)
glmCreateTestGTC(ext_matrix_uint2x4_sized)
glmCreateTestGTC(ext_matrix_uint3x2_sized)
glmCreateTestGTC(ext_matrix_uint3x3_sized)
glmCreateTestGTC(ext_matrix_uint3x4_sized)
glmCreateTestGTC(ext_matrix_uint4x2_sized)
glmCreateTestGTC(ext_matrix_uint4x3_sized)
glmCreateTestGTC(ext_matrix_uint4x4_sized)
glmCreateTestGTC(ext_quaternion_common)
glmCreateTestGTC(ext_quaternion_exponential)
glmCreateTestGTC(ext_quaternion_geometric)

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int2x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat2x2) == 4, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat2x2) == 8, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat2x2) == 16, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat2x2) == 32, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat2x2) < sizeof(glm::i16mat2x2) ? 0 : 1;
Error += sizeof(glm::i16mat2x2) < sizeof(glm::i32mat2x2) ? 0 : 1;
Error += sizeof(glm::i32mat2x2) < sizeof(glm::i64mat2x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int2x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat2x3) == 6, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat2x3) == 12, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat2x3) == 24, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat2x3) == 48, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat2x3) < sizeof(glm::i16mat2x3) ? 0 : 1;
Error += sizeof(glm::i16mat2x3) < sizeof(glm::i32mat2x3) ? 0 : 1;
Error += sizeof(glm::i32mat2x3) < sizeof(glm::i64mat2x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int2x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat2x4) == 8, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat2x4) == 16, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat2x4) == 32, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat2x4) == 64, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat2x4) < sizeof(glm::i16mat2x4) ? 0 : 1;
Error += sizeof(glm::i16mat2x4) < sizeof(glm::i32mat2x4) ? 0 : 1;
Error += sizeof(glm::i32mat2x4) < sizeof(glm::i64mat2x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int3x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat3x2) == 6, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat3x2) == 12, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat3x2) == 24, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat3x2) == 48, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat3x2) < sizeof(glm::i16mat3x2) ? 0 : 1;
Error += sizeof(glm::i16mat3x2) < sizeof(glm::i32mat3x2) ? 0 : 1;
Error += sizeof(glm::i32mat3x2) < sizeof(glm::i64mat3x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int3x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat3x3) == 9, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat3x3) == 18, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat3x3) == 36, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat3x3) == 72, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat3x3) < sizeof(glm::i16mat3x3) ? 0 : 1;
Error += sizeof(glm::i16mat3x3) < sizeof(glm::i32mat3x3) ? 0 : 1;
Error += sizeof(glm::i32mat3x3) < sizeof(glm::i64mat3x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int3x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat3x4) == 12, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat3x4) == 24, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat3x4) == 48, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat3x4) == 96, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat3x4) < sizeof(glm::i16mat3x4) ? 0 : 1;
Error += sizeof(glm::i16mat3x4) < sizeof(glm::i32mat3x4) ? 0 : 1;
Error += sizeof(glm::i32mat3x4) < sizeof(glm::i64mat3x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int4x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat4x2) == 8, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat4x2) == 16, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat4x2) == 32, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat4x2) == 64, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat4x2) < sizeof(glm::i16mat4x2) ? 0 : 1;
Error += sizeof(glm::i16mat4x2) < sizeof(glm::i32mat4x2) ? 0 : 1;
Error += sizeof(glm::i32mat4x2) < sizeof(glm::i64mat4x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int4x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat4x3) == 12, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat4x3) == 24, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat4x3) == 48, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat4x3) == 96, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat4x3) < sizeof(glm::i16mat4x3) ? 0 : 1;
Error += sizeof(glm::i16mat4x3) < sizeof(glm::i32mat4x3) ? 0 : 1;
Error += sizeof(glm::i32mat4x3) < sizeof(glm::i64mat4x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_int4x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::i8mat4x4) == 16, "int8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::i16mat4x4) == 32, "int16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::i32mat4x4) == 64, "int32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::i64mat4x4) == 128, "int64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::i8mat4x4) < sizeof(glm::i16mat4x4) ? 0 : 1;
Error += sizeof(glm::i16mat4x4) < sizeof(glm::i32mat4x4) ? 0 : 1;
Error += sizeof(glm::i32mat4x4) < sizeof(glm::i64mat4x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint2x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat2x2) == 4, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat2x2) == 8, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat2x2) == 16, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat2x2) == 32, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat2x2) < sizeof(glm::u16mat2x2) ? 0 : 1;
Error += sizeof(glm::u16mat2x2) < sizeof(glm::u32mat2x2) ? 0 : 1;
Error += sizeof(glm::u32mat2x2) < sizeof(glm::u64mat2x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint2x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat2x3) == 6, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat2x3) == 12, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat2x3) == 24, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat2x3) == 48, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat2x3) < sizeof(glm::u16mat2x3) ? 0 : 1;
Error += sizeof(glm::u16mat2x3) < sizeof(glm::u32mat2x3) ? 0 : 1;
Error += sizeof(glm::u32mat2x3) < sizeof(glm::u64mat2x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint2x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat2x4) == 8, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat2x4) == 16, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat2x4) == 32, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat2x4) == 64, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat2x4) < sizeof(glm::u16mat2x4) ? 0 : 1;
Error += sizeof(glm::u16mat2x4) < sizeof(glm::u32mat2x4) ? 0 : 1;
Error += sizeof(glm::u32mat2x4) < sizeof(glm::u64mat2x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint3x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat3x2) == 6, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat3x2) == 12, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat3x2) == 24, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat3x2) == 48, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat3x2) < sizeof(glm::u16mat3x2) ? 0 : 1;
Error += sizeof(glm::u16mat3x2) < sizeof(glm::u32mat3x2) ? 0 : 1;
Error += sizeof(glm::u32mat3x2) < sizeof(glm::u64mat3x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint3x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat3x3) == 9, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat3x3) == 18, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat3x3) == 36, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat3x3) == 72, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat3x3) < sizeof(glm::u16mat3x3) ? 0 : 1;
Error += sizeof(glm::u16mat3x3) < sizeof(glm::u32mat3x3) ? 0 : 1;
Error += sizeof(glm::u32mat3x3) < sizeof(glm::u64mat3x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint3x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat3x4) == 12, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat3x4) == 24, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat3x4) == 48, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat3x4) == 96, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat3x4) < sizeof(glm::u16mat3x4) ? 0 : 1;
Error += sizeof(glm::u16mat3x4) < sizeof(glm::u32mat3x4) ? 0 : 1;
Error += sizeof(glm::u32mat3x4) < sizeof(glm::u64mat3x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint4x2_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat4x2) == 8, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat4x2) == 16, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat4x2) == 32, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat4x2) == 64, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat4x2) < sizeof(glm::u16mat4x2) ? 0 : 1;
Error += sizeof(glm::u16mat4x2) < sizeof(glm::u32mat4x2) ? 0 : 1;
Error += sizeof(glm::u32mat4x2) < sizeof(glm::u64mat4x2) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint4x3_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat4x3) == 12, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat4x3) == 24, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat4x3) == 48, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat4x3) == 96, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat4x3) < sizeof(glm::u16mat4x3) ? 0 : 1;
Error += sizeof(glm::u16mat4x3) < sizeof(glm::u32mat4x3) ? 0 : 1;
Error += sizeof(glm::u32mat4x3) < sizeof(glm::u64mat4x3) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}

View File

@ -0,0 +1,28 @@
#include <glm/ext/matrix_uint4x4_sized.hpp>
#if GLM_HAS_STATIC_ASSERT
static_assert(sizeof(glm::u8mat4x4) == 16, "uint8 size isn't 1 byte on this platform");
static_assert(sizeof(glm::u16mat4x4) == 32, "uint16 size isn't 2 bytes on this platform");
static_assert(sizeof(glm::u32mat4x4) == 64, "uint32 size isn't 4 bytes on this platform");
static_assert(sizeof(glm::u64mat4x4) == 128, "uint64 size isn't 8 bytes on this platform");
#endif
static int test_comp()
{
int Error = 0;
Error += sizeof(glm::u8mat4x4) < sizeof(glm::u16mat4x4) ? 0 : 1;
Error += sizeof(glm::u16mat4x4) < sizeof(glm::u32mat4x4) ? 0 : 1;
Error += sizeof(glm::u32mat4x4) < sizeof(glm::u64mat4x4) ? 0 : 1;
return Error;
}
int main()
{
int Error = 0;
Error += test_comp();
return Error;
}