[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59391] trunk/blender: Cycles / Sampling UI:

Thomas Dinges blender at dingto.org
Thu Aug 22 21:57:56 CEST 2013


Revision: 59391
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59391
Author:   dingto
Date:     2013-08-22 19:57:56 +0000 (Thu, 22 Aug 2013)
Log Message:
-----------
Cycles / Sampling UI:
* Add a "Total Samples" info at the bottom of the panel.
This makes understanding the Non-Progressive integrator easier, as it displays how many samples are used for the different ray types. 

* Rename Squared Samples to Square samples, to indicate that the action is not already done. The new Total Samples info should make this easier to understand now as well. Also added back for Progressive integrator, for consistency. 

Screenshot:
http://www.pasteall.org/pic/show.php?id=57980

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/addon/presets.py
    trunk/blender/intern/cycles/blender/addon/properties.py
    trunk/blender/intern/cycles/blender/addon/ui.py
    trunk/blender/intern/cycles/blender/blender_object.cpp
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/release/scripts/presets/cycles/sampling/final.py
    trunk/blender/release/scripts/presets/cycles/sampling/preview.py

Modified: trunk/blender/intern/cycles/blender/addon/presets.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/presets.py	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/intern/cycles/blender/addon/presets.py	2013-08-22 19:57:56 UTC (rev 59391)
@@ -67,7 +67,7 @@
         "cycles.subsurface_samples",
         "cycles.no_caustics",
         "cycles.blur_glossy",
-        "cycles.squared_samples",
+        "cycles.use_square_samples",
         "cycles.progressive"
     ]
 

Modified: trunk/blender/intern/cycles/blender/addon/properties.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/properties.py	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/intern/cycles/blender/addon/properties.py	2013-08-22 19:57:56 UTC (rev 59391)
@@ -128,8 +128,8 @@
                 description="Use progressive sampling of lighting",
                 default=True,
                 )
-        cls.squared_samples = BoolProperty(
-                name="Squared Samples",
+        cls.use_square_samples = BoolProperty(
+                name="Square Samples",
                 description="Square sampling values for easier artist control",
                 default=False,
                 )

Modified: trunk/blender/intern/cycles/blender/addon/ui.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/ui.py	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/intern/cycles/blender/addon/ui.py	2013-08-22 19:57:56 UTC (rev 59391)
@@ -48,6 +48,43 @@
         return rd.engine == 'CYCLES'
 
 
+def draw_samples_info(layout, cscene):
+    # Calculate sample values
+    if cscene.progressive:
+        aa = cscene.samples
+        if cscene.use_square_samples:
+            aa = aa*aa
+    else:
+        aa = cscene.aa_samples
+        d = cscene.diffuse_samples
+        g = cscene.glossy_samples
+        t = cscene.transmission_samples
+        ao = cscene.ao_samples
+        ml = cscene.mesh_light_samples
+        sss = cscene.subsurface_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
+            
+    # Draw interface
+    col = layout.column(align=True)
+    col.scale_y = 0.6
+    col.label("Total Samples:")
+    col.separator()
+    if cscene.progressive:
+        col.label("%s AA" % aa)
+    else:
+        col.label("%s AA, %s Diffuse, %s Glossy, %s Transmission" % (aa, d*aa, g*aa, t*aa))
+        col.separator()
+        col.label("%s AO, %s Mesh Light, %s Subsurface" % (ao*aa, ml*aa, sss*aa))
+
+
 class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
     bl_label = "Sampling"
     bl_options = {'DEFAULT_CLOSED'}
@@ -63,13 +100,11 @@
         row.menu("CYCLES_MT_sampling_presets", text=bpy.types.CYCLES_MT_sampling_presets.bl_label)
         row.operator("render.cycles_sampling_preset_add", text="", icon="ZOOMIN")
         row.operator("render.cycles_sampling_preset_add", text="", icon="ZOOMOUT").remove_active = True
-
+        
         row = layout.row()
         row.prop(cscene, "progressive")
+        row.prop(cscene, "use_square_samples")
         
-        if not cscene.progressive:
-            row.prop(cscene, "squared_samples")
-        
         split = layout.split()
         
         col = split.column()
@@ -107,6 +142,8 @@
                 layout.separator()
                 layout.row().prop(cscene, "use_layer_samples")
                 break
+                
+        draw_samples_info(layout, cscene)
 
 
 class CyclesRender_PT_light_paths(CyclesButtonsPanel, Panel):

Modified: trunk/blender/intern/cycles/blender/blender_object.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_object.cpp	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/intern/cycles/blender/blender_object.cpp	2013-08-22 19:57:56 UTC (rev 59391)
@@ -158,7 +158,7 @@
 	light->use_mis = get_boolean(clamp, "use_multiple_importance_sampling");
 	
 	int samples = get_int(clamp, "samples");
-	if(get_boolean(cscene, "squared_samples"))
+	if(get_boolean(cscene, "use_square_samples"))
 		light->samples = samples * samples;
 	else
 		light->samples = samples;
@@ -196,7 +196,7 @@
 				light->shader = scene->default_background;
 				
 				int samples = get_int(cworld, "samples");
-				if(get_boolean(cscene, "squared_samples"))
+				if(get_boolean(cscene, "use_square_samples"))
 					light->samples = samples * samples;
 				else
 					light->samples = samples;

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-08-22 19:57:56 UTC (rev 59391)
@@ -198,7 +198,7 @@
 	int mesh_light_samples = get_int(cscene, "mesh_light_samples");
 	int subsurface_samples = get_int(cscene, "subsurface_samples");
 
-	if(get_boolean(cscene, "squared_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;
@@ -319,7 +319,7 @@
 			render_layer.bound_samples = (use_layer_samples == 1);
 			if(use_layer_samples != 2) {
 				int samples = b_rlay->samples();
-				if(get_boolean(cscene, "squared_samples") && !(get_boolean(cscene, "progressive")))
+				if(get_boolean(cscene, "use_square_samples"))
 					render_layer.samples = samples * samples;
 				else
 					render_layer.samples = samples;
@@ -412,10 +412,12 @@
 	int preview_samples = get_int(cscene, "preview_samples");
 	int preview_aa_samples = get_int(cscene, "preview_aa_samples");
 	
-	/* Squared samples for Non-Progressive only */
-	if(get_boolean(cscene, "squared_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_boolean(cscene, "progressive") == 0) {

Modified: trunk/blender/release/scripts/presets/cycles/sampling/final.py
===================================================================
--- trunk/blender/release/scripts/presets/cycles/sampling/final.py	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/release/scripts/presets/cycles/sampling/final.py	2013-08-22 19:57:56 UTC (rev 59391)
@@ -1,13 +1,13 @@
 import bpy
 cycles = bpy.context.scene.cycles
 
-cycles.squared_samples = True
+cycles.use_square_samples = True
 
 # Progressive
-cycles.samples = 500
-cycles.preview_samples = 100
+cycles.samples = 24
+cycles.preview_samples = 12
 
-# Non-Progressive (squared)
+# Non-Progressive
 cycles.aa_samples = 8
 cycles.preview_aa_samples = 4
 

Modified: trunk/blender/release/scripts/presets/cycles/sampling/preview.py
===================================================================
--- trunk/blender/release/scripts/presets/cycles/sampling/preview.py	2013-08-22 18:52:34 UTC (rev 59390)
+++ trunk/blender/release/scripts/presets/cycles/sampling/preview.py	2013-08-22 19:57:56 UTC (rev 59391)
@@ -1,13 +1,13 @@
 import bpy
 cycles = bpy.context.scene.cycles
 
-cycles.squared_samples = True
+cycles.use_square_samples = True
 
 # Progressive
-cycles.samples = 100
-cycles.preview_samples = 10
+cycles.samples = 12
+cycles.preview_samples = 6
 
-# Non-Progressive (squared)
+# Non-Progressive
 cycles.aa_samples = 4
 cycles.preview_aa_samples = 2
 




More information about the Bf-blender-cvs mailing list