diff options
author | Mai Lavelle <mai.lavelle@gmail.com> | 2016-09-03 04:37:17 +0300 |
---|---|---|
committer | Mai Lavelle <mai.lavelle@gmail.com> | 2016-09-11 20:49:05 +0300 |
commit | 013b46d6bda4388736d7953746d6b335ce495b16 (patch) | |
tree | 59f8974ed14e7cf3e01ea369590da326dd9a6ed0 /intern/cycles/kernel/kernel_emission.h | |
parent | 92a2c49aab55a2c459a8f6d50e730bdcda966eb5 (diff) |
Cycles: Replace object index hack with actual checks for SD_TRANSFORM_APPLIED
Using ones complement for detecting if transform has been applied was confusing
and led to several bugs. With this proper checks are made.
Also added a few transforms where they were missing, mostly affecting baking
and displacement when `P` is used in the shader (previously `P` was in the
wrong space for these shaders)
Also removed `TIME_INVALID` as this may have resulted in incorrect
transforms in some cases.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D2192
Diffstat (limited to 'intern/cycles/kernel/kernel_emission.h')
-rw-r--r-- | intern/cycles/kernel/kernel_emission.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 9fbcd9b371b..2b525812775 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -56,7 +56,10 @@ ccl_device_noinline float3 direct_emissive_eval(KernelGlobals *kg, } else { - shader_setup_from_sample(kg, emission_sd, ls->P, ls->Ng, I, ls->shader, ls->object, ls->prim, ls->u, ls->v, t, time); + shader_setup_from_sample(kg, emission_sd, + ls->P, ls->Ng, I, + ls->shader, ls->object, ls->prim, + ls->u, ls->v, t, time, false); ls->Ng = ccl_fetch(emission_sd, Ng); |