[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58870] branches/soc-2011-tomato: Merging r58795 through r58869 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Sat Aug 3 21:46:22 CEST 2013


Revision: 58870
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58870
Author:   nazgul
Date:     2013-08-03 19:46:21 +0000 (Sat, 03 Aug 2013)
Log Message:
-----------
Merging r58795 through r58869 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/extern/libmv/libmv-capi.cc
    branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py
    branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
    branches/soc-2011-tomato/intern/cycles/blender/blender_sync.cpp
    branches/soc-2011-tomato/intern/cycles/kernel/closure/bsdf.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_accumulate.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_passes.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_path.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_shader.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_subsurface.h
    branches/soc-2011-tomato/intern/cycles/kernel/kernel_types.h
    branches/soc-2011-tomato/intern/cycles/kernel/svm/svm_types.h
    branches/soc-2011-tomato/intern/cycles/render/film.cpp
    branches/soc-2011-tomato/intern/ghost/CMakeLists.txt
    branches/soc-2011-tomato/intern/ghost/SConscript
    branches/soc-2011-tomato/intern/guardedalloc/MEM_guardedalloc.h
    branches/soc-2011-tomato/intern/guardedalloc/intern/mallocn.c
    branches/soc-2011-tomato/release/scripts/presets/cycles/sampling/final.py
    branches/soc-2011-tomato/release/scripts/presets/cycles/sampling/preview.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_blender.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_node.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/dynamicpaint.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/fmodifier.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/object.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/pbvh.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/pointcache.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/smoke.c
    branches/soc-2011-tomato/source/blender/blenlib/BLI_math_geom.h
    branches/soc-2011-tomato/source/blender/blenlib/BLI_math_vector.h
    branches/soc-2011-tomato/source/blender/blenlib/BLI_utildefines.h
    branches/soc-2011-tomato/source/blender/blenlib/intern/BLI_mempool.c
    branches/soc-2011-tomato/source/blender/blenlib/intern/math_geom.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_construct.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_core.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_edgeloop.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_marking.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_operators.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_polygon.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_polygon.h
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_private.h
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_queries.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_queries.h
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_structure.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_structure.h
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_create.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_dupe.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_edgenet.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_join_triangles.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_wireframe.c
    branches/soc-2011-tomato/source/blender/collada/MeshImporter.cpp
    branches/soc-2011-tomato/source/blender/editors/mesh/editface.c
    branches/soc-2011-tomato/source/blender/editors/mesh/editmesh_loopcut.c
    branches/soc-2011-tomato/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2011-tomato/source/blender/editors/mesh/editmesh_utils.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_stroke.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2011-tomato/source/blender/editors/space_logic/logic_window.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_edit.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_intern.h
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_select.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_tools.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_tree.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/space_outliner.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/drawvolume.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_select.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_dynamicpaint_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_outliner_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_space_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_brush.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_dynamicpaint.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_gpencil.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_object_force.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_render.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_skin.c
    branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_image.c
    branches/soc-2011-tomato/source/blender/render/intern/raytrace/rayobject_octree.cpp
    branches/soc-2011-tomato/source/blender/render/intern/source/render_result.c
    branches/soc-2011-tomato/source/gameengine/Ketsji/BL_ActionManager.cpp
    branches/soc-2011-tomato/source/gameengine/Ketsji/KX_PythonInitTypes.cpp
    branches/soc-2011-tomato/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp
    branches/soc-2011-tomato/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp
    branches/soc-2011-tomato/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
    branches/soc-2011-tomato/source/gameengine/SceneGraph/SG_Tree.cpp
    branches/soc-2011-tomato/source/gameengine/VideoTexture/BlendType.h
    branches/soc-2011-tomato/source/gameengine/VideoTexture/Exception.cpp
    branches/soc-2011-tomato/source/gameengine/VideoTexture/FilterSource.h
    branches/soc-2011-tomato/source/gameengine/VideoTexture/ImageMix.h
    branches/soc-2011-tomato/source/gameengine/VideoTexture/ImageRender.cpp

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2013-depsgraph_mt:57516
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58772,58774-58775
/branches/vgroup_modifiers:38694-39989
/tags/blender-2.67b-release/blender:57122
/trunk/blender:36831-58794
   + /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2013-depsgraph_mt:57516
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835
/branches/vgroup_modifiers:38694-39989
/tags/blender-2.67b-release/blender:57122
/trunk/blender:36831-58869

Modified: branches/soc-2011-tomato/extern/libmv/libmv-capi.cc
===================================================================
--- branches/soc-2011-tomato/extern/libmv/libmv-capi.cc	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/extern/libmv/libmv-capi.cc	2013-08-03 19:46:21 UTC (rev 58870)
@@ -1016,6 +1016,7 @@
 	*principal_y = camera_intrinsics->principal_point_y();
 	*k1 = camera_intrinsics->k1();
 	*k2 = camera_intrinsics->k2();
+	*k3 = camera_intrinsics->k3();
 }
 
 void libmv_cameraIntrinsicsUndistortByte(const struct libmv_CameraIntrinsics *libmv_intrinsics,

Modified: branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py	2013-08-03 19:46:21 UTC (rev 58870)
@@ -70,8 +70,10 @@
         sub = row.row()
         sub.active = (device_type == 'NONE' or cscene.device == 'CPU')
         sub.prop(cscene, "progressive")
-        row.prop(cscene, "squared_samples")
         
+        if not cscene.progressive:
+            row.prop(cscene, "squared_samples")
+        
         split = layout.split()
         
         col = split.column()
@@ -371,7 +373,13 @@
         row.prop(rl, "use_pass_transmission_direct", text="Direct", toggle=True)
         row.prop(rl, "use_pass_transmission_indirect", text="Indirect", toggle=True)
         row.prop(rl, "use_pass_transmission_color", text="Color", toggle=True)
-
+        col.label(text="Subsurface:")
+        row = col.row(align=True)
+        row.prop(rl, "use_pass_subsurface_direct", text="Direct", toggle=True)
+        row.prop(rl, "use_pass_subsurface_indirect", text="Indirect", toggle=True)
+        row.prop(rl, "use_pass_subsurface_color", text="Color", toggle=True)
+        
+        col.separator()
         col.prop(rl, "use_pass_emit", text="Emission")
         col.prop(rl, "use_pass_environment")
         col.prop(rl, "use_pass_ambient_occlusion")

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp	2013-08-03 19:46:21 UTC (rev 58870)
@@ -216,6 +216,8 @@
 			return PASS_GLOSSY_DIRECT;
 		case BL::RenderPass::type_TRANSMISSION_DIRECT:
 			return PASS_TRANSMISSION_DIRECT;
+		case BL::RenderPass::type_SUBSURFACE_DIRECT:
+			return PASS_SUBSURFACE_DIRECT;
 
 		case BL::RenderPass::type_DIFFUSE_INDIRECT:
 			return PASS_DIFFUSE_INDIRECT;
@@ -223,6 +225,8 @@
 			return PASS_GLOSSY_INDIRECT;
 		case BL::RenderPass::type_TRANSMISSION_INDIRECT:
 			return PASS_TRANSMISSION_INDIRECT;
+		case BL::RenderPass::type_SUBSURFACE_INDIRECT:
+			return PASS_SUBSURFACE_INDIRECT;
 
 		case BL::RenderPass::type_DIFFUSE_COLOR:
 			return PASS_DIFFUSE_COLOR;
@@ -230,6 +234,8 @@
 			return PASS_GLOSSY_COLOR;
 		case BL::RenderPass::type_TRANSMISSION_COLOR:
 			return PASS_TRANSMISSION_COLOR;
+		case BL::RenderPass::type_SUBSURFACE_COLOR:
+			return PASS_SUBSURFACE_COLOR;
 
 		case BL::RenderPass::type_EMIT:
 			return PASS_EMISSION;

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_sync.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_sync.cpp	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_sync.cpp	2013-08-03 19:46:21 UTC (rev 58870)
@@ -321,7 +321,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"))
+				if(get_boolean(cscene, "squared_samples") && !(get_boolean(cscene, "progressive")))
 					render_layer.samples = samples * samples;
 				else
 					render_layer.samples = samples;
@@ -414,10 +414,9 @@
 	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")) {
-		samples = samples * samples;
 		aa_samples = aa_samples * aa_samples;
-		preview_samples = preview_samples * preview_samples;
 		preview_aa_samples = preview_aa_samples * preview_aa_samples;
 	}
 

Modified: branches/soc-2011-tomato/intern/cycles/kernel/closure/bsdf.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/kernel/closure/bsdf.h	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/intern/cycles/kernel/closure/bsdf.h	2013-08-03 19:46:21 UTC (rev 58870)
@@ -45,6 +45,7 @@
 
 	switch(sc->type) {
 		case CLOSURE_BSDF_DIFFUSE_ID:
+		case CLOSURE_BSDF_BSSRDF_ID:
 			label = bsdf_diffuse_sample(sc, sd->Ng, sd->I, sd->dI.dx, sd->dI.dy, randu, randv,
 				eval, omega_in, &domega_in->dx, &domega_in->dy, pdf);
 			break;
@@ -134,6 +135,7 @@
 	if(dot(sd->Ng, omega_in) >= 0.0f) {
 		switch(sc->type) {
 			case CLOSURE_BSDF_DIFFUSE_ID:
+			case CLOSURE_BSDF_BSSRDF_ID:
 				eval = bsdf_diffuse_eval_reflect(sc, sd->I, omega_in, pdf);
 				break;
 #ifdef __SVM__
@@ -195,6 +197,7 @@
 	else {
 		switch(sc->type) {
 			case CLOSURE_BSDF_DIFFUSE_ID:
+			case CLOSURE_BSDF_BSSRDF_ID:
 				eval = bsdf_diffuse_eval_transmit(sc, sd->I, omega_in, pdf);
 				break;
 #ifdef __SVM__
@@ -262,6 +265,7 @@
 
 	switch(sc->type) {
 		case CLOSURE_BSDF_DIFFUSE_ID:
+		case CLOSURE_BSDF_BSSRDF_ID:
 			bsdf_diffuse_blur(sc, roughness);
 			break;
 #ifdef __SVM__

Modified: branches/soc-2011-tomato/intern/cycles/kernel/kernel_accumulate.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/kernel/kernel_accumulate.h	2013-08-03 18:05:30 UTC (rev 58869)
+++ branches/soc-2011-tomato/intern/cycles/kernel/kernel_accumulate.h	2013-08-03 19:46:21 UTC (rev 58870)
@@ -33,6 +33,7 @@
 		eval->glossy = make_float3(0.0f, 0.0f, 0.0f);
 		eval->transmission = make_float3(0.0f, 0.0f, 0.0f);
 		eval->transparent = make_float3(0.0f, 0.0f, 0.0f);
+		eval->subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
 		if(type == CLOSURE_BSDF_TRANSPARENT_ID)
 			eval->transparent = value;
@@ -40,8 +41,10 @@
 			eval->diffuse = value;
 		else if(CLOSURE_IS_BSDF_GLOSSY(type))
 			eval->glossy = value;
-		else
+		else if(CLOSURE_IS_BSDF_TRANSMISSION(type))
 			eval->transmission = value;
+		else if(CLOSURE_IS_BSDF_BSSRDF(type))
+			eval->subsurface = value;
 	}
 	else
 		eval->diffuse = value;
@@ -58,8 +61,10 @@
 			eval->diffuse += value;
 		else if(CLOSURE_IS_BSDF_GLOSSY(type))
 			eval->glossy += value;
-		else
+		else if(CLOSURE_IS_BSDF_TRANSMISSION(type))
 			eval->transmission += value;
+		else if(CLOSURE_IS_BSDF_BSSRDF(type))
+			eval->subsurface += value;
 
 		/* skipping transparent, this function is used by for eval(), will be zero then */
 	}
@@ -77,7 +82,8 @@
 		return is_zero(eval->diffuse)
 			&& is_zero(eval->glossy)
 			&& is_zero(eval->transmission)
-			&& is_zero(eval->transparent);
+			&& is_zero(eval->transparent)
+			&& is_zero(eval->subsurface);
 	}
 	else
 		return is_zero(eval->diffuse);
@@ -93,6 +99,7 @@
 		eval->diffuse *= value;
 		eval->glossy *= value;
 		eval->transmission *= value;
+		eval->subsurface *= value;
 
 		/* skipping transparent, this function is used by for eval(), will be zero then */
 	}
@@ -124,18 +131,22 @@
 		L->color_diffuse = make_float3(0.0f, 0.0f, 0.0f);
 		L->color_glossy = make_float3(0.0f, 0.0f, 0.0f);
 		L->color_transmission = make_float3(0.0f, 0.0f, 0.0f);
+		L->color_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
 		L->direct_diffuse = make_float3(0.0f, 0.0f, 0.0f);
 		L->direct_glossy = make_float3(0.0f, 0.0f, 0.0f);
 		L->direct_transmission = make_float3(0.0f, 0.0f, 0.0f);
+		L->direct_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
 		L->indirect_diffuse = make_float3(0.0f, 0.0f, 0.0f);
 		L->indirect_glossy = make_float3(0.0f, 0.0f, 0.0f);
 		L->indirect_transmission = make_float3(0.0f, 0.0f, 0.0f);
+		L->indirect_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
 		L->path_diffuse = make_float3(0.0f, 0.0f, 0.0f);
 		L->path_glossy = make_float3(0.0f, 0.0f, 0.0f);
 		L->path_transmission = make_float3(0.0f, 0.0f, 0.0f);
+		L->path_subsurface = make_float3(0.0f, 0.0f, 0.0f);
 
 		L->emission = make_float3(0.0f, 0.0f, 0.0f);
 		L->background = make_float3(0.0f, 0.0f, 0.0f);
@@ -164,14 +175,15 @@
 			L->path_diffuse = bsdf_eval->diffuse*value;
 			L->path_glossy = bsdf_eval->glossy*value;
 			L->path_transmission = bsdf_eval->transmission*value;
+			L->path_subsurface = bsdf_eval->subsurface*value;
 
-			*throughput = L->path_diffuse + L->path_glossy + L->path_transmission;
+			*throughput = L->path_diffuse + L->path_glossy + L->path_transmission + L->path_subsurface;
 			
 			L->direct_throughput = *throughput;
 		}
 		else {
 			/* transparent bounce before first hit, or indirectly visible through BSDF */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list