Freigeben über


Roadmap für DirectX-Desktop-Apps

Hier finden Sie wichtige Ressourcen, die Ihnen den Einstieg in die Verwendung von DirectX und C++ zum Entwickeln grafikintensiver Desktop-Apps wie Spiele erleichtern. Dies ist keine umfassende Liste aller Features oder verfügbaren Ressourcen.

Erste Schritte

Im Folgenden finden Sie einige wichtige Themen. Richten Sie Ihr DirectX-Projekt ein, akklimatisieren Sie sich an Windows und Beispielanwendungen.

Thema Beschreibung
Erstellen Ihrer ersten Windows-App mit DirectX Verwenden Sie dieses grundlegende Tutorial, um mit der Entwicklung von DirectX-Apps zu beginnen, und verwenden Sie dann die Roadmap, um DirectX weiter zu erkunden.
Erste Schritte mit DirectX für Windows Überprüfen Sie die Schritte, die Sie ausführen müssen, um mit der Entwicklung eines Spiels mit DirectX und C++ zu beginnen.
Vollständiger Code für ein DirectX-Framework Rufen Sie den Code für ein einfaches DirectX-Renderingframework ab.
Verwenden von Direct3D 11 In diesem Abschnitt wird veranschaulicht, wie Sie die Microsoft Direct3D 11-API verwenden, um mehrere allgemeine Aufgaben auszuführen.
Programmieranleitung für Direct3D 11 Der Programmierleitfaden enthält Informationen zur Verwendung der programmierbaren Microsoft Direct3D 11-Pipeline zum Erstellen von 3D-Echtzeitgrafiken für Desktopanwendungen.
Tools für DirectX-Grafiken Dokumentation für Tools, die zur Unterstützung der DirectX-Entwicklung verwendet werden.
Neuerungen in Direct3D 11 Eine Aufschlüsselung aller Features, die in den neuesten Versionen von DirectX und Direct3D (derzeit 11.2) hinzugefügt wurden.
Visual Studio 2013 herunterladen Sie müssen über Visual Studio Express 2013 für Windows Desktop verfügen, um Windows Store-Spiele zu erstellen. Eine Übersicht über Visual Studio finden Sie unter Entwickeln von Windows Store-Apps mit Visual Studio 2012. Informationen zu neuen Features in Visual Studio finden Sie unter Produkthighlights für Visual Studio 2013.
Wo finde ich das DirectX SDK? Enthält Anleitungen für Entwickler, die ihre DirectX-Projekte in Microsoft Visual Studio einbinden möchten.

Beispielanwendungen

Thema Beschreibung
Win32-Beispiel für Direct3D-Tutorial Grundlegendes Direct3D-Tutorialbeispiel.
DirectX-Videorenderingbeispiel Ein Beispiel, das das benutzerdefinierte Videorendering mit Direct3D veranschaulicht.

Überprüfen der wichtigsten Direct3D 11-Konzepte

Thema Beschreibung
Grafikpipeline Deckt die grundlegende Direct3D 11-Grafikpipeline ab.
Darstellung Behandelt die Direct3D-Renderingmodelle, -Komponenten, -Shader und den API-Aufruffluss.
Ressourcen Behandelt Direct3D-"Ressourcen", z. B. Puffer und andere GPU-Ressourcentypen.
Effekte Behandelt Direct3D-Multi-Shader-Instancing und -Effekte.
Vorgehensweise: Erstellen einer Swapchain Erstellen der Swapchain zum Zeichnen von Pixeln in einen Bereich des Bildschirms.
Vorgehensweise: Erstellen eines Geräts und unmittelbaren Kontexts Erstellen einer Direct3D-Geräte-Abstraktion und eines unmittelbaren Kontexts für das Zeichnen.
Vorgehensweise: Erstellen eines Vertexpuffers Hier erfahren Sie, wie Sie eine einfache Liste von Gittervertices für die Verarbeitung durch die GPU erstellen.
Vorgehensweise: Erstellen eines Indexpuffers Hier erfahren Sie, wie Sie einen Indexpuffer erstellen, mit dem der Vertexshader die Reihenfolge der Scheitelpunkte in einem Gitter durchlaufen kann.
Vorgehensweise: Erstellen eines Konstantenpuffers Hier erfahren Sie, wie Sie während des Renderings konstante (einheitliche) Daten zwischen der CPU und der GPU übergeben.
Vorgehensweise: Erstellen einer Textur Hier erfahren Sie, wie Sie eine Textur oder eine andere Pufferressource erstellen, die von der GPU als Stichprobe verwendet werden kann.
Vorgehensweise: Initialisieren einer Textur aus einer Datei Hier erfahren Sie, wie Sie eine Textur aus einer Datei laden und für die Verwendung durch die Shaderpipeline verarbeiten.
Vorgehensweise: Kompilieren eines Shaders Hier erfahren Sie, wie Sie einen Shader für die Verwendung in Ihrer Grafikanwendung kompilieren.

Grafik-APIs

Thema Beschreibung
Direct3D 11 Dokumentation der Kern-APIs für die Virtualisierung der GPU und ihrer Ressourcen sowie für das Zeichnen von Grafiken mit einem einheitlichen Shadermodell.
Direct3D HLSL Referenzdokumentation für High-Level Shader Language, die Syntax und regeln zum Definieren von Shaderprogrammen, die als Teil der Grafikpipeline in einem einheitlichen Shadermodell ausgeführt werden.
DirectX-Grafikschnittstelle (DXGI) Dokumentation der APIs auf niedriger Ebene, die zum Abrufen der GPU-Schnittstelle und der Systemressourcen verwendet werden.
Direct2D Dokumentation für die Direct2D-APIs, die das Zeichnen von 2D-Grundtypen unterstützen. In der Regel wird Direct2D für benutzerdefinierte Benutzeroberflächen, Bildverarbeitung und Batchverarbeitung sowie für einfache Spiele verwendet.
DirectWrite Dokumentation für die DirectWrite-APIs, die das Rendern und Skalieren von benutzerdefinierten Schriftarten unterstützen.
Windows Imaging-Komponente (WIC) Dokumentation zu den WIC-APIs, die zum Lesen und Verwalten verschiedener Bitmapbildformate verwendet werden.
DirectDraw Surfaces (DDS) für Texturen Dokumentation für die DDS-APIs, die für die 2D-Texturkomprimierung und -dekomprimierung in Verbindung mit den WIC-APIs verwendet werden.
DirectXMath Dokumentation für die DirectXMath-APIs, die Direct3D mit einer Reihe von Typen und Funktionen unterstützen, die für die Entwicklung von 3D-Echtzeitgrafiken geeignet sind. (Früher XNAMath.)
DirectCompute Dokumentation zu den DirectCompute-APIs, die für Compute- oder allgemeine Shaderfunktionen verwendet werden.

Audio-, Medien- und Eingabe-APIs

Thema Beschreibung
XAudio2-Programmieranleitung Knoten der obersten Ebene für die konzeptionelle Dokumentation der XAudio2-Audio-API.
XAudio2-Programmierreferenz Knoten der obersten Ebene für die Referenzdokumentation zur XAudio2-Audio-API.
XInput-Programmierhandbuch Knoten der obersten Ebene für die konzeptionelle Dokumentation der XInput-Controller-API.
XInput-Programmierreferenz Knoten der obersten Ebene für die Referenzdokumentation zur XInput-Controller-API.
Media Foundation Knoten der obersten Ebene für die Media Foundation(MF)-Medien(Audio/Video)-Wiedergabe-API-Dokumentation. In der Regel wird MF in Spielen für die Soundtrackwiedergabe verwendet, während XAudio2 für dynamisches Audio verwendet wird.

Portieren zu DirectX 11

Thema Beschreibung
Migrieren zu Direct3D 11 Grundlegende Anleitung zum Verschieben Ihrer DirectX 9-Codebasis zu DirectX 11.
Dual-Use-Codierungstechniken für Spiele Ausführlicher Blogbeitrag zur Entwicklung für die Featureebenen DirectX 9_* und DirectX 11_* in einer einzelnen Anwendung.
Implementieren von Schattenpuffern für Direct3D-Featureebene 9 Leitfaden zum Implementieren von Schattenzuordnungen unter DirectX-Featureebene 9_*.

Arbeiten mit C++

Wenn Sie ein alter Hase mit C++ auf Windows-Plattformen sind, können die Dinge etwas anders aussehen. Hier finden Sie einige Hinweise auf Themen, die Ihnen helfen können, den Unterschied in den Griff zu bekommen.

Hinweis

Einige dieser Themen unterstützen Sie bei der Verwaltung Ihrer C++/CX-Anwendung. Es wird jedoch empfohlen, C++/WinRT für neue Anwendungen zu verwenden. C++/WinRT ist eine vollständig standardisierte, moderne C++17-Programmiersprache für Windows-Runtime-APIs (WinRT), die als headerdateibasierte Bibliothek implementiert ist und Ihnen einen erstklassigen Zugriff auf die moderne Windows-API bietet.

Thema Beschreibung
Visual C++-Sprachreferenz (C++/CX) Allgemeine Seite, die mit Inhalten im Zusammenhang mit C++ verknüpft ist.
Kurzreferenz (Windows Runtime und Visual C++) Tabelle mit schnellen Informationen zu Visual C++-Komponentenerweiterungen (C++/CX)-Operatoren und Schlüsselwörtern.
Typsystem (C++/CX) Referenzinhalt für die Typen, die von C++/CX unterstützt werden.
Namespaces (C++/CX) Referenzinhalte für die Namespaces, die C++-spezifische Typen enthalten, die in Windows Store-Apps verwendet werden können.
Thema Beschreibung
Asynchrone Programmierung (DirectX und C++) Erfahren Sie mehr über asynchrone und Multithreadprogrammierung für DirectX-Apps und -Spiele.
Asynchrone Programmierung in C++ Beschreibt die grundlegenden Möglichkeiten, die Taskklasse zum Nutzen Windows-Runtime asynchronen Methoden zu verwenden.
task-Klasse (Concurrency Runtime) Referenzdokumentation für die Aufgabenklasse.
Aufgabenparallelität (Concurrency Runtime) Ausführliche Diskussion über die Aufgabenklasse und deren Verwendung.

Zusätzliche nützliche Bibliotheken für die Windows C++-Programmierung

Thema Beschreibung
C++-Standardvorlagenbibliothek Windows-Runtime Typen spielen sich gut mit Standardvorlagenbibliothekstypen ab. Die meisten C++-Windows Store-Apps verwenden Sammlungen und Algorithmen der Standardvorlagenbibliothek, mit Ausnahme der ABI-Grenze.
Parallel Patterns Library PPL stellt Algorithmen und Typen bereit, die Aufgabenparallelität und Datenparallelität auf der CPU vereinfachen.
C++ Accelerated Massive Parallelism (C++ AMP) C++ AMP bietet Zugriff auf die GPU für allgemeine Datenparallelität auf Grafikkarten, die DirectX 11 unterstützen.

Blogs und andere Ressourcen

Thema Beschreibung
Blog "Spiele für Windows und DirectX" Regelmäßig aktualisierter Blog aus einem wichtigen DirectX-Entwicklungs-Mitwirkender und einer rundum hervorragenden Ressource für DirectX-Entwickler.
Windows DirectX-Entwicklerblog Der offizielle Windows DirectX-Blog.
DirectX-Blog von Shawn Hargreave) Dev-Blog von einem anderen angesehenen Windows DirectX-Entwicklungs-Mitwirkender.
DirectX-Toolkit DirectX Tool Kit (DxTK), das eine Reihe hilfreicher Unterstützungs-APIs für das Laden von Gittern, die Wiedergabe von Sounds und andere gängige Verhaltensweisen enthält.
DirectXTex-Texturverarbeitungsbibliothek DirectX Texture Processing Library (DxTEX), die Unterstützungs-APIs für die Texturverarbeitung und Komprimierung/Dekomprimierung enthält.