07/11/13 00:57:58
今、DirectX9SDKで2Dのシューティングゲームを作っています。
ゲームのプログラムは「シューティングゲームプログラミング」の本を参考にして作っているのですが、この本のサンプルでは弾やキャラクタが全て3Dメッシュで作られています。
作りたいのは2Dのゲームなので、DirectX8の2Dゲーム作成のページを参考にしてDX9の仕様に変えながら、後でゲームに組み込むことを目的にして2D描画周りの勉強をしています。
本のサンプルにもテクスチャを描画する関数はついていたのですが、頂点位置を指定しての変形描画や行列を用いた回転を使いたかったので、自分で関数を作ってみようと思いました。
今触っているプログラムの簡単な描画の流れは、
①D3DXCreateTextureFromFile を使ってpngファイルからテクスチャを作成
②SetTexture でテクスチャをデバイスにセット
③DrawPrimitiveUP でバックバッファに転送
④EndScene を待って Present でフリップ (方式はD3DSWAPEFFECT_DISCARD)
というものです。
そこで質問なのですが、テクスチャを描画した際に像がぼやけたようになってしまうのはどうすれば直せるのでしょうか。
現在はステージ画面のフレーム(透過部分を四角く抜いたワク)を描画する段階で、テクスチャの大きさは640x480です。
ファイル形式はpng、bmp、tgaを試してみましたがどれもぼやけてしまいます。
URLリンク(www.uploda.org)
具体的には、画像の左側の絵を描画すると右のようになってしまいます。
解決策を教えて下さいませんでしょうか。