Chaos Corona Forum

Chaos Corona for 3ds Max => [Max] General Discussion => Topic started by: vicnaum on 2014-06-03, 09:09:39

Title: PBR kinda materials
Post by: vicnaum on 2014-06-03, 09:09:39
What do you guys think of taking principles of PBR somewhere in future to develop materials in corona?

http://www.marmoset.co/toolbag/learn/pbr-theory
http://www.marmoset.co/toolbag/learn/pbr-practice

Key aspects (for ones who are lazy to read):
1) Diffusion & Reflection linked: More leflection -> Less diffusion
2) Fresnel linked to base reflectivity & gloss
3) Microsurface roughness linked to Reflection
4) Diffusion, Translucency, SSS all linked as representing the same effect
...etc...

That leads us to much simpler system, wich much less parameters, where less errors can be made.

I bet in a couple of years all renders will shift to something like that (comparing how they shifted from simple phong Diffuse/Specular Highlights model 10-15 years ago - to what we have now in vray/corona/etc).

So why don't make that shift earlier?

Btw, the described system can be tried out here (in realtime): http://www.marmoset.co/toolbag/store
Title: Re: PBR kinda materials
Post by: Captain Obvious on 2014-06-03, 09:37:50
Corona's material is already energy conserving, albeit in an incorrect fashion (clamping rather than scaling). Not sure exactly what you feel is missing.
Title: Re: PBR kinda materials
Post by: maru on 2014-06-03, 09:46:44
In my opinion all these physically-accurate restrictions should be respected by skilled artists but they should also be allowed to break them.
Title: Re: PBR kinda materials
Post by: vicnaum on 2014-06-03, 10:17:56
In my opinion all these physically-accurate restrictions should be respected by skilled artists but they should also be allowed to break them.

Well, skilled artists use canvas & brushes and are free to do whatever expressionism they want ;)
My opinion is that the renderer should help artist to achieve phys.correctness, without knowing all the rocket-science connections laying under the numerous variables.

Treat it like dynamic physics simulation instead of manual keyframing. And, btw, they don't exclude each other - manual tweaking is still allowed if artist needs.
Title: Re: PBR kinda materials
Post by: Tanakov on 2014-06-03, 11:01:33
Well for me Corona materials are already using this kind of knowledge.

M/b im missing something, but adding information where setting something above limit of realism highlights the material in some way would be nice, but setting the limit and restrictions would hurt the creative process of special effects.
Title: Re: PBR kinda materials
Post by: maru on 2014-06-03, 15:50:40
In my opinion all these physically-accurate restrictions should be respected by skilled artists but they should also be allowed to break them.

Well, skilled artists use canvas & brushes and are free to do whatever expressionism they want ;)
My opinion is that the renderer should help artist to achieve phys.correctness, without knowing all the rocket-science connections laying under the numerous variables.

Treat it like dynamic physics simulation instead of manual keyframing. And, btw, they don't exclude each other - manual tweaking is still allowed if artist needs.
Well, skilled artists use canvas & brushes and are free to do whatever expressionism they want ;)
Title: Re: PBR kinda materials
Post by: romullus on 2014-06-03, 16:16:21
When i shifted from mental ray to corona, i was shocked how much simpler CoronaMtl is compared to  A&D material. It almost felt like handicapped and it took a while for me to get used to it. And now you want it to be even more simple!? :]
Title: Re: PBR kinda materials
Post by: Juraj on 2014-06-03, 16:20:48
YES

YES and YES !

Real-time engine nowadays (Unreal 4, CryEngine 3.6.4 EEAS, I use both at the moment) have so much better material system than offline rendering has, that offline rendering looks like prehistoric legacy almost :-).
(with exception of VFX houses of course, both ILM, MPC and all the big boys already using this new model).

I already asked Keymaster if he's willing to implement advanced BRDF models (like GGX, ABC or ShiftedGammaDistribution, currently all as plugins by Sergey Schliaev, although GGX is already integrated in Vray3.0).
I understand he has little time and there might be more important things (not to me heh), but imho it's much better to differentiate from others than slowly add features that all others already have. I don't want a better clone, I want revolutionary product instead if I could choose.


Btw Maru, the shaders still respect any sort of look, even completely stylized or unrealistic, they just make the creation of it vastly easier, and more natural. At the moment, it's absolutely odd eye-balling, where I dare to say, 90perc.
of users do not even no what value should actually be in reflection slot or how to even create TRUE metallic shaders. Quite frankly, all metals and plastics out there look like shit to me.
Did you even look at those shaders ? It's not harder, it's not scientific. It's logical and superb.
IMHO it's definitely a time for revolution, I don't understand this harkening to original concepts and still using the same material as Scanline. It bothers me so much than I contemplate just sticking with real-time by end of this year. To
me it's already evolved enough and it's evolving by master space speed.

Did you guys read the original post ? Did atleast 5 minute of research ? Every single post seems somehow off-mark to me.

Well for me Corona materials are already using this kind of knowledge.
Not really...not in any way Vic outlined.

but setting the limit and restrictions would hurt the creative process of special effects.
There are no limits or restrictions. How did you guys translate it into this conclusion ?

Well, skilled artists use canvas & brushes and are free to do whatever expressionism they want ;)

And it's working amazingly for everyone.. I hoped the "it's the artist, not the toolz" days are long gone.
We could have just stayed with Scanline.

My idea would be like a separate, experimental shader to use alongside.

Title: Re: PBR kinda materials
Post by: Captain Obvious on 2014-06-03, 17:06:37
So it's just about having more choice for the specular reflection model? Because that is literally the only difference between the new GGX (etc) materials and Corona's material.
Title: Re: PBR kinda materials
Post by: Juraj on 2014-06-03, 17:07:32
So it's just about having more choice for the specular reflection model? Because that is literally the only difference between the new GGX (etc) materials and Corona's material.

No, that's like 1/10 of it...but it's the easiest feature to implement. Already does a big difference to me.

Maybe Vic's original post seemed confusing because he linked PBR very closely to real-time (Marmoset), where is greatly integrated but it's not really tied to it in anyway.

This is my favourite article on it which I keep returning to, maybe that better describes it ?

http://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf
Title: Re: PBR kinda materials
Post by: Captain Obvious on 2014-06-03, 17:29:33
The Disney implementation is pretty cool; I'd love to see something like that in Corona. But most of the "omg pbr!" features are actually already in Corona, and have been from the start.
Title: Re: PBR kinda materials
Post by: lacilaci on 2014-06-03, 17:31:13
In my opinion all these physically-accurate restrictions should be respected by skilled artists but they should also be allowed to break them.

Well.. IMHO physically-accurate restrictions should be respected by "physically-accurate" renderer by design. If for no other reason then for error prevention at both user level and rendering execution as well.. i think... :D
Title: Re: PBR kinda materials
Post by: Juraj on 2014-06-03, 17:34:33
The Disney implementation is pretty cool; I'd love to see something like that in Corona. But most of the "omg pbr!" features are actually already in Corona, and have been from the start.

Of course. The PBR is revolution for real-time, because previously, there was no physical correctness at all. But the benefits are still here even for classic off-line renderers.
Have you ever seen Maxwell ? It's clumsy and odd, but it comes really closest, with controls for 0 and 90 angle incidence, roughness affecting both diffuse and specular reflectivity,
natural layering,etc..

To me it's way more natural once you dive into it, and soon there will be a lot of available data for it (measured values for everything, prepared textures,etc..) because real-time PBR market is so much bigger than
visualization market (which quite frankly, will be the only market for Corona), that it would make future life much easier for everyone.

It would also allow for easy translation of scenes to real-time, something that will happen a lot soon. 80perc. is just different controls, so that's why alternative shader is imho viable option. And the rest 20perc. allows
for easier and more precise shaders for specific materials (mostly metals).
Title: Re: PBR kinda materials
Post by: rampally on 2014-06-03, 17:37:46
Juraj_Talcik you are 100% correct I HOPE GGX shader will be there in future corona ....!!!
now i am doing same like ggx   in corona with the help of three shader its really hell pain ...KM PLEASE HELP US
Title: Re: PBR kinda materials
Post by: Polymax on 2014-06-03, 19:50:12
I think it was a good direction in the development of Corona renderer.
Here's a visual comparison:
http://www.shlyaev.com/rnd/37-cpp-category/54-ggx
Title: Re: PBR kinda materials
Post by: rampally on 2014-06-03, 19:54:41
exactly what we are saying ....those renders are rendered with vray3 and ggx shader
if same shader  would be in corona!!! it will boost corona
Title: Re: PBR kinda materials
Post by: johan belmans on 2014-06-03, 19:58:06
When i shifted from mental ray to corona, i was shocked how much simpler CoronaMtl is compared to  A&D material. It almost felt like handicapped and it took a while for me to get used to it. And now you want it to be even more simple!? :]

This is exactelly what I am experiencing myself as well.
And then reading the answer of Juraj makes me want to dive deeper in this issue.......
Title: Re: PBR kinda materials
Post by: arqrenderz on 2014-06-03, 20:19:09
" currently use both, and what I am gonna say, I am happy user. " juraj, can you explain some more? are you still using the old method on corona or are you taking the data from megascans or something else on your shaders?
Has anyone tried marmoset on arviz inteior scenes or so?
Title: Re: PBR kinda materials
Post by: Juraj on 2014-06-03, 20:22:23
" currently use both, and what I am gonna say, I am happy user. " juraj, can you explain some more? are you still using the old method on corona or are you taking the data from megascans or something else on your shaders?
Has anyone tried marmoset on arviz inteior scenes or so?

You will not have much sucess with Marmoset on any scene really :- ) It's asset previewer.

No I am using everything as is now regarding rendering. I am happy user of CryEngine, that's what I meant :- )
Btw I am not in megascans beta, but I might write them to see if they would consider me. I don't think it will be live for public until after summer.

Title: Re: PBR kinda materials
Post by: Tanakov on 2014-06-03, 21:50:44
Juraj_Talcik, your words make me want to learn more and understand.

I think I might have misunderstood part of the text OP posted, thanks for correcting me.
Theres still a lot to learn for me.

You said quite a lot about proper material creation, are you able to reccomend me some source of information? We all might benefit from that, your work is proffesional and realistic, you are type of person I want to learn from.

I want to improve and this seems like an opurtunity, sorry for offtopic.
Title: Re: PBR kinda materials
Post by: Juraj on 2014-06-03, 22:10:55
Juraj_Talcik, your words make me want to learn more and understand.

I think I might have misunderstood part of the text OP posted, thanks for correcting me.
Theres still a lot to learn for me.

You said quite a lot about proper material creation, are you able to reccomend me some source of information? We all might benefit from that, your work is proffesional and realistic, you are type of person I want to learn from.

I want to improve and this seems like an opurtunity, sorry for offtopic.

To be honest I am last person who can be considered professional :- )

Anyway, I always loved Bertrand Benoit's insight on materials, although he is more eye-balling, he nails it everytime almost. But on more realistic side from start:

currently very good insight on shading can be from Grant Warwick's "Mastering Vray" course (But reading Akin's,LeLe's and bunch of other guys at Chaos forum is also helpful).
I love white papers from ILM and Disney/Pixar, also Paul Devebec's website has so much good info (you can study it for days!) There is always some thing that one can incorporate into his workflow,
even if the vast majority of paper is unattainable.
Title: Re: PBR kinda materials
Post by: deshu on 2015-06-06, 10:39:04
Its bad that this topic is soooo dead.
Title: Re: PBR kinda materials
Post by: vkiuru on 2015-06-17, 10:28:03
I think it was a good direction in the development of Corona renderer.
Here's a visual comparison:
http://www.shlyaev.com/rnd/37-cpp-category/54-ggx

Would you guys care to elaborate on the subject a bit more please? shading models come up so often now and every time I see the comparisons what I see are two renders that are different from each other and there's never any explanation that would hint at what else I'm supposed to see here.

EDIT: Lol actually never mind this page has short explanations, somehow my browser jumped right to the part where it only mentions render times etc. Still, might help having some photo reference to further explain what's going on but I think I got the basics :)
Title: Re: PBR kinda materials
Post by: Moataz on 2016-06-06, 07:53:43
can i use Marmoset for materials and turn to corona to render ?
Title: Disney's principled BRDF PBR shader
Post by: Juraj on 2016-07-03, 18:25:37
Shamelessly resurrecting this thread :- )

Saw this over at ChaosGroup (by user Sharktacos), the code from Disney's paper (not sure which iteration though). Supposedly you can get this working in Maya through OSL. Would love to see that...
It nicely describes the parameters and how exactly do they work in the code notes. Uses only the Schlick approximation for Fresnel, but GTR version of GGX without exposing the tail ("gamma") parameter.

I wish we could get stuff like this working too, could be nice alternative shader.

You can see some interesting things it does :- ) Specular amount is not direct multiplier of specular intensity (which is physically incorrect, such phenomenon doesn't happen), but instead normalizes IOR for non-conductors to 1.0- 1.8 . Since it's linear I presume the default 0.5 equals 1.4 ?
I can see how this can be bit limiting (only up to 1.8, but that is a lot with full grazing intensity), or precise (for those who need exact 1.423 for some zirconium or whatever), but it could be exposed perhaps (like in next shader bellow, one from Arnold).

Extended paper : http://blog.selfshadow.com/publications/s2015-shading-course/


Code: [Select]
/* artist friendly metal */
float n_min( float r )
{ return (1-r )/(1+ r ); }


float n_max( float r )
{ return (1+ sqrt ( r ))/(1- sqrt ( r )); }

float get_n ( float r , float g)
{ return n_min( r )*g + (1-g)*n_max( r ); }


float get_k2 ( float r , float n)
{
float nr = (n+1)*(n+1)*r-(n-1)*(n-1);
return nr/(1-r );
}

float get_r ( float n, float k)
{ return ((n-1)*(n-1)+k*k )/(( n+1)*(n+1)+k*k);  }

float get_g ( float n, float k)
{
float r = get_r (n,k);
return (n_max( r)-n )/( n_max( r)-n_min( r ));
}

float AFMF ( float r , float g, float theta )
{
float _r = clamp(r ,0 ,0.99);

float n = get_n (_r ,g);
float k2 = get_k2 (_r ,n);
float c = cos ( theta );
float rs_num = n*n + k2 - 2*n*c + c*c;
float rs_den = n*n + k2 + 2*n*c + c*c;
float rs = rs_num/ rs_den ;
float rp_num = (n*n + k2)*c*c - 2*n*c + 1;
float rp_den = (n*n + k2)*c*c + 2*n*c + 1;
float rp = rp_num/ rp_den ;

return 0.5*( rs+rp );
}



//////


color getTextureDif(string texture_name, color no_texture_default_color)
{
    int channels = -1;
    if (gettextureinfo(texture_name, "channels", channels))
    {
        return texture(texture_name, u, v);
    }
 
    return no_texture_default_color;
}

float fresnelReflectionFactor(normal bumped_normal, float ior)
{
    float c = abs(dot(I, bumped_normal));
    float g = ior * ior - 1.0 + c * c;
    if (g > 0.0) {
        g = sqrt (g);
        float A = (g - c) / (g + c);
        float B = (c * (g + c) - 1.0) / (c * (g - c) + 1.0);
        return 0.5 * A * A * (1.0 + B * B);
    }
 
    return 1.0;
}

// Schlick simplified Fresnel function, non-metal/non-metal, no polarisation.
float SchlickFresnel(normal bumped_normal, float ior)
{
    float c = abs(dot(-I, bumped_normal));
    float g = (1 - ior) / (1 + ior);
    g = g * g;
    return g + (1 - g) * pow((1 - c), 5);
   
}



surface
DisneyBRDFMtl
[[ string description = "Disney Principled BRDF Material" ]]
(

    string  Base_Color = "color.png",
   
        float  Metallic_Amount = 0
    [[ string description =
        "the metallic-ness (0 = dielectric,  1 = metallic).  This is a linear blend between two
        different models.  The metallic model has no diffuse component and also has a tinted incident
        specular, equal to the base color."
    ]],
   
    float  Specular_Amount = 0.5
    [[ string description =
        "incident specular amount.  This is in lieu of an explicit index-of-refraction.
        normalizes ior 1.0-1.8"
    ]],
   
    float  Specular_Tint = 0
    [[ string description =
        "a concession for artistic control that tints incident specular towards the base color.
        Grazing specular is still achromatic."
    ]],
   
    float  Roughness = 0.5
    [[ string description =
        "surface roughness, controls both diffuse and specular response.
           R = roughness^2 for diffuse & (0.5 + roughness/2)^2 for spec"
    ]],
   
    float  Anisotropic = 0
    [[ string description =
        "degree of anisotropy.  This controls the aspect ratio of the specular highlight. 
        (0 = isotropic, 1 = maximally anisotropic)."
    ]],
   
    float  Anisotropic_Rotation = 0.5,
   
    float  Sheen = 0
    [[ string description =
        "an additional grazing component, primarily intended for cloth."
    ]],
   
    float  Sheen_Tint = 0.5
    [[ string description =
        "amount to tint sheen towards base color."
    ]],
   
    float  Clearcoat = 0
    [[ string description =
        "a second, special-purpose specular lobe. always isotropic and non-metallic. 
          fixed ior=1.5. Fixed roughness=0.25. Fixed GGX gamma=2. normalizes amount 0-0.25."
    ]],
   
    float  Clearcoat_Gloss = 1  [[ string description =
        "controls clearcoat glossiness (0 = satin appearance, 1 = gloss appearance"
    ]],
   
    string Opacity = "opacity.png",
    int Reflection_Subdivs = 8,
    float Texture_Gamma = 1,

    output color result = 1
)

{
    /* Define Bump */
    normal bumped_normal = N;
   
    /* Diffuse */
    color OpacityColor = getTextureDif(Opacity, color(1));
    color BaseColor = getTextureDif(Base_Color, color(0.5));
    BaseColor = pow(BaseColor, Texture_Gamma);

    float Kd = 1;
//is there an amount?

   /* Specular */
    float IOR_disable = 0;
    float Tail = 2.0;
    float RoughnessGGX = 0;
   
    /* Spec amount - remaps ior to normalized value */
    float SpecAmount = clamp(Specular_Amount,0,1); //set min-max to 0-1
    // remapping: b1 + (s-a1)*(b2-b1)/(a2-a1)
    float IOR = 1 + SpecAmount*0.8; //in lieu of an explicit index-of-refraction. Normalizes ior 1.0-1.8
    color Fresnel = SchlickFresnel(bumped_normal, IOR); //Fresnel_Amount
   
    /* Spec tint */
    float SpecTintAmount = clamp(Specular_Tint,0,1); //set min-max to 0-1
    color TintColor= mix(1,BaseColor,SpecTintAmount); //mix between baseColor and white based on Specular_Tint amount
    color Tint = mix(TintColor,1,Fresnel); //mix between tintColor and white based on Fresnel
    Fresnel *= Tint; //tints incident specular towards the base color. Grazing specular is still achromatic.
    Fresnel *= Specular_Amount;
   
    /* Metallic */
    color BaseMetal = pow(BaseColor,2.2);
    color Edgetint = pow(BaseColor,0.2);

    float thetaB = acos(dot(-I,N));
    float RCH = AFMF(BaseMetal[0],Edgetint[0],thetaB);
    float GCH = AFMF(BaseMetal[1],Edgetint[1],thetaB);
    float BCH = AFMF(BaseMetal[2],Edgetint[2],thetaB);
   
    float MetallicAmount = clamp(Metallic_Amount,0,1); //set min-max to 0-1. 0 = dielectric,  1 = metallic
    Kd = 1 - MetallicAmount; //The metallic model has no diffuse component
    color Metallic = mix(BaseMetal,Edgetint,Fresnel); // Metallic has tinted incident specular, equal to the base color.
//    color Metallic = color(RCH,GCH,BCH);
    color SpecColor = mix(Fresnel,Metallic,MetallicAmount); // linear blend between dielectric & metallic

   
    /* Anisotropy */
    float AniAmount = clamp(Anisotropic,0,1); //set min-max to 0-1
    float AniRotation = clamp(Anisotropic_Rotation,0,1); //set min-max to 0-1
    AniRotation *= 10; // not sure why this works...


 
    /* Define Sheen */
    float SheenAmount = clamp(Sheen,0,1); //set min-max to 0-1
    float SheenTintAmount = clamp(Sheen_Tint,0,1); //set min-max to 0-1
    float facingRatio = 1 - abs(dot(I, bumped_normal));

    SheenTintAmount *= 2; // intensify tint amount
    color TintBoost = transformc("hsl", BaseColor);
    TintBoost[2] = TintBoost[2] + 0.5; // make the tint a brighter version of the mainColor
    TintBoost[2] = clamp(TintBoost[2],0,1);
    TintBoost = transformc("hsl","rgb", TintBoost);
     
    color EdgeColor = color(0.25,0.25,0.25);
    color TintEdge = EdgeColor * TintBoost;   //colorize sheen with the tint
    EdgeColor = mix (EdgeColor, TintEdge, SheenTintAmount); //mix between tinted & untinted sheen based on tint value
    EdgeColor = clamp (EdgeColor, 0, 1);
    color SheenMix = EdgeColor * facingRatio * SheenAmount;
    BaseColor += SheenMix;
   
    /*  Roughness */
    float RoughnessAmount = clamp(Roughness,0,1); //set min-max to 0-1
    float DifRoughness = pow(RoughnessAmount,2);
    float SpecRoughness = RoughnessAmount; // paper uses pow((0.5 + RoughnessAmount/2),2) in BRDF
   


    /* diffuse  */
    color BaseLess = BaseColor * 0.5; // reduce diffuse by 0.5 at grazing angles for smooth surfaces
    color BaseMore = BaseColor * 2.5; // increase diffuse by up to 2.5 at grazing angles for rough surfaces.
    color BaseEdge = mix(BaseLess,BaseMore,RoughnessAmount);
     //BaseColor = mix(BaseColor,BaseEdge,Fresnel);


    /* Clearcoat */
    float ClearcoatAmount = clamp(Clearcoat,0,1); //set min-max to 0-1
    float ClearcoatGloss = clamp(Clearcoat_Gloss,0,1); //set min-max to 0-1
    ClearcoatAmount *= 0.25; //normalizes amount 0-0.25
    float ClearIOR = 1.5; // fixed ior
   
    closure color difMain =  BaseColor * Kd *
        diffuse(bumped_normal, "roughness", DifRoughness);
       
     
     closure color spcMain = SpecColor *
        microfacet_ggx (bumped_normal, SpecRoughness, IOR_disable,
        "gtr_gamma", Tail,
        "subdivs", Reflection_Subdivs,
        "anisotropy", AniAmount,
        "aniso_rotation", AniRotation
        );
       
       
    closure color spcClearcoat = ClearcoatAmount *
        microfacet_ggx (bumped_normal, RoughnessGGX, ClearIOR,
        "gtr_gamma", Tail,     
        "reflection_glossiness", ClearcoatGloss,
        "highlight_glossiness", ClearcoatGloss,
        "subdivs", Reflection_Subdivs
        );
   
    Ci = OpacityColor * difMain + spcMain + spcClearcoat + (1.0 - OpacityColor) * transparent();
    //Ci = OpacityColor * difMain + (1.0 - OpacityColor) * transparent();
   

}

(http://igorsklyar.com/system/images/development_descriptions/189/disney_1.jpeg?1432292046)
Title: alSurface PBR shader by Anders Langlands (Arnold open-source shader)
Post by: Juraj on 2016-07-03, 18:32:02
Another interesting advanced PBR shader is alSurface from alShaders pack by Anders Langlands. It's primarily for Arnold, but it's also open-source, and could simply be translated to other packages thus.

It seem bit more extended in feature-set even compared to Disney Principled shader, but also more complex, less user-friendly and it has a lot of technical parameters exposed (for rendering control), part that could be avoided since Corona doesn't use such features.  I like the Disney bit more but I can see how people requiring precise or advanced control could prefer this one. It doesn't hide parameters like IOR.

This one is like compromise between 100perc. PBR, but still giving users absolute control to go outside of plausible boundaries. (lowering spec strength, specifying too high IOR for non-conductors to create "plasti-metal" crap :- ) )

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

White paper: http://blog.selfshadow.com/publications/s2014-shading-course/langlands/s2014_pbs_alshaders_slides.pdf

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=11965.0;attach=49027;image)
Title: 3ds Max 2017 Physical material (PBR Shader)
Post by: Juraj on 2016-07-03, 18:49:41
I have yet to try 3dsMax 2017 but 3rd nice PBR option came from Autodesk, the physical material.
Doesn't look bad at all ! But breaks compatibility with legacy versions,since it's only on 2017+ . Maybe they could introduce this with service pack ?

http://help.autodesk.com/view/3DSMAX/2017/ENU/?guid=GUID-C1328905-7783-4917-AB86-FC3CC19E8972



(http://help.autodesk.com/cloudhelp/2017/ENU/3DSMax/images/GUID-41D5D165-0F02-41CD-8D81-E71A243970ED.png)
Roughness (can be inverted so you can use your old glossines maps without ticking 'invert' inside map option). Helps with some legacy conversion.

(http://help.autodesk.com/cloudhelp/2017/ENU/3DSMax/images/GUID-DBB82863-34C8-4F31-9DC5-ACD7F4F646ED.png)
Also features nice coating directly inside shader, with weight, roughness and affecting checkbox for bump and color. This seems to be on par with level of control provided by alShader.

Funny, Autodesk got it quite right imho :- ) Took all the correct stuff from PBR.  I would be very happy if this shader was supported. Does anyone know if it works in latest Vray ?
Title: Fake Rough Fresnel approximation in Corona
Post by: Juraj on 2016-07-03, 19:25:40
Edit: Soon :- )
Title: Re: PBR kinda materials
Post by: PROH on 2016-07-03, 19:42:31
Hi Juray. According to AutoDesk it (Physical Material) should work in Vray. Haven't tried it, since I'm not a Vray user :)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-03, 19:44:34
And I don't have 2017 :- ) Someone who has 2017 + 3.4SP combo should post some test.
Title: Re: PBR kinda materials
Post by: dubcat on 2016-07-03, 19:55:00
(http://i.imgur.com/n0gnr6R.jpg)

Physical Mat rendered in Vray

(http://i.imgur.com/wwqerkE.jpg)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-03, 20:10:54
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 :- )

Title: Re: PBR kinda materials
Post by: dubcat on 2016-07-03, 20:21:21
Yes default GGX settings.
Here is Physical Mat rendered in ART.

(http://i.imgur.com/pNbuL6N.jpg)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-04, 11:41:35
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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49049;image)

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

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49051;image)

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 :- )

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49053;image)

Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-06, 01:46:22
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
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49164;image)

Cook-Torrance BSDF
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49166;image)

Ashikmin-Shirley BSDF (this is what Corona used formerly, but look how different roughness and fresnel behaves)
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49168;image)

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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49170;image)

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)

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49182;image)

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

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49184;image)

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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49176;image)

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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49178;image)

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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49180;image)

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.
Title: Re: PBR kinda materials
Post by: BBB3viz on 2016-07-06, 11:09:05
This looks really impressive. Gotta to check it out.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-06, 14:34:37
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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49230;image)

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.

(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=49232;image)

Title: Re: PBR kinda materials
Post by: philippelamoureux on 2016-07-07, 05:59:53
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
Title: Re: PBR kinda materials
Post by: maru on 2016-07-07, 14:45:57
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.
Title: Re: PBR kinda materials
Post by: pokoy on 2016-07-07, 15:56:00
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.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-07, 16:09:44
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.
Title: Re: PBR kinda materials
Post by: pokoy on 2016-07-07, 16:32:13
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.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-07, 16:38:30
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 :- )
Title: Re: PBR kinda materials
Post by: lacilaci on 2016-07-07, 22:10:03
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...
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-07, 22:14:48
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
Title: Re: PBR kinda materials
Post by: ASaarnak on 2016-07-07, 23:03:32
I saved my third post for something important! In feature request poll it´s basically tied for places 2-6, so I hope it´s looked into.
Title: Re: PBR kinda materials
Post by: romullus on 2016-07-07, 23:17:23
I didn't vote for Disney PBR material, because i don't care much about it. But i really would like that this low glossiness glowing would be fixed finally. Would change my vote if getting PBR means glossiness fix as well.
Title: Re: PBR kinda materials
Post by: maru on 2016-07-08, 13:11:05
I am sure our dear developers will investigate this thread soon. If they spent more time on the forum, you would complain that they are not devoting enough time for new features and bugfixes. :P
Title: Re: PBR kinda materials
Post by: Ondra on 2016-07-08, 17:24:28
Well... I am watching this issue, do not worry. But our materials guy (Jarda) is right now on vacations. We will find a solution until 1.5 is out. It is a bit tricky though, because we are caught between 2 approaches: straightforward oldschool "each control is 100% separate and influences only single aspect" and PBR "lets remove a bit of control so the materials always look reasonable". Right now I dont know what will be the solution - if we will make our material with oldschool controls work better, or if we just go for broke and implement fully PBR material with different set of controls + revert Corona Mtl to its 1.4 state.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-08, 17:28:44
The Redshift material actually didn't remove that control, they blended both approaches into super-shader :- ) That way it serves pretty much everyone, but it could look a bit confusing... it can be tidied up a bit.
Title: Re: PBR kinda materials
Post by: romullus on 2016-07-08, 17:37:46
Could you just leave CoronaMtl alone and introduce new CoronaPBRMtl? That way compatibility would be kept and everyone would have freedom to choose material that suits him better. Or that's not possible?
Title: Re: PBR kinda materials
Post by: lacilaci on 2016-07-08, 17:53:20
Well it's great to hear that it'll get solved :)... I can sleep well now again :D
Title: Re: PBR kinda materials
Post by: sebastian___ on 2016-07-08, 18:10:18
Keeping CoronaMtl (mostly) unchanged (maybe just fix certain bugs from it) would make sure all those wonderful tutorials on your youtube channel - would still work.
And introducing another Corona material, the PBR one or something.
Title: Re: PBR kinda materials
Post by: pokoy on 2016-07-08, 18:22:33
Keeping CoronaMtl (mostly) unchanged (maybe just fix certain bugs from it) would make sure all those wonderful tutorials on your youtube channel - would still work.
And introducing another Corona material, the PBR one or something.
Yes, probably the most reasonable thing to do since we really don't want any of the previous scenes/presets/libraries to be 'broken':
- fix reflection low glossiness rim in CoronaMtl so it looks correct (~ like the examples posted in this thread)
- introduce a new CoronaPBRMtl that will work in a PBR fashion

I guess the code is easier to maintain that way, too. You could of course go the route of the Physical Material with two UI definitions, Standard and Advanced, but to be honest I don't like that approach. Having two different materials seems the better option to me.

PS: Please think about adding a diffuse roughness parameter for 1.5 if it fits in your schedule somehow.
Title: Re: PBR kinda materials
Post by: GabaCGStudio on 2016-07-08, 20:23:07
Well... I am watching this issue, do not worry. But our materials guy (Jarda) is right now on vacations. We will find a solution until 1.5 is out. It is a bit tricky though, because we are caught between 2 approaches: straightforward oldschool "each control is 100% separate and influences only single aspect" and PBR "lets remove a bit of control so the materials always look reasonable". Right now I dont know what will be the solution - if we will make our material with oldschool controls work better, or if we just go for broke and implement fully PBR material with different set of controls + revert Corona Mtl to its 1.4 state.

means that we have to use the GGX fix method in 1.5 DB again? :/
Title: Re: PBR kinda materials
Post by: dubcat on 2016-07-08, 21:17:54
Let's not over-complicate things here.
The Redshift material can look intimidating, but that's because it has Multiple Scattering SSS, Clear Coat, Optimizations, Advanced tabs and about 1 gazillion map inputs. These have nothing to do with what we are interested in (Right now).
Let's only look at the Diffuse/Reflection part, and see how elegantly Redshift has merged old-school IOR and PBR. Nothing needs to break in CoronaMtl. (Refraction has the same settings as Reflection, no need to include that here).

Look how similar the materials are.
That's only two new drop downs, people who don't give a shit about PBR can just leave those two drop downs alone and all the old materials will work as they did before.

"Weight" is the same as "Level" in Corona, only with map support, so don't get confused by that.

(http://i.imgur.com/lrIV4NK.png)

Let's have a look at the PBR portion of Redshift.

So what has happened here? We changed "Fresnel" to "Metalness".
- This disabled "Weight" aka "Level".
- "IOR" got changed to "Reflectivity" and "Metalness".

The default "Reflectivity" value is 4% the same as IOR 1.5, same result.
When "Metalness" is at 1, the specular color is sampled from "Diffuse Color".

(http://i.imgur.com/vdShP7t.png)

As you can see, it's not that complicated to have both worlds in one material. Nothing will break for existing materials. People who don't care about PBR, can just leave that "Fresnel" drop down alone.

Welcome to Corona 1.5 where everyone is pleased!

(http://i.imgur.com/wAu6oy7.png)  (http://i.imgur.com/kUUIJAM.png)

EDIT:
I forgot to mention that Redshift is handling the Roughness/Glossiness issue pretty nicely too.
Roughness is default, which is the most logical solution if you ask me.

But inside the material you have this option

(http://i.imgur.com/lq78YCD.png)

It will invert both values and maps, very clean and nice solution.

Corona could do something like, the first time you open a legacy scene, this checkbox is on. So the material will read everything as Glossiness.
But for new materials the check box is off, roughness as default.

All the problems are solved.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-08, 21:23:25

Yes, probably the most reasonable thing to do since we really don't want any of the previous scenes/presets/libraries to be 'broken':
- fix reflection low glossiness rim in CoronaMtl so it looks correct (~ like the examples posted in this thread)
- introduce a new CoronaPBRMtl that will work in a PBR fashion

I agree with this too, I think this is the most reasonable.

Standard (CoronaMtl) would stay, but with fresnel fix ( the material behaves wrong, it's not even about PBR, it's just wrong). Optionally, glossiness remap. There is no reason to have the cutoff there.
Introduce additional Extender shader (CoronaPBRmtl, whatever) at same time. The one Redshift have, is pretty epic, it's hard to get better, even though it's bit convoluted.

I like Dubcat's solution too....but I want the glossiness convention to simply die. I don't want to keep inverting maps between applications. Roughness was and will the only correct term. Having the existence of both will confuse people from get go.
And I like the additional tabs for coating/other specular layer. Almost every material has some kind of coating, it's nonsense to keep creating multi-layered material for such simple thing.
Title: Re: PBR kinda materials
Post by: maxpyane_2k5 on 2016-07-09, 15:09:18
How about implementing physically plausible material just like from 3delight engine ?
Title: Re: PBR kinda materials
Post by: Sintel on 2016-07-09, 17:03:09
One of the big mistakes in my life is not to vote for PBR Shader in that topic TT
Title: Re: PBR kinda materials
Post by: Frood on 2016-07-09, 17:56:29
You can always retract  and vote again there :] But it will not make any difference. This issue will be solved either way. Quite a few brains are occupied with this atm I presume.

Good Luck

Title: Re: PBR kinda materials
Post by: elindell on 2016-07-15, 22:53:29
I like the idea of adding CoronaPBRmat and keeping the old one for compatibility or preference.
Title: Re: PBR kinda materials
Post by: Nik on 2016-07-16, 11:30:33
I agree with people who wants separate PBR shader and leave CoronaMtl for backward compatibility. I want new, but I don't want to break old
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-16, 11:46:27
The current daily build did this very smartly, by adding (like another legacy) check-box.

Old materials render the same, unless you switch them manually and re-adjust (or maybe the converter will know how to do this).

New materials are created with correct behaviour (both fresnel and roughness range was fixed !! big hurray) . This is win-win solution.


Now the answer is where to go from here :- ) Improve this shader with more options like Redshift and AlSurface ? Or create another separate ?

Both options are viable. Although the first (extend current) would need another legacy check-box for glossiness-->roughness inverting. But as Dubcat shown, the Redshift shader has this in options of materials, so you can use both maps without selecting invert in map. Although that is pretty easy now too, since both are linear on range of [0, 1]

Maybe time for some OSL support, so we can create our own shader prototypes :- )
Title: Re: PBR kinda materials
Post by: romullus on 2016-07-16, 12:14:55
I think best way is to leave CoronaMtl as it is now and to introduce new CoronaPBR material with metalness, roughness etc, which could take input maps directly from Substance designer, DDO and alikes.
Title: Re: PBR kinda materials
Post by: Nik on 2016-07-16, 12:25:56
I talked with Ondra yesterday and he said that pbr checkbox will be probably merged to Legacy checkbox and I agree that this will be cleanest solution for glossy curve.
But right now legacy mode enables old nonGGX mode. Does somebody cares about nonGGX mode today? I think it can be replaced by "new legacy mode" that enables Corona1.4-like shading model and thats all. IMHO

I think PBR shader should be a separate material just to make sure that devs wont accidentally broke something in old CoronaMtl (keep back.compatibility in mind). But if they're sure that nothing will be broken then I don't care :)

We're all want new cool PBR material like in marmoset etc. with metallness, easy dependent spinners, coating and so on. Who used it know how easy and realistic they are.

1. Enhances CoronaMtl will force users to use new PBR workflow and deal with it (I'm sure pbr options will be enabled by default). I can't say this is good.

2. New CoronaPhysicalMtl would let people decide how to work and smoothly get new habits. Also Converter devs will thank you for that :)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-16, 12:27:47
Agree there, "PBR" check-box can definitely be merged with current legacy. The old Ashikmin and the slight albedo-darkening is absolutely unnoticeable compared to "wrong GGX/Fresnel", so both can exist as legacy.
Title: Re: PBR kinda materials
Post by: pokoy on 2016-07-16, 13:21:13
Agree there, "PBR" check-box can definitely be merged with current legacy. The old Ashikmin and the slight albedo-darkening is absolutely unnoticeable compared to "wrong GGX/Fresnel", so both can exist as legacy.
I had some scenes where the darker albedo made a hell of a difference.

I have to say I still fear the legacy checkbox thing as much as I ever did - a fix to a fix of a fix etc... It would be far more controllable and user friendly to have a simple dropdown for the shader behavior, like 'shading model 1.0, 1.2., 1.4' etc, at least I'd know what legacy means exactly.
Then, at some point I'd rather have a clean cut, with the promise of never ever remapping channel response curves and another 'shader fix' with every point release. Hopefully we're at this point now.
Title: Re: PBR kinda materials
Post by: Nik on 2016-07-16, 13:40:35
Well, "Legacy mode" dropdown is very nice idea, but I suppose devs won't like it :)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-16, 13:49:40
Agree there, "PBR" check-box can definitely be merged with current legacy. The old Ashikmin and the slight albedo-darkening is absolutely unnoticeable compared to "wrong GGX/Fresnel", so both can exist as legacy.
I had some scenes where the darker albedo made a hell of a difference.

I have to say I still fear the legacy checkbox thing as much as I ever did - a fix to a fix of a fix etc... It would be far more controllable and user friendly to have a simple dropdown for the shader behavior, like 'shading model 1.0, 1.2., 1.4' etc, at least I'd know what legacy means exactly.
Then, at some point I'd rather have a clean cut, with the promise of never ever remapping channel response curves and another 'shader fix' with every point release. Hopefully we're at this point now.

I think we might be. This corrected Corona Material could be the clean cut that behaves same as PBR, but with traditional controls. I am very satisfied with this solution, old scenes work, new materials also.

Regarding the Albedo darkening, I thought it was just unphysical hack, now the material behaves correctly, and people simply need to learn correct Albedo values. (hint: they soon won't need to :- ) ... )

The legacy dropdown is cool idea, like Windows, but I wonder how hard it would be to maintain, and what unpredictable issues it could cause in scene.
Title: Re: PBR kinda materials
Post by: Rhodesy on 2016-07-20, 13:19:24
You're such a tease! Is this anything to do with that beta software your testing?
Agree there, "PBR" check-box can definitely be merged with current legacy. The old Ashikmin and the slight albedo-darkening is absolutely unnoticeable compared to "wrong GGX/Fresnel", so both can exist as legacy.


Regarding the Albedo darkening, I thought it was just unphysical hack, now the material behaves correctly, and people simply need to learn correct Albedo values. (hint: they soon won't need to :- ) ... )

The legacy dropdown is cool idea, like Windows, but I wonder how hard it would be to maintain, and what unpredictable issues it could cause in scene.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-20, 13:49:19
Yeah, but unfortunately I spoke to soon. The fresnel still needs fix. Now it has black halo.
Title: Re: PBR kinda materials
Post by: vkiuru on 2016-07-21, 15:24:48
I remember this darkening of the edges thing from other renderers' development stages also. Might be that PBR is too new to be related to said earlier ones but still funny to see it appear once again :)
Title: Re: PBR kinda materials
Post by: maru on 2016-07-21, 16:24:45
First we had a dark halo. Users complained. Then we had a bright halo. Users complained. Now we have a dark halo again. User complain. Come on people! Make your minds up!

But seriously, this needs a fix and I can assure you the team is working on it.
Title: Re: PBR kinda materials
Post by: romullus on 2016-07-22, 11:13:56
And what makes you think that users will stop complaining when this will be fixed? ;]
Title: Re: PBR kinda materials
Post by: Juraj on 2016-07-24, 15:22:24
I would laugh, but I can't :- ). Ondra made the same joke about bright and dark halo, but the F-Storm developer fixed this in two days. They have correct fresnel, full range, and even glossiness attenuation towards edge (change of glossiness towards sharper specular).

There are better options that Art Physical material, which won't work as should without the fresnel anyway (it will be just redressed CoronaMTL right now), although at least this will have unexpected benefit, we will be able to render with Corona and Vray the same scene.
Title: Re: PBR kinda materials
Post by: Sintel on 2016-07-31, 09:42:27
Excuse me, could somebody tell me whether Corona new Mtl in 1.5 will have "metalness/metalic" or not?
Title: Re: PBR kinda materials
Post by: Njen on 2016-08-02, 08:15:23
Excuse me, could somebody tell me whether Corona new Mtl in 1.5 will have "metalness/metalic" or not?

My question is probably the same, but just asking a different way for clarification: dielectric and metallic materials generally work with different lighting models. I am going to assume that the CoronaMtl is a dielectric material due to the attributes I see that are on it, and because it is probably more common. Are we going to see a true metallic lighting model option in the CoronaMtl any time soon?
Title: Re: PBR kinda materials
Post by: Ondra on 2016-08-02, 09:27:59
CoronaMtl is flexible enough to be set up both ways. It will probably not receive metalness switch. But a new Corona PBR material will have it. Not sure if it will be 1.5 or 1.6
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-05, 10:05:47
Not sure if it will be 1.5 or 1.6.

Will the fresnel fix make it to 1.5 ?
Title: Re: PBR kinda materials
Post by: Ondra on 2016-08-05, 10:12:45
definitely, the bare minimum we must do is stop people from bitching on CoronaMtl results in 1.5 and do full PBR material in 1.6
Title: Re: PBR kinda materials
Post by: oncire on 2016-08-05, 10:23:14
heres a link in pbr approach in blender but the technique/ideas also applies to 3ds max

-- part1
-- part2



Title: Re: PBR kinda materials
Post by: Sintel on 2016-08-05, 10:31:56
At least, Corona 1.5 will support 3ds Max 2017 Physical Material :)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-05, 10:47:16
At least, Corona 1.5 will support 3ds Max 2017 Physical Material :)

But that one really isn't working that well. They too the good parts from PBR and did it incorrectly anyway. Parameters are not linked (and 'locked') correctly. Simple IOR is not disabled in metalness workflow, but actually affects the specular intensity and color.

If Redshift could get it right on first try, why couldn't Autodesk ?
Title: Re: PBR kinda materials
Post by: Ludvik Koutny on 2016-08-05, 10:50:04
If Redshift could get it right on first try, why couldn't Autodesk ?

As if they ever got anything right :D
Title: Re: PBR kinda materials
Post by: steyin on 2016-08-06, 00:00:56

If Redshift could get it right on first try, why couldn't Autodesk ?


Because its Autodesk.
Title: Re: PBR kinda materials
Post by: Majeranek on 2016-08-06, 13:34:02
Guys,
How should look like correct workflow on shaders with PBR Mode in the latest daily build? Or it's still unusable because of the dark halo effect?
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-08, 11:24:23
Guys,
How should look like correct workflow on shaders with PBR Mode in the latest daily build? Or it's still unusable because of the dark halo effect?

Hm, looks like the solution isn't here yet, or no one tested it.
Title: Re: PBR kinda materials
Post by: jtmorris on 2016-08-16, 09:37:05
Juraj, you previously mentioned that you were able to try different BRDF models in Corona:

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.


I'm running 1.4 (but not the daily build) I must be missing something could you elaborate on the "extended parameters in Slate Material Editor"??

Much appreciated!
Title: Re: PBR kinda materials
Post by: romullus on 2016-08-16, 11:23:28
This only works in slate editor. Right click on CoronaMtl material, then either show/hide slots>additional params>bsdf or show all additional params and locate bsdf parameter.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-17, 11:35:34
Yeah but don't use it, that was just for messing around, I am not using single such shader in my scenes.

Let's all pray for soonest solution ! #FresnelMatters
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-19, 11:41:29
Quote
..feature-complete principled uber-shader”, which Side Effects tells us is based on the PxrDisney shader introduced in Houdini 15.5.

Mantra joined the ranks of ever-growing army ;- ). So far every good shader is carbon-copy of the Disney.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-19, 17:29:08
Absolutely must read, good discussion on ChaosGroup: Surprise, the VrayAlm (Vlado's adapted AlSurface code, it's open source), has a correct fresnel term. Great graphs by Adan !
Would love to see the comparison to the newest ubershader from Disney.

http://forums.chaosgroup.com/showthread.php?89466-Rough-Specular-reduces-specularity-amount/page4

(https://c6.staticflickr.com/9/8552/28970757861_6fa1b59b72_b.jpg)


On another note, there is also huge shitstorm about tonemapping in F-storm on ChaosGroup as well. See, we aren't so different, people want renderers that work ( good light + good shaders + good tonemapping ) out of the box without any tweaking. Like DSLR camera. (Massive thread, beware)

http://forums.chaosgroup.com/showthread.php?88929-Fstorm-render/page6
Title: Re: PBR kinda materials
Post by: lacilaci on 2016-08-21, 08:29:36
Absolutely must read, good discussion on ChaosGroup: Surprise, the VrayAlm (Vlado's adapted AlSurface code, it's open source), has a correct fresnel term. Great graphs by Adan !
Would love to see the comparison to the newest ubershader from Disney.

http://forums.chaosgroup.com/showthread.php?89466-Rough-Specular-reduces-specularity-amount/page4

(https://c6.staticflickr.com/9/8552/28970757861_6fa1b59b72_b.jpg)


On another note, there is also huge shitstorm about tonemapping in F-storm on ChaosGroup as well. See, we aren't so different, people want renderers that work ( good light + good shaders + good tonemapping ) out of the box without any tweaking. Like DSLR camera. (Massive thread, beware)

http://forums.chaosgroup.com/showthread.php?88929-Fstorm-render/page6

:) good stuff...
Title: Re: PBR kinda materials
Post by: Sintel on 2016-08-21, 10:22:06
i've searched uber shader on gg. it looks cool :)
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-23, 18:44:56
Megascans is out guys ! https://megascans.se/

Dubcat and I have been in the private beta, and can assure you, it totally rocks !

And...we need PBR to utilize it. Without full roughness and correct fresnel it's useless. But yeah, it works ;- ) [corona render]


Quote
Surfaces come with real-world Albedo, Normal, Displacement, Translucency, Cavity/Specular, Roughness/Gloss, Metalness and AO, all calibrated to the standard Disney Principled BRDF
Title: Re: PBR kinda materials
Post by: philippelamoureux on 2016-08-24, 02:25:51
I'm watching the quixel new tutorials for megascans... Man this things looks amazing, especially the megascans studio app for blending materials. I'm subscribing right now!

Title: Re: PBR kinda materials
Post by: Rhodesy on 2016-08-24, 11:35:33
Holy smokes the future is now! Yes would love to have the PBR directly interchangeable slots and maps in Corona. Im sure its just a matter of time.

When I hastily just jumped into the material library I was a bit disappointed by the relatively small tilable sample area. Only looked to be 1.5m at the most, so quite obvious. But looking at the mega scans studio video that blew me away. I'd like to know though what its like at generating larger surfaces that are more uniform without the mud which maybe hides quite a bit of that repeating pattern. Those cobbles are quite repetative if you remove the mud layer from what I can see. But very impressive non the less. Juraj, have you tried making larger areas with cleaner materials or the mown grass by layering?

Is all the height displacement they show purely generated with the displacement and normal maps? So repeatable on any terrain?

What's the deal with the cut out leafs? are they just to be scattered on surfaces in the studio or to more to be used with our existing model library?

Looking forward to seeing what they do with bricks and paving and how they introduce non tiling colour variations. I like the fact that it just generates maps so we can always take that base and tweak in photoshop to get more specific results.
Title: Re: PBR kinda materials
Post by: Ricky Johnson on 2016-08-24, 14:01:25
Have they given any indication of how quickly they plan to add those 'waves' of scans? The results of the 3rd and 4th waves should be interesting.

Not that I won't enjoy experimenting with the environmental stuff in the meantime. Looks good!
Title: Re: PBR kinda materials
Post by: Adanmq on 2016-08-24, 17:16:21
Hi. Very interesting thread.

I´m doing some test using Megascans free samples and Vray/Corona. I don´t want to create a Vray Vs Corona conflict here i just need to do this kind of test. They are "visual" test, my objective wasn't´to match reference but to compare different shaders.

I´m getting best results using VrayalMtl GGX mode but i don´t consider this production ready because i don´t know if alMtl will be part of Vray someday and because the shader it´s far from complete.

In Corona i can get "similar" results but 1.5 PBR looks broken (Black halo) and using a falloff on reflection to fix it manually doesn´t look like the best way since falloff itself it´s broken and i don´t like to work "by eye" and i can´r match hotspot on Corona but maybe it´s because i didn´t spend enough time tweaking falloff.

Will do further testing next week after D2.

Corona Results:
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=51245)

Vray:
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=4010.0;attach=51243)


Best
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-24, 21:14:04
Vray alMtl (GGX) is the most correct one. Beckmann seems like cool middle-ground, although artistically interesting. I think in Disney papers they only use it in specific cases.

Corona 1.4 GGX is quite hilarious :- ) But the 'fallof-fix' version does indeed look good.
Title: Re: PBR kinda materials
Post by: romullus on 2016-08-24, 22:44:08
I'm not as competetent as you, but for me Vray GGX looks as bad as Corona 1.4 and Corona 1.5 fallof fix looks as good as Vray alMtl. In fact Corona looks better because of its superior bump mapping.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-25, 00:30:56
It's pretty bad too, in fact, the original Vray script from Quixel guys only used 50RGB on specular (definitely not PBR) to "fix" that. I honestly don't get it, Vray guys tweaked GGX twice, and even kept the ridiculous halo because "some artists liked it for fabrics".

The fallof "fix" I imagine is manually fitting the curve for every roughness, that is no solution to anything.
Title: Re: PBR kinda materials
Post by: dfcorona on 2016-08-25, 00:41:47
For fabrics? Isn't that what the falloff node is for. Seems to work perfect with Redshift
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-25, 00:57:04
For fabrics? Isn't that what the falloff node is for. Seems to work perfect with Redshift

What do you mean ? Classic falloff in diffuse shading ? Works well enough, in fact I still prefer this.

But I like this : Fuzziness in Disney prx shader (retro-reflection)
https://renderman.pixar.com/resources/current/RenderMan/PxrDisney.html
Title: Re: PBR kinda materials
Post by: dfcorona on 2016-08-25, 03:02:41
Yes I meant the falloff in diffuse. Did you mean "sheen" in the Disney shader. I like that
Title: Re: PBR kinda materials
Post by: romullus on 2016-08-25, 15:04:54
The fallof "fix" I imagine is manually fitting the curve for every roughness, that is no solution to anything.
I'm not saying that this is proper solution. Of course it isn't. I hate those fallof tricks/hacks/fix. Never used them and have no desire to do so in the future. Hopefully CororonaMtl will be fixed soon there will be nothing to worry about.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-25, 21:00:57
I was speaking just generally :- )
Title: Re: PBR kinda materials
Post by: philippelamoureux on 2016-08-26, 05:12:39
I subscribed to megascans but I thought there was muuuuuuuuuch more materials in the library. Where are the thousands of mats ? Is it because it's in beta that the selection is that small?
Title: Re: PBR kinda materials
Post by: Njen on 2016-08-26, 09:54:35
Also, way too costly for a studio license for a couple of rocks and some twigs...$3k+? Come on...
Title: Re: PBR kinda materials
Post by: Rhodesy on 2016-08-26, 12:27:25
If I read it right I think they might have shot themselves in the foot with the product and pricing naming but I could be very wrong. They list studio licenses as $500+ per month but I think that is meant to be studios as in large companies not the megascan studio software. But maybe I'm wrong and in that case there wont be many takers im sure!
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-26, 12:50:50
I subscribed to megascans but I thought there was muuuuuuuuuch more materials in the library. Where are the thousands of mats ? Is it because it's in beta that the selection is that small?

There will be 4 waves until the beta ends. It's on the homepage.
Title: Re: PBR kinda materials
Post by: Rhodesy on 2016-08-26, 13:51:56
Is it free for the beta or do you just pay the monthly amount as normal? Looking forward to seeing what they do for bricks and pavers.
Title: Re: PBR kinda materials
Post by: Juraj on 2016-08-26, 14:19:56
No it's 'beta' as in development. It's paid.
Title: Re: PBR kinda materials
Post by: Rhodesy on 2016-08-26, 16:45:37
Thanks for the clarification. Im going to watch from the sidelines for now.