diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-05-17 20:24:51 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-05-17 20:41:11 +0300 |
commit | 912f2b1a29cd079ea7e163f5839047612423f05c (patch) | |
tree | 49e1929b053b027a8e2d78ffc8c4f4dffffa93fe /intern | |
parent | e48cdf3d0d87cd393412007c33ba48b10a802426 (diff) |
Fix T85892: disable progressive refine when using adaptive sampling
This is giving too bright pixel values, as the sample scaling and random number
sample are wrong. The proper fix for this is complicated. It will be solved in
Cycles X, for now we disable this combination.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 2 | ||||
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 9aea7725810..ce93bd96bd5 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -725,7 +725,7 @@ class CYCLES_RENDER_PT_performance_tiles(CyclesButtonsPanel, Panel): col.prop(cscene, "tile_order", text="Order") sub = col.column() - sub.active = not rd.use_save_buffers + sub.active = not rd.use_save_buffers and not cscene.use_adaptive_sampling sub.prop(cscene, "use_progressive_refine") diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 4ec0477c585..4af8da402b1 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -875,6 +875,9 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine &b_engine, /* Clamp samples. */ params.samples = min(params.samples, Integrator::MAX_SAMPLES); + /* Adaptive sampling. */ + params.adaptive_sampling = RNA_boolean_get(&cscene, "use_adaptive_sampling"); + /* tiles */ const bool is_cpu = (params.device.type == DEVICE_CPU); if (!is_cpu && !background) { @@ -927,7 +930,7 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine &b_engine, BL::RenderSettings b_r = b_scene.render(); params.progressive_refine = b_engine.is_preview() || get_boolean(cscene, "use_progressive_refine"); - if (b_r.use_save_buffers()) + if (b_r.use_save_buffers() || params.adaptive_sampling) params.progressive_refine = false; if (background) { @@ -963,8 +966,6 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine &b_engine, params.use_profiling = params.device.has_profiling && !b_engine.is_preview() && background && BlenderSession::print_render_stats; - params.adaptive_sampling = RNA_boolean_get(&cscene, "use_adaptive_sampling"); - return params; } |