?

Log in

No account? Create an account
17 янв, 2015 @ 18:37 Screen-space ambient occlusion с учетом нормалей и расчет одного отражения света.
Статья: Screen-space ambient occlusion с учетом нормалей и расчет одного отражения света.

В этой статье я расскажу, как я с нуля делал SSAO (Screen Space Ambient Occlusion — расчёт фонового освещения в экранном пространстве) с учетом нормалей. Сразу следует отметить, что это наиболее простая и прямолинейная реализация «в лоб», не претендующая на оптимальность или новизну. Статья будет полезна в первую очередь тем, кто имеет желание разобраться, как это работает.

Как-то захотелось мне поупражняться с графикой, и я решил сделать SSAO с нуля, опираясь на мои опыты с трассировкой лучей и на полученные ранее знания о том, как в целом это должно работать. В общем, поставил задачу написать к своему движку демку, с использованием всяких разных технологий. Решено было также поизучать deferred shading и screen-space local reflections, но об этом как-нибудь в другой раз. В этой статье сконцентрируюсь на SSAO.

Дальше: http://www.gamedev.ru/code/articles/ssao



gnome
wat:
[User Picture Icon]
From:klauz_tigr
Date:Январь, 17, 2015 20:40 (UTC)
(Ссылка)
Уже придумали, как сделать, чтобы эти псевдотени не менялись от любого движения камеры, из-за чего в динамике все выглядит как говно? Нет? А зачем тогда разработчики так упорно форсят этот говнэффект?
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:wat
Date:Январь, 17, 2015 21:19 (UTC)
(Ссылка)
Давно уже.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:klauz_tigr
Date:Январь, 17, 2015 22:04 (UTC)
(Ссылка)
Можно примеры?
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:wat
Date:Январь, 17, 2015 22:08 (UTC)
(Ссылка)
Примеры чего?
Артефакты лечат фильтрами, дизерингом, например, и инфой с предыдущих кадров. Но современные движки уже пошли дальше, к SSDO и проч. Статья ж имеет типа "академический" смысл. Дабы понимать, как это работает и с чем иметь дело.

Посмотри на CryENGINE, например.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:klauz_tigr
Date:Январь, 17, 2015 22:58 (UTC)
(Ссылка)
Это не артефакты, это основа алгоритма - тени, основанные на положении камеры, а не освещении. До тех пор, пока есть приставка SS, нормально эта технология работать не будет в принципе. Можешь хоть обкрутится в настройках, если и получишь сносный эффект в одних условиях, в других все опять будет вырвиглазным мельтешением.
Crytek выпороть надо за то, что эту хрень приудмали. В Ryse черные ореольчики все так же зависят от камеры, а не от освещения.

"Дабы понимать, как это работает" хреново оно работает. "с чем иметь дело" ни с чем, это говно без задач. Хочешь приблизительное AO - запеки для статики, добавь статичных теней для динамики, выглядить будет и то лучше.

Edited at 2015-01-17 23:00 (UTC)
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:wat
Date:Январь, 17, 2015 23:06 (UTC)
(Ссылка)
К сожалению, честный и физически-верный рейтрейсинг ещё долго мы не увидим, если вообще увидим, поэтому играм приходится всё делать всякими фейками. Всю историю игр :)

Запекать что? Лайтмапы?
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:klauz_tigr
Date:Январь, 18, 2015 09:00 (UTC)
(Ссылка)
Да, запекать лайтмапы. Непрямые отражения тоже можно, кстати, Дайсы это дело любят, несмотря на то, что у них разрушаемость.
(Ответить) (Уровень выше) (Ветвь дискуссии)