Iray refraction creating anomalous opacity with geoshell

Reality1Reality1 Posts: 115

Has anyone seen an issue where a geoshell becomes partially opaque when using refraction in Uber-IRAY surfaces?

The (partial) opactity seems proportional to the refraction weight allowing the surface below to bleed through. This is happens even when the surface is set to be completely opaque. Subsurface scattering is off on the geoshell surface.

Is there a way to inhibit this behavior?  :-)

Post edited by Reality1 on

Comments

  • scorpioscorpio Posts: 8,367
    edited April 2020

    Yes refraction makes the surface transparent and reflective, so even if the surface has the opacity set to 0 it will still render, I think thats the reflective nature of refraction at work, think water or glass.

    Post edited by scorpio on
  • chris-2599934chris-2599934 Posts: 1,798

    What behaviour were you hoping to get from the refraction channel?

  • Reality1Reality1 Posts: 115
    edited April 2020
    scorpio said:

    Yes refraction makes the surface transparent and reflective, so even if the surface has the opacity set to 0 it will still render, I think thats the reflective nature of refraction at work, think water or glass.

    Hmmm. Ok. Thanks!

    Post edited by Reality1 on
  • Reality1Reality1 Posts: 115

    What behaviour were you hoping to get from the refraction channel?

    I was setting the index of refraction to 1 hoping to overlay a mirror effect with the index weight. It seems strange that it would pass a seemingly arbitraty amount of the light and then pass it back from the surface below. Looks like this is a conceptual matter of index of refraction VS the phenomenon of refraction itself.

  • chris-2599934chris-2599934 Posts: 1,798
    Reality1 said:

    I was setting the index of refraction to 1 hoping to overlay a mirror effect with the index weight.

    Are you sure you aren't confusing refraction with reflection?

    There are two ways of making a surfaced see-through in Iray, with two very different applications.

    If you can see though (part of) a surface because there's nothing there, you use Cut Out Opacity. Areas that have a value of 0 have been "cut out" and don't show in the render. You can put this channel to other cunning uses, but that's what it's really for.

    If you can see through an object because it's made of a transparent material, like glass or water, you use Refraction. Areas that have a value of 1 allow light to pass through them, but not without bending (refracting) it and maybe reflecting some of it back.

    To get a reflective surface, you need to look in the gloss channels.

  • Reality1Reality1 Posts: 115
    Reality1 said:

    I was setting the index of refraction to 1 hoping to overlay a mirror effect with the index weight.

    Are you sure you aren't confusing refraction with reflection?

    There are two ways of making a surfaced see-through in Iray, with two very different applications.

    If you can see though (part of) a surface because there's nothing there, you use Cut Out Opacity. Areas that have a value of 0 have been "cut out" and don't show in the render. You can put this channel to other cunning uses, but that's what it's really for.

    If you can see through an object because it's made of a transparent material, like glass or water, you use Refraction. Areas that have a value of 1 allow light to pass through them, but not without bending (refracting) it and maybe reflecting some of it back.

    To get a reflective surface, you need to look in the gloss channels.

    In Octane you can make a surface into a mirror by setting the index of refraction to 1. This makes the incident angle and the reflected angle equal. I was expecting the same behavor from IRAY when the the material was set to be completely opaque. As it turns out the "Weight" of the refraction is actually proportional to the opacity for the IRAY-UBER refraction channel.  In an actual physical surface this not separable from the material's opacity. There should be a distinction between a layer operations and a channel operations when referring to "Weight". Of all the renderers I've used, I find IRAY-UBER the most unpredictable, wich is frustrating because it's cabable of excellent quality.
     

  • fastbike1fastbike1 Posts: 4,077

    Iray is plenty predictable once you stop expecting to behave like soome other rendering engine.

  • FishtalesFishtales Posts: 6,104

    The Refraction Index of 1 is Air so is clear.

    To get a mirror the Refraction Index would be 1.55 and then set the Glossiness to 1.

  • Reality1Reality1 Posts: 115
    edited April 2020
    fastbike1 said:

    Iray is plenty predictable once you stop expecting to behave like soome other rendering engine.

    Being a "physically based renderer" I'm just wanting IRAY not to defy the laws of physics.

    Post edited by Reality1 on
  • Reality1Reality1 Posts: 115
    edited June 2020
    Fishtales said:

    The Refraction Index of 1 is Air so is clear.

    To get a mirror the Refraction Index would be 1.55 and then set the Glossiness to 1.

    A perfect mirror can be defined as having a reflection R=1 and a phase change upon reflection of 180 degrees. The Fresnel formula for reflection at an interface of air with material at perpendicular incidence is R=(1−n)/(1+n). R is the amplitude reflection, the intensity reflection (energy) is R*R. So a perfect mirror would have to have n→∞.

    So R=1 for a perfect mirror.
     

    Post edited by Reality1 on
  • FishtalesFishtales Posts: 6,104
    edited April 2020

    This is a Primitive Plane, Metallicity 1, Glossy Layered Weight 1, Glossy Colour White, Scatter Only, Glossy Reflectivity 1, Refraction Index 1.55.

    2020-04-21 16:50:00.921 Total Rendering Time: 37.77 seconds

     

    Click on image for full size.

    mirror-001.jpg
    1920 x 1080 - 2M
    Post edited by Fishtales on
  • Reality1Reality1 Posts: 115
    Fishtales said:

    This is a Primitive Plane, Metallicity 1, Glossy Layered Weight 1, Glossy Colour White, Scatter Only, Glossy Reflectivity 1, Refraction Index 1.55.

    2020-04-21 16:50:00.921 Total Rendering Time: 37.77 seconds

     

    Click on image for full size.

    1.55 why didn't I think of that. How silly of me.

    Seriously though. Thanks for the number, but the original question was about how and why light passes through the UBER surface when the opacity is set to zero. I was trying to create a perfectly reflective layer to make a more realistic looking metal. I didn't want this to turn into a complaint about IRAY syntax and symantics, and perhaps I just haven't found the proper documentation, but it's phenomenal the amount of time I've wasted trying to understand what to expect from the IRAY-UBER parameters.

  • FishtalesFishtales Posts: 6,104

    Do you have a screenshot of the viewport and your surface settings so we can see what you are trying to achieve and the effect you are getting?

     

  • Reality1Reality1 Posts: 115
    Fishtales said:

    Do you have a screenshot of the viewport and your surface settings so we can see what you are trying to achieve and the effect you are getting?

     

    Oh no. I've moved on from that now. I'm still dealing with another IRAY shader issue though. I'm presently trying to understand why Glossy Layerd Weight doesn't control the weight of the glossy layer. For example, when I have Glossy Layerd Weight set to zero, Glossy Roughness still has a major impact on the specularity. It's probably just me not understanding what zero means.

  • FishtalesFishtales Posts: 6,104

    I had another look and if you turn Share Glossy Outputs to Off it allows the light to pass through the glossy surface and gives a reflective layer with the underlying colour showing through. I think that is what you mean I just tried it on an eye where the Cornea is reflective and see through showing the Iris below, turning it on makes it go dark and the iris colour barely shows through.

    I found this helpful.

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/interface/panes/surfaces/shaders/iray_uber_shader/shader_general_concepts/start

Sign In or Register to comment.