[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59493] branches/soc-2013-paint: merge with trunk -r59492

Antony Riakiotakis kalast at gmail.com
Sun Aug 25 16:15:55 CEST 2013


Revision: 59493
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59493
Author:   psy-fi
Date:     2013-08-25 14:15:55 +0000 (Sun, 25 Aug 2013)
Log Message:
-----------
merge with trunk -r59492

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59492

Modified Paths:
--------------
    branches/soc-2013-paint/intern/CMakeLists.txt
    branches/soc-2013-paint/intern/cycles/app/cycles_xml.cpp
    branches/soc-2013-paint/intern/cycles/blender/addon/properties.py
    branches/soc-2013-paint/intern/cycles/blender/addon/ui.py
    branches/soc-2013-paint/intern/cycles/blender/blender_curves.cpp
    branches/soc-2013-paint/intern/cycles/blender/blender_sync.cpp
    branches/soc-2013-paint/intern/cycles/device/device_cuda.cpp
    branches/soc-2013-paint/intern/cycles/device/device_task.h
    branches/soc-2013-paint/intern/cycles/kernel/CMakeLists.txt
    branches/soc-2013-paint/intern/cycles/kernel/kernel.cpp
    branches/soc-2013-paint/intern/cycles/kernel/kernel.cu
    branches/soc-2013-paint/intern/cycles/kernel/kernel_bvh.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_emission.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_jitter.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_path.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_shader.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_sse2.cpp
    branches/soc-2013-paint/intern/cycles/kernel/kernel_sse3.cpp
    branches/soc-2013-paint/intern/cycles/kernel/kernel_subsurface.h
    branches/soc-2013-paint/intern/cycles/kernel/kernel_types.h
    branches/soc-2013-paint/intern/cycles/render/curves.cpp
    branches/soc-2013-paint/intern/cycles/render/integrator.cpp
    branches/soc-2013-paint/intern/cycles/render/integrator.h
    branches/soc-2013-paint/intern/cycles/render/osl.cpp
    branches/soc-2013-paint/intern/cycles/render/session.cpp
    branches/soc-2013-paint/intern/guardedalloc/CMakeLists.txt
    branches/soc-2013-paint/release/datafiles/prvicons.png
    branches/soc-2013-paint/release/datafiles/prvicons.svg
    branches/soc-2013-paint/release/scripts/modules/bpy_types.py
    branches/soc-2013-paint/release/scripts/startup/bl_operators/add_mesh_torus.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_constraint.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_data_armature.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_data_bone.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_data_camera.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_data_mesh.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_freestyle.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_mask_common.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_material.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_object.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_particle.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_physics_common.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_physics_fluid.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_physics_smoke.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_render.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/properties_texture.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_image.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_outliner.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_sequencer.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_text.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_time.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_userpref.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2013-paint/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/soc-2013-paint/source/blender/blenkernel/BKE_cloth.h
    branches/soc-2013-paint/source/blender/blenkernel/CMakeLists.txt
    branches/soc-2013-paint/source/blender/blenkernel/intern/camera.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/cloth.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/collision.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/mesh.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/mesh_validate.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/object_deform.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/particle_system.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/pbvh.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/pbvh_bmesh.c
    branches/soc-2013-paint/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2013-paint/source/blender/blenlib/BLI_callbacks.h
    branches/soc-2013-paint/source/blender/blenlib/BLI_edgehash.h
    branches/soc-2013-paint/source/blender/blenlib/BLI_ghash.h
    branches/soc-2013-paint/source/blender/blenlib/BLI_math_geom.h
    branches/soc-2013-paint/source/blender/blenlib/intern/BLI_ghash.c
    branches/soc-2013-paint/source/blender/blenlib/intern/BLI_mempool.c
    branches/soc-2013-paint/source/blender/blenlib/intern/edgehash.c
    branches/soc-2013-paint/source/blender/blenlib/intern/math_geom.c
    branches/soc-2013-paint/source/blender/blenloader/intern/readfile.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_construct.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_log.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_mesh.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_mods.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_opdefines.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_operators.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_walkers.c
    branches/soc-2013-paint/source/blender/bmesh/intern/bmesh_walkers_impl.c
    branches/soc-2013-paint/source/blender/bmesh/operators/bmo_bisect_plane.c
    branches/soc-2013-paint/source/blender/bmesh/operators/bmo_triangulate.c
    branches/soc-2013-paint/source/blender/bmesh/tools/bmesh_bisect_plane.c
    branches/soc-2013-paint/source/blender/bmesh/tools/bmesh_bisect_plane.h
    branches/soc-2013-paint/source/blender/collada/collada.cpp
    branches/soc-2013-paint/source/blender/collada/collada_utils.cpp
    branches/soc-2013-paint/source/blender/editors/armature/meshlaplacian.c
    branches/soc-2013-paint/source/blender/editors/armature/reeb.c
    branches/soc-2013-paint/source/blender/editors/curve/editcurve.c
    branches/soc-2013-paint/source/blender/editors/gpencil/gpencil_edit.c
    branches/soc-2013-paint/source/blender/editors/gpencil/gpencil_paint.c
    branches/soc-2013-paint/source/blender/editors/interface/interface_layout.c
    branches/soc-2013-paint/source/blender/editors/interface/view2d_ops.c
    branches/soc-2013-paint/source/blender/editors/io/io_collada.c
    branches/soc-2013-paint/source/blender/editors/mesh/editmesh_rip.c
    branches/soc-2013-paint/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2013-paint/source/blender/editors/mesh/mesh_intern.h
    branches/soc-2013-paint/source/blender/editors/mesh/mesh_ops.c
    branches/soc-2013-paint/source/blender/editors/mesh/meshtools.c
    branches/soc-2013-paint/source/blender/editors/sculpt_paint/paint_vertex.c
    branches/soc-2013-paint/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2013-paint/source/blender/editors/space_clip/clip_draw.c
    branches/soc-2013-paint/source/blender/editors/space_file/space_file.c
    branches/soc-2013-paint/source/blender/editors/space_graph/graph_edit.c
    branches/soc-2013-paint/source/blender/editors/space_node/node_add.c
    branches/soc-2013-paint/source/blender/editors/space_node/node_relationships.c
    branches/soc-2013-paint/source/blender/editors/space_outliner/outliner_tools.c
    branches/soc-2013-paint/source/blender/editors/space_outliner/outliner_tree.c
    branches/soc-2013-paint/source/blender/editors/space_outliner/space_outliner.c
    branches/soc-2013-paint/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2013-paint/source/blender/editors/space_view3d/view3d_view.c
    branches/soc-2013-paint/source/blender/freestyle/intern/application/Controller.cpp
    branches/soc-2013-paint/source/blender/freestyle/intern/application/Controller.h
    branches/soc-2013-paint/source/blender/freestyle/intern/geometry/BBox.h
    branches/soc-2013-paint/source/blender/freestyle/intern/view_map/ViewMapAdvancedIterators.h
    branches/soc-2013-paint/source/blender/gpu/intern/gpu_buffers.c
    branches/soc-2013-paint/source/blender/makesdna/DNA_space_types.h
    branches/soc-2013-paint/source/blender/makesdna/intern/dna_genfile.c
    branches/soc-2013-paint/source/blender/makesrna/intern/rna_access.c
    branches/soc-2013-paint/source/blender/makesrna/intern/rna_ui_api.c
    branches/soc-2013-paint/source/blender/modifiers/intern/MOD_explode.c
    branches/soc-2013-paint/source/blender/python/intern/bpy_app_handlers.c
    branches/soc-2013-paint/source/blender/python/mathutils/mathutils_geometry.c
    branches/soc-2013-paint/source/blender/render/intern/source/convertblender.c
    branches/soc-2013-paint/source/blender/render/intern/source/rayshade.c
    branches/soc-2013-paint/source/blender/windowmanager/intern/wm.c
    branches/soc-2013-paint/source/blender/windowmanager/intern/wm_operators.c

Added Paths:
-----------
    branches/soc-2013-paint/source/blender/blenkernel/BKE_treehash.h
    branches/soc-2013-paint/source/blender/blenkernel/intern/treehash.c

Modified: branches/soc-2013-paint/intern/CMakeLists.txt
===================================================================
--- branches/soc-2013-paint/intern/CMakeLists.txt	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/CMakeLists.txt	2013-08-25 14:15:55 UTC (rev 59493)
@@ -23,10 +23,10 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
+# add_subdirectory(atomic)  # header only
 add_subdirectory(string)
 add_subdirectory(ghost)
 add_subdirectory(guardedalloc)
-add_subdirectory(moto)
 add_subdirectory(memutil)
 add_subdirectory(opencolorio)
 add_subdirectory(opennl)
@@ -61,6 +61,10 @@
 	add_subdirectory(itasc)
 endif()
 
+if(WITH_IK_SOLVER OR WITH_GAMEENGINE)
+	add_subdirectory(moto)
+endif()
+
 if(WITH_CYCLES)
 	add_subdirectory(cycles)
 endif()

Modified: branches/soc-2013-paint/intern/cycles/app/cycles_xml.cpp
===================================================================
--- branches/soc-2013-paint/intern/cycles/app/cycles_xml.cpp	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/app/cycles_xml.cpp	2013-08-25 14:15:55 UTC (rev 59493)
@@ -252,10 +252,14 @@
 static void xml_read_integrator(const XMLReadState& state, pugi::xml_node node)
 {
 	Integrator *integrator = state.scene->integrator;
+	bool branched = false;
 	
-	xml_read_bool(&integrator->progressive, node, "progressive");
+	xml_read_bool(&branched, node, "branched");
+
+	if(branched)
+		integrator->method == Integrator::BRANCHED_PATH;
 	
-	if(!integrator->progressive) {
+	if(integrator->method == Integrator::BRANCHED_PATH) {
 		xml_read_int(&integrator->diffuse_samples, node, "diffuse_samples");
 		xml_read_int(&integrator->glossy_samples, node, "glossy_samples");
 		xml_read_int(&integrator->transmission_samples, node, "transmission_samples");

Modified: branches/soc-2013-paint/intern/cycles/blender/addon/properties.py
===================================================================
--- branches/soc-2013-paint/intern/cycles/blender/addon/properties.py	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/blender/addon/properties.py	2013-08-25 14:15:55 UTC (rev 59493)
@@ -97,7 +97,12 @@
     ('CORRELATED_MUTI_JITTER', "Correlated Multi-Jitter", "Use Correlated Multi-Jitter random sampling pattern"),
     )
 
+enum_integrator = (
+    ('BRANCHED_PATH', "Branched Path Tracing", "Path tracing integrator that branches on the first bounce, giving more control over the number of light and material samples"),
+    ('PATH', "Path Tracing", "Pure path tracing integrator"),
+    )
 
+
 class CyclesRenderSettings(bpy.types.PropertyGroup):
     @classmethod
     def register(cls):
@@ -123,11 +128,13 @@
                 description="Use Open Shading Language (CPU rendering only)",
                 )
 
-        cls.progressive = BoolProperty(
-                name="Progressive",
-                description="Use progressive sampling of lighting",
-                default=True,
+        cls.progressive = EnumProperty(
+                name="Integrator",
+                description="Method to sample lights and materials",
+                items=enum_integrator,
+                default='PATH',
                 )
+
         cls.use_square_samples = BoolProperty(
                 name="Square Samples",
                 description="Square sampling values for easier artist control",

Modified: branches/soc-2013-paint/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/soc-2013-paint/intern/cycles/blender/addon/ui.py	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/blender/addon/ui.py	2013-08-25 14:15:55 UTC (rev 59493)
@@ -49,8 +49,10 @@
 
 
 def draw_samples_info(layout, cscene):
+    integrator = cscene.progressive
+
     # Calculate sample values
-    if cscene.progressive:
+    if integrator == 'PATH':
         aa = cscene.samples
         if cscene.use_square_samples:
             aa = aa * aa
@@ -73,18 +75,20 @@
             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))
+    # Do not draw for progressive, when Square Samples are disabled
+    if (integrator == 'BRANCHED_PATH') or (cscene.use_square_samples and integrator == 'PATH'):
+        col = layout.column(align=True)
+        col.scale_y = 0.6
+        col.label("Total Samples:")
         col.separator()
-        col.label("%s AO, %s Mesh Light, %s Subsurface" %
-                  (ao * aa, ml * aa, sss * aa))
+        if integrator == 'PATH':
+            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):
@@ -104,7 +108,7 @@
         row.operator("render.cycles_sampling_preset_add", text="", icon="ZOOMOUT").remove_active = True
 
         row = layout.row()
-        row.prop(cscene, "progressive")
+        row.prop(cscene, "progressive", text="")
         row.prop(cscene, "use_square_samples")
 
         split = layout.split()
@@ -115,7 +119,7 @@
         sub.prop(cscene, "seed")
         sub.prop(cscene, "sample_clamp")
 
-        if cscene.progressive:
+        if cscene.progressive == 'PATH':
             col = split.column()
             sub = col.column(align=True)
             sub.label(text="Samples:")
@@ -248,8 +252,8 @@
         col = split.column(align=True)
 
         col.label(text="Threads:")
-        col.row().prop(rd, "threads_mode", expand=True)
-        sub = col.column()
+        col.row(align=True).prop(rd, "threads_mode", expand=True)
+        sub = col.column(align=True)
         sub.enabled = rd.threads_mode == 'FIXED'
         sub.prop(rd, "threads")
 
@@ -262,7 +266,7 @@
 
         sub.prop(cscene, "use_progressive_refine")
 
-        subsub = sub.column()
+        subsub = sub.column(align=True)
         subsub.enabled = not rd.use_border
         subsub.prop(rd, "use_save_buffers")
 
@@ -711,7 +715,7 @@
                 sub.prop(lamp, "size", text="Size X")
                 sub.prop(lamp, "size_y", text="Size Y")
 
-        if not cscene.progressive:
+        if cscene.progressive == 'BRANCHED_PATH':
             col.prop(clamp, "samples")
 
         col = split.column()

Modified: branches/soc-2013-paint/intern/cycles/blender/blender_curves.cpp
===================================================================
--- branches/soc-2013-paint/intern/cycles/blender/blender_curves.cpp	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/blender/blender_curves.cpp	2013-08-25 14:15:55 UTC (rev 59493)
@@ -425,7 +425,7 @@
 				time = CData->curvekey_time[curvekey]/CData->curve_length[curve];
 				radius = shaperadius(CData->psys_shape[sys], CData->psys_rootradius[sys], CData->psys_tipradius[sys], time);
 
-				if((curvekey == CData->curve_firstkey[curve] + CData->curve_keynum[curve] - 1))
+				if(curvekey == CData->curve_firstkey[curve] + CData->curve_keynum[curve] - 1)
 					radius = shaperadius(CData->psys_shape[sys], CData->psys_rootradius[sys], CData->psys_tipradius[sys], 0.95f);
 
 				if(CData->psys_closetip[sys] && (curvekey == CData->curve_firstkey[curve] + CData->curve_keynum[curve] - 1))

Modified: branches/soc-2013-paint/intern/cycles/blender/blender_sync.cpp
===================================================================
--- branches/soc-2013-paint/intern/cycles/blender/blender_sync.cpp	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/blender/blender_sync.cpp	2013-08-25 14:15:55 UTC (rev 59493)
@@ -189,7 +189,7 @@
 	}
 #endif
 
-	integrator->progressive = get_boolean(cscene, "progressive");
+	integrator->method = (Integrator::Method)get_enum(cscene, "progressive");
 
 	int diffuse_samples = get_int(cscene, "diffuse_samples");
 	int glossy_samples = get_int(cscene, "glossy_samples");
@@ -420,7 +420,7 @@
 		preview_samples = preview_samples * preview_samples;
 	}
 
-	if(get_boolean(cscene, "progressive") == 0) {
+	if(get_enum(cscene, "progressive") == 0) {
 		if(background) {
 			params.samples = aa_samples;
 		}

Modified: branches/soc-2013-paint/intern/cycles/device/device_cuda.cpp
===================================================================
--- branches/soc-2013-paint/intern/cycles/device/device_cuda.cpp	2013-08-25 13:15:22 UTC (rev 59492)
+++ branches/soc-2013-paint/intern/cycles/device/device_cuda.cpp	2013-08-25 14:15:55 UTC (rev 59493)
@@ -556,7 +556,7 @@
 		}
 	}
 
-	void path_trace(RenderTile& rtile, int sample, bool progressive)
+	void path_trace(RenderTile& rtile, int sample, bool branched)
 	{
 		if(have_error())
 			return;
@@ -568,14 +568,14 @@
 		CUdeviceptr d_rng_state = cuda_device_ptr(rtile.rng_state);
 
 		/* get kernel function */
-		if(progressive)
-			cuda_assert(cuModuleGetFunction(&cuPathTrace, cuModule, "kernel_cuda_path_trace_progressive"))
-		else {
-			cuda_assert(cuModuleGetFunction(&cuPathTrace, cuModule, "kernel_cuda_path_trace_non_progressive"))
-			if(have_error())
-				return;
-		}
-		
+		if(branched)
+			cuda_assert(cuModuleGetFunction(&cuPathTrace, cuModule, "kernel_cuda_branched_path_trace"))
+		else
+			cuda_assert(cuModuleGetFunction(&cuPathTrace, cuModule, "kernel_cuda_path_trace"))
+
+		if(have_error())
+			return;
+	
 		/* pass in parameters */
 		int offset = 0;
 		
@@ -918,7 +918,7 @@
 		if(task->type == DeviceTask::PATH_TRACE) {
 			RenderTile tile;
 			
-			bool progressive = task->integrator_progressive;
+			bool branched = task->integrator_branched;
 			
 			/* keep rendering tiles until done */
 			while(task->acquire_tile(this, tile)) {
@@ -931,7 +931,7 @@
 							break;
 					}
 
-					path_trace(tile, sample, progressive);
+					path_trace(tile, sample, branched);
 
 					tile.sample = sample + 1;
 

Modified: branches/soc-2013-paint/intern/cycles/device/device_task.h
===================================================================
--- branches/soc-2013-paint/intern/cycles/device/device_task.h	2013-08-25 13:15:22 UTC (rev 59492)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list