Я знаю, как работает отображение теней, но я не понимаю причину появления прыщей! Может кто-нибудь сказать мне простой причиной появления прыщей в тени и как это связано с разрешением карты глубины?
Я знаю, как работает отображение теней, но я не понимаю причину появления прыщей! Может кто-нибудь сказать мне простой причиной появления прыщей в тени и как это связано с разрешением карты глубины?
Ответы:
Изображение 1 : плохой случай теневых угрей. (Синтетический и немного преувеличенный)
Теневые прыщи вызваны дискретной природой карты теней. Карта теней состоит из образцов, поверхность непрерывная. Таким образом, на поверхности может быть место, где дискретная поверхность находится дальше, чем образец. Проблема сохраняется, даже если вы работаете с несколькими выборками, но вы можете делать выборки более умными способами, которые могут почти устранить это при значительных затратах.
Изображение 2: боковой разрез функции тени и ее дискретные образцы.
Канонический способ решить эту проблему - слегка сместить карту теней, чтобы объект больше не затенял себя. Это смещение называется смещением. Можно использовать больше умных смещений, чем просто фиксированное значение, но фиксированное значение работает довольно хорошо и имеет минимальные накладные расходы.
Изображение 3: функция тени смещена (смещена) вперед.
Как дополнение к ответу joojaa: Использование смещения для смещения функции тени действительно решает проблему с теневыми угрями, но может создать дополнительную проблему: Питер Паннинг
Как вы видите на картинке слева, тень отсоединена от стены отбрасывания тени. Это создает впечатление, что геометрия зависает над землей (точно так же, как может парить Питер Пэн, отсюда и название Питер Паннинг).
Чтобы решить эту проблему, вы должны использовать «толстую» геометрию, которая имеет объем, а затем визуализировать карту теней с использованием задних граней. Если смещение меньше толщины геометрии, Питера Пэннинга не будет.
Оба изображения взяты из этого урока, где вы также можете узнать больше о том, как работает отображение теней, как создаются и решаются тени от прыщей, и что такое Питер Паннинг.