Получи случайную криптовалюту за регистрацию!

​Screen Space Shadows Ещё один способ посчитать тени. Как пон | VG

Screen Space Shadows

Ещё один способ посчитать тени. Как понятно по названию, используется только информация, которая есть в скрин спейсе.

Как это работает? Для каждого пикселя (для которого хотим посчитать screen space shadows) трейсится луч от этого пикселя к источнику света. Если в какой-то момент глубина луча "перекрывается" глубиной в depth buffer'е, то считаем, что луч от источника света не дошел до нашей точки, поэтому она в тени.
Можно твикать разные параметры типа длины луча, примерной глубины поверхности и прочего.

Зачем вообще нужен этот способ, когда есть классические шадоу мапы? Screen space shadows добавляют детали. Особенно заметно на лицах персонажей. Конечно, можно увеличить разрешение шадоу мапы в 10 раз и получить более детализированную картинку, но это будет работать в разы медленнее.

И да, забыл сказать, что screen space shadows обычно используются вместе с шадоу мапами, а не сами по себе.

На скриншоте отрендеренный кролик с использованием только скрин спейс теней.

Очень простая и понятная статья по screen space shadows.
Имплементация в CryEngine 5.6.