Exemplarische Vorgehensweise Portieren einer einfachen Direct3D 9-App zu DirectX 11 und zur universellen Windows-Plattform (UWP)
In dieser Portierungsübung wird veranschaulicht, wie Sie ein einfaches Renderingframework von Direct3D 9 auf Direct3D 11 und die universelle Windows-Plattform (UWP) umstellen.
Thema | BESCHREIBUNG |
---|---|
Hier wird veranschaulicht, wie Sie Direct3D 9-Initialisierungscode in Direct3D 11 konvertieren, und Sie erfahren, wie Sie Handles zum Direct3D-Gerät und zum Gerätekontext abrufen und DXGI zum Einrichten einer Swapchain verwenden. |
|
Hier wird veranschaulicht, wie Sie ein einfaches Renderingframework von Direct3D 9 in Direct3D 11 konvertieren. Sie erfahren, wie Sie Geometriepuffer portieren, HLSL-Shaderprogramme kompilieren und laden und die Renderkette in Direct3D 11 implementieren. |
|
Zeigt, wie Sie ein Fenster für ein UWP-Spiel implementieren und die Spielschleife übernehmen, einschließlich der Erstellung eines IFrameworkView zum Steuern eines Vollbild-CoreWindows. |
Es werden zwei Codepfade durchgegangen, mit denen jeweils die gleiche grundlegende Grafikaufgabe durchgeführt wird: das Anzeigen eines sich drehenden Würfels mit Vertexschattierung. In beiden Fällen wird mit dem Code der folgende Prozess abgedeckt:
- Erstellen eines Direct3D-Geräts und einer Swapchain
- Erstellen eines Vertexpuffers und eines Indexpuffers zum Darstellen eines farbigen Würfelgitters
- Erstellen eines Vertexshaders, mit dem Vertizes in Bildschirmbereiche umgewandelt werden, eines Pixelshaders, mit dem Farbwerte vermischt werden, Kompilieren der Shader und Laden der Shader als Direct3D-Ressourcen
- Implementieren der Renderkette und Darstellen des gezeichneten Würfels auf dem Bildschirm
- Erstellen eines Fensters, Starten einer Hauptschleife und Durchführen der Verarbeitung von Bildschirmmeldungen
Nach der Durcharbeitung dieser exemplarischen Vorgehensweise sollten Ihnen die folgenden grundlegenden Unterschiede zwischen Direct3D 9 und Direct3D 11 bekannt sein:
- Trennung von Gerät, Gerätekontext und Grafikinfrastruktur
- Kompilierungsprozess für Shader und Laden von Shaderbytecode zur Laufzeit
- Konfigurieren von Daten pro Vertex für den Eingabeassemblerzustand
- Verwenden eines IFrameworkView-Elements zum Erstellen einer CoreWindow-Ansicht
Beachten Sie, dass in dieser exemplarischen Vorgehensweise der Einfachheit halber CoreWindow verwendet wird. Die XAML-Interoperabilität wird nicht behandelt.
Voraussetzungen
Führen Sie die Schritte unter Vorbereiten der Entwicklungsumgebung für die Entwicklung von UWP-DirectX-Spielen aus. Sie müssen noch keine Vorlage laden, aber Sie benötigen Microsoft Visual Studio 2015, um die Codebeispiele für diese exemplarische Vorgehensweise zu laden.
Lesen Sie sich die Informationen unter Konzepte und Aspekte der Portierung durch, um ein besseres Verständnis der in dieser exemplarischen Vorgehensweise verwendeten Programmierkonzepte für DirectX 11 und UWP zu entwickeln.
Zugehörige Themen
Direct3D
Microsoft Store
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für