[Bf-blender-cvs] [c6b9d149cb2] temp_cryptomatte: Cycles: Cryptomatte was only writing half the layers, now it's writing the full count

Stefan Werner noreply at git.blender.org
Fri Nov 3 21:09:51 CET 2017


Commit: c6b9d149cb285aec3b67c71a587b85a212276e3a
Author: Stefan Werner
Date:   Sat Apr 15 22:10:08 2017 +0200
Branches: temp_cryptomatte
https://developer.blender.org/rBc6b9d149cb285aec3b67c71a587b85a212276e3a

Cycles: Cryptomatte was only writing half the layers, now it's writing the full count

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

M	intern/cycles/kernel/kernel_passes.h

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

diff --git a/intern/cycles/kernel/kernel_passes.h b/intern/cycles/kernel/kernel_passes.h
index 1b35447ee10..dc16aa0a765 100644
--- a/intern/cycles/kernel/kernel_passes.h
+++ b/intern/cycles/kernel/kernel_passes.h
@@ -170,7 +170,7 @@ ccl_device_inline void kernel_write_data_passes(KernelGlobals *kg, ccl_global fl
 		float id = object_cryptomatte_id(kg, sd->object);
 		int pass_offset = (kernel_data.film.pass_aov[0] & ~(1 << 31));
 		kernel_assert(kernel_data.film.pass_aov[0] & (1 << 31));
-		kernel_write_id_slots(buffer + pass_offset, kernel_data.film.use_cryptomatte & 255, id, matte_weight, initialize_slots);
+		kernel_write_id_slots(buffer + pass_offset, 2 *(kernel_data.film.use_cryptomatte & 255), id, matte_weight, initialize_slots);
 		state->written_aovs |= (1 << 0);
 		aov_count += kernel_data.film.use_cryptomatte & 255;
 	}
@@ -180,7 +180,7 @@ ccl_device_inline void kernel_write_data_passes(KernelGlobals *kg, ccl_global fl
 		float id = shader_cryptomatte_id(kg, sd->shader);
 		int pass_offset = (kernel_data.film.pass_aov[aov_count] & ~(1 << 31));
 		kernel_assert(kernel_data.film.pass_aov[aov_count] & (1 << 31));
-		kernel_write_id_slots(buffer + pass_offset, kernel_data.film.use_cryptomatte & 255, id, matte_weight, initialize_slots);
+		kernel_write_id_slots(buffer + pass_offset, 2 * (kernel_data.film.use_cryptomatte & 255), id, matte_weight, initialize_slots);
 		state->written_aovs |= (1 << aov_count);
 		aov_count += kernel_data.film.use_cryptomatte & 255;
 	}



More information about the Bf-blender-cvs mailing list