[Bf-blender-cvs] [752676fac7] soc-2016-cycles_denoising: Cycles Denoising: Allow to reconstruct into denoising buffer
Lukas Stockner
noreply at git.blender.org
Wed Feb 1 05:19:08 CET 2017
Commit: 752676fac7db96f1c8fc2f3f43069f6273121c14
Author: Lukas Stockner
Date: Sun Jan 15 18:00:30 2017 +0100
Branches: soc-2016-cycles_denoising
https://developer.blender.org/rB752676fac7db96f1c8fc2f3f43069f6273121c14
Cycles Denoising: Allow to reconstruct into denoising buffer
===================================================================
M intern/cycles/kernel/filter/filter_final_pass_impl.h
===================================================================
diff --git a/intern/cycles/kernel/filter/filter_final_pass_impl.h b/intern/cycles/kernel/filter/filter_final_pass_impl.h
index 470528c361..cceb768ba5 100644
--- a/intern/cycles/kernel/filter/filter_final_pass_impl.h
+++ b/intern/cycles/kernel/filter/filter_final_pass_impl.h
@@ -81,16 +81,24 @@ ccl_device_inline void kernel_filter_finalize(int x, int y, int storage_ofs, int
math_trimatrix_vec3_solve(XtWX, XtWY, storage->rank+1, stride);
float3 final_color = XtWY[0];
- float *combined_buffer = buffer + (y*buffer_params.y + x + buffer_params.x)*buffer_params.z;
- final_color *= sample;
- if(buffer_params.w) {
- final_color.x += combined_buffer[buffer_params.w+0];
- final_color.y += combined_buffer[buffer_params.w+1];
- final_color.z += combined_buffer[buffer_params.w+2];
+ if(buffer_params.z) {
+ float *combined_buffer = buffer + (y*buffer_params.y + x + buffer_params.x)*buffer_params.z;
+ final_color *= sample;
+ if(buffer_params.w) {
+ final_color.x += combined_buffer[buffer_params.w+0];
+ final_color.y += combined_buffer[buffer_params.w+1];
+ final_color.z += combined_buffer[buffer_params.w+2];
+ }
+ combined_buffer[0] = final_color.x;
+ combined_buffer[1] = final_color.y;
+ combined_buffer[2] = final_color.z;
+ }
+ else {
+ int idx = (y+buffer_params.y)*w+(x+buffer_params.x);
+ buffer[idx] = final_color.x;
+ buffer[buffer_params.w + idx] = final_color.y;
+ buffer[2*buffer_params.w + idx] = final_color.z;
}
- combined_buffer[0] = final_color.x;
- combined_buffer[1] = final_color.y;
- combined_buffer[2] = final_color.z;
}
#undef STORAGE_TYPE
More information about the Bf-blender-cvs
mailing list