Direct3Dメモ

8bitPNGをD3DXCreateTextureFromFileで読み込んだ場合、普通の環境ではアルファ値が255の完全不透明テクスチャーとして扱われる。
だが、稀にこれを0としてしまい、完全透明なテクスチャーとして扱ってしまう環境がある。
D3DXCreateTextureFromFileは使わず、D3DXCreateTextureFromFileExでカラーキーを0(無効)にし、フォーマットを32bitにしてロードすると解決する。
 
ちなみにその環境とは、VMWare6.5(VMWare独自ドライバ)であるが、もしかしたらマイナーなグラボの中には同じ挙動をするものがあるかもしれない。
VMWareDirect3Dのドライバ仕様書を読み間違えたのか、使用書上で未定義なのかは不明だが、やっておくにこしたことはない。