if pred – vs
Start eines , wenn pred - vs... else – vs... endif – vs block, mit der Bedingung, die aus dem Inhalt des Prädikatregisters übernommen wird.
Syntax
| wenn [ ! ] pred.replicateSwizzle |
|---|
Hierbei gilt:
- [!] ein optionaler NOT-Modifizierer. Dadurch wird der Wert im Prädikatregister verändert.
- pred ist das Prädikatregister p0. Weitere Informationen finden Sie unter 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
| Vertex-Shaderversionen | 1_1 | 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 , _ wenn pred-Block mit einer else- oder endif-Anweisung enden muss.
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.
Wenn ein pred-Block einen Schleifenblock nicht umschließen kann, sollte er sich entweder vollständig darin oder _ umschließen.