Strange texture effect

Hi everyone

I’m trying to make a realistic soup and I am having some issues with the material
As you can see from the image, there is an awful strange line on the top of the soup. Somebody knows why? I have no idea

Also I would be really grateful if somebody could give me some tips for a realistic material
Thanks in advance! :yes:


Please ALWAYS supply an example .blend file with any support question.
You don’t even show the complete node setup for that material. Seriously, what is our feedback supposed to be based on?!

Looks like it could be a reflection of the background to me.

What have you got set up as your environment?

Have you tried changing the camera angle to see if it disappears?

In this type of scene, you may need to carefully add the curvature of the surface tension. this will make the reflections of solid surfaces more according to what your mind would identify, and they will become less noticeable.

Yep ^^^^ this too.

Your ‘soup’ would not have a perfectly flat surface. You should have surface tension effects around the edge of the cup as well as around each crouton.

Thanks everyone!

As moony suggested, I have tried to change the camera angle. Infact, if it is 90 degree with the soup, It gives the problem. Otherwise It doesn’t.
Someone would be so gentle to explain me what is the “curvature of the surface tension”? I have searched it on google but…I didn’t find anything :frowning:
soup-art-logo-v14.blend (12.9 MB)
On the right you can see the render of the scene from a 90 degree, on the left from a casual degree




The scientific term for this effect is “meniscus”.


It reflects the plane next to it.

Most objects have unapplied scale, some also non-uniform. That makes modeling tools and modifiers seem like they’re not behaving like they should, and might also affect UV’s, materials/lighting/rendering. Ctrl+A -> scale to apply.

Cubes are using very high subdivision instead of smooth shading, very stupid, makes a simple scene use over 2 million polygons.

Thank you a lot guys

I really have no idea how I didn’t notice that cubes didn’t have smooth shading :confused:

Anyway, thank you a lot JA12, the problem was just the reflection with the plane next to the soup…:yes: I have solved it just moving the mesh away from the plane. I was wondering, there is a way to make illumination in cycle render without rendering the plane?

Also, someone would be so gentle to explain me how JA12 displayed the light reflection path?

Thanks in advance and happy xmas to everyone :slight_smile:

sorry double post, is it possible to delete this post myself?

Also, someone would be so gentle to explain me how JA12 displayed the light reflection path?

It looks like he drew it manually to show you.

I was wondering, there is a way to make illumination in cycle render without rendering the plane?

Also you can open Cycles Settings in the Object tab of Properties panel, turn off the thing you don’t want to render (turning off Camera Ray Visibility for example).

there’s also a problem with the liquid surface that should be solved. The normals are pointing the wrong way! For the glass shaders, this will dramatically change the desired result (inverted normals are treated as if seen from ‘underwater’)

Go into edit mode and flip the normals. :wink:

First of all happy new year to everybody :wink:

I have edited a bit the scene, I have added a wood table and a glass.
About the soup material, I have done an ocean, baked it, and then I have used the “baked file” (really don’t know how to call it :o) in the displace modifier. Here’s a screenshot of the render.



I have really no idea what are these strange dots. Also the material is absolutely not realistic…someone could give me some hints?

Here’s the material


And the blend file
soup-art-logo-v20.blend (13 MB)

Those are overbright pixels, fireflies


Red and green values are way over 1. Along with low blue channel value, it results to bright yellow pixels.

There are many things wrong. Didn’t go through everything, and can’t because there were no textures included in the .blend



One is that the cubes in the bowl still have a high subdivision. Liquid surface is facing inside the bowl, telling the render engine that the world is in the bowl and the universe is a soup.

In the screenshot lower left is the soup material, right is the table.

  • Soup has fresnel connected to refraction IOR, where as both nodes should be sharing the same IOR value instead. Could use value node and connect it to IOR inputs in both
  • Don’t know what the gradient is supposed to do. I’m guessing it should give the soup different tint when it’s closer to bowl edges. If that is the case, the gradient is not scaled or positioned for that
  • Table material has normal map connecting in material output displacement. Blue socket to grey. Normal map node should connect to shaders instead. Material displacement defaults to bump mapping, so it would get a grayscale input instead. If you do have a bump map at some point, use bump node for it and connect that to shaders to have control over it, and can connect normal map to bump node, and bump node to shaders to combine both normal and bump maps.

Any material setup you do won’t even have a fighting chance if you don’t give them anything to reflect. Most real life materials have at least some reflectivity and with that, fresnel, but reflective materials need something to reflect.



Realistic lighting is one thing, but reflections are as important. I set a hdri environment which gives both and just by doing that makes it look a bit more realistic.

Thank you so much JA12

Red and green values are way over 1. Along with low blue channel value, it results to bright yellow pixels.

I’m sorry, I didn’t get what do you mean. Please be patient :frowning:

Liquid surface is facing inside the bowl,

Do you mean the normals? I have flipped the normals as Secrop suggested me to

Don’t know what the gradient is supposed to do. I’m guessing it should give the soup different tint when it’s closer to bowl edges. If that is the case, the gradient is not scaled or positioned for that

That’s exactly what I’m trying to do with the gradient. What is the procedure to efficiently do it?

Table material has normal map connecting in material output displacement. Blue socket to grey. Normal map node should connect to shaders instead.

I also wasn’t sure about that. I have seen it from this video: https://www.youtube.com/watch?v=udl0UvmopCg

As you can see from the screenshot, he has connected the normal map to the displacement. Is it wrong, right?


If somebody could suggest me a book to read about materials in blender, I would be really grateful :slight_smile:

Don’t know what to comment. A pixel in an RGBA image consists of four values, one for each channel (red, green, blue, alpha). In Blender the visible range of values is 0-1 (full black -> full white), some other programs show a range of 0-255.

The screenshot shows the values for one of those pixels and it has a value of ~6 for red channel, ~2 for green, and 0.46 for blue. You were asking what the dots in the image are and the answer is they’re overly bright pixels, also known as fireflies. Their value is considerably higher than the neighbouring pixels, and also out of visible range of values.

Yes, normals. He was looking at the same thing when he suggested that since the file before had those inside the bowl and so does the latest.


From the post #6

The reason they’re facing the wrong way is because the camera is above the surface and there’s a air-soup interface that you’re describing. Roughly, it has an IOR of 1.33/1. If the camera were inside the bowl, looking directly up at the surface the normals are facing now, the water-air interface IOR would be lower than 1 (1/1.33) which is not possible because we’re not moving light faster than it moves in a vacuum, so the values and normals would need to flip.

Edit: more about the interfaces http://adaptivesamples.com/2013/10/19/fluid-in-a-glass/

Visualize the gradient result to adjust the values. Could connect it to emission node termporarily and fastest way to do that is to enable node wrangler addon and ctrl+shift+lmb on a node.


Yes, very wrong.

If you link to a video, you could link with a timestamp, right click menu should have an option for it. No one is going to watch a 30 minute video to find out what you’re talking about but with a timestamp they can jump to it, and you don’t have to include a screenshot.