Vector types with precision qualifiers
Core features

Vector types with precision qualifiers which may result in various precision in term of ULPs. More...

## Typedefs

typedef vec< 2, bool, highp > | highp_bvec2
| 2 components vector of high qualifier bool numbers. More...
typedef vec< 3, bool, highp > | highp_bvec3
| 3 components vector of high qualifier bool numbers. More...
typedef vec< 4, bool, highp > | highp_bvec4
| 4 components vector of high qualifier bool numbers. More...
typedef vec< 2, double, highp > | highp_dvec2
| 2 components vector of high double-qualifier floating-point numbers. More...
typedef vec< 3, double, highp > | highp_dvec3
| 3 components vector of high double-qualifier floating-point numbers. More...
typedef vec< 4, double, highp > | highp_dvec4
| 4 components vector of high double-qualifier floating-point numbers. More...
typedef vec< 2, int, highp > | highp_ivec2
| 2 components vector of high qualifier signed integer numbers. More...
typedef vec< 3, int, highp > | highp_ivec3
| 3 components vector of high qualifier signed integer numbers. More...
typedef vec< 4, int, highp > | highp_ivec4
| 4 components vector of high qualifier signed integer numbers. More...
typedef vec< 2, unsigned int, highp > | highp_uvec2
| 2 components vector of high qualifier unsigned integer numbers. More...
typedef vec< 3, unsigned int, highp > | highp_uvec3
| 3 components vector of high qualifier unsigned integer numbers. More...
typedef vec< 4, unsigned int, highp > | highp_uvec4
| 4 components vector of high qualifier unsigned integer numbers. More...
typedef vec< 2, float, highp > | highp_vec2
| 2 components vector of high single-qualifier floating-point numbers. More...
typedef vec< 3, float, highp > | highp_vec3
| 3 components vector of high single-qualifier floating-point numbers. More...
typedef vec< 4, float, highp > | highp_vec4
| 4 components vector of high single-qualifier floating-point numbers. More...
typedef vec< 2, bool, lowp > | lowp_bvec2
| 2 components vector of low qualifier bool numbers. More...
typedef vec< 3, bool, lowp > | lowp_bvec3
| 3 components vector of low qualifier bool numbers. More...
typedef vec< 4, bool, lowp > | lowp_bvec4
| 4 components vector of low qualifier bool numbers. More...
typedef vec< 2, double, lowp > | lowp_dvec2
| 2 components vector of low double-qualifier floating-point numbers. More...
typedef vec< 3, double, lowp > | lowp_dvec3
| 3 components vector of low double-qualifier floating-point numbers. More...
typedef vec< 4, double, lowp > | lowp_dvec4
| 4 components vector of low double-qualifier floating-point numbers. More...
typedef vec< 2, int, lowp > | lowp_ivec2
| 2 components vector of low qualifier signed integer numbers. More...
typedef vec< 3, int, lowp > | lowp_ivec3
| 3 components vector of low qualifier signed integer numbers. More...
typedef vec< 4, int, lowp > | lowp_ivec4
| 4 components vector of low qualifier signed integer numbers. More...
typedef vec< 2, unsigned int, lowp > | lowp_uvec2
| 2 components vector of low qualifier unsigned integer numbers. More...
typedef vec< 3, unsigned int, lowp > | lowp_uvec3
| 3 components vector of low qualifier unsigned integer numbers. More...
typedef vec< 4, unsigned int, lowp > | lowp_uvec4
| 4 components vector of low qualifier unsigned integer numbers. More...
typedef vec< 2, float, lowp > | lowp_vec2
| 2 components vector of low single-qualifier floating-point numbers. More...
typedef vec< 3, float, lowp > | lowp_vec3
| 3 components vector of low single-qualifier floating-point numbers. More...
typedef vec< 4, float, lowp > | lowp_vec4
| 4 components vector of low single-qualifier floating-point numbers. More...
typedef vec< 2, bool, mediump > | mediump_bvec2
| 2 components vector of medium qualifier bool numbers. More...
typedef vec< 3, bool, mediump > | mediump_bvec3
| 3 components vector of medium qualifier bool numbers. More...
typedef vec< 4, bool, mediump > | mediump_bvec4
| 4 components vector of medium qualifier bool numbers. More...
typedef vec< 2, double, mediump > | mediump_dvec2
| 2 components vector of medium double-qualifier floating-point numbers. More...
typedef vec< 3, double, mediump > | mediump_dvec3
| 3 components vector of medium double-qualifier floating-point numbers. More...
typedef vec< 4, double, mediump > | mediump_dvec4
| 4 components vector of medium double-qualifier floating-point numbers. More...
typedef vec< 2, int, mediump > | mediump_ivec2
| 2 components vector of medium qualifier signed integer numbers. More...
typedef vec< 3, int, mediump > | mediump_ivec3
| 3 components vector of medium qualifier signed integer numbers. More...
typedef vec< 4, int, mediump > | mediump_ivec4
| 4 components vector of medium qualifier signed integer numbers. More...
typedef vec< 2, unsigned int, mediump > | mediump_uvec2
| 2 components vector of medium qualifier unsigned integer numbers. More...
typedef vec< 3, unsigned int, mediump > | mediump_uvec3
| 3 components vector of medium qualifier unsigned integer numbers. More...
typedef vec< 4, unsigned int, mediump > | mediump_uvec4
| 4 components vector of medium qualifier unsigned integer numbers. More...
typedef vec< 2, float, mediump > | mediump_vec2
| 2 components vector of medium single-qualifier floating-point numbers. More...
typedef vec< 3, float, mediump > | mediump_vec3
| 3 components vector of medium single-qualifier floating-point numbers. More...
typedef vec< 4, float, mediump > | mediump_vec4
| 4 components vector of medium single-qualifier floating-point numbers. More...

## Detailed Description

Vector types with precision qualifiers which may result in various precision in term of ULPs.

GLSL allows defining qualifiers for particular variables. With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility, with OpenGL ES's GLSL, these qualifiers do have an effect.

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

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

## Typedef Documentation

typedef vec< 2, bool, highp > highp_bvec2

2 components vector of high qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, highp > highp_bvec3

3 components vector of high qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, highp > highp_bvec4

4 components vector of high qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, highp > highp_dvec2

2 components vector of high double-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_double2_precision.hpp.

typedef vec< 3, f64, highp > highp_dvec3

3 components vector of high double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 17 of file vector_double3_precision.hpp.

typedef vec< 4, f64, highp > highp_dvec4

4 components vector of high double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 18 of file vector_double4_precision.hpp.

typedef vec< 2, i32, highp > highp_ivec2

2 components vector of high qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int2_precision.hpp.

typedef vec< 3, i32, highp > highp_ivec3

3 components vector of high qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int3_precision.hpp.

typedef vec< 4, i32, highp > highp_ivec4

4 components vector of high qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int4_precision.hpp.

typedef vec< 2, u32, highp > highp_uvec2

2 components vector of high qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, highp > highp_uvec3

3 components vector of high qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, highp > highp_uvec4

4 components vector of high qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint4_precision.hpp.

typedef vec< 2, float, highp > highp_vec2

2 components vector of high single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float2_precision.hpp.

typedef vec< 3, float, highp > highp_vec3

3 components vector of high single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float3_precision.hpp.

typedef vec< 4, float, highp > highp_vec4

4 components vector of high single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float4_precision.hpp.

typedef vec< 2, bool, lowp > lowp_bvec2

2 components vector of low qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, lowp > lowp_bvec3

3 components vector of low qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, lowp > lowp_bvec4

4 components vector of low qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, lowp > lowp_dvec2

2 components vector of low double-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_double2_precision.hpp.

typedef vec< 3, f64, lowp > lowp_dvec3

3 components vector of low double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 31 of file vector_double3_precision.hpp.

typedef vec< 4, f64, lowp > lowp_dvec4

4 components vector of low double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 32 of file vector_double4_precision.hpp.

typedef vec< 2, i32, lowp > lowp_ivec2

2 components vector of low qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int2_precision.hpp.

typedef vec< 3, i32, lowp > lowp_ivec3

3 components vector of low qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int3_precision.hpp.

typedef vec< 4, i32, lowp > lowp_ivec4

4 components vector of low qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int4_precision.hpp.

typedef vec< 2, u32, lowp > lowp_uvec2

2 components vector of low qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, lowp > lowp_uvec3

3 components vector of low qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, lowp > lowp_uvec4

4 components vector of low qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint4_precision.hpp.

typedef vec< 2, float, lowp > lowp_vec2

2 components vector of low single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float2_precision.hpp.

typedef vec< 3, float, lowp > lowp_vec3

3 components vector of low single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float3_precision.hpp.

typedef vec< 4, float, lowp > lowp_vec4

4 components vector of low single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float4_precision.hpp.

typedef vec< 2, bool, mediump > mediump_bvec2

2 components vector of medium qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, mediump > mediump_bvec3

3 components vector of medium qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, mediump > mediump_bvec4

4 components vector of medium qualifier bool numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, mediump > mediump_dvec2

2 components vector of medium double-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_double2_precision.hpp.

typedef vec< 3, f64, mediump > mediump_dvec3

3 components vector of medium double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 24 of file vector_double3_precision.hpp.

typedef vec< 4, f64, mediump > mediump_dvec4

4 components vector of medium double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 25 of file vector_double4_precision.hpp.

typedef vec< 2, i32, mediump > mediump_ivec2

2 components vector of medium qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int2_precision.hpp.

typedef vec< 3, i32, mediump > mediump_ivec3

3 components vector of medium qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int3_precision.hpp.

typedef vec< 4, i32, mediump > mediump_ivec4

4 components vector of medium qualifier signed integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int4_precision.hpp.

typedef vec< 2, u32, mediump > mediump_uvec2

2 components vector of medium qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, mediump > mediump_uvec3

3 components vector of medium qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, mediump > mediump_uvec4

4 components vector of medium qualifier unsigned integer numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint4_precision.hpp.

typedef vec< 2, float, mediump > mediump_vec2

2 components vector of medium single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float2_precision.hpp.

typedef vec< 3, float, mediump > mediump_vec3

3 components vector of medium single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float3_precision.hpp.

typedef vec< 4, float, mediump > mediump_vec4

4 components vector of medium single-qualifier floating-point numbers.

See also
  GLSL 4.20.8 specification, section 4.1.5 Vectors
  GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float4_precision.hpp.