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 Befehlszeileneigenschaftsseite verwenden. Dies schließt Argumente ein, die nicht mithilfe anderer Eigenschaften der HLSL-Eigenschaftenseiten konfiguriert werden können. Informationen zum HLSL-Compiler finden Sie unter Effect-Compiler Tool.

HLSL-Eigenschaftenseite "Allgemein"

Zusätzliche Includeverzeichnisse

Gibt ein oder mehrere Verzeichnisse an, die dem Include-Pfad hinzugefügt werden sollen. Trennen Sie Verzeichnisse durch Semikolons, wenn Sie mehrere hinzufügen. (/I[Pfad])

Einstiegspunktname

Gibt den Namen des Einstiegspunkts für den Shader an. (/E[Name])

Optimierungen deaktivieren

Ja (/Od), um Optimierungen zu deaktivieren. Andernfalls Nein. Für die Debugkonfigurationen ist standardmäßig Ja (/Od) und für die Releasekonfigurationen ist Nein festgelegt.

Das Befehlszeilenargument "/Od " auf den HLSL-Compiler wendet implizit das Befehlszeilenargument /Gfp an, die Ausgabe ist jedoch möglicherweise nicht identisch mit der Ausgabe, die durch explizites Übergeben der Befehlszeilenargumente /Od und /Gfp erzeugt wird.

Debuginformationen aktivieren

Ja (/Zi), um Debugginginformationen zu aktivieren. 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 Shadermodelleigenschaft angegeben werden). Beispielsweise wurden Compute-Shader in 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
  • Gittershader
  • Amplifikations-Shader
  • Generieren des Stammsignaturobjekts

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 Shadertypeigenschaft angegeben werden) sind nur in neueren Shadermodellen verfügbar. Beispielsweise wurden Compute-Shader in 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

Der Compiler geht davon aus, dass alle Ressourcen, auf die ein Shader verweisen kann, gebunden sind und sich für die Dauer der Shaderausführung (/all_resources_bound) in einem guten Zustand befinden. 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 ungebundenem Bereich (/enable_unbounded_descriptor_tables) enthält. 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 nicht für einen Scheitelpunkt oder berechnen Sie einen benutzerdefinierten Effekt.

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. Für ein neues Projekt ist es möglicherweise am besten, /WX in allen Kompilierungen zu verwenden. Durch das Auflösen aller Warnungen wird sichergestellt, dass nur wenige schwer zu findende Codefehler gefunden werden.

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 den Inhalt der Assemblysprachenausgabedatei an. (/Fc, /Fx)

Optionen

  • No Listing - No listing - No listing.
  • Assembly-Only Listing – Assemblycodedatei.
  • Assemblycode und Hex – Assemblycode und Hex-Eintragsdatei.

Assembler-Ausgabedatei

Gibt den Dateinamen für die Assemblycodeauflistungsdatei an.

Siehe auch

Windows C++-Projekteigenschaftenseitenverweis
Befehlszeileneigenschaftenseiten
Kompilieren von Shadern