Freigeben über


if pred – ps

Beginn eines if bool - ps... else - ps... endif - ps block, mit der Bedingung aus dem Inhalt des Prädikatregisters.

Syntax

wenn [!] pred.replicateSwizzle

 

Hierbei gilt:

  • [!] ist ein optionaler NOT-Modifizierer. Dadurch wird der Wert im Prädikatregister geändert.
  • pred ist das Prädikatregister.
  • replicateSwizzle ist eine einzelne Komponente, die in alle vier Komponenten kopiert (oder repliziert) wird (swizzled). Gültige Komponenten sind: [x, y, z, w] oder [r, g, b, a].

Bemerkungen

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

 

Diese Anweisung wird verwendet, um einen Codeblock basierend auf einem Kanal des Prädikatregisters zu überspringen. Jeder if_pred Block muss mit einer else -ps- oder endif -ps-Anweisung enden .

Es gelten folgende Beschränkungen:

if_pred Blöcke können geschachtelt werden. Dies zählt zusammen mit if_comp Blöcken zur gesamt dynamischen Schachtelungstiefe.

Ein if_pred-Block kann einen Schleifenblock nicht überspannen. es sollte sich entweder vollständig darin befinden oder ihn umschließen.

Pixelshaderanweisungen