diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2019-02-06 16:19:20 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-02-06 17:18:42 +0300 |
commit | fccf506ed7fd96f8a8f5edda7b99f564a386321a (patch) | |
tree | 80a4d10012b13e1601011e5cf6d4771d0e382775 /intern/cycles/device/device_denoising.h | |
parent | c183ac73dcfd20d0acf5ca07a2b062deadc4d73a (diff) |
Cycles: animation denoising support in the kernel.
This is the internal implementation, not available from the API or
interface yet. The algorithm takes into account past and future frames,
both to get more coherent animation and reduce noise.
Ref D3889.
Diffstat (limited to 'intern/cycles/device/device_denoising.h')
-rw-r--r-- | intern/cycles/device/device_denoising.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/device/device_denoising.h b/intern/cycles/device/device_denoising.h index cddcd3bd0c9..5869aa05390 100644 --- a/intern/cycles/device/device_denoising.h +++ b/intern/cycles/device/device_denoising.h @@ -38,6 +38,7 @@ public: struct RenderBuffers { int offset; int pass_stride; + int frame_stride; int samples; } render_buffer; @@ -70,7 +71,8 @@ public: )> non_local_means; function<bool(device_ptr color_ptr, device_ptr color_variance_ptr, - device_ptr scale_ptr + device_ptr scale_ptr, + int frame )> accumulate; function<bool(device_ptr output_ptr)> solve; function<bool()> construct_transform; @@ -156,8 +158,10 @@ public: int stride; int h; int width; + int frame_stride; device_only_memory<float> mem; device_only_memory<float> temporary_mem; + bool use_time; bool use_intensity; bool gpu_temporary_mem; @@ -179,6 +183,7 @@ protected: void construct_transform(); void reconstruct(); + void load_buffer(); void write_buffer(); }; |