На этой странице подробно рассказано про упреждающий (Forward) тип рендеринга.
Упреждающий рендеринг отрисовывает каждый объект в один или несколько проходов, в зависимости от количества и природы источников света, действующих на объект. Источники света сами по себе тоже рассматриваются упреждающим рендерингом по-разному, в зависимости от их настроек и интенсивности.
При упреждающем рендеринге, некоторое количество самых ярких источников света, влияющих на каждый объект, рендерится в режиме полной попиксельной подсветки. Далее до 4 точечных источников света рассчитываются повертексно. Остальные источники света рассчитываются по сферическим гармоникам (Spherical Harmonics, SH), которые значительно быстрее, но выдают усреднённый результат. Будет ли источник света считаться попиксельно или нет, зависит от этого:
Вот как происходит рендеринг каждого объекта
For example, if there is some object that’s affected by a number of lights (a circle in a picture below, affected by lights A to H):
Предположим, что источники света с A по H имеют одинаковый цвет и интенсивность, и у всех стоит Auto режим рендеринга (св-во Render Mode имеет значение Auto), чтобы для подсвечиваемого объекта все эти источники сортировались в порядке их расположения. Самые яркие источники света будут рендериться в попиксельном режиме (от A до D), далее не более 4 следующих источников - в повертексном режиме (от D до G), и, наконец, остальные - в SH режиме (от G до H):
Учтите, что группы источников света перекрывают друг друга. Например, последний попиксельный источник света переходит в повертексный режим освещения, поэтому будет меньше резких изменений освещения при перемещении объектов и источников света.
Базовый проход рендерит объект используя один попиксельный направленный источник света и все SH источники. Этот проход также добавляет любые карты освещения, освещение окружения и излучающее освещение от шейдера. Направленный свет, который рендерится в этом проходе, может иметь тени. Учтите, что объекты, к которым применены карты освещения, не получают освещение от SH источников освещения.
Note that when “OnlyDirectional” pass flag is used in the shader, then the forward base pass only renders main directional light, ambient/lightprobe and lightmaps (SH and vertex lights are not included into pass data).
Каждый действующий на объект попиксельный источник света приводит к рендерингу дополнительных проходов. Источники света в этих проходах не могут иметь теней (в итоге, упреждающий рендеринг поддерживает один направленный источник света с тенями).
Источники освещения на сферических гармониках рендерятся очень быстро. Они потребляют совсем немного CPU ресурсов и вообще не потребляют GPU ресурсов (то есть, в базовом проходе всегда рассчитывается SH освещение, но потребление ресурсов не зависит от количества SH источников света благодаря тому, как они работают).
Недостатки SH источников света:
Таким образом, SH источники обычно достаточно хороши для небольших динамических объектов.