[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45432] branches/soc-2008-mxcurioni: Merged changes in the trunk up to revision 45431.

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Fri Apr 6 05:37:27 CEST 2012


Revision: 45432
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45432
Author:   kjym3
Date:     2012-04-06 03:37:27 +0000 (Fri, 06 Apr 2012)
Log Message:
-----------
Merged changes in the trunk up to revision 45431.

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

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/doc/manpage/blender.1
    branches/soc-2008-mxcurioni/intern/cycles/blender/addon/properties.py
    branches/soc-2008-mxcurioni/intern/cycles/blender/addon/ui.py
    branches/soc-2008-mxcurioni/intern/cycles/blender/blender_shader.cpp
    branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.cpp
    branches/soc-2008-mxcurioni/intern/cycles/device/device_opencl.cpp
    branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_accumulate.h
    branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_path.h
    branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_types.h
    branches/soc-2008-mxcurioni/intern/cycles/render/integrator.cpp
    branches/soc-2008-mxcurioni/intern/cycles/render/integrator.h
    branches/soc-2008-mxcurioni/intern/cycles/render/session.cpp
    branches/soc-2008-mxcurioni/intern/cycles/util/util_math.h
    branches/soc-2008-mxcurioni/release/datafiles/fonts/droidsans.ttf.gz
    branches/soc-2008-mxcurioni/release/scripts/presets/interface_theme/back_to_black.xml
    branches/soc-2008-mxcurioni/release/scripts/presets/interface_theme/blender_24x.xml
    branches/soc-2008-mxcurioni/release/scripts/presets/interface_theme/elsyiun.xml
    branches/soc-2008-mxcurioni/release/scripts/presets/interface_theme/hexagon.xml
    branches/soc-2008-mxcurioni/release/scripts/presets/interface_theme/ubuntu_ambiance.xml
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_armature.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_curve.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_mesh.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_object.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_particle.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_cloth.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_field.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_smoke.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_softbody.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_dopesheet.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_graph.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_image.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_info.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_nla.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_sequencer.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_userpref.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/soc-2008-mxcurioni/release/text/readme.html
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_lang.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/colortools.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/customdata.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/key.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_core.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_core.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mesh_conv.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mods.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mods.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_dissolve.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_join_triangles.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_primitive.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/tools/BME_bevel.c
    branches/soc-2008-mxcurioni/source/blender/editors/armature/poseobject.c
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_interface_icons.h
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_icons.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_regions.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_templates.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_widgets.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/object_intern.h
    branches/soc-2008-mxcurioni/source/blender/editors/object/object_ops.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/object_shapekey.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/object_vgroup.c
    branches/soc-2008-mxcurioni/source/blender/editors/physics/particle_edit.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_node/drawnode.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawmesh.c
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_shader_material.glsl
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_shader_material.glsl.c
    branches/soc-2008-mxcurioni/source/blender/makesdna/DNA_key_types.h
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_key.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_mesh_utils.h
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_object.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_texture.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_userdef.c
    branches/soc-2008-mxcurioni/source/blender/python/bmesh/bmesh_py_utils.c
    branches/soc-2008-mxcurioni/source/blender/windowmanager/intern/wm_operators.c
    branches/soc-2008-mxcurioni/source/blenderplayer/bad_level_call_stubs/stubs.c
    branches/soc-2008-mxcurioni/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_Dome.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    branches/soc-2008-mxcurioni/source/gameengine/VideoTexture/VideoFFmpeg.cpp
    branches/soc-2008-mxcurioni/source/gameengine/VideoTexture/VideoFFmpeg.h

Added Paths:
-----------
    branches/soc-2008-mxcurioni/source/tools/update_themes.py

Property Changed:
----------------
    branches/soc-2008-mxcurioni/
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_armature.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_mesh.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_particle.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_field.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_smoke.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py


Property changes on: branches/soc-2008-mxcurioni
___________________________________________________________________
Modified: svn:mergeinfo
   - /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-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230
/trunk/blender:34011-39896,39898-40096,40098-44221,44223-44419,44421-45383
   + /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-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230
/trunk/blender:34011-39896,39898-40096,40098-44221,44223-44419,44421-45431

Modified: branches/soc-2008-mxcurioni/doc/manpage/blender.1
===================================================================
(Binary files differ)

Modified: branches/soc-2008-mxcurioni/intern/cycles/blender/addon/properties.py
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/blender/addon/properties.py	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/blender/addon/properties.py	2012-04-06 03:37:27 UTC (rev 45432)
@@ -174,6 +174,13 @@
                 default=0,
                 )
 
+        cls.sample_clamp = FloatProperty(
+                name="Clamp",
+                description="If non-zero, the maximum value for a sample, higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy.",
+                min=0.0, max=1e8,
+                default=0.0,
+                )
+
         cls.debug_tile_size = IntProperty(
                 name="Tile Size",
                 description="",

Modified: branches/soc-2008-mxcurioni/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/blender/addon/ui.py	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/blender/addon/ui.py	2012-04-06 03:37:27 UTC (rev 45432)
@@ -67,6 +67,7 @@
         sub.prop(cscene, "samples", text="Render")
         sub.prop(cscene, "preview_samples", text="Preview")
         sub.prop(cscene, "seed")
+        sub.prop(cscene, "sample_clamp")
 
         sub = col.column(align=True)
         sub.label("Transparency:")
@@ -727,7 +728,7 @@
 
         row = layout.row()
 
-        row.column().prop(mapping, "location")
+        row.column().prop(mapping, "translation")
         row.column().prop(mapping, "rotation")
         row.column().prop(mapping, "scale")
 

Modified: branches/soc-2008-mxcurioni/intern/cycles/blender/blender_shader.cpp
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/blender/blender_shader.cpp	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/blender/blender_shader.cpp	2012-04-06 03:37:27 UTC (rev 45432)
@@ -80,7 +80,7 @@
 	if(!b_mapping)
 		return;
 
-	mapping->translation = get_float3(b_mapping.location());
+	mapping->translation = get_float3(b_mapping.translation());
 	mapping->rotation = get_float3(b_mapping.rotation());
 	mapping->scale = get_float3(b_mapping.scale());
 
@@ -94,7 +94,7 @@
 	if(!b_mapping)
 		return;
 
-	mapping->translation = get_float3(b_mapping.location());
+	mapping->translation = get_float3(b_mapping.translation());
 	mapping->rotation = get_float3(b_mapping.rotation());
 	mapping->scale = get_float3(b_mapping.scale());
 }

Modified: branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.cpp
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.cpp	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.cpp	2012-04-06 03:37:27 UTC (rev 45432)
@@ -157,6 +157,8 @@
 
 	integrator->layer_flag = render_layer.layer;
 
+	integrator->sample_clamp = get_float(cscene, "sample_clamp");
+
 	if(integrator->modified(previntegrator))
 		integrator->tag_update(scene);
 }

Modified: branches/soc-2008-mxcurioni/intern/cycles/device/device_opencl.cpp
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/device/device_opencl.cpp	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/device/device_opencl.cpp	2012-04-06 03:37:27 UTC (rev 45432)
@@ -300,7 +300,7 @@
 		
 		/* full shading only on NVIDIA cards at the moment */
 		if(platform_name == "NVIDIA CUDA")
-			build_options += "-D__KERNEL_SHADING__ -D__MULTI_CLOSURE__ -cl-nv-maxrregcount=24 -cl-nv-verbose ";
+			build_options += "-D__MULTI_CLOSURE__ -cl-nv-maxrregcount=24 -cl-nv-verbose ";
 		if(platform_name == "Apple" || platform_name == "AMD Accelerated Parallel Processing")
 			build_options += " -D__CL_NO_FLOAT3__ ";
 

Modified: branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_accumulate.h
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_accumulate.h	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_accumulate.h	2012-04-06 03:37:27 UTC (rev 45432)
@@ -294,5 +294,49 @@
 #endif
 }
 
+__device_inline void path_radiance_clamp(PathRadiance *L, float3 *L_sum, float clamp)
+{
+	float sum = fabsf(L_sum->x) + fabsf(L_sum->y) + fabsf(L_sum->z);
+
+	if(!isfinite(sum)) {
+		/* invalid value, reject */
+		*L_sum = make_float3(0.0f, 0.0f, 0.0f);
+
+#ifdef __PASSES__
+		if(L->use_light_pass) {
+			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->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->emission = make_float3(0.0f, 0.0f, 0.0f);
+		}
+#endif
+	}
+	else if(sum > clamp) {
+		/* value to high, scale down */
+		float scale = clamp/sum;
+
+		*L_sum *= scale;
+
+#ifdef __PASSES__
+		if(L->use_light_pass) {
+			L->direct_diffuse *= scale;
+			L->direct_glossy *= scale;
+			L->direct_transmission *= scale;
+
+			L->indirect_diffuse *= scale;
+			L->indirect_glossy *= scale;
+			L->indirect_transmission *= scale;
+
+			L->emission *= scale;
+		}
+#endif
+	}
+}
+
 CCL_NAMESPACE_END
 

Modified: branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_path.h
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_path.h	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_path.h	2012-04-06 03:37:27 UTC (rev 45432)
@@ -396,6 +396,10 @@
 
 	float3 L_sum = path_radiance_sum(&L);
 
+#ifdef __CLAMP_SAMPLE__
+	path_radiance_clamp(&L, &L_sum, kernel_data.integrator.sample_clamp);
+#endif
+
 	kernel_write_light_passes(kg, buffer, &L, sample);
 
 	return make_float4(L_sum.x, L_sum.y, L_sum.z, 1.0f - L_transparent);

Modified: branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_types.h
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_types.h	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/kernel/kernel_types.h	2012-04-06 03:37:27 UTC (rev 45432)
@@ -45,7 +45,7 @@
 #endif
 
 #ifdef __KERNEL_OPENCL__
-//#define __KERNEL_SHADING__
+#define __KERNEL_SHADING__
 //#define __KERNEL_ADV_SHADING__
 #endif
 
@@ -60,6 +60,7 @@
 #define __RAY_DIFFERENTIALS__
 #define __CAMERA_CLIPPING__
 #define __INTERSECTION_REFINE__
+#define __CLAMP_SAMPLE__
 
 #ifdef __KERNEL_SHADING__
 #define __SVM__
@@ -521,7 +522,12 @@
 
 	/* render layer */
 	int layer_flag;
-	int pad1, pad2;
+
+	/* clamp */
+	float sample_clamp;
+
+	/* padding */
+	int pad;
 } KernelIntegrator;
 
 typedef struct KernelBVH {

Modified: branches/soc-2008-mxcurioni/intern/cycles/render/integrator.cpp
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/render/integrator.cpp	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/render/integrator.cpp	2012-04-06 03:37:27 UTC (rev 45432)
@@ -43,6 +43,7 @@
 	no_caustics = false;
 	seed = 0;
 	layer_flag = ~0;
+	sample_clamp = 0.0f;
 
 	need_update = true;
 }
@@ -85,6 +86,8 @@
 
 	kintegrator->use_ambient_occlusion =
 		((dscene->data.film.pass_flag & PASS_AO) || dscene->data.background.ao_factor != 0.0f);
+	
+	kintegrator->sample_clamp = (sample_clamp == 0.0f)? FLT_MAX: sample_clamp*3.0f;
 
 	/* sobol directions table */
 	int dimensions = PRNG_BASE_NUM + (max_bounce + transparent_max_bounce + 2)*PRNG_BOUNCE_NUM;
@@ -117,7 +120,8 @@
 		transparent_shadows == integrator.transparent_shadows &&
 		no_caustics == integrator.no_caustics &&
 		layer_flag == integrator.layer_flag &&
-		seed == integrator.seed);
+		seed == integrator.seed &&
+		sample_clamp == integrator.sample_clamp);
 }
 
 void Integrator::tag_update(Scene *scene)

Modified: branches/soc-2008-mxcurioni/intern/cycles/render/integrator.h
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/render/integrator.h	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/render/integrator.h	2012-04-06 03:37:27 UTC (rev 45432)
@@ -45,6 +45,8 @@
 	int seed;
 	int layer_flag;
 
+	float sample_clamp;
+
 	bool need_update;
 
 	Integrator();

Modified: branches/soc-2008-mxcurioni/intern/cycles/render/session.cpp
===================================================================
--- branches/soc-2008-mxcurioni/intern/cycles/render/session.cpp	2012-04-05 22:06:45 UTC (rev 45431)
+++ branches/soc-2008-mxcurioni/intern/cycles/render/session.cpp	2012-04-06 03:37:27 UTC (rev 45432)
@@ -164,7 +164,7 @@
 	paused_time = 0.0;
 
 	if(!params.background)
-		progress.set_start_time(start_time - paused_time);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list