[Bf-blender-cvs] [95de92ee8e1] cycles-x: Cycles X: Allow float3 access to shadow catcher pass

Sergey Sharybin noreply at git.blender.org
Tue Jun 15 12:04:12 CEST 2021


Commit: 95de92ee8e16e646356375e1a5656f08e0f24c49
Author: Sergey Sharybin
Date:   Fri Jun 11 18:59:54 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB95de92ee8e16e646356375e1a5656f08e0f24c49

Cycles X: Allow float3 access to shadow catcher pass

===================================================================

M	intern/cycles/integrator/pass_accessor.cpp
M	intern/cycles/kernel/kernel_film.h

===================================================================

diff --git a/intern/cycles/integrator/pass_accessor.cpp b/intern/cycles/integrator/pass_accessor.cpp
index 1e16ee37620..99db25a13c7 100644
--- a/intern/cycles/integrator/pass_accessor.cpp
+++ b/intern/cycles/integrator/pass_accessor.cpp
@@ -192,6 +192,9 @@ bool PassAccessor::get_render_tile_pixels(const RenderBuffers *render_buffers,
       /* RGB lighting passes that need to divide out color */
       get_pass_divide_even_color(render_buffers, buffer_params, destination);
     }
+    else if (type == PASS_SHADOW_CATCHER) {
+      get_pass_shadow_catcher(render_buffers, buffer_params, destination);
+    }
     else {
       /* RGB/vector */
       get_pass_float3(render_buffers, buffer_params, destination);
diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h
index 2e5a9a307d8..d8847b4a691 100644
--- a/intern/cycles/kernel/kernel_film.h
+++ b/intern/cycles/kernel/kernel_film.h
@@ -386,7 +386,9 @@ ccl_device_inline void film_get_pass_pixel_shadow_catcher(
   pixel[0] = pixel_value.x;
   pixel[1] = pixel_value.y;
   pixel[2] = pixel_value.z;
-  pixel[3] = pixel_value.w;
+  if (kfilm_convert->num_components == 4) {
+    pixel[3] = pixel_value.w;
+  }
 }
 
 ccl_device_inline void film_get_pass_pixel_shadow_catcher_matte_with_shadow(



More information about the Bf-blender-cvs mailing list