2012-03-27 23 views
0

私は大きなスプライトライブラリを持っており、GPUのメモリ要件を削減したいと思います。ピクセルあたり1バイトしかないgpuにテクスチャを保存し、フラグメントシェーダでRGBカラールックアップに使用することはできますか? GL_R8の使用に関する矛盾する報告があります。fragシェーダのOpenGLカラーインデックス?

答えて

3

これは本当にハードウェアがそのテクスチャ形式をサポートしているかどうかによって異なります。代わりにA8R8G8B8テクスチャを使用して問題全体をスキップするのはどうですか?それはちょうど圧縮される、すなわちビットマスク(またはglslのr/g/b/aメンバー)を使用して「サブピクセル」値を読み取るだけである。最初のピクセルはアルファチャンネル、赤チャンネルの2番目のピクセル、緑のチャンネルの3番目のピクセルなどに格納されます。

これを使用して、単一の画像に最大4つのレイヤーを保存することもできます); 1つだけを選ぶことは問題ではないはずです。

+0

OIC私はドグマチックではありません! – spinning

関連する問題