Page MenuHome

Fix T48860: Cycles SSS artifacts with spatially split BVH
ClosedPublic

Authored by Sergey Sharybin (sergey) on Jul 15 2016, 2:58 PM.

Details

Summary

The issue was caused by SSS intersection code gathering all
intersections without check for duplicated ones. This caused
situations when same intersection will be recorded twice in
the case if triangle is shared by several BVH nodes.

Usually this is handled by checking intersection distance
after sorting intersections (in shadow_blocked for example)
but for SSS we don't do such sorting and using number of
intersections to calculate various things.

Didn't find anything smarter than to check intersection
distance in triangle_intersect_subsurface().

This solves render artifacts in the cost of 1.5% slowdown
of extreme case rendering (SSS object filling in whole
FullHD screen).

Diff Detail

Repository
rB Blender

Event Timeline

Sergey Sharybin (sergey) retitled this revision from to Fix T48860: Cycles SSS artifacts with spatially split BVH.
Sergey Sharybin (sergey) updated this object.
This revision is now accepted and ready to land.Jul 16 2016, 12:57 PM
This revision was automatically updated to reflect the committed changes.