if bool – ps

Beginn eines if-Blocks.

Syntax

if bool

 

Hierbei gilt:

Bemerkungen

Pixelshaderversionen 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
if bool x x x x

 

Wenn das boolesche Quellregister in der if-Anweisung true ist, wird der Code ausgeführt, der von der if-Anweisung und dem übereinstimmenden endif - ps oder else - ps eingeschlossen wird. Andernfalls wird der Von else eingeschlossene Code - ps... endif - ps-Anweisungen werden ausgeführt. Diese Anweisung belegt einen Anweisungsslot.

Ein if-Block kann geschachtelt werden.

Ein if-Block kann einen Schleifenblock nicht überspannen.

Auf einen if-Block kann ein Anweisungsblock und/oder eine else -ps-Anweisung und/oder eine endif -ps-Anweisung folgen.

Beispiel

Diese Anweisung bietet eine bedingte statische Flusssteuerung.

defb b3, true

if b3
// Instructions to run if b3 is nonzero
else
// Instructions to run otherwise
endif

Pixelshaderanweisungen

else – ps

endif – ps