Where are these reflections coming from?


I have expanded a bit and fixed some issues with a wine glass render I had in a previous thread. I now have a new problem, and I have attached my .blend file for anyone nice enough to take a look :slight_smile: As you see from the image below, I have a black stripe reflecting in my wine that I would like to not be there. I want more of this effect for my wine where reflections are minimal: http://5starrental.com/wp-content/uploads/2015/10/52cc93a2dcf76.preview-620.jpg

My problem now as you can see is that I have a lot of reflections, and the black stripe really does not look good. I have tried to move planes around in my scene and I am able to minimize it, but I can’t seem to make it go away completely. Any help would be much appreciated!


red wine 8.blend (5.15 MB)

That black line is the top of your cube.004 mesh (you should start naming your objects better!!)
The back side of the wine is reflecting the top, and that line is result of the surface tension curvature.

There are plenty of ways to solve this, but perhaps if you fix the IOR for the surface between the wine and the glass, will probably be the best approach.

Thank you for answering. I need to name my objects better indeed, I will work on that :wink:

But when it comes to the IOR I was under the impression that I had done this correctly? At the bottom of the linked article it said that a faster and easier way is just to scale up the liquid to sit between the inner and outer parts of the glass, and checking my meshes I seem to have managed that.

If I just choose the glass and liquid meshes and hide everything else, the reflection disappears and the wine looks how I want. I therefore don’t understand how it can be the cube.004 (wine liquid) mesh that causes it. If it is, I would love to learn how that could be!

If I start unhiding objects one by one it’s when I activate plane.002 (emissive back plane) that the reflection appears. Is it this emission that creates the reflection of the surface tension curvature? I have tried to play with the size of the curvature, but I can’t get the line to change size in the wine, so I concluded it was not that.

Am I wrong on the way I have solved the IOR with the scaling between the edges of the glass and that is what is causing the reflection?

After reading a bit more about this I understand it in a different way. I need to scale the wine up AND work on the correct IOR. I saw an answer here: https://blender.stackexchange.com/questions/35726/fluid-in-a-glass

After calculating the IOR of my glass/wine interface to be 1.082 I managed to reach the goal without doing anything to the normals. Result is attached, thank you for your input in this matter :slight_smile:

Sorry for spamming, but two more problems. Does anybody know what is happening in the stem, and what is happening when the camera is tilted up? I have tried removing absorption in the glass material and turned on and off different rays of different objects to no avail. New .blend attached.

red wine 8.blend (5.18 MB)

Do you have enough transparent bounces? Black artifacts like this in glass are usually the result of the ray terminating before it can complete it’s journey (i.e. too few bounces).

Edge darkening happens because you look into the edge at penetratable angle, but from there on is an endless loop of total internal reflection as the ray bounces from one face to the other and angle is never head on enough to penetrate. Glass absorption is normally slightly green. When looking head on it’s pretty much invisible (consider window glass). But when looking edge on it’s a very dark green appearance because the ray goes through so much more material due to total internal reflection (never escapes).

A trick you can use, with all bounces set to something crazy like 256, is to plug in a pure red emission shader at the bottom socket of a mix shader, controlled by a light path/ray depth through a math node greater than 4 check. With interactive rendering on, increase the greater than check until the red disappears. On my very simple test glass I even have red showing up at 12.

Expanding on that trick is to use an environment texture (based on reflective coords) driving the emission shader. I can now set max bounces back to a more sensible 4. It won’t produce the realistic image, but it will get rid of the “black edge caused by too few bounces syndrome”. It’s a hack, it’s inaccurate, but rendering glass with tons of bounces is usually unacceptable to me. Hell, even for glass panes I’ll fake it using transparency based and do the green edge darkening based on normal not being transparent if needed (usually the edge is hidden in a frame though, but glass fencing/railing could have it visible). Do it correct and by brute force only if you can afford the rendering times involved.

The setup I mentioned would look something like this:

Thank you everyone for answering and for the valuable tips - I understand why this is happening now and I have a way around it!

Kudos to this great community :slight_smile:

EDIT: In my case I see that it is actually the shadow catcher that makes the glass look like that from that angle. Disabling the shadow catcher makes everything normal. Disabling the transmission rays on the shadow catcher makes things almost normal. I am going to do some research as to why the shadow catcher is completely black and affecting reflections and transmission. Hopefully I can find an answer!

Seems like the correct way to do this is to just uncheck everything but camera and shadow on the shadow catcher. Seems to be working :slight_smile: