phase – ps
Die Phasenanweisung markiert den Übergang zwischen Phase 1 und Phase 2. Wenn keine Phasenanweisung vorhanden ist, wird der gesamte Shader so ausgeführt, als ob es sich um einen Phase-2-Shader handelt.
Diese Anweisung gilt nur für Version 1_4.
Syntax
phase
Bemerkungen
Pixelshaderversionen | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
phase | x |
Shaderanweisungen, die vor der Phasenanweisung auftreten, sind Anweisungen der Phase 1. Alle anderen Anweisungen sind Anweisungen der Phase 2. Durch zwei Phasen für Anweisungen wird die maximale Anzahl von Anweisungen pro Shader erhöht.
Der unglückliche Nebeneffekt des Phasenübergangs besteht darin, dass die Alphakomponente temporärer Register nicht über den Übergang hinweg beibehalten wird. Anders ausgedrückt: Die Alphakomponente muss nach der Phasenanweisung neu initialisiert werden.
Beispiel
In diesem Beispiel wird gezeigt, wie Anweisungen in einem Shader als Phasen-1- oder Phase-2-Anweisungen gruppiert werden.
Die Phasenanweisung wird auch als Phasenmarker bezeichnet, da sie den Übergang zwischen Phase 1- und 2-Anweisungen markiert. Wenn der Phasenmarker in einem Pixelshader der Version 1_4 nicht vorhanden ist, wird der Shader so ausgeführt, als ob er in Phase 2 ausgeführt wird. Dies ist wichtig, da es Unterschiede zwischen Anweisungen in Phase 1 und 2 und der Registrierung der Verfügbarkeit gibt. Die Unterschiede werden im gesamten Referenzabschnitt festgestellt.
ps_1_4
// Add phase 1 instructions here
phase
// Add phase 2 instructions here
Zugehörige Themen