Shadermodell 4
Shadermodell 4 ist eine Obermenge der Funktionen in Shadermodell 3, mit der Ausnahme, dass Shadermodell 4 die Features in Shadermodell 1 nicht unterstützt. Es wurde mit einem Common-Shader-Kern entwickelt, der allen programmierbaren Shadern einen gemeinsamen Satz von Features bietet, die nur mit HLSL programmierbar sind.
Feature | Funktion |
---|---|
Instruktionssatz | HLSL-Funktionen |
Register Set | Auf den Registersatz kann über Member in Konstanten- und Texturpuffern mit HLSL-Semantik für Dinge wie das Packen von Komponenten zugegriffen werden.
|
Maximaler Vertex-Shader | Keine Einschränkung |
Pixelshader Max | Keine Einschränkung |
Neue Shaderprofile hinzugefügt | gs_4_0, ps_4_0, vs_4_0, gs_4_1*, ps_4_1*, gs_4_1* |
Neues Effect-Framework-Profil hinzugefügt | fx_4_0, fx_4_1* |
* – gs_4_1, ps_4_1, vs_4_1 und fx_4_1 werden in Direct3D 10.1 oder höher unterstützt.
Shadermodell 4 unterstützt eine neue Pipelinephase – die Geometry-Shader-Phase – die zum Erstellen oder Ändern vorhandener Geometrien verwendet werden kann. Außerdem enthält sie zwei neue Objekttypen: ein Streamausgabeobjekt, das zum Streamen von Daten aus der Geometriephase entwickelt wurde, und ein Texturobjekt mit Vorlagen, das Textursamplingfunktionen implementiert.
Das Shadermodell 4 unterstützt Packregeln, die festlegen, wie eng Daten beim Speichern angeordnet werden können. Diese Regeln werden unter Packregeln für konstante Variablen beschrieben.
Der Abschnitt Shader Model 4 Assembly beschreibt die Assemblyanweisungen, die das Shadermodell 4 und das Shadermodell 4.1 unterstützen.
Zugehörige Themen