Author Topic: Glossiness behaviour  (Read 14778 times)

2014-09-08, 02:32:02

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
I wanted to start a small discussion on behavior of glossiness parameter.

How the model currently works, is not unique to Corona, but is equally shared by Vray and MentalRay and is more a trait of the specular/glossy shader model legacy.
And since both Maxwell engine, and currently various real-time renderers integrated Disney's PBR model, where this is instead, swapped to "Roughness" parameter.

On paper: Roughness=Inverted Glossiness. Almost. The big difference between these two, is that while in Specular/Glossy shader model, glossiness is purely a subset of specular reflection,
a value (numeric or texture driven) that defines how spread out the reflection appears (and being in-line with energy conversation, more spread out obviously appears weaker),
Roughness defines the surface property both in how the specular reflection spreads but most importantly, how much of the grazing angle reflectance (white 1.0 for non-metals, white or tinted 1.0 intensity for metals)
becomes visible.
And in line with that behavior manifests the following difference in practice:

Spec/Gloss:    0.0 Glossy (matte)= Visible specular sheen, or rather overlay of grazing color.
Roughness:    100perc.    (matte)=100perc. lambertian shader, or rather, diffuse color for non-metals, and base specular reflectivity for metals becomes fully visible with no overlay of grazing color at all.

Why the roughness model is more logical and easier to use with photorealistic materials in my opinion:

 Consistency: Polished wood (not laquered!) and rough,matte wood is the very same material. The only difference is microscopic in its surface. Both have the same reflectivity, which is IOR 1.52, or rather, 0.04 base reflectivity, and 1.0 grazing reflectivity.
   The only thing you need to change to achieve either, is change the roughness parameter. Since its linear value, its same across all engines (from Maxwell, to Unreal Engine 4 and many others soon) and is absolutely easily eye-balled from reference.
   We are only changing one value.

In Spec/Gloss (Vray,Corona,MentalRay,etc..) to simulate identical behaviour, we have to "guess" the reflective value. Because full reflectivity, but zero glossiness produces visible sheen, and overlay of our 90 degree value (white by default). And they don't go against each other in linear fashion, i.e, we can't just set it to 30perc. glossy, and deduct 70 from our reflectance value,i.e 0.3. There is no such direct relationship, so we are juggling 2 values, and at any step, we can't be sure if this is actually physically correct material. The fact that it looks "right" to us, doesn't change anything about the fact that it's more complicated and much less logical.
Biggest problem for most users here is, they often end up with incorrect albedo, because they have both too high specular reflectance and diffuse (which is also 'reflectance'). Corona recently introduced small algorithm that "corrects" this for you in background (by dimming your diffuse if your specularity is too high).

Physical correctness=/=physical correctness. This term quickly became buzzword for markerting and is in such fashion used by all major renderers. But all it means is basically, they follow physical laws. You are still allowed to create material wildly differing from its real-world counterpart. That is actually good, the problem is, you don't know when you crossed that line.


Some random illustrations:

1)Vray: 0.0 glossy produces very strong, velvet like sheen.
2)Corona 0.0 glossy produces weaker sheen but exhibits similar behavior.
3)Corona with 128 grey material and Red 1.0 reflection, 0.0 glossy the overlay is quite visible
4)Roughness chart (this one is from Maxwell website, but its always the same). On left, 100perc. roughness (=0.0 glossy) = ideal lambertian surface, zero overlay of grazing angle color (which is blue)


End: Nothing :- ) Not actually saying I want this strongly right now or anything. It's not really any sort of request. I just wish to talk about your understanding of this issue, and generally, what you think.

Me personally, I am big fan of the pbr approach, as you see me joining all the tidbits here and there in forum. It's small, but revolutionary thing, something I am much bigger fan of than
features everyone else already has. In free time, I am creating stuff in Unreal4 (and no, it's not going to replace off-line rendering at all, it won't even become popular in archviz...trust me ;- ) not any soon),
and boy...I am having so much fan using the material system. It's vastly superior imho.

Cheers, all in good faith:- ) !
« Last Edit: 2014-09-08, 10:40:41 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!

2014-09-08, 11:18:47
Reply #1

rambambulli

  • Active Users
  • **
  • Posts: 159
    • View Profile
Quote
Biggest problem for most users here is, they often end up with incorrect albedo, because they have both too high specular reflectance and diffuse (which is also 'reflectance'). Corona recently introduced small algorithm that "corrects" this for you in background (by dimming your diffuse if your specularity is too high).

I agree. I used to use Maxwell and the material model worked very easy. Especially for a newbies like me.

The power of Corona is its simplicity.

I think this A PBR model would make Corona even more unique. Faster than Maxwell and way less trial-error guessing like Vray, Mental Ray, ..... !!


2014-09-08, 14:55:04
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Wow, thank you for such insight. All this PBR thing is very new for me, but it sure sounds interesting.

Corona recently introduced small algorithm that "corrects" this for you in background (by dimming your diffuse if your specularity is too high).

Keymaster mentioned about improved glossiness behaviour in latest build. Is this the same thing, you're talking about?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2014-09-08, 17:28:17
Reply #3

Adanmq

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 94
    • View Profile
    • 3D Collective
Hi.
Even if i don´t fully understand the physics behind this i also prefer the Disney PBR approach.

We have learned to emulate it using the current model, but this new one represents better the real thing so it´s easier to understand if you have some curiosity about how light behaves in real world. Right now yo need to translate the real thing into a "fake" model. This make thing harder to understand.

The problem here is that most of the people are used to the old model and they just don´t mind or have the time/curiosity to learn about this.


PD: I will appreciate any paper/resource you guys know about this matter. I usually end up reading to physics bases documents and i lost in the process.

2014-09-08, 18:02:57
Reply #4

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
I will appreciate any paper/resource you guys know about this matter. I usually end up reading to physics bases documents and i lost in the process.

Here is the original paper : "Physically-Based Shading at Disney"

http://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf

The most important is the chapter 5 "Disney “principled” BRDF"

"1. Intuitive rather than physical parameters should be used.
2. There should be as few parameters as possible."

I always see some counter-argument how it is complicated, unecessary,etc.. Not at all. It is in fact, easier, more logical and artist friendly.

Notice some of these parameters, sheen, clearcoat,etc. Single shader, that lets you directly create every type of material, in super easy fashion and fully plausible behaviour.
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!

2014-09-08, 18:12:54
Reply #5

elindell

  • Active Users
  • **
  • Posts: 55
    • View Profile
In free time, I am creating stuff in Unreal4 (and no, it's not going to replace off-line rendering at all, it won't even become popular in archviz...trust me ;- ) not any soon),

are you sure about that? I too am playing around with UE4 and lots of arch viz stuff has been posted on the ue forums, stuff like
sure its not corona gallery quality but for realtime its pretty impressive
anyway sorry didn't mean to go off topic

2014-09-08, 18:25:03
Reply #6

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Yes, I am absolutely sure, at least for next 2+ years :- ). I don't want to side-topic this thread, so briefly: All the demos are nice (really nice !), but...they are extremely simple. It's few boxy shapes, simple furniture. Try taking complex regular archviz scene, doing proper (even if automatic!) unwrap for lightmapping and watch the fun. If you're able to produce something in month, that you would in off-line do in 3 days, come back to me and I will give you golden grail ;- ).

I am not talking quality (which is often quite excellent...to certain point of course). Archviz isn't about quality only, it's about productivity. The current workflow is very laborious and based on concepts long alienated in such streamlined environment like Visualization is (try unwrapping your whole set of decorations from Evermotion/DC/etc, optimizing models and textures..). Once more advanced real-time GI systems come back (I don't hold my hope for any voxel based solution like SVOGI, it's sadly "dead" for Epic, but whatever else comes eventually, we can only hope it's usable).

Koola created a lot of hype...but, most people just won't be able to produce anything at all. They don't see much behind all the complexity, it's only a "toy" for most people right now and will stay at such state for some time.

Look at how many people can't create simple nice rendering with off-line tools, where everything is single click of button, thousands of tutorials, ready-to-import assets (Ever/DC+/etc..)...and you except to see something way more complex like real-time pick-off any soon ? Real-time has been here for past 5 years (I was using CryEngine 4 years ago in college!!). The tools only evolved, they're not drastically different, workflow is identical, just streamlined. There is no revolution going on. There is just hype, and easy dreams :- ).

But yes, would be great if you prove me wrong :- ) I am trying to prove myself wrong !
« Last Edit: 2014-09-08, 18:30:40 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!

2014-09-08, 18:43:02
Reply #7

elindell

  • Active Users
  • **
  • Posts: 55
    • View Profile
Yes, I am absolutely sure, at least for next 2+ years :- ). I don't want to side-topic this thread, so briefly: All the demos are nice (really nice !), but...they are extremely simple. It's few boxy shapes, simple furniture. Try taking complex regular archviz scene, doing proper (even if automatic!) unwrap for lightmapping and watch the fun. If you're able to produce something in month, that you would in off-line do in 3 days, come back to me and I will give you golden grail ;- ).

I am not talking quality (which is often quite excellent...to certain point of course). Archviz isn't about quality only, it's about productivity. The current workflow is very laborious and based on concepts long alienated in such streamlined environment like Visualization is (try unwrapping your whole set of decorations from Evermotion/DC/etc, optimizing models and textures..). Once more advanced real-time GI systems come back (I don't hold my hope for any voxel based solution like SVOGI, it's sadly "dead" for Epic, but whatever else comes eventually, we can only hope it's usable).

Koola created a lot of hype...but, most people just won't be able to produce anything at all. They don't see much behind all the complexity, it's only a "toy" for most people right now and will stay at such state for some time.

Look at how many people can't create simple nice rendering with off-line tools, where everything is single click of button, thousands of tutorials, ready-to-import assets (Ever/DC+/etc..)...and you except to see something way more complex like real-time pick-off any soon ? Real-time has been here for past 5 years (I was using CryEngine 4 years ago in college!!). The tools only evolved, they're not drastically different, workflow is identical, just streamlined. There is no revolution going on. There is just hype, and easy dreams :- ). Cheers

good points, and yes I'm learning there is a lot more work involved in getting stuff ready for a game engine :)

back on topic, regarding glossiness/reflectivity/IOR, I find myself using arbitrary values till they "look" right but I'm sure they are wrong physically, it would be interesting to try corona with the material system that UE4 and other software have adopted.

2014-09-08, 19:23:58
Reply #8

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
One thing that's particulary in mind for me is that I often find it hard to achieve consistent materials among scene. Some materials will inherently end up being too reflective, and some too little. And there is nothing
I can do about it outside of eye-balling, not something I am very talented for. Corona will of course, always render the material to be physically plausible thanks to energy conservation law, but it will look off to what my eyes are used to when I
compare the whole scene.
So while it's easy enough to setup materials right now, it's easier with PBR aproach to make them all consistent with each other.

It's nothing about scientific, nerdy or complicated stuff. This stuff gets widely adopted now because it's even more artist-friendly than the outdated spec/gloss model, which really is just legacy.
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!

2014-09-08, 21:36:05
Reply #9

lasse1309

  • Active Users
  • **
  • Posts: 70
    • View Profile
hola,

i've been toying around with unreal for past week or so and really like the shading approach.
it's even more logical to presume a surface is flat (reflective) and you roughen it up - to make it matte.
moch more predictable in my eyes; and more easy just because you would have less controls at hand.

it's also easier to describe. "matte, yellow metall" would be translated into the shader directly like you say it.

i absolutely agree with you what you say about the UE4 hype; there are nice works around, I am also trying to wrap my head around it.
actually you cannot really take it as an substitute for traditional vis-work in my opinion but as an additional "product".
I've seen a lot of things being produced to market stuff - so the better performance and easier workfol in real time engines is a good thing after all.

well, i would like to contribute sth to the discussion, as I sent you last WE. It is a "sketch" basically to wire a PBR shading like setup
with traditional max/corona nodes.
It is very much approximate and has several issues but i did not have much time to put into it since then!

if anyone has some ideas to share on that topic, feel free :D


2014-09-08, 22:38:23
Reply #10

Fibonacci

  • Active Users
  • **
  • Posts: 269
  • 3Dmanufaktura
    • View Profile
Hmmm... Interesting !
Holy Corona : the materials is the clue.

2014-09-09, 02:40:25
Reply #11

fco3d

  • Active Users
  • **
  • Posts: 54
    • View Profile
I also agree with Juraj that PBR approach is a more intuitive way to setup materials and get suspected results instead of try and see.  Now to me it is the natural evolving of this rendering technology, in the beginning since it was so primitive, bump and specular where just cheat ways to get stuff done, compared to today's technology and hardware being way more advance we should just able to input real world information and get correct results.
Now the only thing that worries me is with the implementation, for instance Autodesk materials, they create those "Physically correct shaders" to eliminate the guess work for the user, but they are just terrible to use and not flexible at all.  I am pretty sure Corona team will do better work than that ;)

Funny thing is I read that Disney's paper time ago and at the same time I was massaging the possibility to buy Grant Warkick VRay training videos.  I know and understand that it is a great learning source but thinking of this new approach of making materials with physically properties will soon make all the trick and work around obsolete.  it is a funny though still.


2014-09-09, 20:38:49
Reply #12

Fibonacci

  • Active Users
  • **
  • Posts: 269
  • 3Dmanufaktura
    • View Profile
I think if you really want to achieve the phisically correct mats with reflect and glossiness, etc...there is the hardest but the "best" way to programming the shaders...like the big bosses...

Of course there you have to knows so much things deeper, than now...

Grant an nice guy, what he'd shared with the CG community is cool...but that's "only" the clue for the heaven's door...Maybe more than enought ! :D

Holy Corona : the materials is the clue.

2014-09-21, 10:19:43
Reply #13

minimaldesign - Blaž

  • Active Users
  • **
  • Posts: 158
    • View Profile
    • minimaldesign
Below is the "recipe" for stainless steel components :P
(The major components of stainless steel are: iron, chromium, carbon, nickel, molybdenum and small quantities of other metals.)