Exemplarische Vorgehensweise: Portieren einer einfachen Direct3D 9-App zu DirectX 11 und Universelle Windows-Plattform (UWP)
In dieser Portierungsübung wird gezeigt, wie Sie ein einfaches Renderingframework von Direct3D 9 auf Direct3D 11 und Universelle Windows-Plattform (UWP) übertragen.
Thema | Beschreibung |
---|---|
Zeigt, wie Sie Direct3D 9-Initialisierungscode in Direct3D 11 konvertieren, einschließlich der Vorgehensweise zum Abrufen von Handles auf das Direct3D-Gerät und den Gerätekontext und die Verwendung von DXGI zum Einrichten einer Swapchain. |
|
Zeigt, wie Sie ein einfaches Renderingframework von Direct3D 9 in Direct3D 11 konvertieren, einschließlich der Portierung von Geometriepuffern, zum Kompilieren und Laden von HLSL-Shaderprogrammen und zum Implementieren der Renderingkette in Direct3D 11. |
|
Zeigt, wie Sie ein Fenster für ein UWP-Spiel implementieren und wie Sie die Spielschleife übernehmen, einschließlich der Erstellung eines IFrameworkView zum Steuern eines Vollbild-CoreWindow-Elements. |
In diesem Thema werden zwei Codepfade erläutert, die dieselbe grundlegende Grafikaufgabe ausführen: Anzeigen eines sich drehenden Vertex-schattierten Würfels. In beiden Fällen behandelt der Code den folgenden Prozess:
- Erstellen eines Direct3D-Geräts und einer Swapchain.
- Erstellen eines Vertexpuffers und eines Indexpuffers zum Darstellen eines farbigen Würfelgitters.
- Erstellen eines Vertex-Shaders, der Scheitelpunkte in den Bildschirmbereich transformiert, einen Pixelshader, der Farbwerte kombiniert, die Shader kompiliert und die Shader als Direct3D-Ressourcen lädt.
- Implementieren der Renderingkette und Darstellen des gezeichneten Würfels auf dem Bildschirm.
- Erstellen eines Fensters, Starten einer Hauptschleife und Durchführen der Verarbeitung von Fenstermeldungen.
Nach Abschluss dieser exemplarischen Vorgehensweise sollten Sie mit den folgenden grundlegenden Unterschieden zwischen Direct3D 9 und Direct3D 11 vertraut sein:
- Die Trennung von Geräte-, Gerätekontext- und Grafikinfrastruktur.
- Der Prozess der Kompilierung von Shadern und Laden von Shaderbytecode zur Laufzeit.
- Konfigurieren von Daten pro Scheitelpunkt für die Eingabeassemblerphase (Input Assembler, IA).
- Verwenden einer IFrameworkView zum Erstellen einer CoreWindow-Ansicht
Beachten Sie, dass in dieser exemplarischen Vorgehensweise CoreWindow aus Gründen der Einfachheit verwendet wird und die XAML-Interoperabilität nicht behandelt wird.
Voraussetzungen
Sie sollten Ihre Entwicklungsumgebung für die Entwicklung von UWP-DirectX-Spielen vorbereiten. Sie benötigen noch keine Vorlage, aber Sie benötigen Microsoft Visual Studio 2015, um die Codebeispiele für diese exemplarische Vorgehensweise zu laden.
Besuchen Sie die Portierungskonzepte und Überlegungen , um ein besseres Verständnis der in dieser exemplarischen Vorgehensweise gezeigten Konzepte der DirectX 11- und UWP-Programmierung zu erhalten.
Zugehörige Themen
Direct3D
Microsoft Store