PCF в кубической карте (PCSS)

Я подписан на this paper in order to implement PCSS in my engine.

У меня есть небольшая проблема. Пока мой движок поддерживает только всенаправленные огни — я добавлю больше позже, но вопрос не в этом. Итак, во-первых, я реализовал жесткое отображение теней. Это была победа.

Я решил превратить свои жесткие тени в мягкие с помощью PCSS. Как человек осторожный, я решил сделать первый выстрел в PCF, чтобы намочить ноги. И это провал.

С 2D-текстурой это довольно просто. Я просто сэмплирую несколько значений из карты глубины света, используя простое ядро, и усредняю ​​их с помощью фильтра box/poisson/gaussian/какой бы то ни было фильтр.

Но как мне это сделать в кубической карте?! Смещения - это направления, я действительно не знаю, как это сделать...


person phaazon    schedule 20.01.2015    source источник
comment
Вы в итоге получили это? У меня сейчас такая же проблема. Я использую кубическую карту, но не могу понять, как использовать большое ядро ​​PCF.   -  person Jagoly    schedule 16.04.2015


Ответы (1)


Используя кубическую карту, ваши UV-координаты являются направлением. Из него довольно легко получить карту глубины света. Семплируйте так, как будто направление исходит от источника света.

person Gabriel Reiser    schedule 20.01.2015