PBR - Corona

Автор
Сообщение
На сайте c 23.09.2009
Сообщений: 7363
Киев

Блуждая по просторам интернета, я наткнулся на вот этот тред.

https://corona-renderer.com/forum/index.php/topic,11377.msg73215.html#msg73215 

И потом уточнил информацию тут

http://www.marmoset.co/toolbag/learn/pbr-theory 

И тут

http://3dyuriki.com/2015/02/26/chto-takoe-pbr-fizicheski-korrektnyj-rendering-i-shejding/ 

Так вот все эти люди пишут:

- Чем грубее поверхность, тем больше и размытей будет выглядеть отражение. Гладкая же поверхность будет отражать точнее, что будет выглядеть ярче или более интенсивней, если смотреть с определенного угла. Однако в обоих случаях отражается одинаковое количество света

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

- Plastics:  Set reflection to 1.0 / White.  Controll reflectivity with "Glossiness".  If your F0 is too bright even though it has correct Albedo value, lower IOR

 - Fabrics: Disable reflection and play with the faloff in the "Diffuse" slot.

Мои выводы для работы по новому алгоритму построения физически правильного шейдера:

 - Исходя из вышесказанного, значит ли это, что параметр Reflect в короне всегда должен быть на 1 или белый?

 - Для дерева, краски, кирпичей, пластика - мы тоже включаем силу отражения на всю, как и в металах? Размытость регулируем картой на глосси, а собственно силу отражения регулируем IOR? Я делал тесты, когда ставил IOR на ноль, а рефлект на полную. Так вот тогда материал ничего не отражал, значит ли это что теория эта работает? Тем более есть формула  "IOR to Reflectance Converter  (((1-IOR)/(1+IOR))^2)*100. Example: Plastic = (((1-1.5)/(1+1.5))^2)*100 = 4% Reflectance. Тоесть сила рефлекта напрямую зависит от ИОР.

 - Для тканей нужно вопще вырубать рефлект и играться диффузом.

 - В разных справочниках по ИОР я находил, что для композитных материалов как дерево или бетон, ИОР нужно ставить 3-6. Но тогда они будут отражать даже больше чем пластик, как матовый метал. Откуда такие значения? Или эти значения ИОР нужно ставить, когда используется обычная схема построения шейдера (понижением рефлекта)? Если следовать теории PBR, то ИОР дерева колеблется где то от 1,1 до 1,4... но никак не 3-6.

Помогите пожалуйста, я уже вторые сутки пытаюсь переварить эту инфу, мне кажется я что то упустил или неправильно понял. 

И еще вопрос - как делать стекло в таком случае? Допустим, полупрозрачное? Рефлект на всю, рефракт на всю, а цвет? Через абсорбцию? В Субстанс пейнтере даже нету шейдера стекла... PBR - шейдер стекла это вопще возможно? Или пластика прозрачного... Вот белое стекло как сделать? Все равно же придется рефракт ставить не на всю, на половинку. Будет ли это физически правильно?

Или вся эта теория касается только игровых движков? В короне нужно работать по обычной схеме?

На сайте c 14.06.2012
Сообщений: 15527
Москва

я видел тут в галерее микроскоп сделаный типа на ПБР. ну так себе, можно лучше. наверное вся эта теория для игр или подобных реалтайм движков.

иор большинства диэлектриков различается десятыми долями и находится вокруг 1,6-1,8 (собсно это число и стоит по дефолту в вирее и короне, чтоб не промахнуться). Только у проводящих материалов, металлов, он около 20 и выше. Поставьте 10 - будет типа серебрянки, краска с алюминиевой пудрой вперемешку, логично вроде.

На сайте c 23.09.2009
Сообщений: 7363
Киев

   Yehat, с самого начала мне очень понравилась эта теория, но чем дальше я думал, чем больше углублялся, мне стало казаться что тут что то не так. Вот, например, тюли всякие, транслюценция - это PBR или нет? 

   Я просто хочу как то смешать эту теорию (PBR) с обычным методом работы над шейдерми. Ну, допустим, оставить все как есть, как обычно мы материалы делаем, просто заменить регулировку силы отражений изменением ИОР.

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

На сайте c 14.06.2012
Сообщений: 15527
Москва

Имхо, эта теория ложится в основу целиком, или предлагается как основа для программирования движков. А если движок уже есть, то нет смысла переходить к ней назад, она ведь уже вложена, насколько он себе это позволяет.

Может быть, кручением иора вместо level можно добится одинаковых результатов, но крутить цвет и его мульт просто привычней. А значений иоров на всю сцену может хватить буквально 3-х - 1.6, 20 и что-то среднее. И не придётся держать в голове всё остальное.

Допустим, будем регулировать силу отражения через IOR, а чем тогда указать цвет отражения для полированных металлов? Значений цвета миллионы, и окно с его значением тогда не должно влиять на силу отражения.

На сайте c 23.09.2009
Сообщений: 7363
Киев
Цитата Yehat:
крутить цвет и его мульт просто привычней. А значений иоров на всю сцену может хватить буквально 3-х - 1,6 20

Согласен, привычней. Но иоров тоже может быть не сильно много. Если прикинуть, что стекло 1,6, пластик 1,4, дерево 1,2 - то все остальное можно делать по тому же принципу. Просто пока мне кажется дикой идея, что бетонная стена, как и хромированый елемент - отражает 100 процентов света, а ее итоговый вид регулируется только размытостью (ну и френелем). И надо еще тестить что быстрее будет рендерится...

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

Эта схема стопроцентных отражений кстати, заложена в артрендере новом, что я тестил тут в треде про 2017 макс. Но как оказалось - рендерится такая тема очень долго. Есть подозрения, что корона тоже не прожует все размытые отражения на всех предметах.

На сайте c 14.06.2012
Сообщений: 15527
Москва

100% света отражает зеркало. 0% света отражает дырка в чёрном ящике.

Все остальные значения отражения (не IOR!) будут аналогичны переходу от сажи к полированному металлу. Хотя иор у зеркала тоже максимальный из всех, судя по подсказке из коронского матэдитора.

Белая ткань может быть 30-50% отражает. Мне кажется странной идея 100% отражений в материалах, это точно не физически корректно.

На сайте c 23.09.2009
Сообщений: 7363
Киев
Цитата Yehat:
Все остальные значения будут аналогичны переходу от сажи к полированному металлу.

Вот кстати, на тему 100 процентных отражений. Сажа и хром, оба рефлект на 100, разница в френеле и размытии.

ad5626dbb08c16f2264d4e7594ef2fc7.jpg

А вот две ткани - черная и белая, разница только в цвете

95322d1ab9a13250316cc3d8897fe0cb.jpg

На сайте c 17.01.2011
Сообщений: 54
Отовсюду
Цитата Yehat:
Мне кажется странной идея 100% отражений в материалах, это точно не физически корректно.

100% падающего на них света отражать вещества не могут. Даже в идеально исполненном зеркале есть частичное поглощение.

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

Синий цвет, к примеру, имеют вещества, отражающие синюю полосу спектра, и поглощающие всю остальную часть спектра.

Потому чисто красный мяч в синем свете будет выглядеть почти черным.

Белый цвет - вещество равномерно по всему спектру часть света отражает, часть поглощает.

На сайте c 23.09.2009
Сообщений: 7363
Киев
Цитата Yehat:
Мне кажется странной идея 100% отражений в материалах,

Мне тоже так показалось, но надо думать про природу света. Это не только оптика, это куча всего. 100 процентов излучения, скажем, падает на материал, так? Если он не прозрачный - то оно должно куда-то дется. Часть пойдет на нагрев (или поглотится), скажем, часть мы увидим, часть рассеится.

   Движок, который использует PBR уже учитывает закон сохранения енергии - "Это один из позитивных аспектов PBR, в котором закон сохранения энергии всегда соблюдается шейдером." А это значит, что та часть энергии, которая уходит на нагревание поверхности, и т.д., например, уже учитывается, и в итоге на выходе мы имеем именно оптическую часть света, которая в даном случае интерпретируется как 100 процентов отраженного света. Вся разница лиш в том, каким образом свет попадает нам в глаза, и какая часть рассеивается в пространстве.

   Я думаю, коты увидели бы сажу серой, а не черной)). В диффузе по сути мы указываем какого цвета волну  материал должен отбить, а все остальные цвета спектра поглотить. Но то, что должно отбиться -  отобьется на все сто). По сути говоря, в движке нам осталось указать не количество, а качество отраженного света. Вот тут то и приходит на помощь ИОР и Глосси.

   Но все это работает, если сам движок сделан правильно. Вот, например, в вирее только с 3,1 версии стали возможным такие финты. Корона 1,1 тоже еще не умеет в физически корректные шейдера, а уже версия 1,3 и выше - умеет. Это из-за GGX всяких и тому подобное. Почему ж именно щас заговорили про PBR , потому что раньше не было движков хороших, и мощностей не хватало чтоб в реалтайме все обрабатывать. 

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

На сайте c 14.06.2012
Сообщений: 15527
Москва
Цитата AlexFd77777:
100% падающего на них света отражать вещества не могут. Даже в идеально исполненном зеркале есть частичное поглощение.

Ну просто мы принимаем этот идеал за максимум, за 100% ))

На сайте c 23.09.2009
Сообщений: 7363
Киев
Цитата Yehat:
а чем тогда указать цвет отражения для полированных металлов?

Только прочитал. Ну как раз с металами вопще все просто. ТУт или кривая или complex fresnel на отражения и все. По ссылке все есть. Меня в тупик слегка завели именно матовые поверхности и прозрачные.

 "Metals:  It's common practice to put the metal color into "Reflection Color" and then use some insane IOR value like 20+. There are two ways you can handle this in Corona - Use Siger ComplexFresnel and Create a Custom Falloff."

На сайте c 10.12.2009
Сообщений: 5680
Kalevan

DoCentttt занятную ты тему поднял :))))Чтобы не было путаницы в голово по воросу отражения в CG достаточно помнить что в графике весь падающий на материал свет условно принято делить на 3 компоненты: диффуз, глосси отражение и преломление.

Соответственно если у тебя рефлект стоит 100 это не значит что отражается 100% падающего на мат света - это лишь говорит что у нас глосси компонент в своём пике имеет 100% то есть полное зеркальное отражение. И я подчёркиваю - В ПИКЕ. А то как этот самый пик выглядит у тебяи регулирует коэффициент френеля - по сути он же и задаёт насколько силён глосси-компонент отражения в зависимости от угла под которым мы смотрим на поверхность.

Поэтому твой пример с бетонной стенкой и хромовым шаром вполне логичен - да если мы посмотрим на бетонную стенку под углом близким к 0 градусов к поверхности она будет отражать почти зеркально, как хромовый шар. но при этом если смотреть на неё прямо - то её глосси отражение не будет 100% ибо френель не даёт ему.

На сайте c 14.06.2012
Сообщений: 15527
Москва
Цитата DoCentttt:
Только прочитал. Ну как раз с металами вопще все просто. ТУт или кривая или complex fresnel на отражения и все. По ссылке все есть. Меня в тупик слегка завели именно матовые поверхности и прозрачные.

Да, я слышал про этот плагин. Но в работе это просто лишний плагин (или ещё один плагин), потому что подстройка на глаз идёт первичней. Пусть он хоть какой даёт реализм, а делать-то надо, чтоб красиво было, по проекту.

На сайте c 10.12.2009
Сообщений: 5680
Kalevan
Цитата Yehat:
Да, я слышал про этот плагин. Но в работе это просто лишний плагин, потому что подстройка на глаз идёт первичней. Пусть он хоть какой даёт реализм, а делать-то надо, чтоб красиво было, по проекту.

Ща посмотрел - прикольная кстати штука на вид. Всяко удобнее чем фаллоф кривые тягать по данным с ior.info

ЗЫ

Блиин! У них ещё и для тонких плёнок фри плагин есть, и для царапин. Где я был раньше?

На сайте c 18.03.2016
Сообщений: 10

Всесторонние руководство по PBR - Часть 1,2 RUS .djvu (Allegorithmic_PBR_Guide_Vol.1Vol.2)

https://mega.nz/#  !3gERha5C!hXjXIg9hra-0_84GcNBhAQJZdLbn9EFCY4fSNCD1iXM

На сайте c 23.09.2009
Сообщений: 7363
Киев

   GenaK, спасибо за инфу, это просто оригинал того что 3dyuriki переводил. У меня есть по ссылке в самом начале. Но это теория, меня интересуют практические решения использования этих знаний. Судя по всему, меня ждут впереди только тесты и еще раз тесты.

   Спасибо всем за помощь, значит все не так уж и плохо с этими методами, нужно теперь запилить пару шейдеров и затестить, чтоб наверняка все прощупать. Ну и в интерьере их тоже порендерить. Подожду уже релиз 1,4 короны - чтоб результаты были точнее и лучше, пока сыроват дейлик последний для такого деликатного дела)).

ПС: кстати, чувак этот, dubcat - периодически выносит мозг (по хорошему) всем пользователям короновского форума) У него все темы такие, как мне нравятся - все пытается обосновать физически точно, рекомендую почитать его посты. Он уже и до Артрендера добрался)) - https://corona-renderer.com/forum/index.php/topic,11588.msg74828.html#msg74828 

На сайте c 13.07.2009
Сообщений: 168
Может кто нибудь из спецов прокомментировать как пользоваться мармосетовской таблицей по настройке материалов? Интересует использование значений таблицы в настройке материалов Corona Render, Т.е. интересует практическое применения этой таблицы.

3c5521a6303e9c63cbfb33aa9b8696d8.JPG

Заранее спасибо.
На сайте c 23.09.2009
Сообщений: 7363
Киев

a - цвет диффуза, не заморачивайся. Diffuse

m - размытость отражений. Glossiness

r - интенсивность отражений. Reflection level

На сайте c 06.08.2013
Сообщений: 1897
Москва
Цитата DoCentttt:
Движок, который использует PBR уже учитывает закон сохранения енергии - "Это один из позитивных аспектов PBR, в котором закон сохранения энергии всегда соблюдается шейдером." А это значит, что та часть энергии, которая уходит на нагревание поверхности, и т.д., например, уже учитывается, и в итоге на выходе мы имеем именно оптическую часть света, которая в даном случае интерпретируется как 100 процентов отраженного света. Вся разница лиш в том, каким образом свет попадает нам в глаза, и какая часть рассеивается в пространстве.

это от куда такая "мудрая" цитата? закон сохранения энергии и без пбра в любом рендере и мате работает. он о том что при 100% рефлекте, рефракт и дифуз будут = 0, при 100% рефракте дифуз и рефлект будут = 0 это уже давно везде так.

галка  pbr mode всего навсего фиксит короновский ggx брдф недоделанный. ggx брдф это основа и она юзается в пбр шейдерах геймдевных, поэтому видимо так и назвали, маркетинговый ход. нормальный пбр заключается в юзании определенных карт о чем тебе некий ГенаК написал в коментах к статье твоей в блоге.

то есть то что сейчас в короне называется пбр мод это всего навсего нормальный ггх брдф наконец то. ну или почти нормальный.

все ровно так же как эта история с альбедо...

чтобы использовать значения иора 3 или 6 или даже 20 ставь глосю в 0.1 и ниже, а текстуру клади в рефлект.

На сайте c 03.11.2011
Сообщений: 1320
Воронеж

в пбр матах иор вообще можно не трогать, для него cоздаетcя отдельная текcтура в том же cабcтанcе. проcто кидаешь ее в нужный cлот и не паришь мозг c иор. 

Читают эту тему: