global functions

- glm::packF2x11_1x10()
- glm::packF3x9_E1x5()
- glm::packHalf()
- glm::packHalf1x16()
- glm::packHalf4x16()
- glm::packI3x10_1x2()
- glm::packSnorm()
- glm::packSnorm1x16()
- glm::packSnorm1x8()
- glm::packSnorm2x8()
- glm::packSnorm3x10_1x2()
- glm::packSnorm4x16()
- glm::packU3x10_1x2()
- glm::packUnorm()
- glm::packUnorm1x16()
- glm::packUnorm1x5_1x6_1x5()
- glm::packUnorm1x8()
- glm::packUnorm2x3_1x2()
- glm::packUnorm2x4()
- glm::packUnorm2x8()
- glm::packUnorm3x10_1x2()
- glm::packUnorm3x5_1x1()
- glm::packUnorm4x16()
- glm::packUnorm4x4()
- glm::unpackF2x11_1x10()
- glm::unpackF3x9_E1x5()
- glm::unpackHalf()
- glm::unpackHalf1x16()
- glm::unpackHalf4x16()
- glm::unpackI3x10_1x2()
- glm::unpackSnorm()
- glm::unpackSnorm1x16()
- glm::unpackSnorm1x8()
- glm::unpackSnorm2x8()
- glm::unpackSnorm3x10_1x2()
- glm::unpackSnorm4x16()
- glm::unpackU3x10_1x2()
- glm::unpackUnorm()
- glm::unpackUnorm1x16()
- glm::unpackUnorm1x5_1x6_1x5()
- glm::unpackUnorm1x8()
- glm::unpackUnorm2x3_1x2()
- glm::unpackUnorm2x4()
- glm::unpackUnorm2x8()
- glm::unpackUnorm3x10_1x2()
- glm::unpackUnorm3x5_1x1()
- glm::unpackUnorm4x16()
- glm::unpackUnorm4x4()

# glm::packF2x11_1x10(...)

## glm::uint32 glm::packF2x11_1x10(const glm::vec3 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

**See also**: gtc_packing

**See also**: vec3 unpackF2x11_1x10(uint32 const & p)

# glm::packF3x9_E1x5(...)

## glm::uint32 glm::packF3x9_E1x5(const glm::vec3 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

**See also**: gtc_packing

**See also**: vec3 unpackF3x9_E1x5(uint32 const & p)

# glm::packHalf(...)

## vecType< glm::uint16, P > glm::packHalf(const vecType< float, P > &v=P)

*Documentation from code comments*

*Documentation from code comments*

Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

**See also**: gtc_packing

**See also**: vecType

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packHalf1x16(...)

## glm::uint16 glm::packHalf1x16(float v)

*Documentation from code comments*

*Documentation from code comments*

Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer.

**See also**: gtc_packing

**See also**: uint32 packHalf2x16(vec2 const & v)

**See also**: uint64 packHalf4x16(vec4 const & v)

**See also**: GLSL packHalf2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packHalf4x16(...)

## glm::uint64 glm::packHalf4x16(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer. The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

**See also**: gtc_packing

**See also**: uint16 packHalf1x16(float const & v)

**See also**: uint32 packHalf2x16(vec2 const & v)

**See also**: GLSL packHalf2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packI3x10_1x2(...)

## glm::uint32 glm::packI3x10_1x2(const glm::ivec4 &v)

*Documentation from code comments*

*Documentation from code comments*

Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

**See also**: gtc_packing

**See also**: uint32 packI3x10_1x2(uvec4 const & v)

**See also**: uint32 packSnorm3x10_1x2(vec4 const & v)

**See also**: uint32 packUnorm3x10_1x2(vec4 const & v)

**See also**: ivec4 unpackI3x10_1x2(uint32 const & p)

# glm::packSnorm(...)

## vecType< intType, P > glm::packSnorm(const vecType< floatType, P > &v=P)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into signed integer values.

**See also**: gtc_packing

**See also**: vecType

# glm::packSnorm1x16(...)

## glm::uint16 glm::packSnorm1x16(float v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the normalized floating-point value v into 16-bit integer value. Then, the results are packed into the returned 16-bit unsigned integer.

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 32767.0)

**See also**: gtc_packing

**See also**: uint32 packSnorm2x16(vec2 const & v)

**See also**: uint64 packSnorm4x16(vec4 const & v)

**See also**: GLSL packSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packSnorm1x8(...)

## glm::uint8 glm::packSnorm1x8(float s)

*Documentation from code comments*

*Documentation from code comments*

First, converts the normalized floating-point value v into 8-bit integer value. Then, the results are packed into the returned 8-bit unsigned integer.

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 127.0)

**See also**: gtc_packing

**See also**: uint16 packSnorm2x8(vec2 const & v)

**See also**: uint32 packSnorm4x8(vec4 const & v)

**See also**: GLSL packSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packSnorm2x8(...)

## glm::uint16 glm::packSnorm2x8(const glm::vec2 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts each component of the normalized floating-point value v into 8-bit integer values. Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 127.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

**See also**: gtc_packing

**See also**: uint8 packSnorm1x8(float const & v)

**See also**: uint32 packSnorm4x8(vec4 const & v)

**See also**: GLSL packSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packSnorm3x10_1x2(...)

## glm::uint32 glm::packSnorm3x10_1x2(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0)

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

**See also**: gtc_packing

**See also**: vec4 unpackSnorm3x10_1x2(uint32 const & p)

**See also**: uint32 packUnorm3x10_1x2(vec4 const & v)

**See also**: uint32 packU3x10_1x2(uvec4 const & v)

**See also**: uint32 packI3x10_1x2(ivec4 const & v)

# glm::packSnorm4x16(...)

## glm::uint64 glm::packSnorm4x16(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts each component of the normalized floating-point value v into 16-bit integer values. Then, the results are packed into the returned 64-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 32767.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

**See also**: gtc_packing

**See also**: uint16 packSnorm1x16(float const & v)

**See also**: uint32 packSnorm2x16(vec2 const & v)

**See also**: GLSL packSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packU3x10_1x2(...)

## glm::uint32 glm::packU3x10_1x2(const glm::uvec4 &v)

*Documentation from code comments*

*Documentation from code comments*

Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

**See also**: gtc_packing

**See also**: uint32 packI3x10_1x2(ivec4 const & v)

**See also**: uint32 packSnorm3x10_1x2(vec4 const & v)

**See also**: uint32 packUnorm3x10_1x2(vec4 const & v)

**See also**: ivec4 unpackU3x10_1x2(uint32 const & p)

# glm::packUnorm(...)

## vecType< uintType, P > glm::packUnorm(const vecType< floatType, P > &v=P)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vecType

# glm::packUnorm1x16(...)

## glm::uint16 glm::packUnorm1x16(float v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the normalized floating-point value v into a 16-bit integer value. Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm1x16: round(clamp(c, 0, +1) * 65535.0)

**See also**: gtc_packing

**See also**: uint16 packSnorm1x16(float const & v)

**See also**: uint64 packSnorm4x16(vec4 const & v)

**See also**: GLSL packUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packUnorm1x5_1x6_1x5(...)

## glm::uint16 glm::packUnorm1x5_1x6_1x5(const glm::vec3 &v)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vec3 unpackUnorm1x5_1x6_1x5(uint16 p)

# glm::packUnorm1x8(...)

## glm::uint8 glm::packUnorm1x8(float v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the normalized floating-point value v into a 8-bit integer value. Then, the results are packed into the returned 8-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm1x8: round(clamp(c, 0, +1) * 255.0)

**See also**: gtc_packing

**See also**: uint16 packUnorm2x8(vec2 const & v)

**See also**: uint32 packUnorm4x8(vec4 const & v)

**See also**: GLSL packUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packUnorm2x3_1x2(...)

## glm::uint8 glm::packUnorm2x3_1x2(const glm::vec3 &v)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vec3 unpackUnorm2x3_1x2(uint8 p)

# glm::packUnorm2x4(...)

## glm::uint8 glm::packUnorm2x4(const glm::vec2 &v)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vec2 unpackUnorm2x4(uint8 p)

# glm::packUnorm2x8(...)

## glm::uint16 glm::packUnorm2x8(const glm::vec2 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts each component of the normalized floating-point value v into 8-bit integer values. Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm2x8: round(clamp(c, 0, +1) * 255.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

**See also**: gtc_packing

**See also**: uint8 packUnorm1x8(float const & v)

**See also**: uint32 packUnorm4x8(vec4 const & v)

**See also**: GLSL packUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packUnorm3x10_1x2(...)

## glm::uint32 glm::packUnorm3x10_1x2(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0)

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

**See also**: gtc_packing

**See also**: vec4 unpackUnorm3x10_1x2(uint32 const & p)

**See also**: uint32 packUnorm3x10_1x2(vec4 const & v)

**See also**: uint32 packU3x10_1x2(uvec4 const & v)

**See also**: uint32 packI3x10_1x2(ivec4 const & v)

# glm::packUnorm3x5_1x1(...)

## glm::uint16 glm::packUnorm3x5_1x1(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vec4 unpackUnorm3x5_1x1(uint16 p)

# glm::packUnorm4x16(...)

## glm::uint64 glm::packUnorm4x16(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

First, converts each component of the normalized floating-point value v into 16-bit integer values. Then, the results are packed into the returned 64-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm4x16: round(clamp(c, 0, +1) * 65535.0)

**See also**: gtc_packing

**See also**: uint16 packUnorm1x16(float const & v)

**See also**: uint32 packUnorm2x16(vec2 const & v)

**See also**: GLSL packUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::packUnorm4x4(...)

## glm::uint16 glm::packUnorm4x4(const glm::vec4 &v)

*Documentation from code comments*

*Documentation from code comments*

Convert each component of the normalized floating-point vector into unsigned integer values.

**See also**: gtc_packing

**See also**: vec4 unpackUnorm4x4(uint16 p)

# glm::unpackF2x11_1x10(...)

## glm::vec3 glm::unpackF2x11_1x10(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

**See also**: gtc_packing

**See also**: uint32 packF2x11_1x10(vec3 const & v)

# glm::unpackF3x9_E1x5(...)

## glm::vec3 glm::unpackF3x9_E1x5(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

**See also**: gtc_packing

**See also**: uint32 packF3x9_E1x5(vec3 const & v)

# glm::unpackHalf(...)

## vecType< float, P > glm::unpackHalf(const vecType< glm::uint16, P > &p=P)

*Documentation from code comments*

*Documentation from code comments*

Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

**See also**: gtc_packing

**See also**: vecType

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackHalf1x16(...)

## float glm::unpackHalf1x16(glm::uint16 v)

*Documentation from code comments*

*Documentation from code comments*

Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values.

**See also**: gtc_packing

**See also**: vec2 unpackHalf2x16(uint32 const & v)

**See also**: vec4 unpackHalf4x16(uint64 const & v)

**See also**: GLSL unpackHalf2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackHalf4x16(...)

## glm::vec4 glm::unpackHalf4x16(glm::uint64 p)

*Documentation from code comments*

*Documentation from code comments*

Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

**See also**: gtc_packing

**See also**: float unpackHalf1x16(uint16 const & v)

**See also**: vec2 unpackHalf2x16(uint32 const & v)

**See also**: GLSL unpackHalf2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackI3x10_1x2(...)

## glm::ivec4 glm::unpackI3x10_1x2(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

**See also**: gtc_packing

**See also**: uint32 packU3x10_1x2(uvec4 const & v)

**See also**: vec4 unpackSnorm3x10_1x2(uint32 const & p);

**See also**: uvec4 unpackI3x10_1x2(uint32 const & p);

# glm::unpackSnorm(...)

## vecType< floatType, P > glm::unpackSnorm(const vecType< intType, P > &v=P)

*Documentation from code comments*

*Documentation from code comments*

Convert each signed integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: vecType

# glm::unpackSnorm1x16(...)

## float glm::unpackSnorm1x16(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x16: clamp(f / 32767.0, -1, +1)

**See also**: gtc_packing

**See also**: vec2 unpackSnorm2x16(uint32 p)

**See also**: vec4 unpackSnorm4x16(uint64 p)

**See also**: GLSL unpackSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackSnorm1x8(...)

## float glm::unpackSnorm1x8(glm::uint8 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. Then, the value is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x8: clamp(f / 127.0, -1, +1)

**See also**: gtc_packing

**See also**: vec2 unpackSnorm2x8(uint16 p)

**See also**: vec4 unpackSnorm4x8(uint32 p)

**See also**: GLSL unpackSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackSnorm2x8(...)

## glm::vec2 glm::unpackSnorm2x8(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x8: clamp(f / 127.0, -1, +1)

**See also**: gtc_packing

**See also**: float unpackSnorm1x8(uint8 p)

**See also**: vec4 unpackSnorm4x8(uint32 p)

**See also**: GLSL unpackSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackSnorm3x10_1x2(...)

## glm::vec4 glm::unpackSnorm3x10_1x2(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1)

**See also**: gtc_packing

**See also**: uint32 packSnorm3x10_1x2(vec4 const & v)

**See also**: vec4 unpackUnorm3x10_1x2(uint32 const & p))

**See also**: uvec4 unpackI3x10_1x2(uint32 const & p)

**See also**: uvec4 unpackU3x10_1x2(uint32 const & p)

# glm::unpackSnorm4x16(...)

## glm::vec4 glm::unpackSnorm4x16(glm::uint64 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x16: clamp(f / 32767.0, -1, +1)

**See also**: gtc_packing

**See also**: float unpackSnorm1x16(uint16 p)

**See also**: vec2 unpackSnorm2x16(uint32 p)

**See also**: GLSL unpackSnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackU3x10_1x2(...)

## glm::uvec4 glm::unpackU3x10_1x2(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers.

**See also**: gtc_packing

**See also**: uint32 packU3x10_1x2(uvec4 const & v)

**See also**: vec4 unpackSnorm3x10_1x2(uint32 const & p);

**See also**: uvec4 unpackI3x10_1x2(uint32 const & p);

# glm::unpackUnorm(...)

## vecType< floatType, P > glm::unpackUnorm(const vecType< uintType, P > &v=P)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: vecType

# glm::unpackUnorm1x16(...)

## float glm::unpackUnorm1x16(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. Then, the value is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm1x16: f / 65535.0

**See also**: gtc_packing

**See also**: vec2 unpackUnorm2x16(uint32 p)

**See also**: vec4 unpackUnorm4x16(uint64 p)

**See also**: GLSL unpackUnorm2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackUnorm1x5_1x6_1x5(...)

## glm::vec3 glm::unpackUnorm1x5_1x6_1x5(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: uint16 packUnorm1x5_1x6_1x5(vec3 const & v)

# glm::unpackUnorm1x8(...)

## float glm::unpackUnorm1x8(glm::uint8 p)

*Documentation from code comments*

*Documentation from code comments*

Convert a single 8-bit integer to a normalized floating-point value.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

**See also**: gtc_packing

**See also**: vec2 unpackUnorm2x8(uint16 p)

**See also**: vec4 unpackUnorm4x8(uint32 p)

**See also**: GLSL unpackUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackUnorm2x3_1x2(...)

## glm::vec3 glm::unpackUnorm2x3_1x2(glm::uint8 p)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: uint8 packUnorm2x3_1x2(vec3 const & v)

# glm::unpackUnorm2x4(...)

## glm::vec2 glm::unpackUnorm2x4(glm::uint8 p)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: uint8 packUnorm2x4(vec2 const & v)

# glm::unpackUnorm2x8(...)

## glm::vec2 glm::unpackUnorm2x8(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

**See also**: gtc_packing

**See also**: float unpackUnorm1x8(uint8 v)

**See also**: vec4 unpackUnorm4x8(uint32 p)

**See also**: GLSL unpackUnorm4x8 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackUnorm3x10_1x2(...)

## glm::vec4 glm::unpackUnorm3x10_1x2(glm::uint32 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1)

**See also**: gtc_packing

**See also**: uint32 packSnorm3x10_1x2(vec4 const & v)

**See also**: vec4 unpackInorm3x10_1x2(uint32 const & p))

**See also**: uvec4 unpackI3x10_1x2(uint32 const & p)

**See also**: uvec4 unpackU3x10_1x2(uint32 const & p)

# glm::unpackUnorm3x5_1x1(...)

## glm::vec4 glm::unpackUnorm3x5_1x1(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: uint16 packUnorm3x5_1x1(vec4 const & v)

# glm::unpackUnorm4x16(...)

## glm::vec4 glm::unpackUnorm4x16(glm::uint64 p)

*Documentation from code comments*

*Documentation from code comments*

First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnormx4x16: f / 65535.0

**See also**: gtc_packing

**See also**: float unpackUnorm1x16(uint16 p)

**See also**: vec2 unpackUnorm2x16(uint32 p)

**See also**: GLSL unpackUnorm2x16 man page

**See also**: GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions

# glm::unpackUnorm4x4(...)

## glm::vec4 glm::unpackUnorm4x4(glm::uint16 p)

*Documentation from code comments*

*Documentation from code comments*

Convert each unsigned integer components of a vector to normalized floating-point values.

**See also**: gtc_packing

**See also**: uint16 packUnorm4x4(vec4 const & v)

Last updated Wednesday, 08 March 2023 18:11:42 UTC - 7c9ee203c70f155d301b41aa9b34dcc286921a3c

If you have any doubt about the usage of this module you can ask in the forum.

If you want to contribute better documentation or start documenting this section you can do so here

If you find anything wrong with this docs you can report any error by opening an issue