Visual Studio-Tools für die Spieleprogrammierung
Zusammenfassung
- Erstellen eines DirectX-Spieleprojekts aus einer Vorlage
- Visual Studio-Tools für die Programmierung von DirectX-Spielen
Wenn Sie Visual Studio Ultimate zum Entwickeln von DirectX-Apps verwenden, können Sie zusätzliche Tools zum Erstellen, Bearbeiten, Anzeigen in der Vorschau und Exportieren von Bild-, Modell- und Shaderressourcen nutzen. Außerdem sind Tools verfügbar, mit denen Sie Ressourcen zur Erstellungszeit konvertieren und DirectX-Grafikcode debuggen können.
Dieses Thema enthält eine Übersicht über diese Grafiktools.
Bildbearbeitung
Nutzen Sie den Grafik-Editor zum Arbeiten mit den Arten von umfassenden Textur- und Bildformaten, die von DirectX verwendet werden. Der Grafik-Editor unterstützt die folgenden Formate:
- .png
- .jpg, .jpeg, .jpe, .jfif
- .dds
- .gif
- BMP
- DIB
- .tif, .tiff
- .tga
Erstellen Sie Buildanpassungsdateien, um diese Formate zur Buildzeit in DDS-Dateien zu konvertieren.
Weitere Informationen finden Sie unter Arbeiten mit Texturen und Bildern.
Hinweis Der Bild-Editor ist nicht als Ersatz für eine Vollständige Feature-Bildbearbeitungs-App gedacht, sondern eignet sich für viele einfache Anzeige- und Bearbeitungsszenarien.
Modell-Editor
Sie können den Modell-Editor verwenden, um grundlegende 3D-Modelle ganz neu zu erstellen oder um komplexere 3D-Modelle aus umfassenden 3D-Modelliertools anzuzeigen oder zu ändern. Der Modell-Editor unterstützt mehrere 3D-Modellformate, die bei der Entwicklung von DirectX-Apps verwendet werden. Sie können Buildanpassungsdateien erstellen, um diese Formate zur Buildzeit in CMO-Dateien zu konvertieren.
- FBX
- DAE
- OBJ
Dies ist ein Screenshot eines Modells im Editor, auf das Beleuchtungsfunktionen angewendet wurden.
Weitere Informationen finden Sie unter Arbeiten mit 3D-Modellen.
Hinweis Der Modell-Editor ist nicht als Ersatz für eine App zum Bearbeiten eines vollständigen Featuremodells vorgesehen, sondern eignet sich für viele einfache Anzeige- und Bearbeitungsszenarien.
Shader-Designer
Verwenden Sie den Shader-Designer zum Erstellen benutzerdefinierter visueller Effekte für das Spiel oder die App, auch wenn Sie nicht mit der HLSL-Programmierung vertraut sind.
Sie erstellen einen Shader visuell als Diagramm. Jeder Knoten zeigt eine Vorschau der Ausgabe bis zum jeweiligen Vorgang an. Im nächsten Beispiel wird Lambert-Beleuchtung mit einer Kugelvorschau angewendet.
Verwenden Sie den Shader-Editor, um Shader im DGSL-Format zu entwerfen, zu bearbeiten und zu speichern. Außerdem können die folgenden Formate exportiert werden:
- HLSL (Quellcode)
- CSO (Bytecode)
- H (HLSL-Bytecode-Array)
Erstellen Sie Buildanpassungsdateien, um diese Formate zur Buildzeit in CSO-Dateien zu konvertieren.
Unten ist ein Abschnitt eines HLSL-Codes angegeben, der vom Shader-Editor exportiert wurde. Dies ist nur der Code für den Lambert-Beleuchtungsknoten.
//
// Lambert lighting function
//
float3 LambertLighting(
float3 lightNormal,
float3 surfaceNormal,
float3 materialAmbient,
float3 lightAmbient,
float3 lightColor,
float3 pixelColor
)
{
// Compute the amount of contribution per light.
float diffuseAmount = saturate(dot(lightNormal, surfaceNormal));
float3 diffuse = diffuseAmount * lightColor * pixelColor;
// Combine ambient with diffuse.
return saturate((materialAmbient * lightAmbient) + diffuse);
}
Weitere Informationen finden Sie unter Arbeiten mit Shadern.
Buildanpassungen für 3D-Objekte
Sie können dem Projekt Buildanpassungen hinzufügen, sodass Ressourcen von Visual Studio in nutzbare Formate konvertiert werden. Danach können Sie die Ressourcen in die App laden und sie verwenden. Dazu erstellen und füllen Sie DirectX-Ressourcen so, wie Sie es in jeder anderen DirectX-App tun würden.
Um eine Buildanpassung hinzuzufügen, klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer, und wählen Sie Build Customizations... aus. Sie können Ihrem Projekt die folgenden Typen von Buildanpassungen hinzufügen.
- Von der Bildinhaltpipeline werden Bilddateien als Eingaben verwendet und DirectDraw Surface-Dateien (.dds) ausgegeben.
- Von der Gitterinhaltpipeline werden Gitterdateien (z. B. FBX) als Eingabe verwendet und CMO-Gitterdateien ausgegeben.
- Von der Shaderinhaltpipeline werden visuelle Shaderdiagramme (.dgsl) aus dem Shader-Editor von Visual Studio verwendet und kompilierte Shaderausgabedateien (.cso) ausgegeben.
Weitere Informationen finden Sie unter Verwenden von 3D-Objekten im Spiel oder in der App.
Debuggen von DirectX-Grafiken
Visual Studio enthält grafikspezifische Debugtools. Verwenden Sie diese Tools zum Debuggen der folgenden Komponenten:
- Grafikpipeline
- Ereignisaufrufliste
- Objekttabelle
- Gerätestatus
- Shaderfehler
- Nicht initialisierte oder fehlerhafte Konstantenpuffer und Parameter
- DirectX-Versionskompatibilität
- Begrenzte Direct2D-Unterstützung
- Betriebssystem- und SDK-Anforderungen
Weitere Informationen finden Sie unter Debuggen von DirectX-Grafiken.
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