Freigeben über


D3D10_SHADER Konstanten

HLSL-Kompilierungsoptionen.

#define Beschreibung
D3D10_SHADER_AVOID_FLOW_CONTROL Den Compiler anweisen, die Ablaufsteuerung (sofern möglich) nicht zuzulassen.
D3D10_SHADER_DEBUG Fügen Sie Debugdatei/Zeile/Typ/Symbolinformationen ein.
D3D10_SHADER_ENABLE_STRICTNESS Standardmäßig deaktiviert der HLSL-Compiler die Strenge bei veralteter Syntax. Wenn Sie dieses Kennzeichen angeben, wird die Strenge aktiviert, die möglicherweise keine Legacysyntax zulassen.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY Dadurch können ältere Shader zu 4_0-Zielen kompiliert werden.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Kompilieren Sie einen Vertex-Shader für das nächste höchste Shaderprofil. Mit dieser Option wird das Debuggen aktiviert (und Optimierungen deaktiviert).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Kompilieren sie einen Pixelshader für das nächste höchste Shaderprofil. Mit dieser Option wird das Debuggen aktiviert (und Optimierungen deaktiviert).
D3D10_SHADER_IEEE_STRICTNESS Aktiviert IEEE-Strenge.
D3D10_SHADER_NO_PRESHADER Deaktiviert Preshaders. Die Verwendung dieses Flags führt dazu, dass der Compiler keinen statischen Ausdruck für die Auswertung herauszieht.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Niedrigste Optimierungsstufe. Kann langsameren Code erzeugen, dies wird jedoch schneller erfolgen. Dies kann bei einem stark iterativen Shaderentwicklungszyklus hilfreich sein.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Zweitniedrigste Optimierungsstufe.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Zweithöchste Optimierungsstufe.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Höchste Optimierungsstufe. Wird bestmöglichen Code erzeugen, kann jedoch erheblich länger dauern. Dies ist nützlich für endgültige Builds einer Anwendung, bei der die Leistung der wichtigste Faktor ist.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR Sofern nicht explizit angegeben, werden Matrizen in Zeilen-Hauptreihenfolgen auf Eingabe und Ausgabe des Shaders gepackt.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR Sofern nicht explizit angegeben, werden Matrizen in Spalten-Hauptreihenfolge für Eingaben und Ausgaben des Shaders verpackt. Dies ist im Allgemeinen effizienter, da die Vektormatrix-Multiplikation mithilfe einer Reihe von Punktprodukten durchgeführt werden kann.
D3D10_SHADER_PARTIAL_PRECISION Erzwingen Sie, dass alle Berechnungen mit teilweiser Genauigkeit durchgeführt werden; Dies kann bei einigen Hardwaren schneller ausgeführt werden.
D3D10_SHADER_PREFER_FLOW_CONTROL Erweisen Sie den Compiler, die Flusssteuerung (sofern möglich) zu verwenden.
D3D10_SHADER_SKIP_OPTIMIZATION Optimierung während der Codegenerierung überspringen; wird im Allgemeinen nur für das Debuggen empfohlen.
D3D10_SHADER_SKIP_VALIDATION Überprüfen Sie den generierten Code nicht anhand bekannter Funktionen und Einschränkungen. Verwenden Sie dies nur mit Shadern, die in der Vergangenheit erfolgreich kompiliert wurden. Shader werden immer von DirectX überprüft, bevor sie auf das Gerät festgelegt werden.
D3D10_SHADER_WARNINGS_ARE_ERRORS Informieren Sie den HLSL-Compiler, alle Warnungen beim Kompilieren des Shadercodes als Fehler zu behandeln. Für neuen Shadercode sollten Sie diese Option verwenden, damit Sie alle Warnungen beheben und möglichst wenige schwer zu findende Codefehler sicherstellen können.

 

Diese Konstanten werden in d3d10shader.h als Makros definiert.

Shaderkonstanten