Войти
ПрограммированиеФорумГрафика

Тени в экранном пространтве (2 стр)

Страницы: 1 2
#15
21:25, 19 июня 2018

Misanthrope
Ну по факту да. По z буферу восстановить позицию


#16
23:32, 19 июня 2018

Во многих движках используется техника контактных теней: Unreal Engine 4, Unity, CryEngine, Unigine.
Лучше использовать их вместе с обычными тенями для устранения эффекта Peter Panning и для добавления теней от мелких объектов, установив небольшое значение длины луча. Если их использовать отдельно, то артефакты сразу же будут бросаться в глаза.

Я пробовал реализовать контактные тени из Unreal Engine 4, но у меня была проблема с тем, что я не мог корректно перевести вектор направления источника света в пространство вида. Оказывается нужно было немного по-другому строить матрицу вида:

+ Создание матрицы вида
+ Шейдер

Пришлось немного переписать шейдер, так как я восстанавливаю позицию из буфера глубины. Вот как шейдер должен выглядеть в идеале:

+ Шейдер UE4

+ Результат Gif
#17
23:36, 19 июня 2018

Self-Shadowing of Parallax Occlusion Mapping

#18
13:56, 20 июня 2018

Скоро упрешься в пропускную способность с таким фанатизмом к скринспейсу. А так, ENAleksey дельный вариант предлагает. Сам подобное случайно реализовал, когда впервые попытался запилить HBAO. Пригодно только для освещения мелких (относительно вида) объектов, максимум - теней от мелких ламп и светильников, или случаев с жестко фиксированной камерой. Да и то с артефактами.

#19
20:16, 20 июня 2018

ENAleksey
Благодарю то что мне нужно

Страницы: 1 2
ПрограммированиеФорумГрафика

Тема в архиве.