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 をダウンロードするには、SDK とエミュレーターのアーカイブWindows参照してください。

以前は DirectX SDK の一部だった次のテクノロジとツールが、Windows SDK の一部になりました。

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

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


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

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

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

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

 

従来の DirectX SDK は、必要に応じて Microsoft ダウンロード センター からダウンロードできますが、新しいプロジェクトに使用することはお勧めしません。

注意

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

 

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

2010 年 6 月の DirectX SDK のサンプルは、Premium Visual Studio SKU (Microsoft Visual Studio Professional 2012 年 Microsoft Visual Studio Ultimate 2012 年Microsoft Visual Studio Professional 2013、または Microsoft Visual Studio Ultimate 2013) は、Windows 7 以降のリリースでWindows 8。 DirectX ヘッダーとライブラリを Windows SDK に移行するため、Windows 8 SDK 以降を Premium Visual Studio SKU にパッケージ化する方法を使用してこれらのサンプルを正しくビルドするには、プロジェクト設定への変更が必要です。

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

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

    注意

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

     

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

  3. DirectX SDK サンプル ブラウザーを使用して、目的のサンプルのプロジェクト ファイルをインストールします。 サンプルの Microsoft Visual Studio 2010 互換ソリューション ファイル (サフィックスは _2010) を開きます。

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

    それ以外の場合は、ソリューションを右クリックして [Update VC++ プロジェクト] を選択して、Visual Studio 2012 または C++ 11 コンパイラとライブラリを読み込んだ後、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. プロジェクトの **Properties** を開き、**[VC++ ディレクトリ] ページを選択します。 ii. **[すべての構成] と [すべてのプラットフォーム] を選択します。 iii. これらのディレクトリを次のように設定します。
      • 実行可能ディレクトリ: <親またはプロジェクトの既定値から継承する> (右側のドロップダウン)
      • インクルード ディレクトリ: $(IncludePath);$(DXSDK_DIR)Include
      • インクルード ライブラリ ディレクトリ: $(LibraryPath);$(DXSDK_DIR)Lib\x86

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

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

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

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

    5. D3DX11 の現在の使用に対応する交換テクノロジには、 DirectXTexDirectXTKDirectXMeshUVAtlas が含まれます。 D3DXMath は DirectXMath に置き換えられます。

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

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

    2. レガシ D3DX DLL を使用してランタイム コンパイルを呼び出すと、HLSL コンパイラの古いバージョンが正しく使用されません。 コード内の D3DXCompile*、D3DX10Compile*、D3DX11Compile* API へのすべての参照を、D3DCOMPILER_46.DLLまたはD3DCOMPILER_47.DLLの D3DCompile 関数に置き換えます。

    3. ランタイム シェーダー コンパイルを使用するすべてのプロジェクトは、プロジェクトのローカル実行可能パスにD3DCOMPILER_xx.DLLコピーする必要があります。 この DLL は、%ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> または %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch><(arch>x86 および x64) の下の Windows SDK インストールのサブディレクトリにあります。

      Windows SDK のD3DCOMPILER_46.DLLまたはD3DCOMPILER_47.DLLはシステム コンポーネントではなく、Windows システム ディレクトリにコピーしないでください。 この DLL は、アプリケーションをサイド バイ サイド DLL として他のコンピューターに再配布できます。

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

    フル機能の下位レベルの XInput API を使用するには、DirectX SDK の特定の XInput ヘッダーを直接使用する必要があります #include

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

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

    %DXSDK_DIR%Include\<arch>\xinput.lib

    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 では、DirectX SDK の特定の XAudio2 ヘッダーを直接指定する必要があります #include

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

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

    %DXSDK_DIR%Include\<arch>\xaudio2.lib

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

  9. 過去のバージョンのVisual Studioで DirectX SDK を使用している場合は、Visual Studio 2010 のアップグレードによって DirectX SDK パスが既定のプロジェクト設定に移行されている可能性があります。 今後のビルド エラーを防ぐために、これらの設定を削除することをお勧めします。 %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 ディレクトリで、Microsoft.Cpp.Win32.user ファイルと Microsoft.Cpp.x64.user ファイルを変更して、DXSDK_DIR パスへのすべての参照を削除します。 または、ExecutablePath や <IncludePath>> などの<パス エントリを含む PropertyGroup> ノード全体<を削除して、標準の既定値に戻すこともできます。 これらのファイルにDXSDK_DIRへの参照が表示されない場合は、変更は必要ありません。

  10. 結果のアプリで、Service Pack 2 (SP2) と Windows 7 以降のWindows Vista 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 エディション) はどこにありますか?

特定の年齢の DirectX SDK

D3DX なしで生活する