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:
- Laden Sie Microsoft Visual Studio 2015 herunter. Visual Studio 2015 enthält Tools für die Grafikprogrammierung (beispielsweise Debugtools). Eine Übersicht über DirectX-Grafik- und -Spielefeatures/-tools finden Sie unter Visual Studio-Tools für die Entwicklung von DirectX-Spielen.
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:
- Portieren von OpenGL ES 2.0 zu Direct3D 11.1
- Portieren von DirectX 9 zur universellen Windows-Plattform
Wenn Sie ein neues DirectX-Spiel erstellen, sind die folgenden Themen hilfreich.
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