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

Что должен включать в себя PBR?

#0
20:51, 12 мая 2016

Перечитал кучу статей по PBR, пересмотрел какие-то примеры. Удивительно мутная тема. В общих чертах рекомендации сводятся к "делайте как угодно, лишь бы это было физически корректно". С моделями освещения тоже самое. Можно и ламберта использовать, можно и Ашихмин-Ширли. Входные параметры - опять разброс.
Не то у нас smoothnes, не то roughness. У кого-то две модели - одна для диэлектриков, другая для металлов. Кто-то предлагает, наоборот общую модель для всего.
А вот Subsurface Scattering в эту схему укладывается? Или это тоже отдельный случай?
И самый главный вопрос - как я пойму что освещение уже стало физически корректным или еще не очень?

У меня вопрос к тем, кто уже реализовал у себя PBR, можете перечислить какие входные параметры у материала вы используете, какие модели освещения и если не трудно, пример-скриншот вашей реализации PBR. Если я правильно понял, то у всех должна быть примерно одинаковая картинка, независимо от используемых формул - физически корректная.


#1
21:03, 12 мая 2016

g-cont
PBR это не какая-то одна стандартная формула. Поэтому ты можешь встречать разные реализации.

Мне один видос показался неплохим, правда он для артистов, но тем не менее даёт понимание:

> Subsurface Scattering

Это уже BSDF. Погугли про него.

#2
21:09, 12 мая 2016

>>Поэтому ты можешь встречать разные реализации.
Ну вот в том же Unity 5 я в демках видел материалы, которые "на глаз" казались мне правильно освещёнными,  и рядом с ними - неправильно. Чисто субъективно, естественно.

#3
21:35, 12 мая 2016


вот демка. Автор утверждает, что это PBR. Но на мой взгляд там нарушен принцип energy conservation. Можно ли считать данную демку физически корректной?
#4
22:19, 12 мая 2016

g-cont
> Но на мой взгляд там нарушен принцип energy conservation.

Как ты определил? На глаз?

> Можно ли считать данную демку физически корректной?

Выглядит не очень, такое ощущение что либо намудрил с самими формулами, либо в параметрах материала сделал значения далёкие от реальности.

#5
22:35, 12 мая 2016

>>Как ты определил? На глаз?
На глаз. Есть какие-то более корректные способы?

#6
22:36, 12 мая 2016

Читай статью Moving Frostbite To Pbr от Dice. Самая фундаментальная и развернутая работа за исключением диснеевских пеперов. Сложно ответить напрямую на твой вопрос потому что многое зависит например от вместимости твоего gbuffer-а, ну а вообще входные данные зависят от конкретной модели используемой brdf , а также некоторых пренебрежений типа изотропности, сохранения энергии и всяких специфических типа поляризации и проч. Как правило среди тех которые задаются материалом это roughness, fresnel (часто можно захардкодить на уровне там 4%), metallness (конкретно чтобы отделить диэлектрики от металлов), и специфические типа translucency, пористости, и т.д.

#7
22:54, 12 мая 2016

>>Moving Frostbite To Pbr от Dice
Сегодня презентацию смотрел.
>>за исключением диснеевских пеперов
Ну вот диснеевский BRDF explorer самый наглядный из всех. Там сразу понятно в чём отличие использования разных моделей освещения и в чём общий принцип.
>>многое зависит например от вместимости твоего gbuffer-а
У меня пока что форвард, так что я не ограничен в настройках.
>>Как правило среди тех которые задаются материалом это roughness, fresnel (часто можно захардкодить на уровне там 4%), metallness
Ну вот в том видео, которое я привёл roughness задаётся константой для каждого материала. С одной стороны это проще, с другой не позволить иметь такие сочетания, как крашеный металл с частично облезщими\заржавленными участками.

#8
23:03, 12 мая 2016

>>Читай статью Moving Frostbite To Pbr от Dice
http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_… te_to_pbr.pdf вот эта?
Да это, интереснее абстрактных рассуждений. Углубился.

#9
0:25, 13 мая 2016

Считаю, что главная фишка PBR - это стандартизированный подход к созданию материалов, чтобы они выглядели корректно при любых условиях освещения и снять нагрузку с художника. Так что если художник описывает все материалы через какой-то фиксированный набор физических параметров (задаваемых картами): например альдебо, матовость, металличность, то я бы считал уже это PBR, даже если там внутри формулы не совсем физически корректны в целях оптимизации.

#10
10:24, 13 мая 2016

g-cont
> Но на мой взгляд там нарушен принцип energy conservation.

Где именно ?

Прошло более 3 лет
#11
16:15, 23 мая 2019

а как вы понимаете в каком пространстве текстура (RGB или SRGB),
ну скажем roughness, если вы ее скачали из этих ваших интернетов,
и она в формате PNG ?

#12
(Правка: 17:26) 17:23, 23 мая 2019

Misanthrope
> а как вы понимаете в каком пространстве текстура (RGB или SRGB)
всё, что обозначает в каком-то виде свет или цвет(включая чёрно-белый), выгоднее кодировать в srgb. всё остальное — в linear. поэтому albedo/diffuse/specular/subsurface/ao — обычно srgb, roughness/smoothness/glossiness/metalness/normal/height/displacement — linear.

ещё сейчас pbr-asset'ы обычно скачиваются не как сферические текстуры в вакууме, а обычно как материалы для substance/marmoset/ue, поэтому можно с ними и сравнить.

#13
17:44, 23 мая 2019

Suslik
ну я так и думал

#14
19:33, 23 мая 2019

g-cont
У всех Microfacet brdf-ов нарушено сохранение энергии так как не учитываются отскоки (multiscattering)

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