Light | Dark

unpackUnorm

Name

unpackUnorm2x16, unpackUnorm4x8, unpackSnorm4x8 — unpack floating-point values from an unsigned integer

Declaration

vec2 unpackUnorm2x16( uint p);
vec2 unpackSnorm2x16( uint p);
vec4 unpackUnorm4x8( uint p);
vec4 unpackSnorm4x8( uint p);

Parameters

p

Specifies an unsigned integer containing packed floating-point values.

Description

unpackUnorm2x16, unpackSnorm2x16, unpackUnorm4x8 and unpackSnorm4x8 unpack single 32-bit unsigned integers, specified in the parameter p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers or four 8-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

The conversion for unpacked fixed point value f to floating-point is performed as follows:

  • packUnorm2x16: f / 65535.0

  • packSnorm2x16: clamp(f / 32727.0, -1.0, 1.0)

  • packUnorm4x8: f / 255.0

  • packSnorm4x8: clamp(f / 127.0, -1.0, 1.0)

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.

Version Support

OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
unpackUnorm2x16 - - - - - - -
unpackSnorm2x16 - - - - - - - -
unpackUnorm4x8 - - - - - - -
unpackSnorm4x8 - - - - - - -
Think you can improve this page? Edit this page on GitHub.