Поделиться через


if pred — ps

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

Синтаксис

if [!] pred.replicateSwizzle

 

Где:

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

Комментарии

Версии шейдера пикселей 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
if_pred x x x x

 

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

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

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

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

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