Вариант шейдера (Shader variant)
Одна конкретная скомпилированная версия шейдера, полученная фиксацией определённой комбинации его ключевых слов и возможностей, задаваемых на этапе компиляции.
Шейдер с условными возможностями компилируется не в одну программу: инструментарий порождает по варианту на каждую нужную комбинацию включённых ключевых слов (тени вкл/выкл, туман вкл/выкл, инстансинг вкл/выкл). Каждый вариант — отдельная GPU-программа, которую драйвер может привязать.
Проблема в том, что они перемножаются: несколько независимых переключателей дают сотни и тысячи вариантов, и каждый увеличивает время сборки, размер на диске и память во время работы, а при первой компиляции или загрузке вызывает подлагивания. Движки борются с этим стриппингом вариантов (отбрасыванием комбинаций, которые не использует ни один материал), кэшами шейдеров и прогревом. Обычно взрыв порождает стиль «убер-шейдера».