diff options
author | Thomas Dinges <blender@dingto.org> | 2014-02-11 17:14:13 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-02-11 17:14:43 +0400 |
commit | 5a35034fb3b046986a06837692bfa6c225f27878 (patch) | |
tree | 15a4431cb032a9a98dd79328dd4e16444207eff6 /intern/cycles/render/film.cpp | |
parent | 4bf4c4111e63466c42987e185d8f2e09d7b17186 (diff) |
Fix Cycles Light Passes being always enabled, own regression in Clamp commit yesterday.
KernelIntegrator just doesn't have valid data at this point, so we need to go one level deeper.
Diffstat (limited to 'intern/cycles/render/film.cpp')
-rw-r--r-- | intern/cycles/render/film.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp index 0a1a88e6bfb..30ad86a8d4c 100644 --- a/intern/cycles/render/film.cpp +++ b/intern/cycles/render/film.cpp @@ -272,6 +272,7 @@ Film::Film() mist_falloff = 1.0f; use_light_visibility = false; + use_sample_clamp = false; need_update = true; } @@ -288,15 +289,12 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene) device_free(device, dscene, scene); KernelFilm *kfilm = &dscene->data.film; - KernelIntegrator *kintegrator = &dscene->data.integrator; - - bool use_clamping = (kintegrator->sample_clamp_direct != FLT_MAX) || (kintegrator->sample_clamp_indirect != FLT_MAX); /* update __data */ kfilm->exposure = exposure; kfilm->pass_flag = 0; kfilm->pass_stride = 0; - kfilm->use_light_pass = use_light_visibility || use_clamping; + kfilm->use_light_pass = use_light_visibility || use_sample_clamp; foreach(Pass& pass, passes) { kfilm->pass_flag |= pass.type; @@ -431,6 +429,7 @@ bool Film::modified(const Film& film) return !(exposure == film.exposure && Pass::equals(passes, film.passes) && pass_alpha_threshold == film.pass_alpha_threshold + && use_sample_clamp == film.use_sample_clamp && filter_type == film.filter_type && filter_width == film.filter_width && mist_start == film.mist_start |