packUnorm2x16, packSnorm2x16, packUnorm4x8, packSnorm4x8 — pack floating-point values into an unsigned integer
uint packUnorm2x16( | vec2 v) ; |
uint packSnorm2x16( | vec2 v) ; |
uint packUnorm4x8( | vec4 v) ; |
uint packSnorm4x8( | vec4 v) ; |
v
Specifies a vector of values to be packed into an unsigned integer.
packUnorm2x16
, packSnorm2x16
, packUnorm4x8
and packSnorm4x8
convert each component of the normalized floating-point value v
into 16- or 8-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.
OpenGL ES Shading Language Version | |||
---|---|---|---|
Function Name | 1.00 | 3.00 | 3.10 |
packUnorm2x16 | - | ✔ | ✔ |
packSnorm2x16 | - | ✔ | ✔ |
packUnorm4x8 | - | - | ✔ |
packSnorm4x8 | - | - | ✔ |
clamp, round, unpackUnorm2x16, unpackSnorm2x16, unpackUnorm4x8, unpackSnorm4x8
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/.