diff options
Diffstat (limited to 'intern/cycles/kernel/kernel_shader.h')
-rw-r--r-- | intern/cycles/kernel/kernel_shader.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index c66f52255f0..8d77f00fde7 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -57,6 +57,7 @@ ccl_device_noinline void shader_setup_from_ray(KernelGlobals *kg, #ifdef __INSTANCING__ sd->object = (isect->object == PRIM_NONE)? kernel_tex_fetch(__prim_object, isect->prim): isect->object; #endif + sd->lamp = LAMP_NONE; sd->type = isect->type; sd->flag = 0; @@ -265,6 +266,7 @@ ccl_device_inline void shader_setup_from_sample(KernelGlobals *kg, #ifdef __INSTANCING__ sd->object = object; #endif + sd->lamp = LAMP_NONE; /* currently no access to bvh prim index for strand sd->prim*/ sd->prim = prim; #ifdef __UV__ @@ -286,6 +288,7 @@ ccl_device_inline void shader_setup_from_sample(KernelGlobals *kg, else if(lamp != LAMP_NONE) { sd->ob_tfm = lamp_fetch_transform(kg, lamp, false); sd->ob_itfm = lamp_fetch_transform(kg, lamp, true); + sd->lamp = lamp; #endif } @@ -393,6 +396,7 @@ ccl_device_inline void shader_setup_from_background(KernelGlobals *kg, ShaderDat #ifdef __INSTANCING__ sd->object = PRIM_NONE; #endif + sd->lamp = LAMP_NONE; sd->prim = PRIM_NONE; #ifdef __UV__ sd->u = 0.0f; @@ -435,6 +439,7 @@ ccl_device_inline void shader_setup_from_volume(KernelGlobals *kg, ShaderData *s #ifdef __INSTANCING__ sd->object = PRIM_NONE; /* todo: fill this for texture coordinates */ #endif + sd->lamp = LAMP_NONE; sd->prim = PRIM_NONE; sd->type = PRIMITIVE_NONE; |