From 21a8629ac6df2e00d2ff01548c552625e050c16c Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Thu, 4 May 2017 14:53:40 +0200 Subject: Cycles Denoising: Fix reading of the new properties --- intern/cycles/blender/blender_session.cpp | 6 +++--- intern/cycles/device/device_denoising.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 8196a64a69e..cffa32631ec 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -425,9 +425,9 @@ void BlenderSession::render() if(!get_boolean(crl, "denoising_subsurface_indirect")) scene->film->denoising_flags |= DENOISING_CLEAN_SUBSURFACE_IND; scene->film->denoising_clean_pass = (scene->film->denoising_flags & DENOISING_CLEAN_ALL_PASSES); buffer_params.denoising_clean_pass = scene->film->denoising_clean_pass; - session->params.denoising_radius = get_boolean(crl, "denoising_radius"); - session->params.denoising_strength = get_boolean(crl, "denoising_strength"); - session->params.denoising_feature_strength = get_boolean(crl, "denoising_feature_strength"); + session->params.denoising_radius = get_int(crl, "denoising_radius"); + session->params.denoising_strength = get_float(crl, "denoising_strength"); + session->params.denoising_feature_strength = get_float(crl, "denoising_feature_strength"); session->params.denoising_relative_pca = get_boolean(crl, "denoising_relative_pca"); scene->film->pass_alpha_threshold = b_layer_iter->pass_alpha_threshold(); diff --git a/intern/cycles/device/device_denoising.cpp b/intern/cycles/device/device_denoising.cpp index 6e46f34c7c8..39c8cf30105 100644 --- a/intern/cycles/device/device_denoising.cpp +++ b/intern/cycles/device/device_denoising.cpp @@ -23,12 +23,12 @@ CCL_NAMESPACE_BEGIN void DenoisingTask::init_from_devicetask(const DeviceTask &task) { radius = task.denoising_radius; - nlm_k_2 = powf(2.0f, task.denoising_strength - 1.0f); + nlm_k_2 = powf(2.0f, lerp(-5.0f, 3.0f, task.denoising_strength)); if(task.denoising_relative_pca) { - pca_threshold = -powf(10.0f, task.denoising_feature_strength - 4.0f); + pca_threshold = -powf(10.0f, lerp(-8.0f, 0.0f, task.denoising_feature_strength)); } else { - pca_threshold = powf(10.0f, task.denoising_feature_strength - 1.0f); + pca_threshold = powf(10.0f, lerp(-5.0f, 3.0f, task.denoising_feature_strength)); } render_buffer.pass_stride = task.pass_stride; -- cgit v1.2.3