【DirectXプログラミング】描画されるオブジェクトの大きさについて
Posted: 2010年9月01日(水) 19:19
いつもお世話になっております。シエルです。
DirectXにて現在ゲームを作成しており、3D背景を実装しようとしているのですが、
どうも思ったとおりの大きさに描画されず苦戦しています。
まず、
D3DFVF_DIFFUSE,D3DFVF_XYZ,D3DFVF_TEX1の頂点フォーマットを設定し、下記の頂点構造体を作っています。
typedef struct {
D3DXVECTOR3 v;
DWORD color;
D3DXVECTOR2 tex;
}VERTEX;
これを四つくっつけたポリゴン構造体が以下のものです。
typedef struct{
VERTEX v[4];
int flag;
}PORIGON;
これを使って、縦横3.0のポリゴンを作成し、テクスチャマッピングを行って描画したのですが、
イメージとは違う大きさで描画されてしまいます。(約80倍ぐらい。)
おそらくカメラの設定等が関係してくるとは思うのですが、どの部分に問題があるかご指摘願えますでしょうか?
添付したソースで、test.pngという名前のファイルをプロジェクトファイルと同じフォルダに
放り込んで、実行していただければ実行できます。
方向キー上下でZ座標が変化するようにしておりますが、起動直後の最初の画像の大きさに
注目してください。実際にしていした座標より大きくなってますので。
あと、もう一つ質問なんですが、Direct3Dの描画で原点(0,0,0)は必ずウィンドウの中央に自動的に
設定されているのでしょうか?
ソースがかなり長いので、添付させていただきます^^;
それでは、ご教授のほどよろしくお願い致します。
DirectXにて現在ゲームを作成しており、3D背景を実装しようとしているのですが、
どうも思ったとおりの大きさに描画されず苦戦しています。
まず、
D3DFVF_DIFFUSE,D3DFVF_XYZ,D3DFVF_TEX1の頂点フォーマットを設定し、下記の頂点構造体を作っています。
typedef struct {
D3DXVECTOR3 v;
DWORD color;
D3DXVECTOR2 tex;
}VERTEX;
これを四つくっつけたポリゴン構造体が以下のものです。
typedef struct{
VERTEX v[4];
int flag;
}PORIGON;
これを使って、縦横3.0のポリゴンを作成し、テクスチャマッピングを行って描画したのですが、
イメージとは違う大きさで描画されてしまいます。(約80倍ぐらい。)
おそらくカメラの設定等が関係してくるとは思うのですが、どの部分に問題があるかご指摘願えますでしょうか?
添付したソースで、test.pngという名前のファイルをプロジェクトファイルと同じフォルダに
放り込んで、実行していただければ実行できます。
方向キー上下でZ座標が変化するようにしておりますが、起動直後の最初の画像の大きさに
注目してください。実際にしていした座標より大きくなってますので。
あと、もう一つ質問なんですが、Direct3Dの描画で原点(0,0,0)は必ずウィンドウの中央に自動的に
設定されているのでしょうか?
ソースがかなり長いので、添付させていただきます^^;
それでは、ご教授のほどよろしくお願い致します。