diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-07 14:23:09 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-07 14:40:06 +0300 |
commit | 946d39f688342bf797c1939f6dd1d005dffb540e (patch) | |
tree | 1999ab52099a28b9c6946a32307779426d63ac13 /intern | |
parent | 8a5a306a8313d48afaa276ff57ae5d0c2ac2728a (diff) |
UI: move Cycles adaptive sampling settings to own subpanel
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/addon/properties.py | 9 | ||||
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 32 |
2 files changed, 32 insertions, 9 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index f2c40f509e8..1a93a603e23 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -351,19 +351,20 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): ) use_adaptive_sampling: BoolProperty( - name="Use adaptive sampling", - description="Automatically determine the number of samples per pixel based on a variance estimation", + name="Use Adaptive Sampling", + description="Automatically reduce the number of samples per pixel based on estimated noise level", default=False, ) + adaptive_threshold: FloatProperty( name="Adaptive Sampling Threshold", - description="Zero for automatic setting based on AA samples", + description="Noise level step to stop sampling at, lower values reduce noise the cost of render time. Zero for automatic setting based on number of AA samples", min=0.0, max=1.0, default=0.0, ) adaptive_min_samples: IntProperty( name="Adaptive Min Samples", - description="Minimum AA samples for adaptive sampling. Zero for automatic setting based on AA samples", + description="Minimum AA samples for adaptive sampling, to discover noisy features before stopping sampling. Zero for automatic setting based on number of AA samples", min=0, max=4096, default=0, ) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index d04418fc957..d24d965bb06 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -190,7 +190,6 @@ class CYCLES_RENDER_PT_sampling(CyclesButtonsPanel, Panel): col.prop(cscene, "aa_samples", text="Render") col.prop(cscene, "preview_aa_samples", text="Viewport") - col.prop(cscene, "use_adaptive_sampling", text="Adaptive Sampling") # Viewport denoising is currently only supported with OptiX if show_optix_denoising(context): col = layout.column() @@ -231,6 +230,32 @@ class CYCLES_RENDER_PT_sampling_sub_samples(CyclesButtonsPanel, Panel): draw_samples_info(layout, context) +class CYCLES_RENDER_PT_sampling_adaptive(CyclesButtonsPanel, Panel): + bl_label = "Adaptive Sampling" + bl_parent_id = "CYCLES_RENDER_PT_sampling" + bl_options = {'DEFAULT_CLOSED'} + + def draw_header(self, context): + layout = self.layout + scene = context.scene + cscene = scene.cycles + + layout.prop(cscene, "use_adaptive_sampling", text="") + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + scene = context.scene + cscene = scene.cycles + + layout.active = cscene.use_adaptive_sampling + + col = layout.column(align=True) + col.prop(cscene, "adaptive_min_samples", text="Min Samples") + col.prop(cscene, "adaptive_threshold", text="Noise Threshold") + class CYCLES_RENDER_PT_sampling_advanced(CyclesButtonsPanel, Panel): bl_label = "Advanced" bl_parent_id = "CYCLES_RENDER_PT_sampling" @@ -251,10 +276,6 @@ class CYCLES_RENDER_PT_sampling_advanced(CyclesButtonsPanel, Panel): col = layout.column(align=True) col.active = not(cscene.use_adaptive_sampling) col.prop(cscene, "sampling_pattern", text="Pattern") - col = layout.column(align=True) - col.active = cscene.use_adaptive_sampling - col.prop(cscene, "adaptive_min_samples", text="Adaptive Min Samples") - col.prop(cscene, "adaptive_threshold", text="Adaptive Threshold") layout.prop(cscene, "use_square_samples") @@ -2247,6 +2268,7 @@ classes = ( CYCLES_PT_integrator_presets, CYCLES_RENDER_PT_sampling, CYCLES_RENDER_PT_sampling_sub_samples, + CYCLES_RENDER_PT_sampling_adaptive, CYCLES_RENDER_PT_sampling_advanced, CYCLES_RENDER_PT_light_paths, CYCLES_RENDER_PT_light_paths_max_bounces, |