From d7e4a793880796e7236f73df3f35abb045941aad Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Thu, 22 May 2014 19:05:23 -0300 Subject: Cycles-Bake: fix T40270 Combined Type fails to bake Emission node Main code and review by Brecht Van Lommel Differential Revision: https://developer.blender.org/D543 --- intern/cycles/kernel/kernel_bake.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'intern/cycles/kernel/kernel_bake.h') diff --git a/intern/cycles/kernel/kernel_bake.h b/intern/cycles/kernel/kernel_bake.h index abe356996ab..b64c5cecbff 100644 --- a/intern/cycles/kernel/kernel_bake.h +++ b/intern/cycles/kernel/kernel_bake.h @@ -66,6 +66,12 @@ ccl_device void compute_light_pass(KernelGlobals *kg, ShaderData *sd, PathRadian /* sample light and BSDF */ if((!is_sss) && (!is_ao)) { + + if(sd->flag & SD_EMISSION) { + float3 emission = indirect_primitive_emission(kg, sd, 0.0f, state.flag, state.ray_pdf); + path_radiance_accum_emission(&L_sample, throughput, emission, state.bounce); + } + if(kernel_path_integrate_lighting(kg, &rng, sd, &throughput, &state, &L_sample, &ray)) { #ifdef __LAMP_MIS__ state.ray_t = 0.0f; @@ -98,6 +104,12 @@ ccl_device void compute_light_pass(KernelGlobals *kg, ShaderData *sd, PathRadian /* sample light and BSDF */ if((!is_sss) && (!is_ao)) { + + if(sd->flag & SD_EMISSION) { + float3 emission = indirect_primitive_emission(kg, sd, 0.0f, state.flag, state.ray_pdf); + path_radiance_accum_emission(&L_sample, throughput, emission, state.bounce); + } + kernel_branched_path_integrate_lighting(kg, &rng, sd, throughput, 1.0f, &state, &L_sample); } -- cgit v1.2.3