If pred — vs

Начало if pred - vs... else - vs... endif — vs block с условием, взятым из содержимого регистра предиката.

Синтаксис

if [!] pred.replicateSwizzle

 

Где:

  • [!] необязательный модификатор NOT. Это изменяет значение в регистре предиката.
  • pred — это регистр предиката, p0. См. раздел Реестр предиката.
  • replicateSwizzle — это один компонент, который копируется (или реплицируется) во все четыре компонента (swizzled). Допустимые компоненты: x, y, z, w или r, g, b, a.

Комментарии

Версии вершинного шейдера 1_1 2_0 2_x 2_sw 3_0 3_sw
Если задано значение pred x x x x

 

Эта инструкция используется для пропуска блока кода на основе канала регистра предиката. Каждый блок if_pred должен заканчиваться инструкцией else или endif.

К ним относятся указанные ниже ограничения.

if_pred блоки могут быть вложенными. Это учитывается до общей динамической глубины вложения вместе с if_comp блоков.

Блок if_pred не может находиться в блоке цикла, он должен быть либо полностью внутри него, либо окружать его.

Инструкции по шейдеру вершин