Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_sync.cpp4
-rw-r--r--intern/cycles/render/film.cpp7
-rw-r--r--intern/cycles/render/film.h1
3 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 4415940b359..d21ffdec0d1 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -240,6 +240,10 @@ void BlenderSync::sync_film()
Film *film = scene->film;
Film prevfilm = *film;
+
+ /* Clamping */
+ Integrator *integrator = scene->integrator;
+ film->use_sample_clamp = (integrator->sample_clamp_direct != 0.0f || integrator->sample_clamp_indirect != 0.0f);
film->exposure = get_float(cscene, "film_exposure");
film->filter_type = (FilterType)RNA_enum_get(&cscene, "filter_type");
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
diff --git a/intern/cycles/render/film.h b/intern/cycles/render/film.h
index 1e1c775aac3..cc7183bfd95 100644
--- a/intern/cycles/render/film.h
+++ b/intern/cycles/render/film.h
@@ -61,6 +61,7 @@ public:
float mist_falloff;
bool use_light_visibility;
+ bool use_sample_clamp;
bool need_update;