Freigeben über


Shadercodeformat

Ein Befehl zum Erstellen eines Pixel- oder Vertex-Shaders besteht aus einer Gruppe von Shadercodes. Diese Codes weisen den Treiber an, wie der Shader erstellt wird. Das Format der Token in jedem Shadercode bestimmt dessen Eindeutigkeit. Ein Shadercodetoken ist ein DWORD mit einem bestimmten Format.

Die DirectX3D-Runtime überprüft Shadercode, bevor der Code an einen Treiber übergeben wird. Wenn Shadercode beim Treiber eintrifft, kann der Treiber den Code interpretieren, da das Format des Codes gültig ist. Der Treiber liest die Token des Shadercodes, um den Code zu interpretieren.

Jeder einzelne Shadercode ist mit einem allgemeinen Tokenlayout formatiert. Das erste Token muss ein Versionstoken sein. Das Versionstoken stellt die Versionsnummer des Codes bereit und bestimmt auch, ob der Code für einen Pixel- oder Vertex-Shader gilt. Shaderinhalte folgen dem Versionstoken und bestehen aus verschiedenen Anweisungstoken, die möglicherweise mit Kommentartoken und Leerzeichen vermischt sind. Abhängig vom genauen Vorgang, den ein Anweisungstoken angibt, können Bezeichnungs-, Zielparameter- und Quellparametertoken auch Teil des Shaderinhalts sein und einem Anweisungstoken folgen. Wenn das Befehlstoken beispielsweise eine ADD-Anweisung angibt, bestimmt der Treiber, dass ein Ziel- und zwei Quellparametertoken dem Anweisungstoken folgen. Ein Endtoken schließt den Shadercode ab.

Setupanweisungen (z. B. D3DSIO_DCL und D3DSIO_DEF) enthalten eindeutig formatierte Token.

Jede Shaderanweisung enthält ein bestimmtes Tokenformat. Im Abschnitt Shader-Vorgangscodes wird das Tokenformat jeder Shaderanweisung beschrieben.

Shaderanweisungen beginnen mit der primären Anweisung und enden mit einer D3DSIO_RET- oder D3DSIO_END-Anweisung. Unterroutinen folgen der D3DSIO_RET-Anweisung.

Weitere Informationen zu Vorgängen, die in Anweisungstoken angegeben werden können, finden Sie unter Pixel Shader Reference und Vertex Shader Reference in der neuesten DirectX SDK-Dokumentation.

Anforderungen

Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.