Commit: 9c779e605cc4d49fde13d6923f91dc79b558d122
Author: Lukas Stockner
Date:   Sat Nov 26 04:18:48 2016 +0100
Branches: soc-2016-cycles_denoising
https://developer.blender.org/rB9c779e605cc4d49fde13d6923f91dc79b558d122

Cycles: Properly initialize some denoising-related variables

===================================================================

M       intern/cycles/render/film.cpp
M       intern/cycles/render/session.cpp

===================================================================

diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp
index 32a539f..afca94e 100644
--- a/intern/cycles/render/film.cpp
+++ b/intern/cycles/render/film.cpp
@@ -443,6 +443,9 @@ void Film::device_update(Device *device, DeviceScene 
*dscene, Scene *scene)
                kfilm->pass_stride += pass.components;
        }
 
+       kfilm->pass_denoising = 0;
+       kfilm->pass_no_denoising = 0;
+       kfilm->denoise_flag = 0;
        kfilm->denoise_cross = 0;
        if(denoising_passes) {
                kfilm->pass_denoising = kfilm->pass_stride;
@@ -458,6 +461,7 @@ void Film::device_update(Device *device, DeviceScene 
*dscene, Scene *scene)
                        kfilm->use_light_pass = 1;
                }
        }
+
        kfilm->num_frames = 1;
        kfilm->prev_frames = 0;
 
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 3d3f0a2..3ef3224 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -803,15 +803,14 @@ void Session::run_denoise()
                kernel_data.film.pass_stride = 
buffers->params.get_passes_size();
                kernel_data.film.pass_denoising = 
buffers->params.get_denoise_offset();
                kernel_data.film.pass_no_denoising = 
buffers->params.selective_denoising? kernel_data.film.pass_denoising+20 : 0;
+               kernel_data.film.denoise_cross = 0;
                kernel_data.film.exposure = 1.0f;
                kernel_data.film.num_frames = buffers->params.frames;
                kernel_data.film.prev_frames = params.prev_frames;
-               if(scene == NULL) {
-                       kernel_data.integrator.filter_strength = 
params.filter_strength;
-                       kernel_data.integrator.weighting_adjust = 
params.filter_weight_adjust;
-                       kernel_data.integrator.use_gradients = 
params.filter_gradient;
-                       kernel_data.integrator.use_nlm_weights = 
params.filter_nlm;
-               }
+               kernel_data.integrator.filter_strength = params.filter_strength;
+               kernel_data.integrator.weighting_adjust = 
params.filter_weight_adjust;
+               kernel_data.integrator.use_gradients = params.filter_gradient;
+               kernel_data.integrator.use_nlm_weights = params.filter_nlm;
                device->const_copy_to("__data", &kernel_data, 
sizeof(kernel_data));
 
                /* Generate tiles. */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to