« VistaとOfficeの値段が出たんだけど | トップへ戻る | 秋葉原行き過ぎの件 »
2006年10月28日
DirectXのテクスチャ生成の際のフォーマットについて
ちょっと需要があったのでメモっておく。
とりあえずSDKドキュメントのD3DFORMATのページを参照。
テクスチャ生成時のオプションのひとつにテクスチャの形式、特にデータ配列関係があって、これの指定如何でVRAM消費量と画質が変わる。
重要なのは、データ型として何byte消費するかということと、ARGBに何byte消費するかである。
研究ではD3DFMT_A32B32G32R32Fばかり用いている。まぁ当然か。
普段ゲームを作るときはD3DFMT_A8R8G8B8を良く用いる。32bitだ。
VRAMを削減するのにD3DFMT_A8R3G3B2を用いたこともある。こちらは16bitだ。
正直言って16bit未満のフォーマットは無理だ。白黒画像でもない限り、階調が保てない。アルファが要らないならD3DFMT_R5G6B5あたりでどうだろうか。Win32の一般的なGDIの階調は確かこの辺のはずだから、割といけるだろう。
3D処理の際のテクスチャ生成にはDXTn Compressed Texture Formatsなんかの圧縮型を使うことが多いらしいんだけど、実はこっちは使ったことが無いので良くわからない。
SDKドキュメントにデータ容量が書かれていないんだけど、あとで調べておくか。
ちなみに、バックバッファでしか使えない形式とか、GPUの対応が必要な形式があるのでそのへん注意ね。
まぁとりあえずこんな感じ?
ちなみに、これらは頂点色とは関係ないよ。
投稿者 togabito : 2006年10月28日 03:11
Trackback Pings
このエントリーのトラックバックURL:
http://aaa.jspeed.jp/~togabito/cgi-bin/mt/mt-tbx.cgi/648