Wo finde ich das DirectX SDK?
Ab Windows 8 ist das DirectX SDK als Teil des Windows SDK enthalten.
Ursprünglich haben wir das DirectX SDK als leistungsstarke Plattform für die Spieleentwicklung auf Windows erstellt. Mit zunehmender Reife der DirectX-Technologien wurden sie für ein breiteres Anwendungsspektrum relevant. Die Verfügbarkeit von Direct3D-Hardware auf Computern steuert heute auch herkömmliche Desktopanwendungen zur Verwendung der Grafikhardwarebeschleunigung. Parallel dazu sind DirectX-Technologien stärker in Windows integriert. DirectX ist jetzt ein grundlegender Bestandteil von Windows.
Da das Windows SDK das primäre SDK für Windows-Entwickler ist, enthält es jetzt auch DirectX. Nutzen Sie das Windows SDK ab sofort zum Entwickeln großartiger Spiele für Windows. Informationen zum Herunterladen des Windows 11 SDK, Windows 10 SDK oder Windows 8.x SDK finden Sie unter Windows SDK und Emulatorarchiv.
Die folgenden Technologien und Tools, die früher Teil des DirectX SDK waren, sind jetzt Teil des Windows SDK.
Technologie oder Werkzeug | BESCHREIBUNG |
---|---|
Windows-Grafikkomponenten |
Die Header und Bibliotheken für Direct3D und andere Windows-Grafik-APIs wie Direct2D sind im Windows SDK verfügbar. Hinweis: Die veralteten D3DX9/D3DX10/D3DX11-Hilfsprogrammbibliotheken sind über NuGet verfügbar, aber es gibt auch eine Reihe von Open Source Alternativen. Die D3DCSX DirectCompute-Hilfsprogrammbibliothek und die verteilbare DLL sind im Windows SDK verfügbar. D3DX12 ist auf GitHub verfügbar. |
HLSL-Compiler (FXC.EXE) |
Der HLSL-Compiler ist ein Tool im entsprechenden Architekturunterverzeichnis unter dem Ordner bin im Windows SDK. Hinweis: Die D3DCompiler-API und die verteilbare DLL sind im Windows SDK verfügbar. Verwenden Sie für die DirectX 12-Entwicklung dxCompiler im Windows SDK und gehostet auf GitHub. |
PIX für Windows |
Ein Ersatz für das TOOL PIX für Windows ist jetzt ein Feature in Microsoft Visual Studio, das als Visual Studio-Grafikdebugger bezeichnet wird. Dieses Feature hat die Benutzerfreundlichkeit, die Unterstützung für Windows 8 und Direct3D 11.1 sowie die Integration mit herkömmlichen Microsoft Visual Studio-Features wie Aufrufstapeln und Debugfenstern für DAS HLSL-Debuggen erheblich verbessert. Weitere Informationen zu diesem neuen Feature finden Sie unter Debuggen von DirectX-Grafiken. Informationen zur DirectX 12-Entwicklung finden Sie unter der neuesten Generation von PIX unter Windows. |
XAudio2 für Windows |
Die XAudio2-API ist jetzt eine Systemkomponente in Windows 11, Windows 10 und Windows 8.x. Die Header und Bibliotheken für XAudio2 sind im Windows SDK verfügbar. Informationen zur Unterstützung von Windows 7 finden Sie unter XAudio2Redist. |
XInput für Windows |
Die XInput 1.4-API ist jetzt eine Systemkomponente in Windows 11, Windows 10 und Windows 8.x. Die Header und Bibliotheken für XInput sind im Windows SDK verfügbar. Hinweis: Legacy XInput 9.1.0 ist auch als Teil von Windows 7 oder höher verfügbar. |
XNAMATH |
Die neueste Version von XNAMATH, die für neue Befehlssätze sowie ARM/ARM64 aktualisiert wird, ist jetzt DirectXMath. Die Header für DirectXMath sind im Windows SDK und auf GitHub verfügbar. |
DirectX Systemsteuerung und DirectX Capabilities Viewer |
Die Hilfsprogramme DirectX Systemsteuerung und DirectX Capabilities Viewer sind im Windows SDK im entsprechenden Architekturunterverzeichnis unter dem Ordner bin enthalten. DirectX Capabilities Viewer ist auch auf GitHub verfügbar. |
XACT |
Das Xbox Audio Cross Platform Tool (XACT) wird für die Verwendung unter Windows nicht mehr unterstützt. |
Spiele Explorer und GDFMAKER |
Die Games Explorer-API stellt Windows-Benutzern Spiele vor. Die Games Explorer-API wird nur unter Windows Vista und Windows 7 unterstützt. Verwenden Sie das Tool Games Definition File Maker (GDFMAKER.EXE), um Spielbewertungen für Windows Store-Apps zu deklarieren. Das Game Definition File Maker-Tool (GDFMaker.exe) ist im Unterverzeichnis x86 unter dem Ordner bin im Windows SDK enthalten und unterstützt sowohl Windows Store-Apps als auch Win32-Desktopanwendungen. |
Andere DirectX SDK-Tools |
Verschiedene Tools wie dxtex.exe, meshconvert.exe, texconv.exe und uvatlas.exe finden Sie online. Weitere Informationen zu diesen Tools finden Sie unter DirectX SDK-Toolskatalog. |
Beispiele |
Beispielanwendungen, die DirectX 12-Technologien unter Windows hervorheben, finden Sie im DirectX-Beispielrepository . Die meisten Beispiele für ältere Versionen von Direct3D sind auch online verfügbar. Weitere Informationen zu diesen Beispielen finden Sie unter DirectX SDK-Beispielkatalog. |
Verwaltete DirectX 1.1 |
Die .NET DirectX-Assemblys sind veraltet und werden nicht für die Verwendung durch neue Anwendungen empfohlen. Es gibt eine Reihe von Alternativen. Weitere Informationen finden Sie unter DirectX und .NET. |
Das Legacy-DirectX SDK steht bei Bedarf im Microsoft Download Center zum Download zur Verfügung, die Verwendung für neue Projekte wird jedoch nicht empfohlen.
Hinweis
Das DirectX SDK kann nicht installiert werden, wenn Sie bereits eine bestimmte Version des Visual C++ 2010 Redistributable Package installiert haben. Weitere Informationen zu und eine Lösung zum Beheben dieses Problems finden Sie unter "S1023"-Fehler bei der Installation des DirectX SDK (Juni 2010).
Verwenden von DirectX SDK-Projekten mit Visual Studio
Die Beispiele aus dem DirectX SDK vom Juni 2010 werden mit Premium-Visual Studio-SKUs unterstützt (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013 oder Microsoft Visual Studio Ultimate 2013) unter Windows 7 und Windows 8 und höheren Versionen. Aufgrund des Übergangs von DirectX-Headern und -Bibliotheken in das Windows SDK sind Änderungen an den Projekteinstellungen erforderlich, um diese Beispiele ordnungsgemäß zu erstellen, wie das Windows 8 SDK und höher mit den Premium-SKUs von Visual Studio gepackt wird.
Diese Schritte gelten auch für Ihre eigenen Projekte, die vom DirectX SDK abhängig sind.
Stellen Sie sicher, dass das Release des DirectX SDK vom Juni 2010 auf Ihrem Entwicklungscomputer installiert ist. Wenn Sie auf einem Computer unter Windows 8 und höher installieren, werden Sie aufgefordert und müssen .NET 3.5 als erforderliche Installation für das DirectX SDK aktivieren.
Hinweis
Das DirectX SDK kann nicht installiert werden, wenn Sie bereits eine bestimmte Version des Visual C++ 2010 Redistributable Package installiert haben. Weitere Informationen zu und eine Lösung zum Beheben dieses Problems finden Sie unter "S1023"-Fehler bei der Installation des DirectX SDK (Juni 2010).
Stellen Sie sicher, dass Sie eine der Visual Studio-Premium-SKUs verwenden. Microsoft Visual Studio Express 2012 für Windows 8 oder Microsoft Visual Studio Express 2013 für Windows werden keine Desktopanwendungen für Windows 8 und höher wie die DirectX SDK-Beispiele erstellt. Um eine der Visual Studio Premium-SKUs zu installieren, wechseln Sie zu : Visual Studio-Downloads , und befolgen Sie die Anweisungen.
Verwenden Sie den DirectX SDK-Beispielbrowser, um die Projektdateien für das gewünschte Beispiel zu installieren. Öffnen Sie die mit Microsoft Visual Studio 2010 kompatible Projektmappendatei des Beispiels (mit dem Suffix _2010).
Wenn Sie das Beispiel auf einem System öffnen, auf dem nur Microsoft Visual Studio 2012 oder Microsoft Visual Studio 2013 installiert ist, erhalten Sie die folgende Meldung: "Diese Projektmappe enthält mindestens ein Projekt mit einer früheren Version des VC++-Compilers und der Bibliotheken. Jedes Projekt kann aktualisiert werden, um den VC++-Compiler und die Bibliotheken (v110) zu verwenden." Wählen Sie in diesem Dialogfeld die Option Aktualisieren aus, um sie zu aktualisieren, bevor Sie das Projekt öffnen.
Andernfalls können Sie auf den Visual Studio 2012- oder Visual Studio 2013 C++ 11-Compiler und bibliotheken aktualisieren, nachdem sie geladen wurden, indem Sie mit der rechten Maustaste auf die Projektmappe klicken und VC++-Projekte aktualisieren auswählen.
D3DX gilt nicht als kanonische API für die Verwendung von Direct3D in Windows 8 und höher und ist daher nicht im entsprechenden Windows SDK enthalten. Untersuchen Alternativer Lösungen für die Arbeit mit der Direct3D-API. Für Legacyprojekte, z. B. die DirectX SDK-Beispiele unter Windows 7 (und früher), sind die folgenden Schritte erforderlich, um Anwendungen mit D3DX mithilfe des DirectX SDK zu erstellen:
Ändern Sie die VC++- Verzeichnisse des Projekts wie folgt, um die richtige Reihenfolge für SDK-Header und -Bibliotheken zu verwenden.
- i. Öffnen Sie **Eigenschaften** für das Projekt, und wählen Sie die Seite **VC++-Verzeichnisse** aus.
ii. Wählen Sie **Alle Konfigurationen und Alle Plattformen**.
iii. Legen Sie diese Verzeichnisse wie folgt fest:
- Ausführbare Verzeichnisse: <Erben von übergeordneten Oder Projektstandardeinstellungen> (Rechtsseitige Dropdownliste)
- Include-Verzeichnisse: $(IncludePath);$(DXSDK_DIR)Include
- Einschließen von Bibliotheksverzeichnissen: $(LibraryPath);$(DXSDK_DIR)Lib\x86
- Bibliotheksverzeichnisse: $(LibraryPath);$(DXSDK_DIR)Lib\x64
iv. Klicken Sie auf Anwenden.
v. Wählen Sie die x64-Plattform aus.
vi. Legen Sie das Bibliotheksverzeichnis wie folgt fest:Unabhängig davon, wo "d3dx9.h", "d3dx10.h" oder "d3dx11.h" in Ihrem Projekt enthalten sind, sollten Sie zuerst explizit "d3d9.h", "d3d10.h" und "dxgi.h" oder "d3d11.h" und "dxgi.h" einschließen, um sicherzustellen, dass Sie die neuere Version auswählen. Sie können die Warnung C4005 bei Bedarf deaktivieren. Diese Warnung weist jedoch darauf hin, dass Sie die ältere Version dieser Header verwenden.
Entfernen Sie alle Verweise auf DXGIType.h in Ihrem Projekt. Dieser Header ist im Windows SDK nicht vorhanden, und die DirectX SDK-Version ist in Konflikt mit der neuen winerror.h.
Alle D3DX-DLLs werden durch die DirectX SDK-Installation auf Ihrem Entwicklungscomputer installiert. Stellen Sie sicher, dass die erforderlichen D3DX-Abhängigkeiten mit jedem Beispiel oder mit Ihrer Anwendung verteilt werden, wenn sie auf einen anderen Computer verschoben werden.
Beachten Sie, dass Die Ersatztechnologien für die aktuelle Verwendung von D3DX11 DirectXTex, DirectXTK, DirectXMesh und UVAtlas umfassen. D3DXMath wird durch DirectXMath ersetzt.
Stellen Sie sicher, dass Sie die neue Version des HLSL-Shadercompilers verwenden, indem Sie die folgenden Bedingungen beachten:
Das Ändern des ausführbaren Verzeichnisses gemäß Schritt 5 führt dazu, dass Projektbuilds FXC aus der Windows SDK-Installation verwenden. Beachten Sie, dass HLSL-Dateien jetzt offiziell von Visual Studio anerkannt werden. Sie können sie als Projektdateien hinzufügen und Compileroptionen über das Projektsystem festlegen.
Beim Aufrufen der Laufzeitkompilierung über die Legacy-D3DX-DLL wird die falsche ältere Version des HLSL-Compilers verwendet. Ersetzen Sie alle Verweise auf D3DXCompile*, D3DX10Compile*- und D3DX11Compile*-APIs in Ihrem Code durch die D3DCompile-Funktion in D3DCOMPILER_46.DLL oder D3DCOMPILER_47.DLL.
Jedes Projekt, das die Laufzeit-Shaderkompilierung verwendet, muss D3DCOMPILER_xx.DLL in den lokalen ausführbaren Pfad für das Projekt kopiert haben. Diese DLL ist in diesem Unterverzeichnis der Windows SDK-Installation unter %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> oder %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch> verfügbar, wobei <arch>x86 und x64 ist.
Das D3DCOMPILER_46.DLL oder D3DCOMPILER_47.DLL aus dem Windows SDK ist keine Systemkomponente und sollte nicht in das Windows-Systemverzeichnis kopiert werden. Sie können diese DLL mit Ihrer Anwendung als parallele DLL auf andere Computer verteilen.
Jedes Projekt, das die XInput-API verwendet und für die Ausführung unter Windows 7 oder älteren Versionen von Windows vorgesehen ist, muss entweder die Legacyversion (9.1.0) verwenden oder die Header und Bibliotheken für diese Komponente explizit aus dem DirectX SDK einschließen. Der XInput-Header und XINPUT. Libs, die im Windows SDK enthalten sind, zielen nur auf die Version (1.4) ab Windows 8 ab. Derselbe Header kann mit XINPUT9_1_0.LIB verwendet werden, um die Legacyversion zu verwenden, die in älteren Versionen von Windows enthalten ist. Die Legacyversion von XInput erkennt keine vollständigen Funktionen und unterstützt keine controllerintegrative Audiowiedergabe. Wenn also Unterstützung für diese Features erforderlich ist, müssen Sie die DirectX SDK-Version (1.3) verwenden.
Um die XInput-API mit vollem Funktionsumfang zu verwenden, sollten
#include
Sie die spezifischen XInput-Header aus dem DirectX SDK direkt verwenden:#include <%DXSDK_DIR%Include\xinput.h>
... und verknüpfen Sie in Den Linkeroptionen für Zusätzliche Abhängigkeiten direkt mit der XInput-Bibliothek des DirectX SDK:
%DXSDK_DIR%Include\<arch>\xinput.lib
Die XINPUT1_3.DLL Binärdatei wird von der DirectX SDK-Installation auf Ihrem Entwicklungscomputer in den Windows-Systemverzeichnissen installiert. Sie müssen diese Binärdatei mithilfe der DirectX-Setupinstallation aus dem DirectX SDK mit Ihrer Anwendung verteilen.
Jedes Projekt, das die XAudio2-API verwendet und für die Ausführung unter Windows 7 oder älteren Versionen von Windows vorgesehen ist, muss entweder die ältere Version (9.1.0) verwenden oder explizit die Header und Bibliotheken für diese Komponente aus dem DirectX SDK einschließen. Die XAudio2-Header und -Bibliotheken, die im Windows SDK enthalten sind, zielen nur auf die Version (2.8) ab, die als Teil von Windows 8 enthalten ist.
Mit XAudio2 sollten
#include
Sie beispielsweise die spezifischen XAudio2-Header aus dem DirectX SDK direkt verwenden:#include <%DXSDK_DIR%Include\xaudio2.h>
... und verknüpfen Sie in Den Linkeroptionen für Zusätzliche Abhängigkeiten direkt mit der XAudio2-Bibliothek des DirectX SDK:
%DXSDK_DIR%Include\<arch>\xaudio2.lib
Die XAUDIO2_7.DLL Binärdatei wird von der DirectX SDK-Installation auf Ihrem Entwicklungscomputer in den Windows-Systemverzeichnissen installiert. Sie müssen diese Bibliotheken mithilfe der DirectX-Setupinstallation aus dem DirectX SDK mit Ihrer Anwendung verteilen.
Wenn Sie das DirectX SDK mit früheren Versionen von Visual Studio verwendet haben, hat das Visual Studio 2010-Upgrade möglicherweise den DirectX SDK-Pfad in Ihre Standardprojekteinstellungen migriert. Es wird empfohlen, diese Einstellungen zu entfernen, um zukünftige Buildfehler zu verhindern. Ändern Sie im Verzeichnis %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 die Dateien Microsoft.Cpp.Win32.user und Microsoft.Cpp.x64.user , um alle Verweise auf DXSDK_DIR Pfade zu entfernen. Alternativ können Sie den gesamten <PropertyGroup-Knoten>, der die Pfadeinträge wie <ExecutablePath> und <IncludePath> enthält, entfernen, um rückgängig machen auf Standardstandards zu rückgängig machen. Wenn in diesen Dateien keine Verweise auf DXSDK_DIR angezeigt werden, sind keine Änderungen erforderlich.
Wenn die resultierende App Windows Vista mit Service Pack 2 (SP2) sowie Windows 7 und Windows 8 und höher unterstützt, legen Sie die Präprozessordefinition mit dem Namen _WIN32_WINNT auf 0x600 fest. Wenn es nur Windows 7 und Windows 8 und höher unterstützt, legen Sie es auf 0x601 fest.
Zum Beispiel:
- Öffnen Sie Eigenschaften für das Projekt, und wählen Sie C/C++>-Präprozessor aus.
- Wählen Sie Alle Konfigurationen und Alle Plattformen aus.
- Wechseln Sie zum Abschnitt Präprozessordefinitionen , und legen Sie _WIN32_WINNT=0x600 fest.
- Klicken Sie auf Anwenden.
Zugehörige Themen
-
Spiele für Windows und das DirectX SDK