0

DirectX9 でビルドするために更新しようとしている DirectX8 用に作成されたゲームがあります。DirectX8 は MS によってサポートされておらず、DirectX9 では DirectX8 で行われていたことを実行できるようになっていると聞いています。だから私はすべてのものを8から9に変更することから始めていますが、LPDIRECT3DDEVICE9は存在しないようです. では、DirectX9 の LPDIRECT3DDEVICE8 に相当するものはありますか?

また、D3DCAPS8 に相当する D3DCAPS9 がないこともわかりました。(編集: ちょっと待って、新しいヘッダー ファイル D3D9Caps.h にあるだけです。)

また、LPD3DXSPRITE も定義されていませんが、DirectX9 の議論で見られます。うーん。

おそらく、私が本当に必要としているのは、ヘッダー ファイル d3dx9.h と D3DX8Math.h に相当するものです。

明確にするために言うと、DirectX8 の逆方向互換性が期待できる以外は、DirectX9 の機能を使用したくありません。

4

2 に答える 2

1

AnLPDIRECT3DDEVICE8は単なるstruct IDirect3DDevice8*. これらのLP*マクロ定義は 9 で廃止されたようですので、I*同等のものを使用してください。

D3dx9core.h探しているスプライト クラスが含まれています。

これらも役立つ場合があります。

于 2012-07-14T03:14:47.357 に答える
0

わかりました、私の質問に対する主な答えは次のようなものだったようです:

DirectX9 SDK をインストールすると、Visual Studio 2010 の既定のプロジェクト ファイルまたは移植されたプロジェクト ファイルで、いくつかの DirectX ヘッダー ファイルを見つけることができますが、他のものは見つけることができません。さらに、DirectX9 のほとんどまたはすべての DirectX8 構造に同等の構造がありますが、それらが含まれるヘッダー ファイルとそれらのヘッダーの名前が変更されている可能性があります。主に、Preet Kukreti が書いたように、一部は D3dx9core.h に移動しました。これは、プロジェクト構成を編集しないと見つけられないヘッダーの 1 つです。VS 2010 では、[プロジェクト] タブの [プロパティ] でプロジェクトの [プロパティ ページ] に移動し、[VC++ ディレクトリ] を選択して、[インクルード ディレクトリ] で既存の文字列に ;path を追加します。ここで、path は SDK のインクルード フォルダーへのパスです。

(ちなみに、Windows 7 Search を使用してパスを検索しないでください。ほとんど役に立たないためです。実際にコンピューターでファイルを検索する場合は、代わりに Agent Ransack をダウンロードして使用してください。潜在的な時間に対して約 1 秒で検索されますWindows Search と戦うフラストレーションの解消)。

私は C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9math.h にありました

于 2012-07-14T21:33:00.987 に答える