« 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

コメント

コメントしてください




保存しますか?