diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-11-01 21:00:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-11-05 20:13:44 +0300 |
commit | 2c02a04c464c2f5c6e211ceb7b21255eaca7e087 (patch) | |
tree | 005c4b99ecf43db7513e9b5c2dfcaca56e1608a1 /intern/cycles/kernel/kernel_volume.h | |
parent | cac3d4d16691d77e8e01f158be07d182e56e9755 (diff) |
Code refactor: remove emission and background closures, sum directly.
Diffstat (limited to 'intern/cycles/kernel/kernel_volume.h')
-rw-r--r-- | intern/cycles/kernel/kernel_volume.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/intern/cycles/kernel/kernel_volume.h b/intern/cycles/kernel/kernel_volume.h index 5905fb3bf12..657417e1642 100644 --- a/intern/cycles/kernel/kernel_volume.h +++ b/intern/cycles/kernel/kernel_volume.h @@ -76,15 +76,14 @@ ccl_device_inline bool volume_shader_sample(KernelGlobals *kg, coeff->sigma_a = make_float3(0.0f, 0.0f, 0.0f); coeff->sigma_s = make_float3(0.0f, 0.0f, 0.0f); - coeff->emission = make_float3(0.0f, 0.0f, 0.0f); + coeff->emission = (sd->flag & SD_EMISSION)? sd->closure_emission_background: + make_float3(0.0f, 0.0f, 0.0f); for(int i = 0; i < sd->num_closure; i++) { const ShaderClosure *sc = &sd->closure[i]; if(sc->type == CLOSURE_VOLUME_ABSORPTION_ID) coeff->sigma_a += sc->weight; - else if(sc->type == CLOSURE_EMISSION_ID) - coeff->emission += sc->weight; else if(CLOSURE_IS_VOLUME(sc->type)) coeff->sigma_s += sc->weight; } |