Light | Dark

packUnorm

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-ponit value v into 8- or 16-bit integer values and then packs the results into a 32-bit unsigned intgeter.

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
packUnorm2x16 - - - - - - -
packSnorm2x16 - - - - - - - -
packUnorm4x8 - - - - - - -
packSnorm4x8 - - - - - - -
Think you can improve this page? Edit this page on GitHub.