Freigeben über


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

Initialisieren von Direct3D 11

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.

Konvertieren des Renderingframeworks

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.

Port der Spielschleife

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:

  1. Erstellen eines Direct3D-Geräts und einer Swapchain.
  2. Erstellen eines Vertexpuffers und eines Indexpuffers zum Darstellen eines farbigen Würfelgitters.
  3. 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.
  4. Implementieren der Renderingkette und Darstellen des gezeichneten Würfels auf dem Bildschirm.
  5. 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.

Direct3D

Microsoft Store