Freigeben über


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.

Shadermodelle und Shaderprofile