[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49764] branches/soc-2011-tomato: svn merge ^/trunk/blender -r49757:49763

Campbell Barton ideasman42 at gmail.com
Fri Aug 10 12:37:33 CEST 2012


Revision: 49764
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49764
Author:   campbellbarton
Date:     2012-08-10 10:37:31 +0000 (Fri, 10 Aug 2012)
Log Message:
-----------
svn merge ^/trunk/blender -r49757:49763

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

Modified Paths:
--------------
    branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
    branches/soc-2011-tomato/intern/cycles/blender/blender_particles.cpp
    branches/soc-2011-tomato/intern/cycles/blender/blender_sync.h
    branches/soc-2011-tomato/intern/smoke/intern/WAVELET_NOISE.h
    branches/soc-2011-tomato/release/scripts/presets/interaction/blender.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_userpref.py
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_BokehBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_edit.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_userdef_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_userdef.c

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_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/vgroup_modifiers:38694-39989
/trunk/blender:36831-49757
   + /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/vgroup_modifiers:38694-39989
/trunk/blender:36831-49763

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp	2012-08-10 10:37:31 UTC (rev 49764)
@@ -247,8 +247,11 @@
 		scene->object_manager->tag_update(scene);
 	}
 
+	/* updated dupli objects require particle sync */
+	bool need_particle_update = object_need_particle_update(b_ob);
+
 	/* object sync */
-	if(object_updated || (object->mesh && object->mesh->need_update)) {
+	if(object_updated || (object->mesh && object->mesh->need_update) || need_particle_update) {
 		object->name = b_ob.name().c_str();
 		object->pass_id = b_ob.pass_index();
 		object->tfm = tfm;
@@ -275,7 +278,7 @@
 		object->particle_id = particle_id;
 
 		/* particle sync */
-		if (object_use_particles(b_ob))
+		if (need_particle_update)
 			sync_particles(object, b_ob);
 	
 		object->tag_update(scene);

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_particles.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_particles.cpp	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_particles.cpp	2012-08-10 10:37:31 UTC (rev 49764)
@@ -31,7 +31,7 @@
 
 /* Particles Sync */
 
-bool BlenderSync::object_use_particles(BL::Object b_ob)
+bool BlenderSync::object_need_particle_update(BL::Object b_ob)
 {
 	/* Particle data is only needed for
 	 * a) Billboard render mode if object's own material uses particle info
@@ -39,7 +39,7 @@
 	 *
 	 * Note: Meshes have to be synced at this point!
 	 */
-	bool use_particles = false;
+	bool need_update = false;
 	
 	BL::Object::particle_systems_iterator b_psys;
 	for (b_ob.particle_systems.begin(b_psys); b_psys != b_ob.particle_systems.end(); ++b_psys) {
@@ -54,7 +54,7 @@
 			BL::ID key = (BKE_object_is_modified(b_ob))? b_ob: b_ob.data();
 			Mesh *mesh = mesh_map.find(key);
 			if (mesh) {
-				use_particles |= mesh->need_attribute(scene, ATTR_STD_PARTICLE);
+				need_update |= mesh->need_attribute(scene, ATTR_STD_PARTICLE) && mesh->need_update;
 			}
 			break;
 		}
@@ -66,7 +66,7 @@
 				BL::ID key = (BKE_object_is_modified(b_dupli_ob))? b_dupli_ob: b_dupli_ob.data();
 				Mesh *mesh = mesh_map.find(key);
 				if (mesh) {
-					use_particles |= mesh->need_attribute(scene, ATTR_STD_PARTICLE);
+					need_update |= mesh->need_attribute(scene, ATTR_STD_PARTICLE) && mesh->need_update;
 				}
 			}
 			break;
@@ -80,7 +80,7 @@
 					BL::ID key = (BKE_object_is_modified(*b_gob))? *b_gob: b_gob->data();
 					Mesh *mesh = mesh_map.find(key);
 					if (mesh) {
-						use_particles |= mesh->need_attribute(scene, ATTR_STD_PARTICLE);
+						need_update |= mesh->need_attribute(scene, ATTR_STD_PARTICLE) && mesh->need_update;
 					}
 				}
 			}
@@ -93,7 +93,7 @@
 		}
 	}
 	
-	return use_particles;
+	return need_update;
 }
 
 static bool use_particle_system(BL::ParticleSystem b_psys)

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_sync.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_sync.h	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_sync.h	2012-08-10 10:37:31 UTC (rev 49764)
@@ -92,7 +92,7 @@
 	bool BKE_object_is_modified(BL::Object b_ob);
 	bool object_is_mesh(BL::Object b_ob);
 	bool object_is_light(BL::Object b_ob);
-	bool object_use_particles(BL::Object b_ob);
+	bool object_need_particle_update(BL::Object b_ob);
 	int object_count_particles(BL::Object b_ob);
 
 	/* variables */

Modified: branches/soc-2011-tomato/intern/smoke/intern/WAVELET_NOISE.h
===================================================================
--- branches/soc-2011-tomato/intern/smoke/intern/WAVELET_NOISE.h	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/intern/smoke/intern/WAVELET_NOISE.h	2012-08-10 10:37:31 UTC (rev 49764)
@@ -107,7 +107,7 @@
   // if these values are not local incorrect results are generated
   float downCoeffs[32] = { DOWNCOEFFS };
   const float *const aCoCenter= &downCoeffs[16];
-	for (int i = 0; i < ceil((float)n / 2); i++) {
+	for (int i = 0; i <= n / 2; i++) {
 		to[i * stride] = 0;
 		for (int k = 2 * i - 16; k < 2 * i + 16; k++) { 
 			// handle boundary

Modified: branches/soc-2011-tomato/release/scripts/presets/interaction/blender.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/presets/interaction/blender.py	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/release/scripts/presets/interaction/blender.py	2012-08-10 10:37:31 UTC (rev 49764)
@@ -1,7 +1,8 @@
 # Configuration Blender
 import bpy
 
-bpy.context.user_preferences.view.use_mouse_auto_depth = False
+bpy.context.user_preferences.view.use_mouse_depth_cursor = False
+bpy.context.user_preferences.view.use_mouse_depth_navigate = False
 bpy.context.user_preferences.view.use_zoom_to_mouse = False
 bpy.context.user_preferences.view.use_rotate_around_active = False
 bpy.context.user_preferences.edit.use_drag_immediately = False

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-08-10 10:37:31 UTC (rev 49764)
@@ -782,13 +782,12 @@
         row.prop(con, "frame_method", expand=True)
 
         if clip:
-            col.prop_search(con, "object", clip.tracking, "objects", icon='OBJECT_DATA')
+            tracking = clip.tracking
 
-            if con.object in clip.tracking.objects:
-                tracking_object = clip.tracking.objects[con.object]
-            else:
-                tracking_object = clip.tracking
+            col.prop_search(con, "object", tracking, "objects", icon='OBJECT_DATA')
 
+            tracking_object = tracking.objects.get(con.object, tracking.objects[0])
+
             col.prop_search(con, "track", tracking_object, "tracks", icon='ANIM_DATA')
 
         col.prop(con, "camera")

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_userpref.py	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_userpref.py	2012-08-10 10:37:31 UTC (rev 49764)
@@ -197,7 +197,8 @@
 
         col = row.column()
         col.label(text="View Manipulation:")
-        col.prop(view, "use_mouse_auto_depth")
+        col.prop(view, "use_mouse_depth_cursor")
+        col.prop(view, "use_mouse_depth_navigate")
         col.prop(view, "use_zoom_to_mouse")
         col.prop(view, "use_rotate_around_active")
         col.prop(view, "use_global_pivot")

Modified: branches/soc-2011-tomato/source/blender/compositor/operations/COM_BokehBlurOperation.cpp
===================================================================
--- branches/soc-2011-tomato/source/blender/compositor/operations/COM_BokehBlurOperation.cpp	2012-08-10 10:34:24 UTC (rev 49763)
+++ branches/soc-2011-tomato/source/blender/compositor/operations/COM_BokehBlurOperation.cpp	2012-08-10 10:37:31 UTC (rev 49764)
@@ -66,13 +66,8 @@
 	int width = this->m_inputBokehProgram->getWidth();
 	int height = this->m_inputBokehProgram->getHeight();
 
-	float dimension;
-	if (width < height) {
-		dimension = width;
-	}
-	else {
-		dimension = height;
-	}
+	float dimension = min(width, height);
+
 	this->m_bokehMidX = width / 2.0f;
 	this->m_bokehMidY = height / 2.0f;
 	this->m_bokehDimension = dimension / 2.0f;
@@ -93,7 +88,8 @@
 		int bufferwidth = inputBuffer->getWidth();
 		int bufferstartx = inputBuffer->getRect()->xmin;
 		int bufferstarty = inputBuffer->getRect()->ymin;
-		int pixelSize = this->m_size * this->getWidth() / 100.0f;
+		const float max_dim = max(this->getWidth(), this->getHeight());
+		int pixelSize = this->m_size * max_dim / 100.0f;
 		zero_v4(color_accum);
 
 		if (pixelSize<2) {
@@ -150,18 +146,19 @@
 {
 	rcti newInput;
 	rcti bokehInput;
+	const float max_dim = max(this->getWidth(), this->getHeight());
 
 	if (this->m_sizeavailable) {
-		newInput.xmax = input->xmax + (this->m_size * this->getWidth() / 100.0f);
-		newInput.xmin = input->xmin - (this->m_size * this->getWidth() / 100.0f);
-		newInput.ymax = input->ymax + (this->m_size * this->getWidth() / 100.0f);
-		newInput.ymin = input->ymin - (this->m_size * this->getWidth() / 100.0f);
+		newInput.xmax = input->xmax + (this->m_size * max_dim / 100.0f);
+		newInput.xmin = input->xmin - (this->m_size * max_dim / 100.0f);
+		newInput.ymax = input->ymax + (this->m_size * max_dim / 100.0f);
+		newInput.ymin = input->ymin - (this->m_size * max_dim / 100.0f);
 	}
 	else {
-		newInput.xmax = input->xmax + (10.0f * this->getWidth() / 100.0f);
-		newInput.xmin = input->xmin - (10.0f * this->getWidth() / 100.0f);
-		newInput.ymax = input->ymax + (10.0f * this->getWidth() / 100.0f);
-		newInput.ymin = input->ymin - (10.0f * this->getWidth() / 100.0f);
+		newInput.xmax = input->xmax + (10.0f * max_dim / 100.0f);
+		newInput.xmin = input->xmin - (10.0f * max_dim / 100.0f);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list