So I could get all (base reflection with ior + clearcoat) for thin wall (refraction ior as 1.00) (#282)

Issue #290 closed
engetudouiti created an issue

At first thanks Xin and Thomas remind me the blender Clear Coat . Actually without add new principled bsdf we can not add the Clearcoat reflection. I admit it. Then I read blender document and clear coat nodes more stricitly, then you may use it to mimic daz top-coat reflection . (though actually daz top-coat have many modes which effect shader , but basically both can offer top layer reflection)

But about blender top coat ignor all ior things. so it just reflect asif mirror. So I may not hope to use it .

Then about daz cornea it use both refleciton. (as thin wall) with reflaction map.

I am greed guy so after #282 offer double principled shader, (though it may only used for layered refraction mat, I suppose)

I took time to think my current custom node, and test hard about blender top-coat.

Then as conculusion we can get all,.because at least current blender top-coat work as addcitive manner only. (so it not mixed, but just add new reflection value. then it only depend clear-coat, alpha, and clear-coat normal, clear-coat roughness. other property in pcinricpled bsdf simply not effect for blender clear coat at all. (not change with other value)

So I could divide it from principled bsdf, and manage alpha problem then now I can make separate gorup (clear coat custom nodes)

That means, now I can use the custom clear coat nodes, as I need with “add shader” . without effect other custom shader.

I do not request, this plug in use it, Because It is tust shader tweaking things, and I do not think it work for all case (because vendor can offer their eye mat as they like, so they sometimes use another option for daz top-coat witch we can never mimic it. or need to change how top-coat work for each case)

at same time, if someone really need to mimic daz top-coat, after all you may need to separate clear coat effect from principled bsdf. then keep it as individual group nodes (custom nodes), so you can mix it as you need to represent daz shader top-coat.

These pic may show how it work,

From top to bottom

  1. no reflection (keep ior 1.00 without clearcoat )
  2. only change fresnel ior for custom shader (principled bsdf can not without you add it with mix shader and fresnel)
  3. my custom clear-coat (it simply pick from principled but you need to consider how manage alpha,, it is my secret ^^)
  4. mix all = refraction ior = 1.00, base reflection with ior (1.4 etc) + clear coat effect (specular reflection)

Of course I prefer current way as my custom nodes. so I thanks even though we can not agree how offer pricinpled option for second refractive mat for eevee. without the Xin report, and Thomas offered way, I simply ignored the daz clear coat, because I do not think I could use it for my custom shader (though I could mimic it, but it need to use different value of principled bsdf cear coat, and could not confrim it is same effect as principled bsdf clear coat )

Now I pefectly use principled bsdf clear coat as separate nodes, so I really easy add it with my custom shader, without use principled bsdf. (of course I still use principled bsdf as main nodes + use custom nodes when I need it only, about this problem, I need both.

Comments (5)

  1. engetudouiti reporter

    Then I understand, the original problem of 282 issue is for Eevee. but why I could not think it is issue, as I have taled before for Eevee second (layered or inner) material we should not use refraction node (it is eevee bug) but if use transparent shader it cause no issue.

    Then to get reflection, I recommend add fresnel node before. So if the daz mat use refracton weight, (to separate colored texture part) for cornea, we only needed to mix with custom nodes. then actually I do not change any eevee setting, just keep refraction on for all surfaces. with Eevee (though I do not know if it really cause difference with transparent shader,, just think I do not need to change the setting for 2nd layer. with transparent shader work flow. (simply when there is refractive mat as layred Eevee not work, so just do not use it for Eevee second refractive mat.

    So I test with my custom node set-up (add new clear-coat custom nodes) it work well. These are eevee version. (I use base principled bsdf, (non refractive part) around cornea with use refraction weight map + custom node group . (that is Xin original problem he reported , mix with non refractive part for cornea + layered refraction cause issue)

    1. without any specular for cornea. (only show a little eye moisture reflection with my current setting, it easy change, just keep it)

    2_ add fake reflection (pink) of ior 1.50 (fresnel) , why I colored glossy color,, to see clear only. (I do not need to realism etc, just need to know how shader work, so for test to shader, I always use different color, to separate effect)

    3 add new clearcoat (principled bsdf divided) but remove ior reflection. (current double principled bsdf work so)

    4 So I like to get all but keep to use transparent shader with ior reflection + base non refractive part principled shader (it separated by refraction weight, then mixed) + custom clear coat nodes. (get full specular reflection with roughness)

    Then about eevee setting, screen space refraction, it not effect at all when I not use refraction shader for 2nd layered part, but use transparent shader. (+ fresnel weighted ior glossy)

    And about eye cornea and eye moisture, actually we need not change shader for eevee and cycles., this shader work without use refraction shader. Why I like to include refraction shader for csutom cycles thin wall shader, it is customized to work for all refractive mat, but if use for thin wall, ior usually only set as 1.00 . actually we need not use refraction shader for any thin wall (at least for blender current shader nodes) ,, only meaning to use refraction shader for thin wall, get some unique or special effect when user need. but if try to convert iray shader is main purpose, there is no need. we should keep ior as 1.00 for all thin wall. (when it is refractive) , that means we need not use any refraction shader, and any principled transmisison shader. (because it maens transparent with ioir 1.00)

  2. Alessandro Padovani

    Hi engetudouiti, I’m not sure I follow entirely.

    for ior = 1 the current solution already uses the clearcoat channel for reflections

    for ior > 1 the standard roughness and clearcoat are used

    See #104. What I didn’t include in #104 is the use of clearcoat for ior > 1 because Thomas already used it for the daz top coat, that’s the expected conversion.

    p.s. Then personally I don’t like to add complexity to the principled option, because it is intended to be simple for compatibility with eevee, prorender, and gltf, other than being friendly for user editing. And anyway the principled shader is limited compared to the uber shader, so it is known for the principled option to have limits for iray conversion. If we want complex good materials this is what the bsdf option is for.

  3. engetudouiti reporter

    This is my private aploach to solve the current principled bsdf option. I do not talk about bsdf otpions. here.

    Actually I avoid to talk about bsdf options. because we need not many man who convert shader. I already know about how convert iray, we can not get same view. So I do not add anything, without it is clear erroer about bsdf options.

    But this is principled bsdf matter, then for me the current conversin way is not enough (at same time now it use double principled bsdf nodes, so I thought I can add view. because I am main user of the option, as my base set up.

    # if thin walled is on then there's no volume
                # and we use the clearcoat channel for reflections
                #  principled ior = 1
                #  principled roughness = 0
                #  principled clearcoat = (iray refraction index - 1) * 10 * iray glossy layered weight
                #  principled clearcoat roughness = 0
    

    The problem is, current way how manage thin wall reflection, it mix daz top-coat reflection and base layer reflection (witch work with reflectivity (actually it is ior of the material ) as one clear coat reflection for thin wall. You are all actually know, it is different thing. if base layer reflection and top coat refllection can be represent as one reflection, why we need “Clear coat” or “Top coat”?

    I know you use guess to get the formula, but it not means you can separate those 2 reflections. I can approve to use blender clear-coat to mimic daz top-coat (but we may better more carefully check all mode, if enhance it, current way is really guess math)

    but can not approve, simply mix 2 reflections as 1.

    principled clearcoat = (iray refraction index - 1) * 10 * iray glossy layered weight this .

    principled bsdf clear coat not represent ior and not count it. just change with clear coat roughness value. and it have no clear-coat ior.

    it not count base layer ior at all. so just multiple 2 different reflection, without clear reason. and at same time, if you use the clear coat nodes, it means you remove the node from principled bsdf eg, user can not add different normal clear coat reflection (it is often used to get good coat reflection)

    I think Alessandro way often use another nodes (like you used mataric before) then try to represent different thing, It is not wrong but at same time it remove original usage of the nodes. So I can not approve about this if there is way without use it.

    Then one thing I hope to clear , those 2 basic idea

    1 mixing and change ior for refraction (1.00) or use transparent . and add glossy with use fresnel ior. for thin wall,

    2 set up custom fresnel node withch count roughness value and change the strength.

    comes who?

    Those are all base of this conversion. then who actually recommended, itnroduced and offered real node set up?

    It is me, I intoroduce those 2 things then tried to use it to improve daz thin wall for add on conversion. Sometimes I afraid yours forget it.

    I understand you try to customize it, and actually use them with your purpose to enhance bsdf, it is OK, but at same time I hope you try to keep them work better. current shader conversion are produced many guess work,. eg

    I said, daz specular value can convert as IOR with real formula, and it is used for many shader vendor. but yours still use guess covnersion.

    Why I afraid, basic idea are now mix use with some guess conversion. So as man who request to add those 2 thngs for covnersion, I may hope it work more precisely.

  4. engetudouiti reporter

    @Alessandro

    I remember when I add new custom nodes for thin wall, you find problem when it used for plane. or cube.

    because my custom shader was only planed to use for eye mats so I did not test carefully for other glass etc. So it could not count the lay from backsurface.

    After that I forget it long-time, then I happend to find good conversion way was offered .

    If you see the node set-up it should work for all thin wall. Only thing it may not offer is add fresnel roughness correctly. blender fresnel node not count roughness (it is long-time reported, and I think it still remain the issue, though I do not know if it is already solved , but if it is already solved we need not any custom fresnel any more.

    If you keep to try enhance current bsdf option, you may better see this node set-up for thin wall, It can count both direction lay for thin wall. your customize way is actually not. you can compare your customize node for thin wall. and you may see the linked set up work more correctly then represent thin wall reflection for both side. I already reported it, but not push hard. (Thomas said it may work better, but not could take time to include) in old version repo.

    When I happend to find it, I really suprised, why it was so simple, check this link cdog offered node set-up. If you really hope to get more correct thin wall bsdf set up. (and you may include it for your custom bsdf nodes)

    https://devtalk.blender.org/t/principled-bsdf-transmission-behaviour/2096/3

  5. engetudouiti reporter

    I think almost same thing seems already included in bsdf option and pirncipled option,,. (though how make top-coat and mix use seems different for me,, but maybe If I htink something may better, I may open new about daz top-coat thing .

  6. Log in to comment