Freigeben über


Roadmap für Desktop DirectX-Apps

Hier finden Sie wichtige Ressourcen, die Ihnen bei den ersten Schritten bei der Verwendung von DirectX und C++ helfen, um grafikintensive Desktop-Apps wie Spiele zu entwickeln. Dies ist keine umfassende Liste aller Features oder verfügbaren Ressourcen.

Loslegen

Hier sind einige wichtige Themen. Richten Sie Ihr DirectX-Projekt ein, indem Sie sich an Windows anpassen und Beispielanwendungen verwenden.

Thema Beschreibung
Erstellen Ihrer ersten Windows-App mit DirectX- Verwenden Sie dieses grundlegende Lernprogramm, 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.
Programmierhandbuch für Direct3D 11- Das Programmierhandbuch enthält Informationen zur Verwendung der programmierbaren Microsoft Direct3D 11-Pipeline zum Erstellen von Echtzeit-3D-Grafiken für Desktopanwendungen.
tools for DirectX Graphics Dokumentation für Tools zur Unterstützung der DirectX-Entwicklung.
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 benötigen Visual Studio Express 2013 für Windows Desktop, um Windows Store-Spiele zu erstellen. Eine Tour durch 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 befindet sich das DirectX SDK? Enthält Anleitungen für Entwickler, die ihre DirectX-Projekte in Microsoft Visual Studio integrieren möchten.

Beispielanwendungen

Thema Beschreibung
Direct3D-Lernprogramm win32-Beispiel Beispiel für einfaches Direct3D-Lernprogramm für Desktops.
Beispiel für das Rendern von DirectX-Videos Ein Beispiel, das das benutzerdefinierte Videorendering mit Direct3D veranschaulicht.

Überprüfen der wichtigsten Direct3D 11-Konzepte

Thema Beschreibung
Grafikpipeline- Behandelt die grundlegende Direct3D 11-Grafikpipeline.
Rendering- Behandelt die Direct3D-Renderingmodelle, Komponenten, Shader und API-Aufruffluss.
Ressourcen Behandelt Direct3D-"Ressourcen", z. B. Puffer und andere GPU-Ressourcentypen.
Effekte Behandelt Direct3D-Multi-Shader-Instancing und Effekte.
Gewusst wie: Erstellen einer Swapchain- Erstellen der Swapchain zum Zeichnen von Pixeln in einen Bereich des Bildschirms.
How To: Create a Device and Immediate Context So erstellen Sie eine Direct3D-Gerätestraktion und einen unmittelbaren Kontext für das Zeichnen.
How to: Create a Vertex Buffer Erstellen einer einfachen Liste von Gittervertices für die Verarbeitung durch die GPU.
Vorgehensweise: Erstellen eines Indexpuffers Erstellen eines Indexpuffers, mit dem der Vertex-Shader die Reihenfolge von Scheitelpunkten in einem Gitter durchlaufen kann.
Vorgehensweise: Erstellen eines Konstantenpuffers So übergeben Sie konstanten (uniform) Daten zwischen der CPU und der GPU während des Renderings.
How to: Create a Texture So erstellen Sie eine Textur oder eine andere Pufferressource, die von der GPU beispielt werden kann.
How to: Initialize a Texture From a File So laden Sie eine Textur aus einer Datei und verarbeiten sie für die Verwendung durch die Shaderpipeline.
Gewusst wie: Kompilieren eines Shader- Kompilieren eines Shaders für die Verwendung in Ihrer Grafikanwendung

Grafik-APIs

Thema Beschreibung
Direct3D 11- Dokumentation der wichtigsten APIs für die Virtualisierung der GPU und der zugehörigen Ressourcen sowie für das Zeichnen von Grafiken mithilfe eines einheitlichen Shadermodells.
Direct3D HLSL- Referenzdokumentation für High-Level Shadersprache, die Syntax und Regeln zum Definieren von Shaderprogrammen, die als Teil der Grafikpipeline in einem einheitlichen Shadermodell ausgeführt werden.
DirectX Graphics Interface (DXGI) Dokumentation der APIs auf niedriger Ebene, die zum Abrufen der GPU-Schnittstelle und Systemressourcen verwendet werden.
Direct2D- Dokumentation für die Direct2D-APIs, die die Zeichnung von 2D-Grundtypen unterstützen. In der Regel wird Direct2D für benutzerdefinierte Benutzeroberflächen, Bildverarbeitung und Batchverarbeitung und einfache Spiele verwendet.
DirectWrite- Dokumentation für die DirectWrite-APIs, die das rendern und skalieren von benutzerdefinierten Schriftarten unterstützen.
Windows Imaging Component (WIC) Dokumentation für die WIC-APIs, die zum Lesen und Verwalten verschiedener Bitmapbildformate verwendet werden.
DirectDraw Surfaces (DDS)- für Texturen Dokumentation für die DDS-APIs, die in Verbindung mit den WIC-APIs für die 2D-Texturkomprimierung und Dekomprimierung 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 für die DirectCompute-APIs, die für die Berechnung oder allgemeine Shaderfunktionalität verwendet werden.

Audio-, Medien- und Eingabe-APIs

Thema Beschreibung
XAudio2-Programmierhandbuch 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 Medienwiedergabe-API-Dokumentation von Media Foundation (MF) (Audio/Video). In der Regel wird MF in Spielen für die Soundtrackwiedergabe verwendet, während XAudio2 für dynamische Audiodaten verwendet wird.

Portieren zu DirectX 11

Thema Beschreibung
Migration zu Direct3D 11- Grundlegende Anleitungen zum Verschieben Ihrer DirectX 9-Codebasis zu DirectX 11.
Dual-use Coding Techniques for Games Detaillierter Blogbeitrag zur Entwicklung sowohl für DirectX 9_* als auch für DirectX 11_*-Featureebenen in einer einzigen Anwendung.
Implementieren von Schattenpuffern für Direct3D-Featureebene 9 Anleitung für die Implementierung von Schattenkarten unter DirectX-Featureebene 9_*.

Arbeiten mit C++

Wenn Sie eine alte Hand mit C++ auf Windows-Plattformen sind, sieht dies möglicherweise etwas anders aus. Im Folgenden finden Sie einige Hinweise auf Themen, die Ihnen dabei helfen können, den Unterschied zu behandeln.

Anmerkung

Einige dieser Themen helfen Ihnen bei der Verwaltung Ihrer C++/CX-Anwendung. Es wird jedoch empfohlen, C++/WinRT- für neue Anwendungen zu verwenden. C++/WinRT ist eine völlig standardmäßige moderne C++17-Sprachprojektion für Windows-Runtime-APIs (WinRT), die als headerdateibasierte Bibliothek implementiert und Ihnen erstklassigen Zugriff auf die moderne Windows-API bietet.

Thema Beschreibung
Visual C++-Sprachreferenz (C++/CX) Allgemeine Seite, die links zu Inhalten im Zusammenhang mit C++ enthält.
Kurzübersicht (Windows-Runtime und Visual C++) Tabelle mit schnellen Informationen zu Visual C++-Komponentenerweiterungen (C++/CX) und Schlüsselwörtern.
Typsystem (C++/CX) Referenzinhalte 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 die asynchrone und multithreadierte Programmierung für DirectX-Apps und -Spiele.
Asynchrone Programmierung in C++- Beschreibt die grundlegenden Methoden zum Verwenden der Aufgabenklasse, um asynchrone Windows-Runtime-Methoden zu nutzen.
Aufgabenklasse (Concurrency Runtime) Referenzdokumentation für die Aufgabenklasse.
Task Parallelism (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 gut mit Standardvorlagenbibliothekstypen ab. Die meisten C++-Windows Store-Apps verwenden Standardvorlagenbibliothekssammlungen und -algorithmen, mit Ausnahme der ABI-Grenze.
Parallel Patterns Library PPL stellt Algorithmen und Typen bereit, die die Parallelität der Aufgabe und die Datenparallelität auf der CPU vereinfachen.
C++- 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
Games for Windows and DirectX blog Regelmäßig aktualisierter Blog von einem wichtigen DirectX-Entwicklermitwirkenden und einer rundum großartigen Ressource für DirectX-Entwickler.
Windows DirectX-Entwicklerblog Der offizielle Windows DirectX-Blog.
Shawn Hargreaves DirectX-Blog) Dev-Blog von einem anderen angesehenen Windows DirectX-Entwicklermitwirkenden.
DirectX Tool Kit DirectX Tool Kit (DxTK), das eine Reihe hilfreicher Unterstützungs-APIs zum Laden von Gittern, zum Wiedergeben von Sounds und anderen gängigen Verhaltensweisen enthält.
DirectXTex-Texturverarbeitungsbibliothek DirectX Texture Processing Library (DxTEX), die Unterstützungs-APIs für die Texturverarbeitung und Komprimierung/Dekomprimierung enthält.