Author Topic: PBR kinda materials  (Read 71758 times)

2016-07-03, 19:55:00
Reply #30

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile


Physical Mat rendered in Vray

             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-07-03, 20:10:54
Reply #31

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
Do you take the default Vray GGX/GTR=Gamma 2.0 as benchmark for the correct look ?

Does physical material has its own brdf ? Does Vray simply remap to its own paramaters ? Because it looks identical, which would surprise me a bit :- )

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!

2016-07-03, 20:21:21
Reply #32

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
Yes default GGX settings.
Here is Physical Mat rendered in ART.

             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-07-04, 11:41:35
Reply #33

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
Thanks to Dubcat I did some tests with existing BSDFs in Corona (Ward, Blinn?, Ashikmin, GGX), which you can try in extended paramaters in Slate material editor.

This is only 1.4, and I will test the new 1.5 daily build after I finish current deadline, but you can still see what is wrong with the fresnel behaviour for rough materials in Corona.
I don't know if the left example is correct either, for all I know, it could be just simple Blinn or what, but it behaves better. I think that's rather obvious :- ).

The issue is not with GGX, but how the fresnel on GGX behaves in Corona.



Here is Vray comparison with "visually close" glossiness ( I am doing 1.4 tests, so no full curve).



And last, 100perc. rough material. You can see no matter what tail parameter (Specular lobe size, Gamma paramater in GTR), there is no crazy rim lighting, or too high specularity.
Quite opposite, the material is so dimmed, I had to lower the contrast so it's not fully black :- )



« Last Edit: 2016-07-04, 12:30:47 by Juraj_Talcik »
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!

2016-07-06, 01:46:22
Reply #34

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
Since Redshift 2.0 came out today, out of interest I clicked on the "what's new". Surprise, surprise :- ) It has TWO new PBR shaders, their own, and alSurface (so I presume you can almost directly render your Arnold scenes in Max).
This is first time I had it installed, looks like Vray 1.5 on steroids, so I just selected Bruteforce + Bruteforce for G.I (8 bounces), and 8 reflective bounces, progressive sampler and did some quick tests (I used my single Titan-X). I ignored samples and used universal sampling.

The bellow shaders are "Redshift material", which is rather super-extended PBR shader on anabolics with everything you can imagine. It offers multiple reflective models ( IOR-based, ComplexIOR based (n/K for metals), and Metalness workflow from Disney), roughness (and legacy glossiness), full-range, perfect self-shadowing (no grazing, rim lighting or halo effects) in all BSDFs (GGX, Ashikmin and Cook-Torrance). If I count correctly, it has 50 texture inputs ? Overkill is understatement, but most settings can be ignored and you can enjoy true, well functioning shader experience.

So let's get testing: Simple shaders with single map in ROUGHNESS (inverted glossiness with flat interpolation between 0-1, full-range) slot. I adjust the smudgy map output to drive value instead of using number to get some variation here. Specular is left untouched, and is 255/255/255 White, so 100perc. For physically plausible materials, the specularity doesn't clamp. There is no such thing as 0.5 specularity. The specular maps slot, is meant as 'mask', no driving parameter for value. The only thing with need to work with in PBR renderer, is adjust roughness based on look that we want.

GGX BSDF


Cook-Torrance BSDF


Ashikmin-Shirley BSDF (this is what Corona used formerly, but look how different roughness and fresnel behaves)


Simple gold material done using color (from DontNod chart) in color and metalness set to 1. Simple, and functions as expected. Roughness behaves nice for metals also. I used GGX BSDF.



Here is comparison of fresnel behavior. (I chose Cook-Torrance although GGX gives rougher/dustier look, I preferred the look of this one for plastic ball)



And here is absolutely rough with GGX BSDF. I roughened the Diffuse also (for flater, dustier look).



In short, looks better than Vray and much more better than Corona. What gives.. ? Send legacy materials into history and don't look back.

Here is metalness workflow. 1.0 = Metallic IOR, DiffuseColor automatically becomes SpecularColor, just like in Disney PBR convention. Artist-friendly as it can gets.



Simple IOR workflow. When you need that exact IOR for specific material (like water=1.333) or just like the old-style. You can alternatively switch to ComplexIOR and input both n and K for metallic materials. No plugin needed.



Here is how the full shader looks with all parameters exposed. The first 3 are artistic features (ignore samples), the last panel is for technical(bias) tweaking. But even the artistic features are bit complicated in certain part like SSS. On other hand, those who use SSS for photorealistic characters, would presume prefer this version opposed to Disney's. Everyone else can ignore this, you don't have to touch anything you don't need.



From my quick testing, I give it 9/10, but only because I am simple person and lack direct access to artist-features like Sheen. Shader works fantastically and really lets you create material of your choice. Will do some full-scene conversion to see how the correct specular fare.
« Last Edit: 2016-07-06, 12:24:57 by Juraj_Talcik »
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!

2016-07-06, 11:09:05
Reply #35

BBB3viz

  • Active Users
  • **
  • Posts: 48
    • View Profile
This looks really impressive. Gotta to check it out.

2016-07-06, 14:34:37
Reply #36

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
In lieu of "everything has fresnel", everything is rough too :- ).

Here is visual comparison of the same material completely without specular reflectance, and with full specular reflectance, but high roughness.
I think it's easy to see which one looks better and is more plausible simulation of rough materials like matte wall paint.



Another cool feature is Diffuse "Roughness", this is something that differs from material roughness which roughens the specular component primarily, and this flattens the diffuse look.
I don't know what it does on technical level, I guess it moves from Lambertian model to Oren-Nayar, or the "moon" look.

This feature might be exception where specular could in fact be nullified since it already simulates matte surfaces only but as you see I left the specular on default and it still gives expected look.



« Last Edit: 2016-07-06, 14:48:55 by Juraj_Talcik »
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!

2016-07-07, 05:59:53
Reply #37

philippelamoureux

  • Active Users
  • **
  • Posts: 218
    • View Profile
I wish I had eyes good enough to perceive all the differences you guys see in these shaders! hehe!
For me rough is rough, glossy is glossy and that's pretty much it. :-O

2016-07-07, 14:45:57
Reply #38

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12768
  • Marcin
    • View Profile
I wish I had eyes good enough to perceive all the differences you guys see in these shaders! hehe!
For me rough is rough, glossy is glossy and that's pretty much it. :-O
Um.. Maybe you are looking at the wrong areas of the images. In most of the cases the differences are pretty obvious. It is also not about "glossy looking glossy", but about the physically correct results.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2016-07-07, 15:56:00
Reply #39

pokoy

  • Active Users
  • **
  • Posts: 1865
    • View Profile
Thanks for doing the tests, Juraj.

We really need fresnel with high roughness setting to behave correctly, the sooner the better. I am facing this problem on every single job, and I really miss the times when I was able to get perfectly looking tires (only one example out of  a lot material that happen to be rough and reflective), it's simply not possible now at all. There are so many materials where you'll face the problem - metals, leather, plastic, rubber etc - and it's way harder than it used to be before GGX was introduced in Corona.

Also, diffuse roughness would be extremely useful. Redshift's diffuse roughness seems not to go far enough for my taste, though. It should be possible to get a dusty surface, but anything would be better than nothing at all.

2016-07-07, 16:09:44
Reply #40

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
Thanks for doing the tests, Juraj.

We really need fresnel with high roughness setting to behave correctly, the sooner the better. I am facing this problem on every single job, and I really miss the times when I was able to get perfectly looking tires (only one example out of  a lot material that happen to be rough and reflective), it's simply not possible now at all. There are so many materials where you'll face the problem - metals, leather, plastic, rubber etc - and it's way harder than it used to be before GGX was introduced in Corona.

Also, diffuse roughness would be extremely useful. Redshift's diffuse roughness seems not to go far enough for my taste, though. It should be possible to get a dusty surface, but anything would be better than nothing at all.

Very true.

Regarding Redshift's roughness, while there isn't yet manual for the shader, I assume the 1.0 is simply Oren-Nayar with some particular surface deviation chosen. In complete Oren-Nayar model, this deviation can go from 0 to infinity.
This is what wikipedia says:
Quote
In the Oren–Nayar reflectance model, each facet is assumed to be Lambertian in reflectance
So maybe I should have put the specular to 0.

There is even special moon shader model for true dusty surface :- )  http://www.shlyaev.com/rnd/37-cpp-category/60-diffuseshaders

Good textures, micro-noise, and some fallof will aid the look though. I will test the alSurface shader, maybe the roughness there goes further.
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!

2016-07-07, 16:32:13
Reply #41

pokoy

  • Active Users
  • **
  • Posts: 1865
    • View Profile
I agree that a fine-grain texture used as bump is possible, actually bump can do that nicely in Corona, but the rougher it gets the more likely our beloved shadow terminator problem kicks in...

I think that Corona slowly starts to show a lack in more artistic controls in its shaders. Now that everything is hidden away from the user it becomes obvious that less control is not always better. Some of the more recent renderers (Redshift, Arnold for Max once it's there) clearly give you way more control. I certainly don't want to be forced to set samples for every single rough metal in my scene - I'm happy those days are over - but I want to be able to achieve what I need without artificial constraints.

I would like to know the official position on this, I've been loosely following this thread since its first days and wonder what the devs are thinking.

2016-07-07, 16:38:30
Reply #42

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
This thread has been started 2 years ago, the change is long overdue.  One dev did look through the Disney paper but came to conclusion there is nothing interesting :- )

I don't know...the visuals are very clear imho :- )
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!

2016-07-07, 22:10:03
Reply #43

lacilaci

  • Active Users
  • **
  • Posts: 749
    • View Profile
No input from Ondra or Jarda or another dev..? Is this considered an important issue or not at all? I pay extra for 'pxr Disney' . Make it an extra corona plugin...

2016-07-07, 22:14:48
Reply #44

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
It's summer :- ) I don't think they spend all the time lurking in the forum. It is in the feature request poll, but not that many people voted for it. I think most don't know about it
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!