Оптимизация шейдеров поверхности
Шейдеры поверхностей обычно отлично подходят для написания шейдеров, которые взаимодействуют с освещением. Однако, их параметры по умолчанию настроены так, чтобы охватить широкий спектр общих случаев. Настройте их для конкретных ситуаций, чтобы сделать шейдеры работать быстрее или, по крайней мере, меньше:
- Функция
halfasviewдля шейдеров типа Specular работает ещё быстрее. Полувектор (вектор, расположенный посередине между направлением освещения и вектором обзора) вычисляется и нормализуется для каждой вершины, а функция освещения получает полувектор как параметр вместо вектора обзора. noforwardaddделает шейдер полностью поддерживающим однонаправленный свет только в рендеринге Forward. Остальные огни могут иметь эффект как первертексные огни или сферические гармоники. Это отлично для того, чтобы сделать ваш шейдер меньше и убедиться, что он всегда рендеринг в одном проходе, даже с множеством огней присутствует.noambientотключает окружающее освещение и сферические гармонические огни на шейдере. Это может немного ускорить производительность.