Page MenuHome

Cycles: Added fix for bump terminator problem.
AbandonedPublic

Authored by Stefan Werner (swerner) on Mar 6 2019, 11:31 AM.
Tags
Tokens
"Love" token, awarded by bnzs."Yellow Medal" token, awarded by shader."Yellow Medal" token, awarded by juang3d."Yellow Medal" token, awarded by duarteframos.

Details

Summary

This implements the fix presented in "Ray Tracing Gems".
Diffuse surfaces with bump or normal maps now get some extra
shading near the terminator to smoothen it.

Diff Detail

Repository
rB Blender
Branch
cycles_bump_terminator_fix (branched from blender2.7)
Build Status
Buildable 3059
Build 3059: arc lint + arc unit

Event Timeline

Applying this to specular shaders introduces new artifacts, so it's only applied to diffuse BSDFs for now.

I'm not expecting this patch to land right away, this should probably undergo some wider testing before we can declare it safe.

Interesting approach. Indeed needs deeper investigation, and maybe something where @Brecht Van Lommel (brecht) already has knowledge.

intern/cycles/kernel/closure/bsdf.h
76–80

+1 for properly referencing the source, missed that a lot in many areas :)

232

PICKY: Fullstop. Same in the comment below.

I think this method works very well. This can be made to work for diffuse transmission as well I expect (may need to flip some normals). SSS likely works already with this patch.

For specular not sure, maybe only with higher roughness.

Would this affect objects without bump? Because we have those terminator problems also in objects without any bump and maybe this can also soft those problems.

Great patch!

Cheers.