Here you can see a glass with a thickness of 2mm:
(Model downloaded from internet, so a bit buggy, if I adjust the thickness to 5 mm some strange artifacts appear)
If the glass objects don’t have thickness then the renderer thinks the entire cabin is filled with glass so the refraction goes hay wire. In this model I just added a render modifier “Thickening” but you can do it physically by extruding the glass surfaces too.
Note that you might have to select the glass object and turn off thickening for the objects to appear in perspective mode if you use shaded or rendered. (It happens here on windows, maybe not on mac)
There is no coincident geometry. The result is the same on the side windows, the front windows, the topside windows in the hull and the deck hatches.
I don’t think the Rhino thinks the cabin is solid because the back of the cabin is entirely open.
Here is the question. Having created many hundreds, maybe thousands of successful renders of this type in Rhino 6 and 7 without this problem arising- what could have changed in the software - or what could I be doing differently or mistakenly to cause this issue?
what he means is that in terms of light rays, if the glass panes have no thickness, light enters through one window, is then “in glass”, and only exits “back into air” some meters away, from another window
so you need to give your glass panes some volume, as they have in real life, such that light enters & exits each glass pane in a realistic way, rather than essentially turning the entire interior of the yacht into a solid piece of glass
one reason it may have behaved differently for you in older versions of rhino is that you may have used one of the older render engines, which did not properly support refraction
to possibly allow you to use your prior workflow, here is one way of making a fake glass-like material, which gives reflections but not refractions
here are three panes over a checkerboard plane, where the two on the right have a regular glass material, and the one on the left has the same, but with IOR (index of refraction) set to 1.0:
the center pane has thickness, and we see the behavior we want, while the one on the right has no thickness, and undesired refraction
the one on the left, we cannot see, since IOR=1 means that light does not reflect or refract when entering this medium
this non-bending behavior is what we want, in order to keep using zero-thickness window panes, but we also want to have glass-like reflections, and we can get something close to that by adding clearcoat to the material:
I just chose Amount=5.0 by eye; this is a hack, so there may be no “correct” value to use here
In real life would not the reflection on the top of the object be similar regardless of the thickness of the panel, since the reflection happens on the surface? (And thus reflection should render the same regardless of the refraction? Or are refraction tied to both reflection and refraction?
if we set IOR=1, we are telling the render engine that light does not change speed at the junction of the air & the surface, and therefore continues on its path as though the surface does not exist; in other words, the IOR=1 is really saying, this material is not glass, it is air (well, vacuum), and for that reason we do not expect to see any reflections from it
as for whether reflection happens at the surface in general, that is an interesting question; for render engines and typical computations/discussion of this, we would say it does … however in reality it is not so simple, as demonstrated by newton’s rings, which shows how reflection from a surface is determined also by what lies beyond that surface, our notions of causality notwithstanding
it is one of those cases where it makes sense when we think of light in terms of waves, able to interfere with each other, but makes no sense when we think of it as a particle, since it means particles in the dark regions somehow decide not to reflect, based on what lies beyond the surface
Thanks for clearing that up, I guess the “issue” I am having is using old renderers where they had separate values, where reflection amount was separate from IOR for transparency. And I guess i like this old way since for me a renderer is mainly to illustrate and secondly to simulate reality. But that changed with Maxwell render where suddenly we were able to simulate effectively. At the cost of render speed compared to scanline/hybrid renderers and at the cost of complexity for setups. (…ish, since it also made it simpler once I got used to thinking about the surroundings) Gone were the inverted lights of 3DS max and inclusion/exlusion lists of light sources. I see how this is all good when using complex engines, but it also makes it difficult to get descent results quickly for beginners using simpler engines. I often want more reflective glass though.
(And to make it all more complex we do in real life have stuff like art-glass that reflects less yet has the same IOR as normal glass, so I guess having a topcoat setting for glass material makes sense and thus separating the two values… +1 for creative control is where I land at I guess )
Perhaps as well, you are missing some of the energy conservation? Reflections should be made up from the double-sided nature of the non-thin medium, if I recall. You should get the energy from the top surface plus the energy from the rear surface of the same medium. For resolved thickness, this should cause you the normal slightly offset images you get when looking at glass, where there is a “central” part of the reflection where the user sees the combined optical-wavelength energy.
well everyone is free to continue to develop and use those types of renderers, some of us just prefer to establish a solid baseline first, where results are made predictable by use of physical analogy and proper simulation, and then we can poke around to see where unreality can be accommodated, hopefully consistently within the model; to use your example of wanting to increase reflections, one might add a clearcoat as above, or mix in a mirror material by partial opacity (not telling you anything new, but for other readers)
I personally prefer this for exactly the reason demonstrated in this thread: I started writing that post before knowing if cycles could do it, but assumed I could find a way, and that it would be found by thinking of the scenario in a physical way, even given that what I was after was specifically unphysical
One of the things I find very useful about physically correct rendering is the ability to use meaningful numbers. In addition, I think I am always forced to understand why something is happening. In effect, it almost encourages more physically correct geometry, as it won’t just make stuff up on-the-fly on more occasions. But I understand that if you are concepting or such, this may just be a huge overhead.
On this forum, one of the problems I often see is that people create scenes in Cycles where to get the correct “effect”, they insert dozens of lights with utterly meaningless numbers.
In Cycles for example, it’s really easy to use, but is not easy to repeat. I mean this by the fact that the lighting scaling is utterly meaningless. For example, in some (not just bella) renderers, if you switch a light on, you can use a 5 Watt bulb with a known efficacy, and produce a physically meaningful lighting setup. I still struggle with Cycles, where I am just entering numbers like ‘1’, ‘12’, ‘18’, and they have absolutely no relation seemingly to anything. The advantage of speed in Cycles does make complex scenes much easier to render; but like the motherboard images I posed a month ago, the lighting was really bizarre. I was just throwing lights in there and putting numbers in there.
That said it is also interesting that you speak about speed relative to scanline. I used to hate the 3DS Max Scanline render speed. But that was back when we were stuck in Pentium nearly all the way through Skylake CPUs; so everything seemed slow.
This thread wandered off the rails from the original problem. Didn’t seem to matter because I thought the issue was solved by JD Hill in Post #28
Share Post #28 May 22, 8:43 PM
But I’m back to square one. New models are not giving me transparency in the windows even when I make them solids or cut and paste the windows from the model where I achieved transparency.
In the screen shot enclosed the transparent windows are in the render view port.
When they are rendered they are completely opaque. I have tried a range of materials including glass, custom and physically based. The color is a mid grey.
Thanks Nathan, I downloaded your model, clicked render and got a fine result.
Now to dig in and see what is different in my settings. I’ll let you know.
Tony
Hi Nathan, Firstly I duplicated your settings. No success getting transparency in the renderings.
So copied your glass into the file. No success. So imported your glass. Yes, that worked for a few renderings but then went opaque black.
I think the problem is more widespread than the glass. Rhino 8 works OK when I first open a file, but gradually becomes very laggy. All kinds of functions stop working (eg snaps don’t snap) until I have to reboot Rhino to get functionality back. Rhino 7 works fine as always.
This sounds like RH-82080 Rhino becomes slow after multiple documents have been opened. I’ve also spend a day trying to gather information for that topic on a related tangent (memory usage). It is being worked on but I don’t know when a fix will be found and made available.