Page MenuHome

Fix normal shading and sharp edges appearing on smooth surfaces
AbandonedPublic

Authored by Mikhail Matrosov (ktdfly) on Aug 19 2021, 5:20 PM.

Details

Summary

It is another take on D10084: Faster ensure_valid_reflection() in attempt to fix T88368: Regression: broken normal shading, sharp edges appear on smooth surfaces.. This patch improves both Cycles and Eevee glossy shading by making edges less noticeable on smooth surfaces.

master patched
Cycles
Eevee
Cycles
Eevee

There are downsides:

  • Faces of a smooth convex surface might look weirdly concave at grazing angles.
  • Edges can appear again at roughness 0.1-0.3 and enabled screen-space reflections in Eevee, though they are less noticeable.
  • It doesn't fix bump mapping discontinuity as fixed in D9833: Correct bump mapping for smooth normals.

Diff Detail

Repository
rB Blender

Event Timeline

Mikhail Matrosov (ktdfly) requested review of this revision.Aug 19 2021, 5:20 PM
Mikhail Matrosov (ktdfly) created this revision.
Mikhail Matrosov (ktdfly) created this object with edit policy "Administrators".

At least it looks better. I hope, it will be fixed tottaly! I believe in you, guys, you are smart!

Updated to be applicable to the latest master.

The proposed behavior does change the reflection too drastically which is too far from representing the correct reflection compared to other engines. So I will not accept this.

Brecht Van Lommel (brecht) changed the edit policy from "Administrators" to "All Users".May 9 2022, 4:43 PM