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:
Diffstat (limited to 'intern/cycles/blender/addon')
-rw-r--r--intern/cycles/blender/addon/presets.py1
-rw-r--r--intern/cycles/blender/addon/properties.py6
-rw-r--r--intern/cycles/blender/addon/ui.py16
-rw-r--r--intern/cycles/blender/addon/version_update.py20
4 files changed, 21 insertions, 22 deletions
diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py
index dd4e8e60a42..17efb00abdb 100644
--- a/intern/cycles/blender/addon/presets.py
+++ b/intern/cycles/blender/addon/presets.py
@@ -67,6 +67,7 @@ class AddPresetSampling(AddPresetBase, Operator):
"cycles.mesh_light_samples",
"cycles.subsurface_samples",
"cycles.volume_samples",
+ "cycles.use_square_samples",
"cycles.progressive",
"cycles.seed",
"cycles.sample_clamp_direct",
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index cd71183acb6..a50da3634f3 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -172,6 +172,12 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
default='PATH',
)
+ cls.use_square_samples = BoolProperty(
+ name="Square Samples",
+ description="Square sampling values for easier artist control",
+ default=False,
+ )
+
cls.samples = IntProperty(
name="Samples",
description="Number of samples to render for each pixel",
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 5ae9466b40c..459d0d7d05e 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -101,6 +101,8 @@ def draw_samples_info(layout, context):
# Calculate sample values
if integrator == 'PATH':
aa = cscene.samples
+ if cscene.use_square_samples:
+ aa = aa * aa
else:
aa = cscene.aa_samples
d = cscene.diffuse_samples
@@ -111,9 +113,19 @@ def draw_samples_info(layout, context):
sss = cscene.subsurface_samples
vol = cscene.volume_samples
+ if cscene.use_square_samples:
+ aa = aa * aa
+ d = d * d
+ g = g * g
+ t = t * t
+ ao = ao * ao
+ ml = ml * ml
+ sss = sss * sss
+ vol = vol * vol
+
# Draw interface
# Do not draw for progressive, when Square Samples are disabled
- if use_branched_path(context):
+ if use_branched_path(context) or (cscene.use_square_samples and integrator == 'PATH'):
col = layout.column(align=True)
col.scale_y = 0.6
col.label("Total Samples:")
@@ -146,7 +158,7 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
row = layout.row()
sub = row.row()
sub.prop(cscene, "progressive", text="")
- sub.label()
+ row.prop(cscene, "use_square_samples")
split = layout.split()
diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py
index a37ac38c101..efd794461d6 100644
--- a/intern/cycles/blender/addon/version_update.py
+++ b/intern/cycles/blender/addon/version_update.py
@@ -315,23 +315,3 @@ def do_versions(self):
cscene.blur_glossy = 0.0
if not cscene.is_property_set("sample_clamp_indirect"):
cscene.sample_clamp_indirect = 0.0
-
- # Remove and apply square samples
- use_square_samples = cscene.get("use_square_samples", False)
- if use_square_samples:
- del cscene["use_square_samples"]
-
- cscene.samples *= cscene.samples
- cscene.preview_samples *= cscene.preview_samples
- cscene.aa_samples *= cscene.aa_samples
- cscene.preview_aa_samples *= cscene.preview_aa_samples
- cscene.diffuse_samples *= cscene.diffuse_samples
- cscene.glossy_samples *= cscene.glossy_samples
- cscene.transmission_samples *= cscene.transmission_samples
- cscene.ao_samples *= cscene.ao_samples
- cscene.mesh_light_samples *= cscene.mesh_light_samples
- cscene.subsurface_samples *= cscene.subsurface_samples
- cscene.volume_samples *= cscene.volume_samples
-
- for layer in scene.render.layers:
- layer.samples *= layer.samples