diff options
author | Patrick Mours <pmours@nvidia.com> | 2020-02-25 15:31:08 +0300 |
---|---|---|
committer | Patrick Mours <pmours@nvidia.com> | 2020-02-25 17:27:11 +0300 |
commit | 0c09700f20646bb4083063bfe525e05d52e79b10 (patch) | |
tree | 116bf608ce95b8cff7177cd89d43731f5d7e4a12 /intern/cycles/render/session.h | |
parent | a4a1074f3d2411a562c5cd4d5ebee6d92a1f0a27 (diff) |
Cycles: Add option to change which sample to start viewport denoising at
This patch adds a new user-configurable option to change at which sample viewport
denoising should kick in. Setting it to zero retains previous behavior (start immediately), while
other values will defer denoising until the particular sample has been reached. Default is now
at one, to avoid the weirdness that is AI denoising at small resolutions.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6906
Diffstat (limited to 'intern/cycles/render/session.h')
-rw-r--r-- | intern/cycles/render/session.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 3ef2b70879a..40ec3979afd 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -53,6 +53,7 @@ class SessionParams { int2 tile_size; TileOrder tile_order; int start_resolution; + int denoising_start_sample; int pixel_size; int threads; @@ -85,6 +86,7 @@ class SessionParams { samples = 1024; tile_size = make_int2(64, 64); start_resolution = INT_MAX; + denoising_start_sample = 0; pixel_size = 1; threads = 0; @@ -109,9 +111,10 @@ class SessionParams { bool modified(const SessionParams ¶ms) { return !(device == params.device && background == params.background && - progressive_refine == params.progressive_refine - /* && samples == params.samples */ - && progressive == params.progressive && experimental == params.experimental && + progressive_refine == params.progressive_refine && + /* samples == params.samples && denoising_start_sample == + params.denoising_start_sample && */ + progressive == params.progressive && experimental == params.experimental && tile_size == params.tile_size && start_resolution == params.start_resolution && pixel_size == params.pixel_size && threads == params.threads && use_profiling == params.use_profiling && @@ -152,9 +155,10 @@ class Session { bool ready_to_reset(); void reset(BufferParams ¶ms, int samples); - void set_samples(int samples); void set_pause(bool pause); + void set_samples(int samples); void set_denoising(bool denoising, bool optix_denoising); + void set_denoising_start_sample(int sample); bool update_scene(); bool load_kernels(bool lock_scene = true); |