Cycles glossy angle blackout

Is there a fix for this angle based precision error ?

  1. Bumpmapping displacement blackout error:
    http://s14.directupload.net/images/141115/mc45a73x.jpg

  2. Background no black areas.
    http://s14.directupload.net/images/141115/x8xzo6sg.jpg

  3. Flat shading no errors.
    http://s14.directupload.net/images/141115/vff5kzvt.jpg

  4. Smooth shading extreme blackout.
    http://s14.directupload.net/images/141115/jtfagu9d.jpg

  5. Subsurface 1 level moderate blackout.
    http://s14.directupload.net/images/141115/zav4bfzk.jpg

  6. Subsurface 1 level plus bumpmap smooth shading.
    http://s14.directupload.net/images/141115/jb5bqrqz.jpg

  7. Subsurface 1 level plus bumpmap flat shading.
    http://s14.directupload.net/images/141115/7dciq7kv.jpg

What is surprising is that it affects bump mapping in the same way as smooth shading.

Hi,
Are all your face oriented correctly ? (Try Edit mode + select all faces and “recalculate”)

The displacement blackout in image 4 is caused by the engine having to try to interpolate the shading over rather steep angles. To remove it, increasing the subsurf by perhaps 2 or 3 levels.

The issue with the black in the bump effects meanwhile is seen because the power of that map means it’s trying to render areas with normals pointing away from the camera. The best way to tackle that without having to significantly reduce the power would be to have a setup that carefully omits such details like seen in this file.
Cycles_Mbump.blend (515 KB)

Thank you for the good information, regarding the bump map issue why isn’t that fix included in cycles if it is a known bug and does it effect other render engines as well or not ?

If you made that setup i am very impressed i don’t even understand how or why its works with all that physics and math, why does normal’s pointing away from the camera not getting rendered correctly ?

It depends on the engine, but you will still get these types of errors with high intensity bumpmaps at steep angles whether you use Cycles, Luxrender, Octane, or others (the terminator issue also being in these engines by the way due to how path tracing in general works). The only difference being that some engines make it less obvious than others.

As for my solution, please note that this isn’t an actual patch, but something you can already do with nodes. To make use of it, just append the group node to any file of your choosing and wire it up in the exact same way seen in the .blend.