Page 1 of 1

Disable Nested Dielectrics

Posted: Thu May 20, 2021 10:28 am
by jessestormer
I recently needed to re-visit and old project for a client, I noticed it was rendering quite differently. (latest build 2020.2.3-R4)
I pinned it down to refractions not going through glass in the same way -- and discovered the nested dielectrics feature.
But, even though the different glass/specular materials aren't intersecting one another, toying around with priorities, and disabling nested dielectrics -- I can't get the same result as with the older version of Octane.

I wound up bouncing back to 2020.1.5 to get (what I think comes down to refractions?) to work the way they were.

not getting refraction through glass as expected:
Cree_Flex_Re-Render_2021_May17_0299.jpg
refraction reacting through glass as expected:
Cree_Flex_Re-Render_2021_May17_0300.jpg
Thanks for any help you can provide!

Re: Disable Nested Dielectrics

Posted: Fri May 21, 2021 6:26 am
by bepeg4d
Hi,
is the bottle an open surface?
Nested dielectric cannot work if you have holes in the mesh.

ciao Beppe

Re: Disable Nested Dielectrics

Posted: Fri May 21, 2021 11:27 am
by jessestormer
Shouldn't unchecking 'nested dielectrics' revert to the 'old' way of things working?

The way light comes through from outside the window to bounce around the room isn't happening anymore (there's another room outside all sides)

The bottle and the window both have thickness - using a cloth object.

Even on the first series of windows on the outside of the building -- light doesn't seem to have ANY refraction that casts light on other surfaces.

The spots that show the most difference on these images specifically are: the bottle on the table, the floor in front of the right window, the chairs on the left side

Thanks!

Re: Disable Nested Dielectrics

Posted: Fri May 21, 2021 1:41 pm
by LasseAndersen
While we are on the subject, where is the essential documentation on how to set up nested dielectrics correctly? What should be what "priority" ie. in a setup with airbubbles in water in a glass, which has 0, 1, 2 in priority?? - I've googled for 8 straight hours and it is honestly easier to find recipes for bombs.

Re: Disable Nested Dielectrics

Posted: Mon May 24, 2021 8:49 am
by bepeg4d
Hi,
I cannot reproduce the issue with my scenes :roll:
Could you share an example scene that shows the problem?

About nested dielectric, the updated documentation is on the go.
For now, you can read about it here:
viewtopic.php?f=24&t=76901&p=397301&hil ... ic#p397301

and here:
viewtopic.php?f=24&t=76901&p=397333&hil ... ic#p397333

ciao Beppe

Re: Disable Nested Dielectrics

Posted: Wed May 26, 2021 3:17 am
by jessestormer
I reduced this scene heavily to get it down to the bare essentials -- Dropbox File

Here is the comparison between how versions are rendering - I still can't quite figure out why the change is occurring.
DielectricsTestImage.jpg

Re: Disable Nested Dielectrics

Posted: Wed May 26, 2021 5:41 am
by wallace
Thanks for the scene, I have looked into this and it has nothing to do with nested dielectric, that's why it's still different compared to 2020.1.5.

What's happening here is we have fixed a long standing issue with caustics and fake shadow, the highlight below the glass window is not actually supposed to be there as the window has should have 0 roughness, so there should be no caustic blurring when the ray hits the glass and onto the floor.

Re: Disable Nested Dielectrics

Posted: Wed May 26, 2021 3:13 pm
by jessestormer
Okay, makes sense! I will just add in a bit of roughness to my glass. Thanks for the help there

Or - any chance there a way to get the lighting effect from rough glass without the visual appearance of rough glass?

Re: Disable Nested Dielectrics

Posted: Wed May 26, 2021 11:29 pm
by roeland
In 2021.1 you can use the Ray switch node for the roughness input to have different values for different situations.

In 2020.2 you can create an OSL node with a similar behaviour. You switch to an OSL texture and enter this program:

Code: Select all

shader OslTexture(
    color roughness = 0.1 [[string widget = "number"]],
    output color c = 0)
{
    c = raytype("camera") || raytype("refraction") ? 0 : roughness;
}