Freigeben über


Shadermodell 4

Shadermodell 4 ist eine Obermenge der Funktionen in Shadermodell 3, außer dass Shadermodell 4 die Features in Shadermodell 1 nicht unterstützt. Es wurde mit einem allgemeinen Shaderkern entwickelt, der allen programmierbaren Shadern einen allgemeinen Satz von Features bietet, die nur mit HLSL programmierbar sind.

Merkmal Fähigkeit
Befehlssatz HLSL-Funktionen
Registersatz Der Registersatz kann über Member in Konstanten- und Texturpuffern mithilfe der HLSL-Semantik für Komponentenverpackungen zugegriffen werden.
Vertex-Shader Max 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 unter Direct3D 10.1 oder höher unterstützt.

Shadermodell 4 unterstützt eine neue Pipelinephase – die Geometrie-Shader-Phase – die zum Erstellen oder Ändern vorhandener Geometrien verwendet werden kann. Es enthält auch zwei neue Objekttypen: ein Streamausgabeobjekt, das für das Streamen von Daten aus der Geometriestufe entwickelt wurde, und ein vorlagenbasiertes Texturobjekt, das Textursamplingfunktionen implementiert.

Shadermodell 4 unterstützt Packregeln, die festlegen, wie eng Daten beim Speichern angeordnet werden können. Diese Regeln werden in Packregeln für Konstantenvariablen

Im Abschnitt Shadermodell 4-Assembly werden die Assemblyanweisungen beschrieben, die vom Shadermodell 4 und vom Shadermodell 4.1 unterstützt werden.

Shadermodelle und Shaderprofile