Programmierhandbuch für HLSL

Daten werden als Datenstrom primitiver Typen in die Grafikpipeline übertragen und von den Shaderstufen verarbeitet. Die tatsächlichen Shaderstufen hängen von der Version von Direct3D ab, enthalten jedoch sicherlich die Scheitelpunkt-, Pixel- und Geometriestufen. Weitere Phasen sind die Hülle und Domänen-Shader für das Mosaik sowie der Compute-Shader. Diese Phasen sind mithilfe der High Level Shading Language(HLSL) vollständig programmierbar.

HLSL-Shader können zur Erstellungszeit oder zur Laufzeit kompiliert und zur Laufzeit in die entsprechende Pipelinephase festgelegt werden. Direct3D 9-Shader können mit Shadermodell 1, Shadermodell 2 und Shadermodell 3 entworfen werden. Direct3D 10-Shader können nur auf Shadermodell 4 entworfen werden. Direct3D 11-Shader können auf Shadermodell 5 entworfen werden. Direct3D 11.3 und Direct3D 12 können auf Shadermodell 5.1und Direct3D 12 auch auf Shadermodell 6entworfen werden.

In diesem Abschnitt

Thema Beschreibung
Verwenden der Shaderverknüpfung Wir zeigen, wie Sie vorkompilierte HLSL-Funktionen erstellen, diese in Bibliotheken packen und zur Laufzeit mit vollständigen Shadern verknüpfen.
Schreiben von HLSL-Shadern in Direct3D 9
Verwenden von Shadern in Direct3D 9
Verwenden von Shadern in Direct3D 10
Optimieren von HLSL-Shadern
Debuggen von Shadern in Visual Studio Das neueste Tool zum Debuggen von Shadern ist jetzt als Feature in Microsoft Visual Studio, das als Visual Studio-Debugger bezeichnet wird.
Kompilieren von Shadern Sehen wir uns nun verschiedene Möglichkeiten zum Kompilieren Ihres Shadercodes und konventionen für Dateierweiterungen für Shadercode an.
Angeben von Compilerzielen Hier werden die Ziele für verschiedene Profile aufgeführt, die von den * D3DCompile-Funktionen und dem HLSL-Compiler unterstützt werden.
Entpacken und Packen des _ DXGI-FORMATS für In-Place Bildbearbeitung
Verwenden der minimalen Genauigkeit von HLSL Ab Windows 8 können Grafiktreiber HLSL-Skalardatentypen mit minimaler Genauigkeit implementieren, indem sie eine genauigkeit verwenden, die größer oder gleich der angegebenen Bitgenauigkeit ist.
HLSL-Shadermodell 5
HLSL-Shadermodell 5.1 In diesem Abschnitt werden die Features des Shadermodells 5.1 beschrieben, die in der Praxis für D3D12 und D3D11.3 gelten. Alle DirectX 12-Hardware unterstützt ShaderModell 5.1.
HLSL Shader Model 6.0 Beschreibt die systeminternen Wellenvorgang-Funktion, die hlsl-Shadermodell 6.0 hinzugefügt wurde.
HLSL-Shadermodell 6.4 Beschreibt die systeminternen Machine Learning-Eigenschaften, die dem HLSL-Shadermodell 6.4 hinzugefügt wurden.