uint packUnorm2x16(vec2 value)
packUnorm2x16是一个GLSL的内置函数,用于将双精度浮点数向量value中的两个值以无符号16位整数(即[0, 2^16-1]范围内的整数)的形式打包成一个32位无符号整数返回。
这个函数会将每个输入值从[0, 1]的范围中线性映射到[0, 2^16-1]的范围内。
value:类型为vec2的双精度浮点数向量,其中包含要打包的两个值。uintvec2 color = vec2(0.5, 0.75);
uint packedValue = packUnorm2x16(color);
color是一个vec2类型的双精度浮点数向量,包含两个值(0.5和0.75)。packedValue是一个32位无符号整数,值为32767(即16进制的0x7FFF)和49151(即16进制的0xBFFF)所打包成的值,即为0x7FFF 0xBFFF(即16进制的0x7FFFBFFF)。vec2 color = vec2(1.0, 0.0);
uint packedValue = packUnorm2x16(color);
color是一个vec2类型的双精度浮点数向量,包含两个值(1.0和0.0)。packedValue是一个32位无符号整数,值为65535(即16进制的0xFFFF)和0所打包成的值,即为0xFFFF 0x0000(即16进制的0xFFFF0000)。