HLSL-Compilereigenschaftenseiten
Sie können den HLSL-Compiler-Eigenschaftenseiten („fxc.exe“) verwenden, um zu konfigurieren, wie die einzelnen HLSL-Shaderdateien erstellt werden. Sie können auch Befehlszeilenargumente für den HLSL-Compiler angeben, indem Sie die Eigenschaft "Zusätzliche Optionen " der Befehlszeileneigenschaft verwenden. Dies schließt Argumente ein, die nicht mithilfe anderer Eigenschaften der HLSL-Eigenschaftenseiten konfiguriert werden können. Informationen über den HLSL-Compiler finden Sie unter Effect-Compiler Tool.
Allgemeine HLSL-Eigenschaftsseite
Zusätzliche Includeverzeichnisse
Gibt mindestens ein Verzeichnis an, das dem include-Pfad hinzugefügt werden soll. Verwenden Sie Semikolons als Trennzeichen, wenn mehrere Verzeichnisse vorhanden sind. (/I[Pfad])
Einstiegspunktname
Gibt den Namen des Einstiegspunkts für den Shader an (/E[Name])
Optimierungen deaktivieren
Ja (/Od) deaktiviert Optimierungen, andernfalls Nein. Für die Debugkonfigurationen ist standardmäßig Ja (/Od) und für die Releasekonfigurationen ist Nein festgelegt.
Das Befehlszeilenargument /Od für den HLSL-Compiler gilt implizit für das Befehlszeilenargument /Gfp, jedoch ist die Ausgabe möglicherweise nicht mit der Ausgabe identisch, die durch Übergeben beider Befehlszeilenargumente (/Od und /Gfp) explizit erstellt wird.
Debuginformationen aktivieren
Ja (/Zi) aktiviert Debuginformationen, andernfalls Nein. Für die Debugkonfigurationen ist standardmäßig Ja (/Zi) und für die Releasekonfigurationen ist Nein festgelegt.
Shadertyp
Gibt die Art des Shaders an. Verschiedene Arten von Shadern implementieren verschiedene Teile der Grafikpipeline. Bestimmte Arten von Shadern sind nur in neueren Shadermodellen verfügbar (die durch die Eigenschaft Shadermodell angegeben werden), z.B. wurden Compute-Shader mit Shadermodell 5 eingeführt.
Diese Eigenschaft entspricht dem Teil [Type] des Befehlszeilenarguments /T [type]_[model] für den HLSL-Compiler. Die Eigenschaft Shadermodell gibt den Teil [model] des Arguments an.
Optionen
- Auswirkung
- Vertex-Shader
- Pixel-Shader
- Geometrie-Shader
- Hull-Shader
- Domänen-Shader
- Compute-Shader
- Bibliothek
- Generieren des Stammsignaturobjekts
Shadermodell
Gibt das Shadermodell an. Verschiedene Shadermodelle verfügen über unterschiedliche Funktionen. Im Allgemeinen bieten neuere Shadermodelle erweiterte Funktionen, erfordern jedoch modernere Grafikhardware zum Ausführen des Shadercodes. Bestimmte Arten von Shadern (die durch die Eigenschaft Shadertyp angegeben werden) sind nur in aktuelleren Shadermodellen verfügbar, z.B. wurden Compute-Shader mit Shadermodell 5 eingeführt.
Diese Eigenschaft entspricht dem Teil [model] des Befehlszeilenarguments /T [type]_[model] für den HLSL-Compiler. Die Eigenschaft Shadertyp gibt den Teil [type] des Arguments an.
Alle Ressourcen gebunden
Compiler geht davon aus, dass alle Ressourcen, auf die ein Shader verweisen kann, gebunden sind und für die Dauer der Shaderausführung (/all_resources_bound) in gutem Zustand sind. Verfügbar für Shadermodell 5.1 und höher.
Ungebundene Deskriptortabellen aktivieren
Informieren Sie den Compiler, dass ein Shader möglicherweise eine Deklaration eines Ressourcenarrays mit einem ungebundenen Bereich (/enable_unbounded_descriptor_tables) enthalten kann. Verfügbar für Shadermodell 5.1 und höher.
Stammsignatur festlegen
Stammsignatur an Shader-Bytecode anfügen (/setrootsignature). Verfügbar für Shadermodell 5.0 und höher.
Präprozessordefinitionen
Fügt mindestens eine Präprozessorsymboldefinition hinzu, die auf die HLSL-Quellcodedatei angewendet wird. Verwenden Sie Semikolons, um die Symboldefinitionen zu trennen.
Diese Eigenschaft entspricht dem Befehlszeilenargument /D [definitions] für den HLSL-Compiler.
Kompilieren eines benutzerdefinierten Direct2D-Pixelshadereffekts
Kompiliert einen benutzerdefinierten Direct2D-Effekt mit Pixelshadern. Verwenden Sie diese Option nicht für einen benutzerdefinierten Vertex- oder Computeeffekt.
Multiprozessorkompilierung
Führen Sie mehrere Instanzen gleichzeitig aus.
Eigenschaftenseite „Erweitert“
Startbanner unterdrücken
Unterdrückt die Anzeige des Startbanners und der Informationsmeldung. (/nologo)
Warnungen als Fehler behandeln
Behandelt alle Compilerwarnungen als Fehler. Bei einem neuen Projekt kann es empfehlenswert sein, /WX in allen Kompilierungen zu verwenden. Das Beheben aller Warnungen stellt sicher, dass die geringstmögliche Anzahl schwer zu findender Codefehler vorhanden ist.
Ausgabedateien-Eigenschaftsseite
Header-Variablenname
Gibt einen Namen für den Variablennamen in der Headerdatei an (/Vn [Name])
Headerdateiname
Gibt einen Namen für die Headerdatei mit Objektcode an. (/Fh [Name])
Name der Objektdatei
Gibt einen Namen für die Objektdatei an. (/Fo [Name])
Assemblyausgabe
Gibt die Inhalte der Ausgabedatei für die Assemblysprache an. (/Fc, /Fx)
Optionen
- No Listing - No listing - No listing.
- Nur Assemblyauflistung – Assemblycodedatei
- Assemblycode und Hex – Assemblycode und Hex-Eintragsdatei
Assembler-Ausgabedatei
Gibt den Dateinamen für assemblycodeauflistungsdatei an.
Siehe auch
Windows C++-Projekteigenschaftenseitenverweis
Befehlszeileneigenschaftenseiten
Kompilieren von Shadern