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

PBR. Опять.

Страницы: 1 2 3 4 Следующая »
#0
23:55, 20 апр. 2015

Привет, ребят. Подскажите, какой сейчас модно реализовывать PBR. Интересуют алгоритмы, модели и статьи, а не шейдеры и код.

Насколько я понимаю, PBR - это не конкретный алгоритм, а парадигма и подход к созданию этих самых алгоритмов. Поэтому подкиньте модных статей, где рассказывается по самым продвинутым, интересным и общепринятым техникам, реализованным с помощью этой парадигмы.

Требования к технике:
- Realtime
- Классический forward renderer(в смысле не рейтрейсинг)
- Широкий спектр материалов - металлы/неметаллы, блестящие/матовые, итп.
- Цель - не получить готовый продукт-убийцу UE, а получить максимально полные знания по данной теме и наиболее полезный опыт.

Уже посмотрены основные модели освещения вроде кука-торренса и штраусса.

Также есть ряд вопросов, которые возникли в процессе изучения материалов:
- Основная проблема - информации по теме много и она не слишком согласована. Чем имеет смысл руководствоваться?
- Насколько я понимаю, классические point/directional lights - это прошлый век и не-тру подход, модно использовать environment map. Так ли это? Каким образом тот же cook-torrance и strauss адаптируются на environment map?
- Разные модели освещения используют разные текстуры и параметры. Как же тогда быть с тем, что PBR, вроде как, должен отделить описание материала и модели освещения? Какие же текстуры являются наиболее каноничными и необходимыми? Очевидно, никуда не обойтись без albedo, normal map, bump map(в смысле heightmap) и ситуационных текстур вроде luminance. Но как быть с текстурами, смысл которых перекрывается? Например, roughness/microsurface, specular/reflectivity и прочие? Подскажите, какие текстуры принято считать каноничными.

#1
0:40, 21 апр. 2015

Я когда разбирался, читал вот эти доки и слайды:
https://de45xmedrsdbp.cloudfront.net/Resources/files/2013Siggraph… -26915738.pdf
http://blog.selfshadow.com/publications/s2013-shading-course/kari… ic_slides.pdf
http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_… te_to_pbr.pdf

Вот тут, если не ошибаюсь, годная модель diffuse:
https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disne… _notes_v2.pdf
http://blog.selfshadow.com/publications/s2013-shading-course/pixa… ar_slides.pdf

Мармосет:
https://www.marmoset.co/toolbag/learn/pbr-theory
http://www.marmoset.co/toolbag/learn/pbr-practice

> - Основная проблема - информации по теме много и она не слишком согласована. Чем имеет смысл руководствоваться?
её действительно много, стоит почитать побольше и понять, конкретного руководства нет.

> - Насколько я понимаю, классические point/directional lights - это прошлый век и не-тру подход, модно использовать environment map. Так ли это?
не обязательно, опять-таки, зависит от ситуации

> Каким образом тот же cook-torrance и strauss адаптируются на environment map?
предварительная обработка env. текстур

> - Разные модели освещения используют разные текстуры и параметры. Как же тогда быть с тем, что PBR, вроде как, должен отделить описание материала и модели освещения? Какие же текстуры являются наиболее каноничными и необходимыми?
по идее - альбедо, roughness, fresnel, metalness

> Но как быть с текстурами, смысл которых перекрывается? Например, roughness/microsurface, specular/reflectivity и прочие?
вот как раз в PBR specular нету ибо он как раз и считается не труъ physically

#2
1:10, 21 апр. 2015

> > Каким образом тот же cook-torrance и strauss адаптируются на environment map?
> >
> предварительная обработка env. текстур
стоит отметить что при этом без доп шейдерных хаков в рантайме блики становятся полностью изотропными, то бишь, к примеру, не вытягиваются под углом, что теряет часть учтённого в BRDF. обходится кучей выборок или хакообразно-вытягивающим изменением выборки от угла (в доке по фаркраю4 вроде была ссылка на другую доку с этим хаком).

Sergio
> вот как раз в PBR specular нету ибо он как раз и считается не труъ physically
спекуляр юзают, просто им называют теперь коэф f0 цветной для шлика

#3
2:20, 21 апр. 2015

Тут статейка
http://habrahabr.ru/company/mailru/blog/248873/

#4
6:53, 21 апр. 2015

Эм... а почему point/spot/dir считаются устаревшими и каким образом их заменяет environment map?

p.s
Для самообразования

#5
8:18, 21 апр. 2015

NickGastovski
А где ты в природе видел аналитические источники света? :)

#6
8:48, 21 апр. 2015

Sergio
> А где ты в природе видел аналитические источники света?

Покажи, сколько нужно усилий чтобы сэмулировать spotlight через env map ?

#7
10:59, 21 апр. 2015

енвиромент мапы слишком неточно проецируются, чтобы заменять ими лайты.
солнце, к тому же, нормально делать и аналитически, только учитывать, что оно диск маленький, а не точка (в последней киллзоне делали).

#8
11:20, 21 апр. 2015

Suslik
> - Насколько я понимаю, классические point/directional lights - это прошлый век
> и не-тру подход, модно использовать environment map. Так ли это?
Обычно делят на две задачи. Direct light ( первый луч ) считается как point/directional/spot тривиально с cook-torrance. Ambient light ( все следующие переотражения ) представлен в виде выборки из фильтрованой environment map. Для каждого мипа этой кубмапы надо посчитать интеграл для каждого roughness. Первый мип - roughness = 0, последний = 1. Потом полученное выборкой значение нужно нормализовать интенсивностью света принятой этой точкой поверхности (обычно из лайтмапы). Матчасть можно найти здесь https://seblagarde.wordpress.com/2011/08/17/hello-world/

#9
15:34, 21 апр. 2015

innuendo
> Покажи, сколько нужно усилий чтобы сэмулировать spotlight через env map ?
когда я изобретал свой HDR, то получилось очень легко - я просто взял hdr cubemap неба и написал отражение по френелю. я тогда такого слова-то "hdr" ещё не слышал, но стекло уже получилось очень похожее и отражение солнца выглядело аккурат как specular, только красивый.

мне всё-таки наиболее интересны модели с численным интегрированием освещённости при диффузном рассеянии. неужели это вообще не имеет смысл, если использовать несколько мипов кьюбмэпа, разблюренного в разной степени?

#10
15:36, 21 апр. 2015

Suslik
> когда я изобретал свой HDR, то получилось очень легко - я просто взял hdr
> cubemap неба и написал отражение по френелю. я тогда такого слова-то "hdr" ещё
> не слышал, но стекло уже получилось очень похожее и отражение солнца выглядело
> аккурат как specular, только красивый.

Что спот, что солнце подразумевают прямые лучи света, в твоём случае с кубемапой прямых лучей же нет.

#11
15:40, 21 апр. 2015

Sergio
> А где ты в природе видел аналитические источники света? :)
А где ты видел в играх честные area lights?

#12
15:52, 21 апр. 2015

Executor
не понял, что ты имеешь в виду. как это нет, если отражение в кьюбмэпу считается для закона отражения именно прямых лучей? вот что кьюбмэпой действительно не сделать - это тени. точнее, может и можно, но сложно.

#13
15:55, 21 апр. 2015

bazhenovc
> А где ты видел в играх честные area lights?

Physically Based Area Lights достаточно честные?
http://www.guerrilla-games.com/presentations/Drobot_Lighting_of_K… adow_Fall.pdf
http://gpupro.blogspot.com/2014/03/gpu-pro-5-physically-based-area-lights.html

#14
15:59, 21 апр. 2015

Suslik
> не понял, что ты имеешь в виду. как это нет, если отражение в кьюбмэпу
> считается для закона отражения именно прямых лучей? вот что кьюбмэпой
> действительно не сделать - это тени. точнее, может и можно, но сложно.

Что солнце, что спот пускают лучи в одном направлении (у спота лучи под определённым углом), если объект освещается с противоположной стороны от источника света, то какие же это прямые лучи (direct) лучи? Это уже не прямые лучи (indirect lighting). Кубемапа "светит" со всех сторон.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

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