- Main Page
- Modules
- Namespaces
- Classes
- Files

Typedefs

# Precision types

GLM Core

Non-GLSL types that are used to define precision-based types. More...

## Typedefs
typedef highp_float_t | highp_float
| High precision floating-point numbers.
typedef detail::highp_int_t | highp_int
| High precision signed integer.
typedef detail::tvec2< highp_int > | highp_ivec2
| 2 components vector of high precision signed integer numbers.
typedef detail::tvec3< highp_int > | highp_ivec3
| 3 components vector of high precision signed integer numbers.
typedef detail::tvec4< highp_int > | highp_ivec4
| 4 components vector of high precision signed integer numbers.
typedef detail::tmat2x2 < highp_float > | highp_mat2x2
| 2 columns of 2 components matrix of high precision floating-point numbers.
typedef detail::tmat2x3 < highp_float > | highp_mat2x3
| 2 columns of 3 components matrix of high precision floating-point numbers.
typedef detail::tmat3x3 < highp_float > | highp_mat3x3
| 3 columns of 3 components matrix of high precision floating-point numbers.
typedef detail::tmat4x2 < highp_float > | highp_mat4x2
| 4 columns of 2 components matrix of high precision floating-point numbers.
typedef detail::tmat4x3 < highp_float > | highp_mat4x3
| 4 columns of 3 components matrix of high precision floating-point numbers.
typedef detail::tmat4x4 < highp_float > | highp_mat4x4
| 4 columns of 4 components matrix of high precision floating-point numbers.
typedef detail::highp_uint_t | highp_uint
| High precision unsigned integer.
typedef detail::tvec2< highp_uint > | highp_uvec2
| 2 components vector of high precision unsigned integer numbers.
typedef detail::tvec3< highp_uint > | highp_uvec3
| 3 components vector of high precision unsigned integer numbers.
typedef detail::tvec4< highp_uint > | highp_uvec4
| 4 components vector of high precision unsigned integer numbers.
typedef detail::tvec2 < highp_float > | highp_vec2
| 2 components vector of high precision floating-point numbers.
typedef detail::tvec3 < highp_float > | highp_vec3
| 3 components vector of high precision floating-point numbers.
typedef detail::tvec4 < highp_float > | highp_vec4
| 4 components vector of high precision floating-point numbers.
typedef lowp_float_t | lowp_float
| Low precision floating-point numbers.
typedef detail::lowp_int_t | lowp_int
| Low precision signed integer.
typedef detail::tvec2< lowp_int > | lowp_ivec2
| 2 components vector of low precision signed integer numbers.
typedef detail::tvec3< lowp_int > | lowp_ivec3
| 3 components vector of low precision signed integer numbers.
typedef detail::tvec4< lowp_int > | lowp_ivec4
| 4 components vector of low precision signed integer numbers.
typedef detail::tmat2x2 < lowp_float > | lowp_mat2x2
| 2 columns of 2 components matrix of low precision floating-point numbers.
typedef detail::tmat2x3 < lowp_float > | lowp_mat2x3
| 2 columns of 3 components matrix of low precision floating-point numbers.
typedef detail::tmat3x3 < lowp_float > | lowp_mat3x3
| 3 columns of 3 components matrix of low precision floating-point numbers.
typedef detail::tmat4x2 < lowp_float > | lowp_mat4x2
| 4 columns of 2 components matrix of low precision floating-point numbers.
typedef detail::tmat4x3 < lowp_float > | lowp_mat4x3
| 4 columns of 3 components matrix of low precision floating-point numbers.
typedef detail::tmat4x4 < lowp_float > | lowp_mat4x4
| 4 columns of 4 components matrix of low precision floating-point numbers.
typedef detail::lowp_uint_t | lowp_uint
| Low precision unsigned integer.
typedef detail::tvec2< lowp_uint > | lowp_uvec2
| 2 components vector of low precision unsigned integer numbers.
typedef detail::tvec3< lowp_uint > | lowp_uvec3
| 3 components vector of low precision unsigned integer numbers.
typedef detail::tvec4< lowp_uint > | lowp_uvec4
| 4 components vector of low precision unsigned integer numbers.
typedef detail::tvec2< lowp_float > | lowp_vec2
| 2 components vector of low precision floating-point numbers.
typedef detail::tvec3< lowp_float > | lowp_vec3
| 3 components vector of low precision floating-point numbers.
typedef detail::tvec4< lowp_float > | lowp_vec4
| 4 components vector of low precision floating-point numbers.
typedef mediump_float_t | mediump_float
| Medium precision floating-point numbers.
typedef detail::mediump_int_t | mediump_int
| Medium precision signed integer.
typedef detail::tvec2 < mediump_int > | mediump_ivec2
| 2 components vector of medium precision signed integer numbers.
typedef detail::tvec3 < mediump_int > | mediump_ivec3
| 3 components vector of medium precision signed integer numbers.
typedef detail::tvec4 < mediump_int > | mediump_ivec4
| 4 components vector of medium precision signed integer numbers.
typedef detail::tmat2x2 < mediump_float > | mediump_mat2x2
| 2 columns of 2 components matrix of medium precision floating-point numbers.
typedef detail::tmat2x3 < mediump_float > | mediump_mat2x3
| 2 columns of 3 components matrix of medium precision floating-point numbers.
typedef detail::tmat3x3 < mediump_float > | mediump_mat3x3
| 3 columns of 3 components matrix of medium precision floating-point numbers.
typedef detail::tmat4x2 < mediump_float > | mediump_mat4x2
| 4 columns of 2 components matrix of medium precision floating-point numbers.
typedef detail::tmat4x3 < mediump_float > | mediump_mat4x3
| 4 columns of 3 components matrix of medium precision floating-point numbers.
typedef detail::tmat4x4 < mediump_float > | mediump_mat4x4
| 4 columns of 4 components matrix of medium precision floating-point numbers.
typedef detail::mediump_uint_t | mediump_uint
| Medium precision unsigned integer.
typedef detail::tvec2 < mediump_uint > | mediump_uvec2
| 2 components vector of medium precision unsigned integer numbers.
typedef detail::tvec3 < mediump_uint > | mediump_uvec3
| 3 components vector of medium precision unsigned integer numbers.
typedef detail::tvec4 < mediump_uint > | mediump_uvec4
| 4 components vector of medium precision unsigned integer numbers.
typedef detail::tvec2 < mediump_float > | mediump_vec2
| 2 components vector of medium precision floating-point numbers.
typedef detail::tvec3 < mediump_float > | mediump_vec3
| 3 components vector of medium precision floating-point numbers.
typedef detail::tvec4 < mediump_float > | mediump_vec4
| 4 components vector of medium precision floating-point numbers.

## Detailed Description

Non-GLSL types that are used to define precision-based types.

The GLSL language allows the user to define the precision of a particular variable. In OpenGL's GLSL, these precision qualifiers have no effect; they are there for compatibility with OpenGL ES's precision qualifiers, where they do have an effect.

C++ has no language equivalent to precision qualifiers. So GLM provides the next-best thing: a number of typedefs of the Template types that use a particular precision.

None of these types make any guarantees about the actual precision used.

## Typedef Documentation

typedef highp_float_t highp_float

High precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification

Definition at line 54 of file type_float.hpp.

typedef detail::highp_int_t highp_int

High precision signed integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 62 of file type_int.hpp.

typedef detail::tvec2<highp_int> highp_ivec2

2 components vector of high precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 227 of file type_vec2.hpp.

typedef detail::tvec3<highp_int> highp_ivec3

3 components vector of high precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 232 of file type_vec3.hpp.

typedef detail::tvec4<highp_int> highp_ivec4

4 components vector of high precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 249 of file type_vec4.hpp.

typedef detail::tmat2x2<highp_float> highp_mat2x2

2 columns of 2 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 239 of file type_mat2x2.hpp.

typedef detail::tmat2x3<highp_float> highp_mat2x3

2 columns of 3 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 206 of file type_mat2x3.hpp.

typedef detail::tmat3x3<highp_float> highp_mat3x3

3 columns of 3 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 238 of file type_mat3x3.hpp.

typedef detail::tmat4x2<highp_float> highp_mat4x2

4 columns of 2 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 210 of file type_mat4x2.hpp.

typedef detail::tmat4x3<highp_float> highp_mat4x3

4 columns of 3 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 210 of file type_mat4x3.hpp.

typedef detail::tmat4x4<highp_float> highp_mat4x4

4 columns of 4 components matrix of high precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 238 of file type_mat4x4.hpp.

typedef detail::highp_uint_t highp_uint

High precision unsigned integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 78 of file type_int.hpp.

typedef detail::tvec2<highp_uint> highp_uvec2

2 components vector of high precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 243 of file type_vec2.hpp.

typedef detail::tvec3<highp_uint> highp_uvec3

3 components vector of high precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 248 of file type_vec3.hpp.

typedef detail::tvec4<highp_uint> highp_uvec4

4 components vector of high precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 265 of file type_vec4.hpp.

typedef detail::tvec2<highp_float> highp_vec2

2 components vector of high precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 211 of file type_vec2.hpp.

typedef detail::tvec3<highp_float> highp_vec3

3 components vector of high precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 216 of file type_vec3.hpp.

typedef detail::tvec4<highp_float> highp_vec4

4 components vector of high precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 233 of file type_vec4.hpp.

typedef lowp_float_t lowp_float

Low precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification

Definition at line 44 of file type_float.hpp.

typedef detail::lowp_int_t lowp_int

Low precision signed integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 52 of file type_int.hpp.

typedef detail::tvec2<lowp_int> lowp_ivec2

2 components vector of low precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 237 of file type_vec2.hpp.

typedef detail::tvec3<lowp_int> lowp_ivec3

3 components vector of low precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 242 of file type_vec3.hpp.

typedef detail::tvec4<lowp_int> lowp_ivec4

4 components vector of low precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 259 of file type_vec4.hpp.

typedef detail::tmat2x2<lowp_float> lowp_mat2x2

2 columns of 2 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 229 of file type_mat2x2.hpp.

typedef detail::tmat2x3<lowp_float> lowp_mat2x3

2 columns of 3 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 196 of file type_mat2x3.hpp.

typedef detail::tmat3x3<lowp_float> lowp_mat3x3

3 columns of 3 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 228 of file type_mat3x3.hpp.

typedef detail::tmat4x2<lowp_float> lowp_mat4x2

4 columns of 2 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 200 of file type_mat4x2.hpp.

typedef detail::tmat4x3<lowp_float> lowp_mat4x3

4 columns of 3 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 200 of file type_mat4x3.hpp.

typedef detail::tmat4x4<lowp_float> lowp_mat4x4

4 columns of 4 components matrix of low precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 228 of file type_mat4x4.hpp.

typedef detail::lowp_uint_t lowp_uint

Low precision unsigned integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 68 of file type_int.hpp.

typedef detail::tvec2<lowp_uint> lowp_uvec2

2 components vector of low precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 253 of file type_vec2.hpp.

typedef detail::tvec3<lowp_uint> lowp_uvec3

3 components vector of low precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 258 of file type_vec3.hpp.

typedef detail::tvec4<lowp_uint> lowp_uvec4

4 components vector of low precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 275 of file type_vec4.hpp.

typedef detail::tvec2<lowp_float> lowp_vec2

2 components vector of low precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 221 of file type_vec2.hpp.

typedef detail::tvec3<lowp_float> lowp_vec3

3 components vector of low precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 226 of file type_vec3.hpp.

typedef detail::tvec4<lowp_float> lowp_vec4

4 components vector of low precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 243 of file type_vec4.hpp.

typedef mediump_float_t mediump_float

Medium precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification

Definition at line 49 of file type_float.hpp.

typedef detail::mediump_int_t mediump_int

Medium precision signed integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 57 of file type_int.hpp.

typedef detail::tvec2<mediump_int> mediump_ivec2

2 components vector of medium precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 232 of file type_vec2.hpp.

typedef detail::tvec3<mediump_int> mediump_ivec3

3 components vector of medium precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 237 of file type_vec3.hpp.

typedef detail::tvec4<mediump_int> mediump_ivec4

4 components vector of medium precision signed integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 254 of file type_vec4.hpp.

typedef detail::tmat2x2<mediump_float> mediump_mat2x2

2 columns of 2 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 234 of file type_mat2x2.hpp.

typedef detail::tmat2x3<mediump_float> mediump_mat2x3

2 columns of 3 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 201 of file type_mat2x3.hpp.

typedef detail::tmat3x3<mediump_float> mediump_mat3x3

3 columns of 3 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 233 of file type_mat3x3.hpp.

typedef detail::tmat4x2<mediump_float> mediump_mat4x2

4 columns of 2 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 205 of file type_mat4x2.hpp.

typedef detail::tmat4x3<mediump_float> mediump_mat4x3

4 columns of 3 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 205 of file type_mat4x3.hpp.

typedef detail::tmat4x4<mediump_float> mediump_mat4x4

4 columns of 4 components matrix of medium precision floating-point numbers.

There is no guarantee on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)

Definition at line 233 of file type_mat4x4.hpp.

typedef detail::mediump_uint_t mediump_uint

Medium precision unsigned integer.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification.

Definition at line 73 of file type_int.hpp.

typedef detail::tvec2<mediump_uint> mediump_uvec2

2 components vector of medium precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 248 of file type_vec2.hpp.

typedef detail::tvec3<mediump_uint> mediump_uvec3

3 components vector of medium precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 253 of file type_vec3.hpp.

typedef detail::tvec4<mediump_uint> mediump_uvec4

4 components vector of medium precision unsigned integer numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.

Definition at line 270 of file type_vec4.hpp.

typedef detail::tvec2<mediump_float> mediump_vec2

2 components vector of medium precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 216 of file type_vec2.hpp.

typedef detail::tvec3<mediump_float> mediump_vec3

3 components vector of medium precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 221 of file type_vec3.hpp.

typedef detail::tvec4<mediump_float> mediump_vec4

4 components vector of medium precision floating-point numbers.

There is no guarantee on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.

Definition at line 238 of file type_vec4.hpp.