Freigeben über


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

Pixelshaderanweisungen