Author Topic: PBR tuning of the reflectivity ability  (Read 30091 times)

2014-09-07, 14:35:25

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Hello, Ondra and Corona Renderer team!
Is it possible to make the tuning of the reflectivity ability with the reflect level but not with the reflect IOR - like it work in real world?
I mean that the level will rule the value of frontal reflection and then let the fresnel do his work.
And take off the IOR from the reflection settings
I resume: the refl.level - frontal reflection and the fresnel - watchs that with ~0 deg. would ~100% reflection

2014-09-07, 21:27:50
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12714
  • Marcin
    • View Profile
I'm not sure what you mean but you can turn off reflection IOR by setting it to 999. Or at least that's what Keymaster wrote some time ago. :)

When you are using some fresnel IOR value, then the "reflection level" parameters determines maximum allowed reflectivity.

Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2014-09-07, 21:49:41
Reply #2

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
Modo has it this way and it's the worst system ever. It's one of the reasons Modo users do so ugly renders. Anyway, it's easily achievable in Corona:



But it's still wrong. Fresnel IOR defines ratio between facing and parallel reflectivity, so if you change it, you will break the correctness of fresnel. Modo has it implemented in this wrong way, and it's really the reason so many Modo users have hard time creating photorealistic shaders, especially for architectural interiors.

You should simply use Fresnel IOR, and not touch the ratio. With IOR number, you can easily tweak ratio, while keeping fresnel correct. Basically, higher IOR = less contrast between facing and parallel, and lower IOR = higher contrast between facing and parallel. As soon as you start to tweak it manually, you will break it.

2014-09-07, 22:02:01
Reply #3

vicnaum

  • Active Users
  • **
  • Posts: 69
    • View Profile
No, you got it all completely wrong.

You shouldn't change the maximum allowed reflectivity, it's not correct. Nor you shouldn't change the facing without changing the IOR.

Everything headoff wanted it the inverse of IOR.

Let me explain:
1. Each IOR has it's own starting facing reflectivity value.
2. For example IOR 1.33 has 0.02 facing starting value, IOR 1.51 has 0.041, and IOR 4.44 starts with 0.4. And all they go to 1.0 on the grazing edge.

What headoff wants is an inverse control - so you can set up the IOR by turning the base facing reflectivity. So, say, if you set up 0.02 reflectivity = IOR sets as 1.33. and so on. And these should be LINKED. And the Reflection Level slider, which affects maximum grazing reflection should be removed.

That's what shortly speaking headoff meant.

2014-09-07, 22:29:07
Reply #4

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
No, you got it all completely wrong.

You shouldn't change the maximum allowed reflectivity, it's not correct. Nor you shouldn't change the facing without changing the IOR.

Everything headoff wanted it the inverse of IOR.

Let me explain:
1. Each IOR has it's own starting facing reflectivity value.
2. For example IOR 1.33 has 0.02 facing starting value, IOR 1.51 has 0.041, and IOR 4.44 starts with 0.4. And all they go to 1.0 on the grazing edge.

What headoff wants is an inverse control - so you can set up the IOR by turning the base facing reflectivity. So, say, if you set up 0.02 reflectivity = IOR sets as 1.33. and so on. And these should be LINKED. And the Reflection Level slider, which affects maximum grazing reflection should be removed.

That's what shortly speaking headoff meant.

Could you post an example of any renderer that uses that? It really sounds like schlick approximation that Modo uses, and it makes process of creating good looking photorealistic materials complete hell. Or in other words, all of the mainstream renderers use the current model, and people do not have any trouble creating highly photorealistic materials. I am not saying it can not be improved further, and that we should keep using sticks and stones no matter what, but my point is that while there is no proof it can make setup of photorealistic materials better/easier, Modo is a definite proof it can make setup of photorealistic materials worse/harder.

2014-09-08, 00:01:36
Reply #5

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8780
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Very interesting discussion going on here. I would love to have more educated base in my material creation and less guesstimation. So, carry on, but without personal bashing, please.

Let me explain:
1. Each IOR has it's own starting facing reflectivity value.
2. For example IOR 1.33 has 0.02 facing starting value, IOR 1.51 has 0.041, and IOR 4.44 starts with 0.4. And all they go to 1.0 on the grazing edge.

Is there a formula to calculate that or is it just yours arbitrary numbers?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2014-09-08, 00:58:13
Reply #6

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Vicnaum deserves a medal for clarifying stuff ! :- )

Yes, some PBR models (like the one in Unreal engine 4 derived from Disney's paper) use inverted specular reflectivity values because they wanted UNIFIED model for specular reflectivity across both metals and not metals.

Why is this logical: (I am not advocating we need this actually at all, but just writting argument against "all the mainstream renderers do something, so it's obviously right" fallacy type of argument above).

1)Metals don't translate well using only the simplified fresnel formula (only n-number), so they end up looking "incorrect" (of course, depends to what point at which case), and to avoid using the complex model (n,K), which
for example Maxwell has, they ditched it altogether and just let you specify base reflectivity and metal-ness (0 or 1, whether the material is metal, or not metal). The rest is adjusted internally then.
This also lets you lineary scale the specular value from non-metal (which will be at 0.02-0.04) to something like 0.6 for chrome or 0.9 for aluminium. One value for all material types, instead of two values.

2) If we discount refractiveindex.com , it's easier to get measured values in inverted fashion. It's still potato values, but easier to use, because again, we are only using ONE value (fresnel is computed internally aftewards).
From 0.02-0.04 for non-metal likes plastics, paints,etc.. to 0.2-0.95 etc.. for metals. This is both easier to custom modelling the curve from ref index web, as well as inputting 2 values for full fresnel n/K (too scientific).

Both points above become strong positive when it comes to authoring textures. The whole workflow was intended so you can paint your textures more universally. You only paint single specular map which will only apply with metals,
and will contain both color and intensity (in the scale above,0.2+) but will be ignored for non-metals, which will return to default 0.04 (1.52 IOR as Vicnaum wrote). Both will keep 1.0 at grazing angle and their variance will be driven
by single another map, roughness. It's very simple model actually. I suggest everyone to play with Unreal to get the feel of how it works. It's not more abstract, it's more user-friendly and logical.

It doesn't make creating material "like hell", nor does it look like anything Modo does. It's the same stuff. It's actually easier, and it prevents people from creating "incorrect" materials (metal with too high albedo because you use diffuse, but incorrectly low specularity because you used random IOR number like 8-12 instead of unique curve which varries a lot for metals, and can only be simulated by the respective curve, or full fresnel formula, n/K (like Maxwell).

All the other stuff applies same way, there is no "capping" of specular reflectivity, it always go to 100perc. but the curve can be so steep that coupled with rough surface, the material simply appear mat (and shader lambertian)

Last but not least to counter the "People have no-problem creating photo-realistic materials":

Well, I would say they do.. 99perc. of people including me have that problem. But the problem is not so much that's not possible now. It is just fine. But that it could be refined to allow "easier" creating of them, by a model that very much
navigates you to correct result and avoids the possibility of having physically incorrect materials.
Which the current model promotes, the fact the you can cap reflectivity for non-metals means that vast majority of people have materials that are less reflective then they should. Instead, they often compensate by too high diffuse values or generally upping exposure for whole image and then complain on forums of "flat, washed out" look.

« Last Edit: 2014-09-08, 01:32:33 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, 04:11:20
Reply #7

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Yep guys!
Vicnaum and Juraj_Talcik are right fully in that I want to say

Romullus, you can look here:  http://hyperphysics.phy-astr.gsu.edu/hbase/phyopt/reflco.html

Formula in simple form is: R=(n1-n2)^2/(n1+n2)^2, R - reflectance, n1/n2 - IOR of the first and of the second medias. In our case n2 is the air with IOR ~1

So formula is: R=(n1-1)^2/(n1+1)^2

And in backward:  n=(SQRT(R)+1)/(1-SQRT(R))

for n=1.33  -  R=0.0201     ~2% 
for n=1.51  -  R=0.0413     ~4%
etc

But it work directly only for the non-diffuse surfaces. For other surfaces need to divide reflectance between the diffuse reflections and the direct reflections

2014-09-08, 13:36:26
Reply #8

agentdark45

  • Active Users
  • **
  • Posts: 579
    • View Profile
I'm completely lost in this thread...could you guys post up some example photos or renders to help show what you're talking about? Seems like a very interesting topic!
Vray who?

2014-09-09, 00:54:08
Reply #9

Adanmq

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 94
    • View Profile
    • 3D Collective
Hi.
Even if it´s not "user friendly", you can go the opposite way. If you know R you can deduce a "fake" n that will give you the R you want and use it as the IOR. Should give you similar results. The idea of 2 linked values looks very good to me. I still prefer custom Fresnel curves for the moment.

2014-09-09, 20:03:19
Reply #10

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
This is how it realized in MentalRay
One mult. - the Reflectivity. Like in the real physic. No anything superfluous - only that what needed.
But here is one minus - there is not map for reflectivity ((

2014-09-09, 20:37:36
Reply #11

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12714
  • Marcin
    • View Profile
Reflectivity map in MR is driven by the "color" slot next to reflectivity...

---

Ok, guys, you are discussing important things here, but is there any universal solution? Different materials have different IOR/reflectivity "profiles" so this could be solved by presets but you would either need lots of them or be able to manually alter them to create new materials. Would it be best to have a switch to use or not use the "physically correct" method? Maybe a whole different material? (this surely wouldn't be a Coronesque move)
« Last Edit: 2014-09-09, 20:45:19 by maru »
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2014-09-09, 20:56:00
Reply #12

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
This is how it realized in MentalRay
One mult. - the Reflectivity. Like in the real physic. No anything superfluous - only that what needed.
But here is one minus - there is not map for reflectivity ((

Yes... this makes no sense. Level is multiplier of reflectivity color. So map slot next to color is what drives reflectivity.

So now that i understand what you all want, it makes even less sense. It's basically different way to set up the exact same thing. But the way that a lot less people is familiar with. It does not add any more flexibility, nor does it add possibility of creating better looking materials. It just makes things different, not better, not worse, just different.

Well, almost, because it then actually removes some flexibility - ability to modify overall reflectivity. Sure it may not be physically correct, but if client wants material same, but less reflective, you can't say now.
« Last Edit: 2014-09-09, 21:03:36 by Rawalanche »

2014-09-09, 21:19:36
Reply #13

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website

Well, almost, because it then actually removes some flexibility - ability to modify overall reflectivity. Sure it may not be physically correct, but if client wants material same, but less reflective, you can't say now.

Proper controls (like in Disney model) let you go outside boundaries always. But it's the fact those controls are more logical with their linked nature by default and more sound terminology.
Of course, there is much more to it and on one end some people think it's magical solution to something (it's not, but this is very nature of holy grail searching mentality), but then again your stance is continually biased and you're always quick to come to over-simplified opinion based on current preference.

But with that said I don't know what the MentalRay comparison showed...there is nothing different there. These threads get confusing too fast.
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-09, 21:30:27
Reply #14

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
Ok,

since there's quite a bunch of people who are requesting it, i am researching a way to get it into UI. Keep in mind this is at this point just a theroretical concept and not guaranteed to show up in Corona (although at some point it probably will)

The idea is enabling PBR mode in material would freeze level and IOR input, and enable value field to input facing reflectivity. IOR value field, even when frozen, would still show the number that is being derived from current fac. reflectivity parameter.


2014-09-09, 22:07:31
Reply #15

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8780
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I don't get it. It doesn't add any bit of funcionality nor eases workflow, just clutters CoronaMtl UI. I like very much Disney's PBR model, that Juraj Talcik talking about, but your concept isn't anything about it. Is it really needed?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2014-09-09, 22:10:45
Reply #16

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Well, now we're going somewhere, cheers :- ).

But I don't find that solution to be most fortunate, I know this thread requested single value (just inverting control choice), but that was largely taken out of context and out of misunderstanding imho.
Mixing something like that, even in crude form shows something that is very confusing and not set right. It just swaps grazing angle for facing angle, which is small subset of the whole philosophy only and not even the main idea.
The crucial core is in metalness/roughness combination, something that can work even with IOR input, grazing reflectivity intact. The other things are just matter of preference/choice.

I would follow quite strictly the Disney model, because it's laid out quite excellently and is very cohesive.

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-09, 22:58:47
Reply #17

Adanmq

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 94
    • View Profile
    • 3D Collective
Hi.

But if you don´t fully change the material mode in order to be more like the alternative Juraj is talking about, i think adding extra parameters to the actual one can confuse some people.

Lets say you have a material using 1.5 IOR (0.04 - 4%refl) and you want 0.08 - 8%, you can use 1.79 IOR to get it. So actually you can easily control reflectivity this way. Now you can control max refl using the level mult and map and minimum using IOR or custom curve.

I reproduce this experiment in 3DStudio MAX: http://therenderblog.com/custom-fresnel-curves-in-maya/ Not the part of copy the curve, because i just use the refractiveindex.info data as a reference or starting point.

IOR 1.5


IOR 1.79



I don´t if this is what you mean or i´m missing something.
« Last Edit: 2014-09-09, 23:04:06 by Adanmq »

2014-09-09, 23:20:11
Reply #18

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Of course we can and we do it so now! But why will not to do it more correctly? People look for IOR of reflection in web and they cannot find - because it is not   anywhere and never been. But there is very much information about reflectivity of materials

The Disney model of BRDF is very interesting. I not read yet in details about it.
Here is the explaining with the samples: http://www.disneyanimation.com/technology/brdf.html

2014-09-09, 23:25:07
Reply #19

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Yeah, one can uses curves, although it does sort of make sense only to do so if you want very precise metals that exhibit curve that differ strongly from one you can get with simple IOR.
Some have retro-grazing reflections,etc.. but, in everyday job, does not make big difference.

The issue with this is that it's overall measured reflectivity for given material, but it should be affected by 'roughness' in slightly different way than glossiness does, it should both spread but also loose its influence on the surface, moving towards lambertian shader on fully rough end of spectrum (100perc. rough= 0. glossy)
I am not actually sure what really happens in that relationship or how to describe it. It just behaves better, more natural.

In roughness model, you have reflectivity always, for every material in scene and in correct amount, simply by eye-balling its rough/glossy properties, something very easy for every artist to do. That's the key point I think, at least from my limited understanding.
I think my stance is often misrepresented here is pursue of utmost photorealness or arbitrary physical corectness for sake of it (and some really go after that). Not really, it's not what I strife for. I just wish to achieve photorealistic results in easiest, and most artist-friendly manner possible. I don't like the "just eye-ball everything in uncontrolled environment".
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-10, 00:09:00
Reply #20

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
So...

Custom curve is easily doable using falloff node

The same node also allows non-physical artistic control of fresnel

Fresnel IOR in CoronaMTL allows for same PBR control, just in opposite direction

PBR mode would allow the same thing in the direction of control you request

Reflection level allows another layer of non physical fine tuning

So currently, there is all flexibility needed, and it's just about reducing it to guide people to create more physically based materials.


One of the ideas on the table is to create layering system, like in Blender Cycles, Octane, or what nVidia does with MILA. Of course, Corona implementation would be on par with Corona usability standard, so idea is to take best of all there is currently on the market, and wrap it into nice polished simple to use solution.

It would have following benefits:

CoronaMTL would stay uncluttered, and friendly for those who need to create quick simple materials. Even for those who create complex materials, it would serve as a material for objects out of area of interest. I doubt many would want to spent time creating layered shaders for distant background objects.

Since there would be basic components like diffuse, specular, scatter, refraction... every node could contain a bit more, and there could be nodes for specific worfklow. There could be for example legacy specular node with same system CoronaMTL has now, and PRB specular with roughness instead of glossiness, inverse Fresnel control, and BRDF picker to pick between ashikhmin and GGX.

GGX is probably necessary for the inverse control Fresnel model, because inverse control implies that max. reflectivity value is always 1. If you think about for example dusty old worn asphalt road, you can hardly imagine such material having maximal reflectivity at grazing angles. This is what GGX solves, because it's a microfacet model that takes self shadowing (and therefore light attenuation on the surface) into account so reflection would correctly dim with roughness.

It would of course give corona so much demanded layering system. There will of course be legacy style multilayer blend material too.

It would bring Corona closer on the same page with new PBR standards.

It would make it probably easier to implement experimental shading models, as when material is separated to basic shading elements, UI of individual nodes is a lot simpler, and therefore we can fit more things in without making it appear overwhelming.

BTW if anyone could get a screenshot of how Disney material UI looks like (the one their artists use day to day), it would help a lot.

Non the less, it's not gonna happen too soon, as there are other a lot more pressing things on the priority list.

2014-09-10, 00:16:31
Reply #21

Adanmq

  • Primary Certified Instructor
  • Active Users
  • ***
  • Posts: 94
    • View Profile
    • 3D Collective

2014-09-10, 00:21:39
Reply #22

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
...

I finally agree with everything you said ;- ) All points.



Non the less, it's not gonna happen too soon, as there are other a lot more pressing things on the priority list.

Probably no issue for anyone. But lot to look for !



If anyone could get a screenshot of how Disney material UI looks like (the one their artists use day to day), it would help a lot.



Would love to see this too actually. Unreal engine 4 has a simplified version of it regarding attributes (but quite complex regarding input, 1/2/3/4 vectors in every parameter which is..interesting)
« Last Edit: 2014-09-10, 00:25:53 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-10, 00:40:57
Reply #23

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8780
  • Let's move this topic, shall we?
    • View Profile
    • My Models
So...

[...]

Non the less, it's not gonna happen too soon, as there are other a lot more pressing things on the priority list.

If it's actuall plan for Corona's future developement and not just a dream of just another user, then i couldn't be hapier with it.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2014-09-10, 00:47:05
Reply #24

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
So...

[...]

Non the less, it's not gonna happen too soon, as there are other a lot more pressing things on the priority list.

If it's actuall plan for Corona's future developement and not just a dream of just another user, then i couldn't be hapier with it.

Consider it just a dream for now :)

2014-09-10, 01:37:50
Reply #25

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Even if it will happen not too soon in any case I'm happy we all have understood one another

I will be waiting for the best PBR Corons Renderer with eagerly (;
I will try too to find screenshot of how Disney material UI looks like if it was posted in web

here is something interesting: http://www.alexandre-pestana.com/physically-based-shading-metallic-specular-workflows/
and continue in: http://www.alexandre-pestana.com/disney-principled-brdf-implementation/

2014-09-10, 09:38:36
Reply #26

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
PBR will not happen before the commercial release (end of the year). But in long term, we would be happy to move users towards more physically based shading, so we are open to it.
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-09-10, 14:20:34
Reply #27

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website


 http://www.alexandre-pestana.com/physically-based-shading-metallic-specular-workflows/
and continue in: http://www.alexandre-pestana.com/disney-principled-brdf-implementation/

These are really good ! And describe the benefits well.

"Using only these inputs you can’t change the specular value of your dielectric materials, but you can add another one, in the range 0.017 – 0.063, remapped to 0 – 1 to control this value."

It gives you a lot of 0-1 parameters, but at any given combination, result is always correct from real-world stand point reference.
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-13, 22:12:22
Reply #29

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Seen the marmoset guide quite time ago, love their example :- ) Wish I had such texturing skillz...

http://www.rorydriscoll.com/2013/11/22/physically-based-shading/

Interesting picture comparison, shows how Disney's implementation (not controls now, but, algorithms) matches quite closely scanned MERL data, to much greater extent than Blinn/Phong.



Even better is the large comment from Exil, which goes into difference between 'physically-correct' and 'physically-based' and implementations into practice.
« Last Edit: 2014-09-13, 22:19: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-21, 21:44:09
Reply #31

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
Excellent compilation, I love Polycount.com, def my favorite forum
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-23, 08:09:49
Reply #32

vicnaum

  • Active Users
  • **
  • Posts: 69
    • View Profile
I don't understand something about GGX....

I used to think that GGX is a microfacet/microsurface model. So all these things should come with it:
1) More realistic blurry highlights with halos around bright things.
2) Reflections become less gloss and more sharp at 0deg angles, and the amount of this is controlled by microsurface parameters (width/height).
3) Reflection brightness dimming is controlled by these parameters too.

Only the 1st point with blurry highlights is now implemented in corona daily build.
Will Ondra continue developing the other points 2 & 3?

Here are some interesting materials with explanations about it:
http://www.cs.cornell.edu/Courses/cs6630/2012sp/slides/05ufacet.pdf
<-- great vid with beautiful real-world explanations & examples.


2014-11-01, 14:01:22
Reply #34

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Hi again
We tested coronamat long time to find workflow that would be maximum close to phisics.
And we found that any changing of ReflLevel or ReflRGB below from of 1 or 255rgb shifts the whole fresnel curve in Y-axis down - in other words this changing cuts reflection.
In same time changing of the IORreflect up/down change only start point of fresnel curve in Y-axis up/down and save 100% reflection with 0 deg - as it must be.

Second moment we found - the glossiness of material from point of view. When POV moves down close to 0 deg then the reflection will change from blured reflection to sharpness reflection more and more untill will 100%. Exception - super matte materials

In attach the same information in pictures

2014-11-01, 20:45:32
Reply #35

vicnaum

  • Active Users
  • **
  • Posts: 69
    • View Profile
Exactly.

So, we're left with three parameters for an ordinary material:
1) Diffuse (albedo) color/map
2) IOR
3) Glossiness/Roughness color or map
(optional, for metals: Reflection color)

Everything else is redundant and is deducted from those.

Soon we'll reveal the workflow with new PBR materials compared to photographic tests.

2014-11-01, 21:13:34
Reply #36

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs
Interesting
Now I found that in there Refractiveindex.info is Reflection calculator. And for example for plastic we see this:
http://refractiveindex.info/?shelf=other&book=CR-39&page=poly
IOR - n = 1.4980
Refl - R = 0.039744
Even Refractiveindex.info agrees that need to use true physics categories (;

2014-12-11, 19:08:31
Reply #37

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
This is no longer a feature request, but a discussion, so I moved the thread. We will consider some alterantive material approaches in the future.
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-12-11, 21:40:51
Reply #38

Captain Obvious

  • Active Users
  • **
  • Posts: 167
    • View Profile
I've been using GGX and GRT lately, and I really like both.

2014-12-13, 01:00:44
Reply #39

marioteodoru

  • Active Users
  • **
  • Posts: 96
    • View Profile
I'm sorry to jump in, i have an somehow unrelated question, and please bear in mind i am very nontechnical. I still haven't understand completely how corona settings works for materials.
So, should i understand that i can input values like 0.0234 or with even more decimal ? I'm asking because i'm just a user, so for me , in my head it was working more like 0.1- 0.2-0.3 up to 1.  It this high precision for all the settings in materials or just for Refl?  Please excuse me if my question is stupid, but reading this thread, i can see that i   actually have no idea how to make accurate settings for materials. Maybe also the reason for my poor materials.  Is this also for diffuse? I could use  a value of 0.17263 and make sens ?

2014-12-13, 05:32:49
Reply #40

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website
I'm sorry to jump in, i have an somehow unrelated question, and please bear in mind i am very nontechnical. I still haven't understand completely how corona settings works for materials.
So, should i understand that i can input values like 0.0234 or with even more decimal ? I'm asking because i'm just a user, so for me , in my head it was working more like 0.1- 0.2-0.3 up to 1.  It this high precision for all the settings in materials or just for Refl?  Please excuse me if my question is stupid, but reading this thread, i can see that i   actually have no idea how to make accurate settings for materials. Maybe also the reason for my poor materials.  Is this also for diffuse? I could use  a value of 0.17263 and make sens ?

If none of this makes sense, don't complicate your life. Some of the articles linked in this thread explain all that's discussed, don't ask for tl:dr notes.

But matter of fact, no, none of it is important, you don't need to use any numbers and absolutely not such small minimal decimals.

Here is simple (/simplified) guide to live by:

Non-metal: Keep everything default (Ior: 1.52) and create textures that suite your look. Some materials can be more reflective (up to 2+) like plastics), some are less (1.333 like water), but you can still keep it default.
Metal: Keep Ior between 4-to-40 +/- (the simplest way without using curves or anything to setup exact specular curve of metal).

Adjust Glossiness using 0-to-1 and textures how it looks good to your eye.

That's all the number you need in nutshell. You don,t need any 0.2122475 magic to make something look real, you missunderstood this thread.
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-12-14, 13:31:45
Reply #41

marioteodoru

  • Active Users
  • **
  • Posts: 96
    • View Profile
Thank you Juraj_Talcik for your explanation.  :)

2014-12-25, 22:26:18
Reply #42

CiroC

  • Active Users
  • **
  • Posts: 506
    • View Profile
    • Portfolio
I'm sorry to jump in, i have an somehow unrelated question, and please bear in mind i am very nontechnical. I still haven't understand completely how corona settings works for materials.
So, should i understand that i can input values like 0.0234 or with even more decimal ? I'm asking because i'm just a user, so for me , in my head it was working more like 0.1- 0.2-0.3 up to 1.  It this high precision for all the settings in materials or just for Refl?  Please excuse me if my question is stupid, but reading this thread, i can see that i   actually have no idea how to make accurate settings for materials. Maybe also the reason for my poor materials.  Is this also for diffuse? I could use  a value of 0.17263 and make sens ?

If none of this makes sense, don't complicate your life. Some of the articles linked in this thread explain all that's discussed, don't ask for tl:dr notes.

But matter of fact, no, none of it is important, you don't need to use any numbers and absolutely not such small minimal decimals.

Here is simple (/simplified) guide to live by:

Non-metal: Keep everything default (Ior: 1.52) and create textures that suite your look. Some materials can be more reflective (up to 2+) like plastics), some are less (1.333 like water), but you can still keep it default.
Metal: Keep Ior between 4-to-40 +/- (the simplest way without using curves or anything to setup exact specular curve of metal).

Adjust Glossiness using 0-to-1 and textures how it looks good to your eye.

That's all the number you need in nutshell. You don,t need any 0.2122475 magic to make something look real, you missunderstood this thread.

But, when you tweak the materials, do you use the Material Editor preview?

2014-12-26, 00:18:34
Reply #43

Stan_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs

2014-12-26, 09:04:43
Reply #44

CiroC

  • Active Users
  • **
  • Posts: 506
    • View Profile
    • Portfolio
But, when you tweak the materials, do you use the Material Editor preview?

of course
Why do you ask?

Well, I am kind of new Corona's user and I usually tweak the materials based on the render I am getting. But if the preview from the Material Editor is accurate that means that after creating a material I only need to tweak the material do look good in the render?

I may be crucified for saying this, but I never relied on the Material's preview to create the material and adjust the maps.

2014-12-29, 01:05:02
Reply #45

Juraj

  • Active Users
  • **
  • Posts: 4743
    • View Profile
    • studio website


Well, I am kind of new Corona's user and I usually tweak the materials based on the render I am getting. But if the preview from the Material Editor is accurate that means that after creating a material I only need to tweak the material do look good in the render?

I may be crucified for saying this, but I never relied on the Material's preview to create the material and adjust the maps.

Well, depends ;- )

I tweak the basics in mat editor, but only real render inside environment will tell me more. The editor preview, while plausible (it's the same engine), has just strange lighting setup with large close area light that's really not very representative of any sort of scene. Actually, some materials, I tweak in multiple render environments to check if it behaves accordingly in all of them (direct/non-direct light, interior/exterior).

The new interactive rendering is fantastic for this.

And to quote someone knowleadgeable about this topic, last year in Venice AD, Bertrand Benoit mentioned he only tweaks materials on exact object he intends to use it. So if he is creating rusty black metal for kitchen stove, he will keep rendering that kitchen stove from different angles to see if it behaves like it should.
I do the same pretty much (I am master of pointless viewport rotating and endless unnecessary test renders).

I hope that answers this :- )
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-12-30, 10:26:58
Reply #46

CiroC

  • Active Users
  • **
  • Posts: 506
    • View Profile
    • Portfolio
Well, depends ;- )

I tweak the basics in mat editor, but only real render inside environment will tell me more. The editor preview, while plausible (it's the same engine), has just strange lighting setup with large close area light that's really not very representative of any sort of scene. Actually, some materials, I tweak in multiple render environments to check if it behaves accordingly in all of them (direct/non-direct light, interior/exterior).

The new interactive rendering is fantastic for this.

And to quote someone knowleadgeable about this topic, last year in Venice AD, Bertrand Benoit mentioned he only tweaks materials on exact object he intends to use it. So if he is creating rusty black metal for kitchen stove, he will keep rendering that kitchen stove from different angles to see if it behaves like it should.
I do the same pretty much (I am master of pointless viewport rotating and endless unnecessary test renders).

I hope that answers this :- )

Thanks for the reply Juraj.

I use the Material preview for the basic things as well. I mean the diffuse, reflection, glossiness and in some situations the bump map. I look forward to have a go with the interactive rendering and skip the use of the material editor preview for the initial setup.

In the beginning I was using the "Material test scene" that Bertrand provided just to find out that the material had a different look on my scene and what Bertrand mentioned it is true. I found out that recently while creating and tweaking a concrete material that looked completely different when applied to the surfaces I wanted. So, I learned the lesson and from now on only tweak the material using the specific geometry.

Thanks for taking the time and reply to my doubt.