Normal map with bold relief causes black artifacts with Glossy BSDF shader
Closed, ArchivedPublic

Description

System Information
Windows 10 x64 home, Nvidia GTX 1070 with latest WHQL drivers.

Blender Version
2.78c

Short description of error
Some kind of normal maps - like folded foil or crumpled sheet of metal - produces black artifacts in their folds with "Glossy BSDF" shader node (no problems with
"Diffuse BSDF" though). That start to happen then "Strength" parameter of "Normal map" node is high enough - at low values (~"0.5" and lower) those black artifacts disappears.

Exact steps for others to reproduce the error

  1. Open attached scene
  2. Switch viewport to "Rendering" mode.

[[ http://www.techkind.org/Blender/[Bugreport]%20Normal%20map%20artifacts.png | Example screenshot ]].

Details

Type
Bug

This is the same problem as in T49921 - the normal mapping changes the surface normal, so the reflected ray would go inside the actual geometry, which isn't really possible.

In this case, the way to get around this problem is to use microdisplacement with a displacement map instead of normal maps.

Sorry for the non-answer, but this isn't really something we can fix.

I also have struggled with this kind of artifacts and found a simple trick how to avoid them. Basically you can calculate a dot product between normal and incoming vector and attenuate the normal map where it could cause problems viz https://blenderartists.org/forum/showthread.php?382497-Black-material-artifacts-on-flat-angle-surface-areas

I also have struggled with this kind of artifacts and found a simple trick how to avoid them. Basically you can calculate a dot product between normal and incoming vector and attenuate the normal map where it could cause problems viz https://blenderartists.org/forum/showthread.php?382497-Black-material-artifacts-on-flat-angle-surface-areas

Thanks, that will do the job for me - smart solution ).