@dema can you re-upload your test scene? I believe you deleted it, now the link is not available anymore.
BLENDER_RENDER
has been removed, this should be CYCLES
. (I believe we should clean this up at some point)
cc @Sirgienko
This is an overflow caused by
#if INTEGRATOR_SHADOW_ISECT_SIZE < 256
using numhit_t = uint8_t;
I made a mistake in the previous Embree comment, now the artefacts in #125093 should be gone. The reported problem of opaque hit would be addressed separately.
I can reproduce the issue on Embree with INTEGRATOR_SHADOW_ISECT_SIZE_CPU manually set to 4. I can have a look.
@Alaska does it fix #125093 then? Although I do not understand why a value above 1024 would make a difference, 1024 is the threshold for CPU (INTEGRATOR_SHADOW_ISECT_SIZE_CPU
).
MetalRT, OptiX and HIPRT do not keep track of max_t
, but loop through the array to find max_t
for all intersections beyond INTEGRATOR_SHADOW_ISECT_SIZE
. This is more costly than Embree and…
The original code is doing the stuff as the code block you pasted, my first commit didn't change that, if you think that's fine I'll push that first.
Although I didn't measure the performance,…