[Bf-blender-cvs] [757c24b6bce] master: Cycles: remove square samples option.

Brecht Van Lommel noreply at git.blender.org
Fri Aug 11 01:11:26 CEST 2017


Commit: 757c24b6bceaeeae95f743b72b6a7040880a0ebf
Author: Brecht Van Lommel
Date:   Wed Aug 2 15:39:02 2017 +0200
Branches: master
https://developer.blender.org/rB757c24b6bceaeeae95f743b72b6a7040880a0ebf

Cycles: remove square samples option.

It doesn't seem that useful in practice, was mostly added to match some
other renderers but also seems to be causing user confusing and accidental
long render times. So let's just keep the UI simple and remove this.

Differential Revision: https://developer.blender.org/D2768

===================================================================

M	intern/cycles/blender/addon/presets.py
M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/ui.py
M	intern/cycles/blender/addon/version_update.py
M	intern/cycles/blender/blender_object.cpp
M	intern/cycles/blender/blender_sync.cpp

===================================================================

diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py
index 17efb00abdb..dd4e8e60a42 100644
--- a/intern/cycles/blender/addon/presets.py
+++ b/intern/cycles/blender/addon/presets.py
@@ -67,7 +67,6 @@ 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 7b16ef1d543..cb95bfb5b2a 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -172,12 +172,6 @@ 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 b9565aa4c7f..debc8e76e54 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -100,8 +100,6 @@ 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
@@ -112,19 +110,9 @@ 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) or (cscene.use_square_samples and integrator == 'PATH'):
+    if use_branched_path(context):
         col = layout.column(align=True)
         col.scale_y = 0.6
         col.label("Total Samples:")
@@ -157,7 +145,7 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
         row = layout.row()
         sub = row.row()
         sub.prop(cscene, "progressive", text="")
-        row.prop(cscene, "use_square_samples")
+        sub.label()
 
         split = layout.split()
 
diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py
index efd794461d6..a37ac38c101 100644
--- a/intern/cycles/blender/addon/version_update.py
+++ b/intern/cycles/blender/addon/version_update.py
@@ -315,3 +315,23 @@ 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
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index a930c439370..82623d538b2 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -162,16 +162,11 @@ void BlenderSync::sync_light(BL::Object& b_parent,
 	light->shader = used_shaders[0];
 
 	/* shadow */
-	PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
 	PointerRNA clamp = RNA_pointer_get(&b_lamp.ptr, "cycles");
 	light->cast_shadow = get_boolean(clamp, "cast_shadow");
 	light->use_mis = get_boolean(clamp, "use_multiple_importance_sampling");
 	
-	int samples = get_int(clamp, "samples");
-	if(get_boolean(cscene, "use_square_samples"))
-		light->samples = samples * samples;
-	else
-		light->samples = samples;
+	light->samples = get_int(clamp, "samples");
 
 	light->max_bounces = get_int(clamp, "max_bounces");
 
@@ -199,7 +194,6 @@ void BlenderSync::sync_background_light(bool use_portal)
 	BL::World b_world = b_scene.world();
 
 	if(b_world) {
-		PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
 		PointerRNA cworld = RNA_pointer_get(&b_world.ptr, "cycles");
 		bool sample_as_light = get_boolean(cworld, "sample_as_light");
 
@@ -218,11 +212,7 @@ void BlenderSync::sync_background_light(bool use_portal)
 				light->use_mis = sample_as_light;
 				light->max_bounces = get_int(cworld, "max_bounces");
 
-				int samples = get_int(cworld, "samples");
-				if(get_boolean(cscene, "use_square_samples"))
-					light->samples = samples * samples;
-				else
-					light->samples = samples;
+				light->samples = get_int(cworld, "samples");
 
 				light->tag_update(scene);
 				light_map.set_recalc(b_world);
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index e953c685b56..f5e8d0633bc 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -291,32 +291,13 @@ void BlenderSync::sync_integrator()
 	integrator->sample_all_lights_indirect = get_boolean(cscene, "sample_all_lights_indirect");
 	integrator->light_sampling_threshold = get_float(cscene, "light_sampling_threshold");
 
-	int diffuse_samples = get_int(cscene, "diffuse_samples");
-	int glossy_samples = get_int(cscene, "glossy_samples");
-	int transmission_samples = get_int(cscene, "transmission_samples");
-	int ao_samples = get_int(cscene, "ao_samples");
-	int mesh_light_samples = get_int(cscene, "mesh_light_samples");
-	int subsurface_samples = get_int(cscene, "subsurface_samples");
-	int volume_samples = get_int(cscene, "volume_samples");
-
-	if(get_boolean(cscene, "use_square_samples")) {
-		integrator->diffuse_samples = diffuse_samples * diffuse_samples;
-		integrator->glossy_samples = glossy_samples * glossy_samples;
-		integrator->transmission_samples = transmission_samples * transmission_samples;
-		integrator->ao_samples = ao_samples * ao_samples;
-		integrator->mesh_light_samples = mesh_light_samples * mesh_light_samples;
-		integrator->subsurface_samples = subsurface_samples * subsurface_samples;
-		integrator->volume_samples = volume_samples * volume_samples;
-	} 
-	else {
-		integrator->diffuse_samples = diffuse_samples;
-		integrator->glossy_samples = glossy_samples;
-		integrator->transmission_samples = transmission_samples;
-		integrator->ao_samples = ao_samples;
-		integrator->mesh_light_samples = mesh_light_samples;
-		integrator->subsurface_samples = subsurface_samples;
-		integrator->volume_samples = volume_samples;
-	}
+	integrator->diffuse_samples = get_int(cscene, "diffuse_samples");
+	integrator->glossy_samples = get_int(cscene, "glossy_samples");
+	integrator->transmission_samples = get_int(cscene, "transmission_samples");
+	integrator->ao_samples = get_int(cscene, "ao_samples");
+	integrator->mesh_light_samples = get_int(cscene, "mesh_light_samples");
+	integrator->subsurface_samples = get_int(cscene, "subsurface_samples");
+	integrator->volume_samples = get_int(cscene, "volume_samples");
 
 	if(b_scene.render().use_simplify()) {
 		if(preview) {
@@ -434,11 +415,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D& b_v3d, const char *layer)
 
 			render_layer.bound_samples = (use_layer_samples == 1);
 			if(use_layer_samples != 2) {
-				int samples = b_rlay->samples();
-				if(get_boolean(cscene, "use_square_samples"))
-					render_layer.samples = samples * samples;
-				else
-					render_layer.samples = samples;
+				render_layer.samples = b_rlay->samples();
 			}
 		}
 
@@ -753,14 +730,6 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine& b_engine,
 	int preview_samples = get_int(cscene, "preview_samples");
 	int preview_aa_samples = get_int(cscene, "preview_aa_samples");
 	
-	if(get_boolean(cscene, "use_square_samples")) {
-		aa_samples = aa_samples * aa_samples;
-		preview_aa_samples = preview_aa_samples * preview_aa_samples;
-
-		samples = samples * samples;
-		preview_samples = preview_samples * preview_samples;
-	}
-
 	if(get_enum(cscene, "progressive") == 0) {
 		if(background) {
 			params.samples = aa_samples;




More information about the Bf-blender-cvs mailing list