Author Topic: PBR shader discussion  (Read 11128 times)

2020-01-14, 12:01:14

JViz

  • Active Users
  • **
  • Posts: 139
    • View Profile
    • Behance
Mod: this thread has been extracted from the V6 daily builds discussion thread - https://forum.corona-renderer.com/index.php?topic=26829.0

---

just imagine how scenes will look now that the plastic feel of the materials will be gone very SOON forever
« Last Edit: 2020-01-30, 14:58:15 by maru »
Although a purist, my work is anything but.
https://www.behance.net/ImageInnate

2020-01-14, 12:14:07
Reply #1

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
just imagine how scenes will look now that the plastic feel of the materials will be gone very SOON forever

Why do you think so? There is fundamentally nothing wrong with current GGX behavior, it's been fixed long time ago. The different energy conservation loss illustrated above only applies to metals.

The PBR will bring new conveniences like Metalness workflow, coating,etc.. and hopefully Sheen for fabrics, but otherwise all materials will look exactly the same.   
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2020-01-14, 13:33:36
Reply #2

bluebox

  • Active Users
  • **
  • Posts: 268
    • View Profile
just imagine how scenes will look now that the plastic feel of the materials will be gone very SOON forever

Why do you think so? There is fundamentally nothing wrong with current GGX behavior, it's been fixed long time ago. The different energy conservation loss illustrated above only applies to metals.

The PBR will bring new conveniences like Metalness workflow, coating,etc.. and hopefully Sheen for fabrics, but otherwise all materials will look exactly the same.

How so Juraj ? How the engine tells if a material is metal or not ? If you are not using any maps the difference between metals and nonmetalics is IOR. Then if want it to be glossy or not you adjust the parameter.
There is something off imho with current energy conservation in general material. When testing a dark interior painted all graphite with both Corona and Fstorm I'm under an impression that although both are dark the one in Corona appears more gloomy and darker in the corners etc. just as the Fstorm one would use some kind of white GI override to all materials.
Not sure if that has something to do with tone mapping or color space or whatever the reason. I'm by no means as technical as you or Dubcat or Fluss are so I'm just guessing here.

2020-01-14, 14:52:00
Reply #3

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
That will 90perc. be related to GI (particularly clamping) and Tonemapping.

But also... F-Storm doesn't have correct glossiness curve, in fact it's wrong. It can make nice looking materials, but the are absolutely not PBR :- ). Ask Johannes or Daniel, they would love to change this.
So if you're asking for even more tweaked GGX behavior, it will look just slightly bit more advanced than what Corona currently has (maybe 5perc. difference?) but absolutely not like F-Storm material.

Corona's PBR will bring different UI and parameters. It will make a creation of materials easier and more like current industry standard.

They will look absolutely the same though (with exception of Sheen parameter for fabrics). Unless they change fundamentally something under the hood for BRDF, which they could...like Lambert Diffuse is getting pretty old.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2020-01-14, 15:25:51
Reply #4

bluebox

  • Active Users
  • **
  • Posts: 268
    • View Profile
That will 90perc. be related to GI (particularly clamping) and Tonemapping.

But also... F-Storm doesn't have correct glossiness curve, in fact it's wrong. It can make nice looking materials, but the are absolutely not PBR :- ). Ask Johannes or Daniel, they would love to change this.
So if you're asking for even more tweaked GGX behavior, it will look just slightly bit more advanced than what Corona currently has (maybe 5perc. difference?) but absolutely not like F-Storm material.

Corona's PBR will bring different UI and parameters. It will make a creation of materials easier and more like current industry standard.

They will look absolutely the same though (with exception of Sheen parameter for fabrics). Unless they change fundamentally something under the hood for BRDF, which they could...like Lambert Diffuse is getting pretty old.

Yeah thought so that it might have something to do with Tonemapping and GI. Increasing Max ray depth and sample intensity does not affect the behaviour I'm referring to - it does not make the interior considerably brighter. Changing all materials to whites/white'ish grey overrides on the other hand does. That was the reason why I requested a simple "white override" checkbox in CoronaMtl. And why I asked if Devs are monitoring Dubcats thread quoting the energy conservation thingy.
And I know that white reflects more or the light spectrum than black does, so probably gloomy corners are more or less correct. But something seems off and I can't narrow it down to a single thing.
All in all I think that there is a general consensus that people would love to see Tonemapping and material (including the things you mention) overhaul.

2020-01-15, 11:00:55
Reply #5

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
Everyone would :- ) I asked for both almost 4 years ago.

But some people expect miracles...and there won't be any miracles.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2020-01-15, 12:48:34
Reply #6

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
I'm curious to see the impact of multiple scattering in interiors tho! Not sure this would have a tremendous impact but we can't conclude anything without testing it.

The different energy conservation loss illustrated above only applies to metals.

What makes you think that? It applies to every single material actually. Current BRDF only account for a single bounce of light. With High roughness, this causes a significant energy loss (up to 60%). This is particularly visible on metals because their reflectance is full specular but it applies to everything. It's also pretty significant in rough transmissive materials.

Single vs multiple scattering :



The Heitz full evaluation method involves a massive overhead but recent works from sony image work and ILM approximate the effect quite well and are way cheaper to compute (ILM method is included in unity HDRP pipeline and in google filament, so really cheap but comes with some hiccups, good for real-time only). I submitted the ImageWorks's method (based on the Kelemen-Szirmay-Kalos model) to Vlado on the chaos group forum and he was pretty enthusiastic about it.

So we basically need the Autodesk Standard Surface ( https://autodesk.github.io/standard-surface/ ) + multiple scattering approximation and we would end up with an insane shader.

For those who want to read more about the subject, Stephen hill made a great article series analyzing Imageworks’ multiple-scattering approximation :
part 1: https://blog.selfshadow.com/2018/05/13/multi-faceted-part-1/
part 2: https://blog.selfshadow.com/2018/06/04/multi-faceted-part-2/
part 3: https://blog.selfshadow.com/2018/08/05/multi-faceted-part-3/
part 4: https://blog.selfshadow.com/2019/03/30/multi-faceted-part-4/


2020-01-15, 13:59:43
Reply #7

pokoy

  • Active Users
  • **
  • Posts: 1873
    • View Profile
I'm also interested in the multiple scattering stuff. I often have to deal with metals and need them to look really good. In high contrast situations metals are quite finicky to get right, and of course the artist is part of the problem/solution so not sure if it's the current implementation or a wrong approach on my side.
Then again, I know from image reference that metals *do* react differently than what I get sometimes and I tend to think multiple scattering is a vital part. For example, a metal shader looks good in one lighting situation but needs a lot of tweaking in another which doesn't make sense sometimes, especially with glossiness values at 0.5-0.7 I have to tweak a lot depending on the lighting angle already... hmm would certainly love to see how much multiple scattering could help here.

2020-01-15, 15:03:53
Reply #8

bluebox

  • Active Users
  • **
  • Posts: 268
    • View Profile
Really glad you joined the place Fluss. I really do believe that since the new material is being developed it should be as up to date tech-vise as possible so we wont wait for or ask for another overhaul in a year or so.

2020-01-15, 15:28:31
Reply #9

arqrenderz

  • Active Users
  • **
  • Posts: 999
  • https://www.behance.net/Arqrenderz1
    • View Profile
    • arqrenderz
Very interesting reads indeed, i found the google way of doing things : https://google.github.io/filament/Filament.html#materialsystem/improvingthebrdfs/energylossinspecularreflectance Super interesting , but i dont understand at least 95% of it :P

2020-01-15, 16:31:07
Reply #10

Juraj

  • Active Users
  • **
  • Posts: 4765
    • View Profile
    • studio website
This is particularly visible on metals because their reflectance is full specular but it applies to everything

That's all I meant exactly :- ). I only answered the critique that new PBR ( which isn't promised to come with new BRDF !) material will solve materials looking "plastic".
The energy loss issue is currently only trouble for Metals, and still fixable.

Don't get me wrong, I would love new BRDFs implemented, esp. for Diffuse shading. But our current GGX doesn't make materials look plastic any more than any other GGX implementation elsewhere and particularly F-Storm, has worse (their gloss doesn't go below 0.4 on linear scale).

The new PBR shader will mainly reorganize UI to comply with industry standard by introducing Metalness workflow instead of Intensity&Gloss only, and adding Coat & Sheen parameters. Our leather material will still look like it does right now.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2020-01-15, 21:20:13
Reply #11

JViz

  • Active Users
  • **
  • Posts: 139
    • View Profile
    • Behance
I'm curious to see the impact of multiple scattering in interiors tho! Not sure this would have a tremendous impact but we can't conclude anything without testing it.

The different energy conservation loss illustrated above only applies to metals.

What makes you think that? It applies to every single material actually. Current BRDF only account for a single bounce of light. With High roughness, this causes a significant energy loss (up to 60%). This is particularly visible on metals because their reflectance is full specular but it applies to everything. It's also pretty significant in rough transmissive materials.

Single vs multiple scattering :



The Heitz full evaluation method involves a massive overhead but recent works from sony image work and ILM approximate the effect quite well and are way cheaper to compute (ILM method is included in unity HDRP pipeline and in google filament, so really cheap but comes with some hiccups, good for real-time only). I submitted the ImageWorks's method (based on the Kelemen-Szirmay-Kalos model) to Vlado on the chaos group forum and he was pretty enthusiastic about it.

So we basically need the Autodesk Standard Surface ( https://autodesk.github.io/standard-surface/ ) + multiple scattering approximation and we would end up with an insane shader.

For those who want to read more about the subject, Stephen hill made a great article series analyzing Imageworks’ multiple-scattering approximation :
part 1: https://blog.selfshadow.com/2018/05/13/multi-faceted-part-1/
part 2: https://blog.selfshadow.com/2018/06/04/multi-faceted-part-2/
part 3: https://blog.selfshadow.com/2018/08/05/multi-faceted-part-3/
part 4: https://blog.selfshadow.com/2019/03/30/multi-faceted-part-4/

great links indeed. how does the new Advanced diffuse model change things for the corona material?
Although a purist, my work is anything but.
https://www.behance.net/ImageInnate

2020-01-16, 12:42:34
Reply #12

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
Look at the first changelog entry of the new arnold 6.0 release : https://docs.arnoldrenderer.com/display/A5ARP/6.0.1.0

2020-01-16, 13:46:14
Reply #13

bluebox

  • Active Users
  • **
  • Posts: 268
    • View Profile
Does this affect the amount of light transfered after the first bounce, or only the material itself ? In other words will the entire scene using this model get brighter ?

2020-01-16, 14:30:31
Reply #14

JViz

  • Active Users
  • **
  • Posts: 139
    • View Profile
    • Behance
Look at the first changelog entry of the new arnold 6.0 release : https://docs.arnoldrenderer.com/display/A5ARP/6.0.1.0

yep yep yep. awesome stuff! is the new corona diffuse model gonna implement Oren-Nayar reflectance model, like the Oren-Nayar roughness parameter in Arnold, which should remove the darkening effect Lambert creates at grazing angles which in fact result in the plastic look? if yes then that would be a great step forward for corona material.

examples



« Last Edit: 2020-01-16, 14:53:19 by JViz »
Although a purist, my work is anything but.
https://www.behance.net/ImageInnate