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
Связанные темы