D3D10_SHADER Konstanten

HLSL-Kompilierungsoptionen.

#define BESCHREIBUNG
D3D10_SHADER_AVOID_FLOW_CONTROL Weisen Sie den Compiler an, die Flusssteuerung (sofern möglich) nicht zuzulassen.
D3D10_SHADER_DEBUG Fügen Sie Debugdatei-/Zeilen-/Typ-/Symbolinformationen ein.
D3D10_SHADER_ENABLE_STRICTNESS Standardmäßig deaktiviert der HLSL-Compiler die Strenge bei veralteter Syntax. Wenn Sie dieses Flag angeben, wird eine Strenge aktiviert, die möglicherweise keine Legacysyntax zulässt.
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ächsthöhere 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ächsthöhere Shaderprofil. Mit dieser Option wird das Debuggen aktiviert (und optimierungen deaktiviert).
D3D10_SHADER_IEEE_STRICTNESS Aktiviert IEEE-Strenge.
D3D10_SHADER_NO_PRESHADER Deaktiviert Preshader. Die Verwendung dieses Flags führt dazu, dass der Compiler keinen statischen Ausdruck zur Auswertung abruft.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Niedrigste Optimierungsstufe. Kann langsameren Code erzeugen, wird dies jedoch schneller tun. Dies kann in einem stark iterativen Shaderentwicklungszyklus nützlich sein.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Zweitniedrigste Optimierungsstufe.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Zweithöchste Optimierungsstufe.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Höchste Optimierungsstufe. Erzeugt den bestmöglichen Code, kann aber deutlich 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 bei der Eingabe und Ausgabe des Shaders in Zeilen-Hauptreihenfolge gepackt.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR Sofern nicht explizit angegeben, werden Matrizen bei der Eingabe und Ausgabe des Shaders in Spalten-Hauptreihenfolge gepackt. Dies ist im Allgemeinen effizienter, da es die Vektormatrix-Multiplikation mit einer Reihe von Punktprodukten ermöglicht.
D3D10_SHADER_PARTIAL_PRECISION Erzwingen, dass alle Berechnungen mit teilgenauer Genauigkeit durchgeführt werden; Dies kann auf einiger Hardware schneller ausgeführt werden.
D3D10_SHADER_PREFER_FLOW_CONTROL Weisen Sie den Compiler an, die Flusssteuerung zu verwenden (sofern möglich).
D3D10_SHADER_SKIP_OPTIMIZATION Überspringen der Optimierung während der Codegenerierung; wird in der Regel 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 sicherstellen können, dass möglichst wenig Codefehler gefunden werden können.

 

Diese Konstanten werden in d3d10shader.h als Makros definiert.

Shaderkonstanten