c++ - DirectX 9での.Xモデルの読み込み

c++ directx 3d .x

ポートフォリオ用に最初の3Dデモを作成しようとしていますが、簡単なゲームを作成できるように、複数の.Xファイルのロードに問題があります。

私は、1つのメッシュにロードする方法を示すmsdnチュートリアルとFrank Lunaの本を通して作業しました。私はfranksのデモコードを改造しようとしましたが、彼のコードは彼が意図したものだけを実行していることがわかりました。それを改ざんすることは、完全な頭痛の種です。

誰かが.Xモデルをゲームにロードする手間を省いて、それらを移動できるようにする、サンプルコードを含むライブラリやWebサイトを知っていて、それを助ける人がいるかどうか疑問に思っています。
答え
DirectX 9を学んでいたとき、thisサイトは情報を探すのに適した場所でした。

簡単に言えば、ファイル(またはメモリ)からメッシュオブジェクトをロードするには、D3DXLoadMeshFromXまたはその派生関数の1つを呼び出す必要があります。

オブジェクト自体を「移動」することはできません。行列をプッシュ/ポップして、各オブジェクトの移動/回転を蓄積する必要があります。たとえば回転の場合:

float fAngle = 2.f;
D3DXMATRIXA16 matWorld;
D3DXMatrixIdentity(&matWorld); // Identity Matrix
D3DXMatrixRotationY( &matWorld, fAngle );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
関連記事

c++ - OSX C++ Eclipseが頻繁にクラッシュします。どうすればよいですか?

c++ - アプリにVisual Studioエディターを埋め込む

c++ - Boost::uBLASベクトルでのSTL操作の実行

c++ - LoadLibraryEx:パラメータが64ビットで失われる

java - MICO Corbaのドロップイン交換?

c++ - カスタムクライアントアプリ-ドキュメントの保存場所を制御する機能が必要

c++ - libSoXはスレッドセーフですか?

c++ - 保守性とカプセル化のためのC++クラス階層の構造化

c++ - C++の初期化リストを使用したデータメンバー参照の初期化

c++ - ラッパークラスから内部クラスのパブリック列挙型を公開する