This is a follow-up to the question I asked at Muddled results from many-reflected mirror which Mr. A gave a great answer to.

I've extended the set of polyhedra that I'm rendering, and there are certain ones where the Refraction BSDF shader used as one input into a Mix Shader (the other input is a mirror) results in opaque faces.

middle shape has opaque faces

Here's a second view showing the same problem:

second view of middle shape with opaque faces

In the previously referenced post, the suggestion was to use a Refraction BSDF shader instead of a Transparent BSDF shader, and that in fact generally works better. But it seems to cause this problem here. If I swap the Transparent shader back in, it starts to work again - however, in general the rendering is not as good/accurate, so I don't want to go back to Transparent BSDF:

with Transparent BSDF instead of Refraction BSDF

Here is the .blend file here - note that the material in question is named Two-Way Mirror Material: https://bit.ly/bad-refraction-shading

Any ideas / suggestions here?

Thanks very much!

  • 1
    $\begingroup$ The normals on the object in the middle are flipped. If you recalculate them in Edit Mode with Shift+N the shader works as expected. By the way, the normals are messed up on parts of the border/wireframe objects as well, it's not just as obvious since they don't use that refraction material. $\endgroup$ Jan 8 at 15:14
  • $\begingroup$ Thats great, thanks very much @GordonBrinkmann. The base meshes for these are generated through the "add_mesh_extra_objects" Blender addon. I just put up a pull request that programmatically invokes normal correction when these objects are added to the scene. Hopefully that will get accepted: projects.blender.org/blender/blender-addons/pulls/105117 $\endgroup$
    – gds
    Jan 13 at 8:11


You must log in to answer this question.

Browse other questions tagged .