Freigeben über


DirectX-Spielprojektvorlagen

Mit Vorlagen für DirectX und die universelle Windows-Plattform (UWP) können Sie schnell ein Projekt als Ausgangspunkt für Ihr Spiel erstellen.

Voraussetzungen

Gehen Sie wie folgt vor, um das Projekt zu erstellen:

Auswählen einer Vorlage

Visual Studio 2015 umfasst drei Vorlagen für DirectX und UWP:

  • DirectX 11-App (Universelle Windows-App): Mit der Vorlage "DirectX 11-App (Universelle Windows-App)" wird ein UWP-Projekt erstellt, das direkt in einem App-Fenster mit DirectX 11 gerendert wird.
  • DirectX 12-App (Universelle Windows-App): Mit der Vorlage "DirectX 12-App (Universelle Windows-App)" wird ein UWP-Projekt erstellt, das direkt in einem App-Fenster mit DirectX 12 gerendert wird.
  • DirectX 11- und XAML-App (Universelle Windows-App): Mit der Vorlage „DirectX 11- und XAML-App (Universelle Windows-App)“ wird ein UWP-Projekt erstellt, das direkt in einem XAML-Steuerelement mit DirectX 11 gerendert wird. Diese Vorlage verwendet ein SwapChainPanel-Element und ermöglicht so die Verwendung von XAML-UI-Steuerelementen. Dies kann zwar das Hinzufügen von Benutzeroberflächenelementen vereinfachen, die Verwendung der XAML-Vorlage beeinträchtigt aber unter Umständen die Leistung.

Die Entscheidung für eine Vorlage hängt von der Leistung und von den gewünschten Technologien ab.

Vorlagenstruktur

Die DirectX-UWP-Vorlagen enthalten die folgenden Dateien:

  • "pch.h" und "pch.cpp": Unterstützung für vorkompilierte Headerdateien.
  • Package.appxmanifest: Die Eigenschaften des Bereitstellungspakets für die App.
  • *.pfx: Zertifikate für die Anwendung.
  • Externe Abhängigkeiten: Links zu externen Dateien, die vom Projekt verwendet werden.
  • *Main.h und *Main.cpp: Methoden zum Verwalten von Anwendungsressourcen, Aktualisieren des Anwendungszustands und Rendern des Frames.
  • "App.h" und "App.cpp": Haupteinstiegspunkt für die Anwendung. Verbindet die App mit der Windows-Shell und behandelt App-Lebenszyklusereignisse. Diese Dateien werden nur in den Vorlagen „DirectX 11-App (Universelle Windows-App)“ und „DirectX 12-App (Universelle Windows-App)“ angezeigt.
  • "App.Xaml", "App.Xaml.cpp" und "App.Xaml.h": Haupteinstiegspunkt für die Anwendung. Verbindet die App mit der Windows-Shell und behandelt App-Lebenszyklusereignisse. Diese Dateien werden nur in der Vorlage "DirectX 11- und XAML-App (Universelle Windows-App)" angezeigt.
  • "DirectXPage.xaml", "DirectXPage.xaml.cpp" und "DirectXPage.xaml.h": Eine Seite, die ein DirectX-SwapChainPanel hostet. Diese Dateien werden nur in der Vorlage "DirectX 11- und XAML-App (Universelle Windows-App)" angezeigt.
  • Inhalt
    • Sample3DSceneRenderer.h und Sample3DSceneRenderer.cpp – Ein Beispielrenderer, der eine grundlegende Renderingpipeline instanziiert.
    • SampleFpsTextRenderer.h und SampleFpsTextRenderer.cpp – Rendert den aktuellen FPS-Wert mit Direct2D und DirectWrite rechts unten auf dem Bildschirm. Diese Dateien werden nur in den Vorlagen „DirectX 11-App (Universelle Windows-App)“ und „DirectX 11- und XAML-App (Universelle Windows-App)“ angezeigt.
    • SamplePixelShader.hlsl – Ein einfacher Beispiel-Pixelshader.
    • SampleVertexShader.hlsl – Ein einfacher Beispiel-Vertex-Shader.
    • ShaderStructures.h – Zum Senden von Daten an den Beispiel-Vertex-Shader verwendete Strukturen.
  • Allgemein
    • StepTimer.h – Eine Hilfsklasse für das Animations- und Simulationstiming.
    • DirectXHelper.h – Verschiedene Hilfsfunktionen.
    • DeviceResources.h und Device Resources.cpp – Stellt eine Schnittstelle für eine Anwendung bereit, die Eigentümer von DeviceResources ist, um benachrichtigt zu werden, wenn das Gerät verloren geht oder erstellt wird.
    • d3dx12.h – Enthält die D3DX12-Hilfsprogrammbibliothek. Diese Datei ist nur in der DirectX 12-App (Universelle Windows-App) vorhanden.
  • Ressourcen: Logo- und Splashscreen-Bilder, die von der Anwendung verwendet werden.

Nächste Schritte

Nachdem Sie nun einen Ausgangspunkt haben, fügen Sie ihn hinzu, um Ihr Wissen über die Spieleentwicklung und die Fähigkeiten zur Microsoft Store-Spieleentwicklung zu erweitern.

Wenn Sie ein vorhandenes Spiel portieren, sind die folgenden Themen hilfreich:

Wenn Sie ein neues DirectX-Spiel erstellen, sind die folgenden Themen hilfreich.