blender/intern/cycles/kernel
Sergey Sharybin 726bc3a46b Fix T93155: Approximate shadow catcher displayed wrong on CPU and GPU
Was happening during rendering, causing visual artifacts when doing
CPU+GPU rendering, and giving different in-progress results on different
devices.

The root of the issue comes to the fact that math used in the approximate
shadow catcher calculation might have resulted in negative alpha channel,
and negative values for display are handled differently on CPU and GPU.
Such difference in handling is caused by an approximate conversion used on
the CPU for the performance reasons.

This change makes it so no negative alpha is generated by the approximate
shadow catcher. Not sure if we need some explicit clamping somewhere to
deal with possible negative values coming from somewhere else.

The shadow catcher cornell box tests are to be updated for the new code,
but the new result seems to be more accurate.

Differential Revision: https://developer.blender.org/D13354
2021-11-25 10:17:52 +01:00
..
bake Cycles: remove prefix from source code file names 2021-10-26 15:37:04 +02:00
bvh Cycles: remove prefix from source code file names 2021-10-26 15:37:04 +02:00
camera Fix T92513: Cycles stereo pole merge not rotating along with camera 2021-10-28 22:38:07 +02:00
closure Fix part of T93278: transparent glass option not working with environment pass 2021-11-22 20:58:09 +01:00
device Fix performance decrease with Scrambling Distance on 2021-11-25 09:32:26 +01:00
film Fix T93155: Approximate shadow catcher displayed wrong on CPU and GPU 2021-11-25 10:17:52 +01:00
geom Cycles: remove prefix from source code file names 2021-10-26 15:37:04 +02:00
integrator Cycles: Fix possible access to non-initialized light sample in volume 2021-11-23 16:38:15 +01:00
light Cycles: Fix possible access to non-initialized light sample in volume 2021-11-23 16:38:15 +01:00
osl Fix T92645: Cycles OSL crash due use of uninitialized pointer 2021-11-09 15:29:41 +01:00
sample Cycles: Scrambling distance for the PMJ sampler 2021-10-27 14:21:15 +02:00
svm Fix part of T93278: transparent glass option not working with environment pass 2021-11-22 20:58:09 +01:00
util Cycles: Replace saturate with saturatef 2021-10-27 14:05:46 +02:00
CMakeLists.txt Fix T93045: Cycles HIP not rendering OpenVDB volumes 2021-11-18 13:24:56 +01:00
textures.h Cycles: remove prefix from source code file names 2021-10-26 15:37:04 +02:00
types.h Fix T93082: Cycles baking not handling transparency correctly 2021-11-18 17:13:16 +01:00