Author Topic: Corona PBR Shader  (Read 10717 times)

2015-05-29, 19:38:43

musashidan

  • Active Users
  • **
  • Posts: 16
    • View Profile
It would be great if there was a way to integrate a PBR shader, or even an implementation into the standard CoronaMTL with a Metallic map slot and some way to convert the maps exported from a program like Substance Painter. There are workarounds to match the SP look with some shuffling around of different maps but it's a pain in the arse.

Because you can texture high-poly assets in SP by using AO and Curvature maps I think a PBR implementation would be great in Corona, and I'm sure it's only a matter of time before most renderers incorporate one. (I think MAYA 2016 added a native PBR shader)

And just to clarify: when I say PBR I mean a metallic/roughness Disney BDRF shader.
« Last Edit: 2015-06-20, 17:27:31 by musashidan »

2017-07-06, 12:28:31
Reply #1

Alexp

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

2017-08-12, 16:02:39
Reply #2

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
+1, was mentionned as 1.6 feature some times ago but it's has been overlooked

2017-08-13, 00:02:07
Reply #3

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
We can already get a PBR shader using Corona and SP. Check out the results in this thread:
https://forum.corona-renderer.com/index.php/topic,16525.0.html

2017-08-13, 00:23:43
Reply #4

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
I'd say it's a workaround, so it's not optimal. And it was meant to be a more general shader like disney's one or alsurface shader. With metallic/roughness workflow as it's start to be the new standard. So it would be nice to have such a shader in one of the upcoming release. But yeah, it's not top priority.

Btw, I would not make a dedicated skin shader as planned on the roadmap. Alsurface completely suit the needs for that kind of stuff :

http://www.anderslanglands.com/alshaders/tut_skin1.html

Best of both worlds imho. Powerfull, versatile. The only thing alshader miss is the sheen parameter.

What's more, it support cryptomatte :

http://www.anderslanglands.com/alshaders/tut_cryptomatte.html

« Last Edit: 2017-08-13, 01:11:02 by Fluss »

2017-08-13, 11:04:53
Reply #5

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I wonder if metallic-roughness shader implementation for off-line renderers is free from disease that real-time renderers suffers from, where transition between metalic and non-metallic surfaces looks very ugly? If not, then why we need such inferior shader?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-08-13, 14:05:41
Reply #6

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
What you are talking about is ralated to the texel density of the UVs of the texture used to blend metallic and non-metallic parts. And it appear also in specular/glossiness workflow, it's just less noticeable coz the effect is reversed (black instead of white). It's also highly dependant of the resolution, which is mostly a real-time problem, as texel density. Many offline renders use the metallic/roughness workflow with no issue so i don't know how it could be considered "inferior".
« Last Edit: 2017-08-13, 14:38:50 by Fluss »

2017-08-14, 06:23:09
Reply #7

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
I'd say it's a workaround, so it's not optimal.

It's not a work around, this set up is by every definition a PBR shader setup. The only thing it is missing is a neat little container to put it in.

2017-08-14, 08:36:55
Reply #8

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
As far as I remember the new Physical Material introduced in 2017 has a simple mode with metalness/roughness setup, I always thought it would work fine with Corona and was the reason there's no dedicated PBR shader coming with it.

2017-08-14, 09:50:22
Reply #9

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
I'd say it's a workaround, so it's not optimal.

It's not a work around, this set up is by every definition a PBR shader setup. The only thing it is missing is a neat little container to put it in.

By workaround, I meant it introduce unwanted workflow. Modern "uber" shaders (dysney, alsurface..) are good in that way. They allow to reproduce almost every materials (except hair) within one node.

As far as I remember the new Physical Material introduced in 2017 has a simple mode with metalness/roughness setup, I always thought it would work fine with Corona and was the reason there's no dedicated PBR shader coming with it.

I think it's a really bad idea to rely on autodesk's stuff.
« Last Edit: 2017-08-14, 10:25:10 by Fluss »

2017-08-14, 10:50:59
Reply #10

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
So if a developer goes through here, can you share your thoughts for choosing to make a dedicated skin shader over an uber shader ?

2017-08-14, 18:12:09
Reply #11

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
So if a developer goes through here, can you share your thoughts for choosing to make a dedicated skin shader over an uber shader ?
you mean why is skin shader not part of single universal shader, or why feature X was implemented before feature Y?
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2017-08-15, 11:56:19
Reply #12

Fluss

  • Active Users
  • **
  • Posts: 553
    • View Profile
i mean why is skin shader not part of single universal shader.

2022-01-14, 20:23:59
Reply #13

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
done
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)