if pred - ps

Start eines if bool - ps... else - ps... endif – ps-Block mit der Bedingung, die aus dem Inhalt des Prädikatregisters übernommen wird.

Syntax

wenn [ ! ] pred.replicateSwizzle

Hierbei gilt:

  • [!] ist ein optionaler NOT-Modifizierer. Dadurch wird der Wert im Prädikatregister verä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 ] .

Hinweise

Pixel-Shaderversionen 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-Anweisung enden: ps oder endif - ps.

Es gelten folgende Beschränkungen:

, _ wenn vordefinierte Blöcke geschachtelt werden können. Dies zählt zur gesamten dynamischen Schachtelungstiefe zusammen mit if _ comp-Blöcken.

Ein , wenn ein pred-Block einen Schleifenblock nicht umschließen kann. Er sollte sich entweder vollständig darin oder _ umschließen.

Anweisungen für Pixel-Shader