2008-05-06

テクスチャフォーマットとサーフェイスフォーマット

i815Gでは、テクスチャフォーマットとしてA4R4G4B4は使える(CreateTextureでA4R4G4B4を指定できる)が、サーフェイスフォーマットとしてA4R4G4B4は指定できない(CreateOffscreenPlainSurfaceでシステムメモリに確保する場合でも指定できない)ようだ。えー、なんじゃそりゃー。CapsViewerで確認すると、確かにそうなっている。そりゃ、そういうこともあるだろうけどさぁ……。

仕方ないので、CreateOffscreenPlainSurfaceではなく、CreateTextureとGetSurfaceLevelに置き換えたらうまくいった。もちろんD3DPOO_SYSTEMMEMの話。A4R4G4B4形式のサーフェイスは単体では作れないけど、テクスチャの中のサーフェイスとしてならOKってこと? なんだかなぁ。