PACKUNORM(3G)

NAME
packUnorm - pack floating-point values into an unsigned integer

DECLARATION

uint packUnorm2x16(vec2 v);

uint packSnorm2x16(vec2 v);

uint packUnorm4x8(vec4 v);

uint packSnorm4x8(vec4 v);

PARAMETERS

v
    Specifies a vector of values to be packed into an unsigned integer.

DESCRIPTION

packUnorm2x16, packSnorm2x16, packUnorm4x8 and packSnorm4x8 convert each component of the normalized floating-point value v into 8- or 16-bit integer values and then packs the results into a 32-bit unsigned integer.

The conversion for component c of v to fixed-point is performed as follows:

    • packUnorm2x16: round(clamp(c, 0.0, 1.0) * 65535.0)

    • packSnorm2x16: round(clamp(c, -1.0, 1.0) * 32767.0)

    • packUnorm4x8: round(clamp(c, 0.0, 1.0) * 255.0)

    • packSnorm4x8: round(clamp(c, -1.0, 1.0) * 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.

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 | 4.60
packUnorm2x16 | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔
packSnorm2x16 | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔
packUnorm4x8 | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔
packSnorm4x8 | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

SEE ALSO

unpackUnorm2x16, unpackSnorm2x16, unpackUnorm4x8, unpackSnorm4x8

COPYRIGHT

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.

COPYRIGHT
Copyright © 2011-2014 Khronos Group