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


phase — ps

Инструкция этапа отмечает переход между этапом 1 и этапом 2. Если фазовая инструкция отсутствует, весь шейдер выполняется так, как если бы это шейдер этапа 2.

Эта инструкция применяется только к версии 1_4.

Синтаксис

phase

Remarks

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

 

Инструкции шейдера, которые происходят до инструкции этапа, являются инструкциями этапа 1. Все остальные инструкции являются инструкциями этапа 2. Благодаря двум этапам инструкций максимальное число инструкций на шейдер увеличивается.

К сожалению, побочным эффектом фазового перехода является то, что альфа-компонент временных регистров не сохраняется на протяжении всего перехода. Другими словами, альфа-компонент должен быть повторно инициализирован после инструкции этапа.

Пример

В этом примере показано, как сгруппировать инструкции этапа 1 или 2 в шейдере.

Фазовую инструкцию также часто называют маркером фазы, так как она помечает переход между инструкциями этапа 1 и 2. В пиксельном шейдере версии 1_4, если маркер фазы отсутствует, шейдер запускается так, как если бы он выполнялся на этапе 2. Это важно, так как существуют различия между инструкциями этапа 1 и 2 и регистрацией доступности. Различия отмечены в справочном разделе.

ps_1_4
  // Add phase 1 instructions here

phase
  // Add phase 2 instructions here

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