プログラミング

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

やってしまいました。

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

vec2 v;

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

uint a = packHalf2x16(v);

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

float output = uintBitsToFloat(a);

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

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

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

浮動小数点数テクスチャの対応状況が奇妙なデバイスが存在している件

先日とある方からの報告により発覚したのでメモ。
WebGL で浮動小数点数テクスチャ (float, half-float) を使うときに注意しておかないと、特定のデバイスで「本当はサポートされているのに浮動小数点数テクスチャが使えない」状況に陥ります。

Read more… 浮動小数点数テクスチャの対応状況が奇妙なデバイスが存在している件

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