DirectX SDK の場所

Windows 8 以降、DirectX SDK は Windows SDK の一部として含まれています。

最初に、Windows 上でのゲーム開発用の高パフォーマンスプラットフォームとして DirectX SDK を作成しました。 DirectX テクノロジが成熟するにつれて、より幅広いアプリケーションに関連するようになりました。 現在、コンピューターに搭載されている Direct3D ハードウェアの可用性により、従来のデスクトップアプリケーションでもグラフィックスハードウェアアクセラレータを使用できるようになります。 同時に、DirectX テクノロジは Windows と統合されています。 DirectX は Windows の基本部分になりました。

DirectX は、Windows 用の主要な開発者 SDK である Windows SDK に収録されています。 Windows SDK を使って、Windows 用の優れたゲームを作成できます。 Windows 8. x sdk または Windows 10 sdk をダウンロードするには、「 Windows SDK と emulator archive」を参照してください。

現在、DirectX SDK の一部である次のテクノロジとツールが Windows SDK に含まれています。

テクノロジまたはツール 説明
Windowsグラフィックスコンポーネント
Direct3Dおよびその他の Windows グラフィックス api ( Direct2Dなど) のヘッダーとライブラリは、Windows SDK で使用できます。
[!Note]
非推奨の D3DX9/D3DX10/D3DX11 ユーティリティライブラリはNuGet経由で利用できますが、さまざまなオープンソースの代替手段も用意されています。 D3DCSX directcompute ユーティリティライブラリと再頒布可能 DLL は、Windows SDK で入手できます。 D3DX12 は、 GitHubで使用できます。

HLSL コンパイラ (FXC.EXE)
HLSLコンパイラは、Windows SDK 内の bin フォルダーの下にある適切なアーキテクチャサブディレクトリのツールです。
[!Note]
D3DCompiler API と再頒布可能 DLL は、Windows SDK で使用できます。


DirectX 12 開発の場合は、Windows SDK で dxcompiler を使用し、 GitHubでホストします。
Windows 用 PIX
PIX for Windows ツールの代わりに、グラフィックスデバッガー Visual Studio と呼ばれる Microsoft Visual Studio の機能が使用されました。 この機能により、使いやすさが大幅に向上し、Windows 8 および Direct3D 11.1 がサポートされるようになりました。また、 HLSLデバッグのための呼び出し履歴やデバッグウィンドウなどの従来の Microsoft Visual Studio 機能との統合も実現しています。 この新機能の詳細については、「 DirectX グラフィックスのデバッグ」を参照してください。

DirectX 12 開発の場合は、 Windows での PIXの最新世代を参照してください。
Windows 用のXAudio2
XAudio2 API は Windows 8. x および Windows 10 のシステムコンポーネントになりました。 XAudio2 のヘッダーとライブラリは、Windows SDK で使用できます。 Windows 7 のサポートについては、 XAudio2Redistを参照してください。
Windows 用のXInput
XInput 1.4 API は Windows 8. x および Windows 10 のシステムコンポーネントになりました。 XInput のヘッダーとライブラリは、Windows SDK で使用できます。
[!Note]
レガシ XInput 9.1.0 は Windows 7 以降の一部としても使用できます。

XNAMATH
新しい命令セットと ARM/ARM64 に更新された最新バージョンの XNAMATH は、 Directxmathになりました。 directxmath のヘッダーは、Windows SDK とGitHubで使用できます。
DirectX コントロールパネルと DirectX 機能ビューアー
directx コントロールパネルと directx 機能ビューアーユーティリティは、Windows SDK の bin フォルダーの下にある適切なアーキテクチャサブディレクトリに含まれています。 DirectX 機能ビューアーはGitHubでも使用できます。
不能
Xbox Audio クロスプラットフォームツール (XACT) は、Windows での使用に対してサポートされなくなりました。
ゲームエクスプローラー と GDFMAKER
ゲームエクスプローラー API は、Windows のユーザーにゲームを提供します。 ゲームエクスプローラー API は Windows Vista と Windows 7 でのみサポートされています。 ゲーム定義ファイルメーカーツール (GDFMAKER.EXE) を使用して、Windows ストアアプリのゲーム評価を宣言します。
ゲーム定義ファイルメーカーツール (GDFMaker.exe) は、Windows SDK の bin フォルダーの下にある x86 サブディレクトリに含まれており、Windows ストアアプリと Win32 デスクトップアプリケーションの両方をサポートしています。

サンプル
directxサンプルリポジトリの Windows で directx 12 テクノロジを強調するサンプルアプリケーションがあります。 以前のバージョンの Direct3D のほとんどのサンプルは、オンラインでも利用できます。 これらのサンプルの詳細については、「 DIRECTX SDK サンプルカタログ」を参照してください。
マネージ DirectX 1.1
.NET DirectX アセンブリは非推奨とされており、新しいアプリケーションでの使用は推奨されていません。 いくつかの代替手段が用意されています。 「 DirectX と .net」を参照してください。

レガシ DirectX SDK は、必要に応じて Microsoft ダウンロードセンター からダウンロードできますが、新しいプロジェクトには使用しないことをお勧めします。

注意

Visual C++ 2010 再頒布可能パッケージの特定のバージョンが既にインストールされている場合、DirectX SDK のインストールに失敗します。 の詳細と、この問題を修正するための解決策については、 DIRECTX SDK (6 月2010日) をインストールするときの "S1023" エラーを参照してください。

Visual Studio での DirectX SDK プロジェクトの使用

6月 2010 DirectX SDK のサンプルは、Microsoft Visual Studio Ultimate 7 および Windows 以降のリリースで、premium Visual Studio sku (Microsoft Visual Studio Professional 2012、Microsoft Visual Studio Ultimate 2012、Microsoft Visual Studio Professional 2013、または Windows 8 2013) でサポートされています。 DirectX のヘッダーとライブラリが Windows SDK に移行されたため、これらのサンプルを適切にビルドするには、プロジェクト設定を変更する必要があります。これらのサンプルは、Windows 8 SDK 以降が premium Visual Studio sku でパッケージ化されています。

これらの手順は、DirectX SDK に依存する独自のプロジェクトにも適用されます。

  1. 開発用コンピューターに、2010年6月の DirectX SDK がインストールされていることを確認します。 Windows 8 以降を実行しているコンピューターにをインストールする場合は、DirectX SDK への前提条件のインストールとして .net 3.5 を有効にするように求められます。

    注意

    Visual C++ 2010 再頒布可能パッケージの特定のバージョンが既にインストールされている場合、DirectX SDK のインストールに失敗します。 の詳細と、この問題を修正するための解決策については、 DIRECTX SDK (6 月2010日) をインストールするときの "S1023" エラーを参照してください。

  2. premium Visual Studio sku のいずれかを使用していることを確認します。 Microsoft Visual Studio Express 2012 for Windows 8 または Microsoft Visual Studio Express 2013 for Windows は、DirectX SDK サンプルなどの Windows 8 以降のデスクトップアプリケーションをビルドしません。 premium Visual Studio sku のいずれかをインストールするには、 Visual Studio ダウンロードし、指示に従います。

  3. DirectX SDK サンプルブラウザーを使用して、目的のサンプル用のプロジェクトファイルをインストールします。 サンプルの Microsoft Visual Studio 2010 互換性のあるソリューションファイルを開きます ( _ 2010 でサフィックスが付けられています)。

  4. Microsoft Visual Studio 2012 または Microsoft Visual Studio 2013 がインストールされているシステムでサンプルを開くと、次のメッセージが表示されます。 "このソリューションには、以前のバージョンの VC++ コンパイラおよびライブラリを使用する1つ以上のプロジェクトが含まれています。 各プロジェクトは、VC++ コンパイラとライブラリ (v110) を使用するように更新できます。 " プロジェクトを開く前に更新するには、このダイアログボックスの [ 更新 ] オプションを選択します。

    それ以外の場合は、ソリューションを右クリックし、[ VC++ プロジェクトの更新] をクリックして、Visual Studio 2012 または Visual Studio 2013 C++ 11 コンパイラとライブラリを読み込んだ後に更新できます。

  5. D3DX は、Windows 8 以降では Direct3D を使用するための標準 API とは見なされないため、対応する Windows SDK には含まれません。 Direct3D API を操作するための代替ソリューションを調査します。 Windows 7 (およびそれ以前) の directx sdk サンプルなどのレガシプロジェクトでは、directx sdk を使用して D3DX でアプリケーションをビルドするには、次の手順が必要です。

    1. SDK のヘッダーとライブラリに対して適切な順序を使用するには、プロジェクトの VC++ ディレクトリを次のように変更します。

      i. プロジェクトの [**プロパティ**] を開き、[ **VC++ ディレクトリ**] ページを選択します。 ii. [ **すべての構成] と [すべてのプラットフォーム**] を選択します。 iii. 次のように、これらのディレクトリを設定します。
      • 実行可能ディレクトリ: (右側のドロップダウン)
      • インクルードディレクトリ: $ (Includepath); $ (DXSDK _ DIR) インクルード
      • インクルードライブラリディレクトリ: $ (LibraryPath); $ (DXSDK _ DIR) Lib \ x86

      iv. [適用] をクリックします。
      v. X64 プラットフォーム を選択します。
      vi. 次のように ライブラリディレクトリ を設定します。

      • ライブラリディレクトリ: $ (LibraryPath); $ (DXSDK _ DIR) Lib \ x64
    2. プロジェクトに "d3dx9"、"d3dx10"、または "d3dx11" が含まれている場合は、新しいバージョンを確実に表示するために、まず "d3d9"、"d3d10"、""、または "d3d11. h" と "dxgi" を明示的に含める必要があります。 必要に応じて、 警告 C4005 を無効にすることができます。ただし、この警告は、これらのヘッダーの古いバージョンを使用していることを示しています。

    3. プロジェクト内の DXGIType へのすべての参照を削除します。 このヘッダーは Windows SDK に存在せず、DirectX SDK のバージョンが新しい winerror.h と競合しています。

    4. すべての D3DX Dll は、DirectX SDK のインストールによって開発用コンピューターにインストールされます。 必要な D3DX 依存関係が、すべてのサンプルと共に再配布されていること、または別のコンピューターに移動された場合はアプリケーションと共に再配布されること

    5. D3DX11 の現在の使用に代わるテクノロジとして、 DirectxtexdirectxtexDirectxtexuvatlasなどがあります。 D3DXMath は Directxmathに置き換えられました。

  6. 次の条件を観察して、新しいバージョンの HLSL シェーダーコンパイラを使用していることを確認します。

    1. 手順 5. に従って実行可能ディレクトリを変更すると、プロジェクトビルドで Windows SDK インストールから fxc が使用されます。 HLSL ファイルは Visual Studio によって正式に認識されるようになったことに注意してください。 プロジェクトファイルとして追加したり、プロジェクトシステムを使用してコンパイラオプションを設定したりできます。

    2. レガシ D3DX DLL を使用してランタイムコンパイルを呼び出すと、不適切な古いバージョンの HLSL コンパイラが使用されます。 *コード内の D3DXCompile、D3DX10Compile、および D3DX11Compile api へのすべての参照を、 * * D3DCOMPILER _46.DLL または D3DCOMPILER47.DLL の D3DCompile 関数に置き換え _ ます。

    3. ランタイムシェーダーコンパイルを使用するプロジェクトでは、 _ プロジェクトのローカル実行可能パスに D3DCOMPILERxx.DLL コピーされている必要があります。 この DLL は、Windows SDK インストールのこのサブディレクトリ (% ProgramFiles (x86)% \ Windows kit \ 8.0 \ Redist \ d3d \ または % ProgramFiles (x86)% \ Windows kit \ 8.1 \ redist \ \ d3d ( x86 および x64) で利用できます。

      _Windows SDK からの D3DCOMPILER46.DLL または D3DCOMPILER _47.DLL はシステムコンポーネントではないため、Windows システムディレクトリにコピーしないでください。 アプリケーションを side-by-side DLL として使用する他のコンピューターにこの DLL を再配布することができます。

  7. XInput API を使用するプロジェクトでは、Windows 7 以前のバージョンのを使用する必要がある Windows、レガシバージョン (9.1.0) を使用するか、DirectX SDK からこのコンポーネントのヘッダーとライブラリを明示的に含める必要があります。 XInput header と XINPUT。Windows SDK に含まれている LIB は、Windows 8 以降の一部として出荷されるバージョン (1.4) のみを対象とします。 同じヘッダーを XINPUT9 1 0. LIB と共に使用すると、 _ _ 以前のバージョンの Windows に含まれているレガシバージョンを使用できます。 レガシバージョンの XInput は、完全な機能を検出したり、コントローラー統合オーディオをサポートしたりするわけではありません。そのため、これらの機能のサポートが必要な場合は、DirectX SDK バージョン (1.3) を使用する必要があります。

    全機能を備えたダウンレベル XInput API を使用するには、 #include DIRECTX SDK から直接特定の XInput ヘッダーを作成する必要があります。

    #include <%DXSDK_DIR%Include\xinput.h>

    ...また、追加の依存関係のリンカーオプションで、DirectX SDK XInput library に直接リンクします。

    % Dxsdk _ DIR% インクルード \ \ xinput

    XINPUT1 _3.DLL バイナリは、開発用コンピューターに DirectX SDK をインストールすることによって、Windows システムディレクトリにインストールされます。 DirectX SDK からの DirectX セットアップインストールを使用して、このバイナリをアプリケーションと共に再配布する必要があります。

  8. XAudio2 API を使用するプロジェクトは Windows 7 以前のバージョンの Windows で実行することを意図しています。または、以前のバージョン (9.1.0) を使用するか、DirectX SDK からこのコンポーネントのヘッダーとライブラリを明示的に含める必要があります。 Windows SDK に含まれている XAudio2 ヘッダーとライブラリは、Windows 8 の一部として含まれているバージョン (2.8) のみを対象とします。

    たとえば、XAudio2 では、 #include DIRECTX SDK から直接特定の XAudio2 ヘッダーを使用する必要があります。

    #include <%DXSDK_DIR%Include\xaudio2.h>

    ...また、追加の依存関係のリンカーオプションで、DirectX SDK XAudio2 library に直接リンクします。

    % Dxsdk _ DIR% インクルード \ \ xaudio2

    XAUDIO2 _7.DLL バイナリは、開発用コンピューターに DirectX SDK をインストールすることによって、Windows システムディレクトリにインストールされます。 DirectX SDK の DirectX セットアップインストールを使用して、これらのライブラリをアプリケーションと共に再配布する必要があります。

  9. 以前のバージョンの Visual Studio で directx sdk を使用していた場合、Visual Studio 2010 のアップグレードによって、directx sdk のパスが既定のプロジェクト設定に移行されている可能性があります。 今後のビルドエラーを防ぐために、これらの設定を削除することをお勧めします。 % USERPROFILE% \ AppData \ ローカル \ Microsoft \ MSBuild \ v1.0 ディレクトリで、dxsdk ディレクトリパスへのすべての参照を削除するように、 microsoft .cpp ファイルと microsoft .cpp ファイルを変更します。 _ または、やなどのパスエントリを含むノード全体を削除して、 標準の 既定値に戻すこともできます。 これらのファイルに DXSDK DIR への参照が表示されない場合は _ 、変更は必要ありません。

  10. 生成されたアプリが Windows Vista Service Pack 2 (SP2) と Windows 7 以降 Windows 8 以降をサポートしている場合は、 _ WIN32 _ WINNT という名前のプリプロセッサ定義を0x600 に設定します。 Windows 7 と Windows 8 以降のみがサポートされている場合は、0x601 に設定します。

    次に例を示します。

    1. プロジェクトの [プロパティ] を開き、[ C/c + + > プリプロセッサ] を選択します。
    2. [ すべての構成 ] と [ すべてのプラットフォーム] を選択します。
    3. [ プリプロセッサの定義 ] セクションにアクセスし、 _ WIN32 _ WINNT = 0x600 を設定します。
    4. [適用] をクリックします。

Windows と DirectX SDK 向けのゲームに関するブログ

DirectX SDK (2021 Edition) はどこにありますか?

特定の期間の DirectX Sdk

D3DX なしの生きています