Black sections on glass object

Hey, everyone!

I’m getting these odd and unexpected black areas in this render.
Blender 2.93.7
Rendering in Cycles
I have a scene world image that I am assuming is getting picked up in the reflections. If so, it doesn’t look like it is “wrapping” all the way around the glass letters in the scene.

Any help or advice on what might be causing this and how to get rid of it are appreciated.

Can you show us your scene setup? could be an issue with not enough glossy or transmission bounces. How are you generating the background? hdri?

1 Like

I took your comment and ran with it by significantly changing the settings. Sadly, it seems to have had no effect.

Here are the current settings for the light paths.

Here are the settings for the World/environment.

hmm. Can you upload the .blend? too many factors to really be able to tell from just screenshots most of the time.

I think I did this right … I hope I did this right … :smiley: This links to a .zip ile in my Google Drive. Once you’ve got it on your system, it should extract with no problems.

https://drive.google.com/file/d/11Y8UNGjDt0PnNMLJlEsWS-tKcXz7HHtg/view?usp=sharing

Something really weird is happening here. I get the problem only if I render on the cpu, and it stops happening if I set the glass shader to multiscatter cgx. Looks to me like it could be an actual bug.

Hmmmmm … with me it happens all the time, no matter what I set the glass shader to or how I render (GPU vs CPU). The only time I get no big black areas is rendering with Evee, but then it renders the glass a slightly reflective, very shiny solid with almost no transparency.

Have you checked your geometry (overlapping faces, normals etc).

Also if you have smooth shading enabled on an object with sharp edges, that can cause shading issues.

I have played around a bit and found 2 things that help.
Adding a bevel to the text helps the smooth shading, but does not get rid of the back shadowing.

Glass this thick will have a lot of refraction, (which gives the black shadows) I had a play with the material and did this.

The second mix shader gives you control of the darkness of the “black shadows” produced by refraction, getting rid of it completely makes the glass blend in to much into the background.

You could mix in a transparent shader after so many bounces using the light path node ray depth or transparent depth output.

Essentially you would tell the shader to use the transparent shader after say 10 transparent bounces. That way you retain the look of the glass but avoid the black because before you reach the upper limit for transparent bounces - the shader becomes full transparent.

Yes there are different ways to get rid of of the black (using light-path ray-length as mix factor and flipping the shaders also works).
Mixing with fresnel does it completely but then the text blends into the sky too much so I mixed the glass shader back in a bit.

Another strange thing, I can only get it to show up when rendering on CPU, but it goes away when I do one of these:

  • I uncheck “Open Shading Language”

  • Convert to mesh and check Autosmooth. Also take the opportunity to merge vertices by distance <easiest solution

  • Change to multiscatter GGX in the material properties

note: when you convert to mesh, there are a LOT of overlapping faces/vertices (5400+ just in the words Eternal Sky).

I think this all has to due with how blender triangulates the text object, and then is made even worse when extruded.

Looking at your file - it’s definitely the geometry that is causing the issue.

I applied a voxel re-mesh modifier to the text with a 0.01 size and smooth shading enabled - and this is the result with no changes to the shader or render settings

untitled

1 Like

You are right topology is the main problem, this is probably the best way to go.
A good automatic solution to convert text to mesh with nice topology would be a god send, I know it would not be simple to do. We can always dream :slightly_smiling_face:

@DNorman @moony @Jakebane @etn249

I’m sorry it has taken m so long to get back to you all. My personal life just got real busy and I haven’t been able to play around much with this until last night.

First, I want to thank you all for your help, suggestions and ideas. These methods have cut my render time for frames with the glass letters back by about 30%. Moony’s solution works great, but also, sadly, works too well as the glass letters almost disappear against the clouds.

So, I’m gonna be playing around with this some more.

I’ll be posting my progress, unless it is more appropriate to do so in the WIP forum.

You can play with IOR settings if you want more contrast between the outside, also bevels, etc

Or just darken the glass a bit, give it some colour and maybe a bit of roughness.

This is voxel re meshed as above but with the glass material changes to RGB 0.630, 0.800, 0.855 and roughness 0.1, with GGX multi-scattered glass

untitled

I was thinking along those lines. Before coming here to solve my transparency problem, I discovered that using the Solidify modifier made the letters look as if ther were made out of I-beams. It was a great effect that perfectly highlighted the shapes of the letters, but when I add the Re-mesh, it deletes that effect and can makes the letters all rounded off, even with Smooth Shading unchecked.

Hi. An idea could be to do it with geo nodes (if you can use it, although I tried it and it didn’t work at all for the bevel) I tried something else. I applied a medium high remesh to the object, then in the shader I put an absorption volume in addition to the glass surface. I also modified the world shader for better reflections (I applied a gamma node to recover the color that filmic skews, somehow) You will notice that compared to your render and the standard version of color management. The truth is that you will need to model the bevel of the letters in some way, without that you will not achieve the glass look you are looking for. In my attempt the remesh left non-fine edges and despite the subdivision that I added it looks rough.

glass version only (shader)

glass version and absorption volume

glass and volume version without remesh

blend file: https://drive.google.com/file/d/1_1ScngKsynRlZFzMpBRFrpLUKwP6cwXK/view?usp=sharing