アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になってます。
DIRECTX9.0、VC++6.0を使っています。
DIRECTXでLPDIRECT3DTEXTURE9(テクスチャ)とLPD3DXSPRITE(スプライト)を使って描画しています。
ですが、テクスチャの縦と横のサイズが256*256を超えたものが正常に表示できません。
色々調べてみると、縦と横のピクセル数が2の乗数以外の中途半端なサイズのテクスチャは、キリの良いサイズに変換されるみたいですが、一応縦横共に2の乗数のテクスチャなのにうまく表示できません。
例:768*512ピクセルのTGA形式のファイル

大きな画像ファイルを表示する方法はないでしょうか?
どうぞ宜しくお願いします。

A 回答 (1件)

古いグラフィックカードだと最大テクスチャサイズが256*256なんてのもあります。


IDirect3D9::GetDeviceCapsで取得できるD3DCAPS9構造体の中に
最大テクスチャサイズが入っています。

またVRAMは足りているでしょうか?
CreateTexture等が成功しているかどうかもチェックしてみてください。
512*512でアルファ付きのフルカラーだと
それだけで1MほどのVRAMを消費します。
    • good
    • 0
この回答へのお礼

お答え有難うございます。
やはりテクスチャを沢山使用していたため、VRAMが不足していたようです。
不必要なテクスチャもいっぱい登録していたので、それらを削ったら表示できました。
どうも有難うございました。

お礼日時:2006/01/25 10:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!