Author Topic: Is this possible with corona? (proper brushed metal)  (Read 1436 times)

2018-11-26, 00:29:33

lupaz

  • Active Users
  • **
  • Posts: 268
    • View Profile
Is the effect shown in the video below possible with Corona?
No matter what I've done in the last couple of years, or since I saw this video, I was never able to replicate this effect with corona.

I don't know if it's that bump map behaves differently than Fstorm or if it's an AA issue.

Is it possible to do it at all? Or I'm wasting time trying?

Thanks!


2018-11-26, 11:08:39
Reply #1

Juraj Talcik

  • Active Users
  • **
  • Posts: 3435
  • Tinkering away
    • View Profile
    • studio website
Anisotropic effect ? Absolutely, but sadly not with normal map alone if it's too dense. Corona can't sample such microdetail properly.

You have to use the anisotropic property (angle&intensity in reflection rollout).
talcikdemovicova.com  Website and blog
be.net/jurajtalcik    My Behance portfolio
lysfaere.com   Something new

2018-11-26, 11:54:17
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 5521
  • Let's move this topic, shall we?
    • View Profile
    • My Models
But you wouldn't see any difference at normal distance anyway, only at extremes close-ups. But at that point you can use bump in Corona too :]

I wonder if Fstorm is able to sample bump so good, just because in the video was used its own noise shader? It might be that this trick won't work with regular noise or bitmap texture.
I'm not Corona Team member. Everything i say, is my personal opinion only.
R.I.P. Niki Lauda

2018-11-26, 12:15:12
Reply #3

Juraj Talcik

  • Active Users
  • **
  • Posts: 3435
  • Tinkering away
    • View Profile
    • studio website
I wonder if Fstorm is able to sample bump so good, just because in the video was used its own noise shader? It might be that this trick won't work with regular noise or bitmap texture.

I wondered this too. At same though, someone told me they integrated this ? http://www.cs.ucsb.edu/~lingqi/publications/paper_glints3.pdf

The benefits of that go way beyond anisotropy alone. It simplifies shader creation and gives super accurate result regardless of resolution. Would be super nice to have that.
talcikdemovicova.com  Website and blog
be.net/jurajtalcik    My Behance portfolio
lysfaere.com   Something new

2018-11-26, 12:20:55
Reply #4

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 5521
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Oh wow, agree - that would very cool to have.
I'm not Corona Team member. Everything i say, is my personal opinion only.
R.I.P. Niki Lauda

2018-11-26, 15:40:35
Reply #5

lupaz

  • Active Users
  • **
  • Posts: 268
    • View Profile
Anisotropic effect ? Absolutely, but sadly not with normal map alone if it's too dense. Corona can't sample such microdetail properly.

You have to use the anisotropic property (angle&intensity in reflection rollout).

Hi Juraj,
Right, I was referring to the micro detail.
The fake anisotropic property doesn't cut it for me unfortunately.

In Fstorm you can get this effect just by using bump maps.

That would be a really nice feature to have.



2018-11-27, 15:53:32
Reply #7

lupaz

  • Active Users
  • **
  • Posts: 268
    • View Profile
Thanks Maru.

Juraj mentioned "micro detail". If that's possible to add to corona, that would be great. Not just for brushed metal.

I'm just starting to use Corona 3 after a long time with 1.6, so I don't know if this was improved or not.
But in general I have the feeling that bump map in Corona (even though it's better than with Vray) it doesn't do what bump maps in Fstorm do.

In Corona, if I want sharp detail using bump maps, I tend to reduce the blurring, but many times this causes a lot of noise and it's basically unusable. So in my experience I always need to have blurring, which is not ideal.


2018-11-27, 17:28:28
Reply #8

Fluss

  • Active Users
  • **
  • Posts: 407
    • View Profile
It would also be great to introduce metalness workflow to be able to reproduce more physically accurate metals without clamping the fresnel as explained in vlado's post :

https://www.chaosgroup.com/blog/understanding-metalness

https://github.com/vkoylazov/metalness?fbclid=IwAR07XIVw3uhInGyymMCbsXU_4ET3w0WojJBXWMvUwZPSX7hgk8yE_zkU5Gs

2018-11-27, 17:51:07
Reply #9

Juraj Talcik

  • Active Users
  • **
  • Posts: 3435
  • Tinkering away
    • View Profile
    • studio website
It would also be great to introduce metalness workflow to be able to reproduce more physically accurate metals without clamping the fresnel as explained in vlado's post :

https://www.chaosgroup.com/blog/understanding-metalness

https://github.com/vkoylazov/metalness?fbclid=IwAR07XIVw3uhInGyymMCbsXU_4ET3w0WojJBXWMvUwZPSX7hgk8yE_zkU5Gs

Metalness is planned for next version as part of new principled shader, was requested 100 times, and looks like we'll get it :- ).

But this is strictly workflow, you're not required to clamp any Fresnel at all even right now. 999 leaves Fresnel disabled 99perc. (for 100perc. you have to map the value into fresnel texture slot), and then you place your metallic albedo into front slot of fallof in reflective slot. Metalness will take 3 steps into one, but visual result will not change from what we have right now.


In Corona, if I want sharp detail using bump maps, I tend to reduce the blurring, but many times this causes a lot of noise and it's basically unusable. So in my experience I always need to have blurring, which is not ideal.

Yeah, I would highly suggest avoiding <1 blurring in Corona, it will eventually lead to some sort of visual artifact at arbitrary combination of resolution & glancing angle when you least expect it. It will give you the result you want in one moment and that produce total artifact in slightly changed angle/resolution.
To make CoronaBitmap more useful, a totally different algorithm should have been introduced as high-quality alternative.

But to be fair to Corona, Corona produces superior and correct result from normal map, something F-Storm still doesn't. In fact, it took a ton of convincing and time for the F-Storm dev to even support normal map, as he didn't even understood why they would be preferable.  So this is tie.

But yeah, microgeometry support in shader would be impeccable stuff !
talcikdemovicova.com  Website and blog
be.net/jurajtalcik    My Behance portfolio
lysfaere.com   Something new

2018-11-27, 19:47:41
Reply #10

Fluss

  • Active Users
  • **
  • Posts: 407
    • View Profile

Metalness is planned for next version as part of new principled shader, was requested 100 times, and looks like we'll get it :- ).


Has it been confirmed anywhere ? All I see on the trello is a clearcoat material which is really vague. If that's the case, it's a good news !


But this is strictly workflow, you're not required to clamp any Fresnel at all even right now. 999 leaves Fresnel disabled 99perc. (for 100perc. you have to map the value into fresnel texture slot), and then you place your metallic albedo into front slot of fallof in reflective slot. Metalness will take 3 steps into one, but visual result will not change from what we have right now.


From what I understand from Vlado's post, metallic fresnel is not computed the same way as "standard" fresnel you're referring to. There is a plot of the computed fresnel in the example github folder :



"The folder example_ouptut contains files with example output from the program. As can be seen, the VRayMtl version of the metalness along with the IOR values from this program produce results that are closer to the actual complex Fresnel curve compared to Ole Gulbrandsen's "Artist-Friendly Metallic Fresnel" (see http://jcgt.org/published/0003/04/03/paper.pdf)"

Not to mention that the actual complex fresnel curve is already more accurate than the standard Schlick approximation for metals.


Yeah, I would highly suggest avoiding <1 blurring in Corona, it will eventually lead to some sort of visual artifact at arbitrary combination of resolution & glancing angle when you least expect it. It will give you the result you want in one moment and that produce total artifact in slightly changed angle/resolution.
To make CoronaBitmap more useful, a totally different algorithm should have been introduced as high-quality alternative.

But to be fair to Corona, Corona produces superior and correct result from normal map, something F-Storm still doesn't. In fact, it took a ton of convincing and time for the F-Storm dev to even support normal map, as he didn't even understood why they would be preferable.  So this is tie.

But yeah, microgeometry support in shader would be impeccable stuff !

As we are talking micro-details, Pixar's bump to roughness approach should really be considered. It can use normal, displacement or even bump maps to affect microfacets distribution and anisotropy, in order to recreate surface imperfections in a way that is less prone to diverge according to the distance and produce more physically correct light interaction.

See this : http://graphics.pixar.com/library/PxrMaterialsCourse2017/paper.pdf
And this : https://graphics.pixar.com/library/BumpRoughness/paper.pdf

quoting from the second paper :
"It is cheap to evaluate in modern rendering systems. It plugs directly into a BRDF, such that no modification is needed past the material-level description and has no effect on how the BRDF is sampled or light transport is integrated."
« Last Edit: 2018-11-27, 19:58:19 by Fluss »

2018-11-27, 20:11:08
Reply #11

Juraj Talcik

  • Active Users
  • **
  • Posts: 3435
  • Tinkering away
    • View Profile
    • studio website
Well, can't tell more than is public :- ).

Anyway, I wasn't talking about using Fresnel at all, but disabling it. Vray's metalness workflow doesn't have anything to do with full-model (n&K) fresnel, the fact they introduced metalness workflow (as part of alternative to specular workflow) at same time with complex fresnel is, which was long time possible to with Siger's plugin in reflection slot.

Vray's metalness workflow, does not introduce additional BRDF model so the visual results are identical.

Quote
Not to mention that the actual complex fresnel curve is already more accurate than the standard Schlick approximation for metals.

I don't think anyone is really confused about this here. ( Corona's simple IOR model btw isn't based on Schlick either )

Quote
As we are talking micro-details, Pixar's bump to roughness approach should really be considered. It can use normal, displacement or even bump maps to affect microfacets distribution and anisotropy, in order to recreate surface imperfections in a way that is less prone to diverge according to the distance and produce more physically correct light interaction.

See this : http://graphics.pixar.com/library/PxrMaterialsCourse2017/paper.pdf
And this : https://graphics.pixar.com/library/BumpRoughness/paper.pdf

Absolutely !! There is lot to be desired about the information Corona derives from surface height (bump/normal). Right now to properly simulate the effect, you need to use both bump/normal and glossiness (to simulate the same effect instead of providing additional information only), actually even specular (as AO)/fresnel, and the relationship between these is not very straight forward and often the effect looks wrong (esp. for metals and woods where the surface height dictates the whole look).

Pixar's shaders are always the best place to look at where we should be.
« Last Edit: 2018-11-27, 20:18:58 by Juraj Talcik »
talcikdemovicova.com  Website and blog
be.net/jurajtalcik    My Behance portfolio
lysfaere.com   Something new

2018-11-27, 20:59:29
Reply #12

Fluss

  • Active Users
  • **
  • Posts: 407
    • View Profile

Anyway, I wasn't talking about using Fresnel at all, but disabling it. Vray's metalness workflow doesn't have anything to do with full-model (n&K) fresnel, the fact they introduced metalness workflow (as part of alternative to specular workflow) at same time with complex fresnel is, which was long time possible to with Siger's plugin in reflection slot.

Vray's metalness workflow, does not introduce additional BRDF model so the visual results are identical.


looking at the comment section :





edit : Well I'm not quite sure we understand each other :-)

In Corona, WITHOUT ANY PLUGIN, we're not able to reproduce metals accurately without dimming reflection intensity at grazing angles. With metalness workflow, we can leave reflection color to white (proper PBR -> full intensity at F(90°) ) as the metal color is driven by the diffuse slot. What's more, as explained above, the Vray metallic Fresnel calculations DO SEEMS to have been reworked to provide more accurate results. Here is a chart comparing errors to groundtruth between Vlado's and Ole Gulbrandsen's implemntations (Complex fresnel plugin is based on that last one) :

« Last Edit: 2018-11-28, 10:16:42 by Fluss »

2018-11-28, 16:05:53
Reply #13

jpjapers

  • Active Users
  • **
  • Posts: 1099
    • View Profile
Ive tried and tried for ages to get a material in corona that looks anywhere near as good as that brushed fstorm material and never got close. Its always the bump microdetail thats missing.

2018-12-05, 19:01:51
Reply #14

Fluss

  • Active Users
  • **
  • Posts: 407
    • View Profile
I leave that link here, really interesting and informative : https://renderman.pixar.com/stories/cars-3
« Last Edit: 2018-12-07, 12:00:59 by Fluss »