GLSL

浮動小数点数を pack して得た整数を同じサイズの浮動小数点数として保存してはならない

やってしまいました。

ここに vec2 の変数があります。

vec2 v;

各要素の精度を 16 ビットまで落として、一つの 32 ビット整数に pack します。

uint a = packHalf2x16(v);

そのままでは出力できなかったので、同じく 32 ビットの浮動小数点数である float に変換して書き出します。

float output = uintBitsToFloat(a);

次読んだときにはデータは消えていました。

Read more… 浮動小数点数を pack して得た整数を同じサイズの浮動小数点数として保存してはならない

このエントリーをはてなブックマークに追加