Ветвь, основанная на проходе шейдера или стадии шейдера
Стадия компиляции шейдера
Препроцессорные макросы SHADER_STAGE_VERTEX, SHADER_STAGE_FRAGMENT, SHADER_STAGE_DOMAIN, SHADER_STAGE_HULL, SHADER_STAGE_GEOMETRY, SHADER_STAGE_COMPUTE определяются при компиляции каждой стадии Шейдера. Как правило, они полезны при совместном использовании кода Шейдера между пиксельными и вычислительными Шейдера, чтобы обрабатывать случаи, когда некоторые вещи должны быть сделаны немного по-другому.
Проход поверхностного шейдера
Когда Shaders поверхности компилируются, они генерируют много кода для различных проходов, чтобы сделать освещение. При компиляции каждого прохода, один из следующих макросов определяется:
| Макро: | Использование: |
|---|---|
UNITY_PASS_FORWARDBASE |
Передний базовый проход рендеринга (основной направленный свет, lightmaps, SH). |
UNITY_PASS_FORWARDADD |
Дополнительный проход прямого рендеринга (один источник света на проход). |
UNITY_PASS_DEFERRED |
Отложенный проход затенения (рендеринг G-буфера). |
UNITY_PASS_SHADOWCASTER |
Заклинатель теней и глубина Текстура рендеринг проход рендеринга. |