「反射シャドウ マップ」を使用して、ゲーム エンジンにグローバル イルミネーションを実装しています。RSM には色テクスチャがあります。メモリを節約します。24 ビット値を 8 ビット値にパックしています。Ok。私はそれを詰める方法を知っています。しかし、どうやって開梱するのですか?私は、255 色の 8 ビット パレットで 1D テクスチャを作成することを考えていました。私の8ビットカラーは、そのテクスチャのピクセルのインデックスになります。この種のテクスチャを生成する方法がわかりません。8 ビット値を RGB に変換する数学的な方法はありますか?
@edit 色の形式は次のとおりです。
RRR GGG BB
@edit2: そして、私は自分の色を次のように詰めています:
int packed = (red / 32 << 5) + (green / 32 << 2) + (blue / 64);
//the int is actually a byte, c# compiler is bitching if it's byte.
@edit3:
わかりました、これを行う方法を見つけたと思います。それが間違っているかどうか教えてください。
@edit4 それは間違っています...
int r = (packed >> 5) * 32;
int g = ((packed >> 2) << 3) * 32;
int b = (packed << 6) * 64;