Отображение теней для многих источников света - это медленно? - PullRequest
0 голосов
/ 26 декабря 2018

Я достиг точки, где я реализовал отложенный рендеринг и отображение теней для одного источника света.Я с нетерпением ждал добавления большего количества источников света, чтобы увидеть, как отложенный рендеринг улучшает производительность, но я понял, что на этот раз отображение теней в значительной степени разрушает его.

Ожидается ли это?Должен ли я использовать другой алгоритм тени при наличии большого количества источников света?

Я создаю карту куба с точки зрения каждого источника света.Затем при рендеринге фрагмента в шейдере с отложенным рендерингом я учитываю, сколько каждый источник света вносит в этот фрагмент, то есть, какой источник света может видеть фрагмент.Таким образом, это просто нормальная проверка того, находится ли фрагмент в тени источника света.

1 Ответ

0 голосов
/ 26 декабря 2018

Вообще говоря, тени плохо масштабируются в зависимости от количества источников света.Можно допустить один или два источника света, отбрасывающего тень, но более того, это сильно ухудшит вашу производительность.Это справедливо практически для любого механизма освещения общего назначения (за исключением , возможно, теней на основе трассировки лучей).

Отложенный рендеринг не меняет в этом математику.Вы по-прежнему должны визуализировать сцену с точки зрения каждого затененного источника света, и ваши проходы освещения по-прежнему должны извлекаться из этих текстур для затенения.

Типичным решением является ограничение количества отбрасывания теней.источники света для основного источника света и может быть дополнительный источник света.Все остальное не отбрасывает тени.

...