Cycles: remove ray offsetting

Remove small ray offsets that were used to avoid self intersection, and leave
that to the newly added primitive object/prim comparison. These changes together
significantly reduce artifacts on small, large or far away objects.

The balance here is that overlapping primitives are not handled well and should
be avoided (though this was already an issue). The upside is that this is
something a user has control over, whereas the other artifacts had no good
manual solution in many cases.

There is a known issue where the Blender particle system generates overlapping
objects and in turn leads to render differences between CPU and GPU. This will
be addressed separately.

Differential Revision: https://developer.blender.org/D12954
This commit is contained in:
William Leeson
2022-01-13 17:20:50 +01:00
committed by Brecht Van Lommel
parent ae44070341
commit 74afc86d4b
11 changed files with 32 additions and 71 deletions

View File

@@ -36,8 +36,12 @@ BLACKLIST_GPU = [
'hair_instancer_uv.blend',
'hair_length_info.blend',
'hair_particle_random.blend',
"hair_transmission.blend",
'principled_hair_.*.blend',
'transparent_shadow_hair.*.blend',
# Inconsistent handling of overlapping objects.
"T41143.blend",
"visibility_particles.blend",
]