Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2020-03-07 14:23:09 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2020-03-07 14:40:06 +0300
commit946d39f688342bf797c1939f6dd1d005dffb540e (patch)
tree1999ab52099a28b9c6946a32307779426d63ac13 /intern/cycles/blender
parent8a5a306a8313d48afaa276ff57ae5d0c2ac2728a (diff)
UI: move Cycles adaptive sampling settings to own subpanel
Diffstat (limited to 'intern/cycles/blender')
-rw-r--r--intern/cycles/blender/addon/properties.py9
-rw-r--r--intern/cycles/blender/addon/ui.py32
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,