[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56307] branches/soc-2011-tomato: Merging r56261 through r56306 from trunk into soc-2011-tomato
Sergey Sharybin
sergey.vfx at gmail.com
Fri Apr 26 11:49:57 CEST 2013
Revision: 56307
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56307
Author: nazgul
Date: 2013-04-26 09:49:56 +0000 (Fri, 26 Apr 2013)
Log Message:
-----------
Merging r56261 through r56306 from trunk into soc-2011-tomato
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56261
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56306
Modified Paths:
--------------
branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
branches/soc-2011-tomato/intern/cycles/blender/blender_session.h
branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp
branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp
branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp
branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py
branches/soc-2011-tomato/release/scripts/startup/bl_operators/freestyle.py
branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py
branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_freestyle.py
branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_particle.py
branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_render_layer.py
branches/soc-2011-tomato/source/blender/blenkernel/BKE_node.h
branches/soc-2011-tomato/source/blender/blenkernel/BKE_rigidbody.h
branches/soc-2011-tomato/source/blender/blenkernel/BKE_scene.h
branches/soc-2011-tomato/source/blender/blenkernel/intern/group.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/linestyle.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/rigidbody.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/scene.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/smoke.c
branches/soc-2011-tomato/source/blender/blenlib/BLI_math_base.h
branches/soc-2011-tomato/source/blender/blenlib/BLI_threads.h
branches/soc-2011-tomato/source/blender/blenlib/intern/math_base_inline.c
branches/soc-2011-tomato/source/blender/blenlib/intern/storage.c
branches/soc-2011-tomato/source/blender/blenlib/intern/threads.c
branches/soc-2011-tomato/source/blender/blenloader/SConscript
branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_opdefines.c
branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_inset.c
branches/soc-2011-tomato/source/blender/collada/GeometryExporter.cpp
branches/soc-2011-tomato/source/blender/compositor/intern/COM_CompositorContext.h
branches/soc-2011-tomato/source/blender/compositor/intern/COM_ExecutionSystem.cpp
branches/soc-2011-tomato/source/blender/compositor/intern/COM_ExecutionSystemHelper.cpp
branches/soc-2011-tomato/source/blender/compositor/intern/COM_compositor.cpp
branches/soc-2011-tomato/source/blender/editors/animation/drivers.c
branches/soc-2011-tomato/source/blender/editors/animation/keyframing.c
branches/soc-2011-tomato/source/blender/editors/include/ED_node.h
branches/soc-2011-tomato/source/blender/editors/include/ED_object.h
branches/soc-2011-tomato/source/blender/editors/include/ED_transform.h
branches/soc-2011-tomato/source/blender/editors/interface/interface_templates.c
branches/soc-2011-tomato/source/blender/editors/mesh/editmesh_inset.c
branches/soc-2011-tomato/source/blender/editors/object/object_bake.c
branches/soc-2011-tomato/source/blender/editors/object/object_relations.c
branches/soc-2011-tomato/source/blender/editors/render/render_preview.c
branches/soc-2011-tomato/source/blender/editors/screen/glutil.c
branches/soc-2011-tomato/source/blender/editors/screen/screen_edit.c
branches/soc-2011-tomato/source/blender/editors/screen/screen_ops.c
branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_vertex.c
branches/soc-2011-tomato/source/blender/editors/space_image/image_ops.c
branches/soc-2011-tomato/source/blender/editors/space_logic/logic_ops.c
branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
branches/soc-2011-tomato/source/blender/editors/space_node/node_draw.c
branches/soc-2011-tomato/source/blender/editors/space_node/node_edit.c
branches/soc-2011-tomato/source/blender/editors/space_node/node_intern.h
branches/soc-2011-tomato/source/blender/editors/space_node/node_select.c
branches/soc-2011-tomato/source/blender/editors/space_node/space_node.c
branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_draw.c
branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_ruler.c
branches/soc-2011-tomato/source/blender/editors/transform/transform.c
branches/soc-2011-tomato/source/blender/editors/transform/transform.h
branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c
branches/soc-2011-tomato/source/blender/editors/transform/transform_input.c
branches/soc-2011-tomato/source/blender/editors/transform/transform_snap.c
branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_ops.c
branches/soc-2011-tomato/source/blender/gpu/shaders/gpu_shader_material.glsl
branches/soc-2011-tomato/source/blender/imbuf/intern/rectop.c
branches/soc-2011-tomato/source/blender/makesdna/DNA_node_types.h
branches/soc-2011-tomato/source/blender/makesdna/DNA_smoke_types.h
branches/soc-2011-tomato/source/blender/makesrna/RNA_types.h
branches/soc-2011-tomato/source/blender/makesrna/intern/makesrna.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_access.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_modifier.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_rigidbody.c
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene_api.c
branches/soc-2011-tomato/source/blender/nodes/shader/node_shader_tree.c
branches/soc-2011-tomato/source/blender/render/intern/source/bake.c
branches/soc-2011-tomato/source/blender/render/intern/source/convertblender.c
branches/soc-2011-tomato/source/blender/render/intern/source/pipeline.c
branches/soc-2011-tomato/source/blender/render/intern/source/voxeldata.c
branches/soc-2011-tomato/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
branches/soc-2011-tomato/source/tools/check_style_c_config.py
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-56260
+ /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-56306
Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp 2013-04-26 09:49:56 UTC (rev 56307)
@@ -353,6 +353,13 @@
return hide && !show_emitter;
}
+static bool object_render_hide_duplis(BL::Object b_ob)
+{
+ BL::Object parent = b_ob.parent();
+
+ return (parent && object_render_hide_original(parent.dupli_type()));
+}
+
/* Object Loop */
void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion)
@@ -387,7 +394,7 @@
if(!hide) {
progress.set_sync_status("Synchronizing object", (*b_ob).name());
- if(b_ob->is_duplicator()) {
+ if(b_ob->is_duplicator() && !object_render_hide_duplis(*b_ob)) {
/* dupli objects */
b_ob->dupli_list_create(b_scene, 2);
Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp 2013-04-26 09:49:56 UTC (rev 56307)
@@ -50,7 +50,8 @@
height = (int)(b_render.resolution_y()*b_render.resolution_percentage()/100);
background = true;
- last_redraw_time = 0.0f;
+ last_redraw_time = 0.0;
+ start_resize_time = 0.0;
create_session();
}
@@ -66,7 +67,8 @@
width = width_;
height = height_;
background = false;
- last_redraw_time = 0.0f;
+ last_redraw_time = 0.0;
+ start_resize_time = 0.0;
create_session();
session->start();
@@ -85,6 +87,7 @@
/* reset status/progress */
last_status = "";
last_progress = -1.0f;
+ start_resize_time = 0.0;
/* create scene */
scene = new Scene(scene_params, session_params.device);
@@ -163,6 +166,9 @@
session->reset(buffer_params, session_params.samples);
b_engine.use_highlight_tiles(session_params.progressive_refine == false);
+
+ /* reset time */
+ start_resize_time = 0.0;
}
void BlenderSession::free_session()
@@ -487,6 +493,9 @@
if(scene->need_reset()) {
BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, width, height);
session->reset(buffer_params, session_params.samples);
+
+ /* reset time */
+ start_resize_time = 0.0;
}
}
@@ -497,6 +506,25 @@
if(session->ready_to_reset()) {
bool reset = false;
+ /* if dimensions changed, reset */
+ if(width != w || height != h) {
+ if(start_resize_time == 0.0) {
+ /* don't react immediately to resizes to avoid flickery resizing
+ * of the viewport, and some window managers changing the window
+ * size temporarily on unminimize */
+ start_resize_time = time_dt();
+ tag_redraw();
+ }
+ else if(time_dt() - start_resize_time < 0.2f) {
+ tag_redraw();
+ }
+ else {
+ width = w;
+ height = h;
+ reset = true;
+ }
+ }
+
/* try to acquire mutex. if we can't, come back later */
if(!session->scene->mutex.try_lock()) {
tag_update();
@@ -504,7 +532,7 @@
else {
/* update camera from 3d view */
- sync->sync_view(b_v3d, b_rv3d, w, h);
+ sync->sync_view(b_v3d, b_rv3d, width, height);
if(scene->camera->need_update)
reset = true;
@@ -512,19 +540,14 @@
session->scene->mutex.unlock();
}
- /* if dimensions changed, reset */
- if(width != w || height != h) {
- width = w;
- height = h;
- reset = true;
- }
-
/* reset if requested */
if(reset) {
SessionParams session_params = BlenderSync::get_session_params(b_engine, b_userpref, b_scene, background);
- BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, w, h);
+ BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, width, height);
session->reset(buffer_params, session_params.samples);
+
+ start_resize_time = 0.0;
}
}
else {
Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_session.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_session.h 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_session.h 2013-04-26 09:49:56 UTC (rev 56307)
@@ -90,6 +90,7 @@
float last_progress;
int width, height;
+ double start_resize_time;
protected:
void do_write_update_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile, bool do_update_only);
Modified: branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp 2013-04-26 09:49:56 UTC (rev 56307)
@@ -23,6 +23,15 @@
CCL_NAMESPACE_BEGIN
+/* silly workaround for float extended precision that happens when compiling
+ * on x86, due to one float staying in 80 bit precision register and the other
+ * not, which causes the strictly weak ordering to break */
+#if !defined(__i386__)
+#define NO_EXTENDED_PRECISION
+#else
+#define NO_EXTENDED_PRECISION volatile
+#endif
+
struct BVHReferenceCompare {
public:
int dim;
@@ -34,8 +43,8 @@
bool operator()(const BVHReference& ra, const BVHReference& rb)
{
- float ca = ra.bounds().min[dim] + ra.bounds().max[dim];
- float cb = rb.bounds().min[dim] + rb.bounds().max[dim];
+ NO_EXTENDED_PRECISION float ca = ra.bounds().min[dim] + ra.bounds().max[dim];
+ NO_EXTENDED_PRECISION float cb = rb.bounds().min[dim] + rb.bounds().max[dim];
if(ca < cb) return true;
else if(ca > cb) return false;
@@ -52,7 +61,8 @@
void bvh_reference_sort(int start, int end, BVHReference *data, int dim)
{
- sort(data+start, data+end, BVHReferenceCompare(dim));
+ BVHReferenceCompare compare(dim);
+ sort(data+start, data+end, compare);
}
CCL_NAMESPACE_END
Modified: branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp 2013-04-26 09:49:56 UTC (rev 56307)
@@ -607,7 +607,17 @@
case VK_GR_LESS: key = GHOST_kKeyGrLess; break;
case VK_SHIFT:
- key = (scanCode == 0x36) ? GHOST_kKeyRightShift : GHOST_kKeyLeftShift;
+ /* Check single shift presses */
+ if (scanCode == 0x36) {
+ key = GHOST_kKeyRightShift;
+ } else if (scanCode == 0x2a) {
+ key = GHOST_kKeyLeftShift;
+ } else {
+ /* Must be a combination SHIFT (Left or Right) + a Key
+ * Ignore this as the next message will contain
+ * the desired "Key" */
+ key = GHOST_kKeyUnknown;
+ }
break;
case VK_CONTROL:
key = (extend) ? GHOST_kKeyRightControl : GHOST_kKeyLeftControl;
Modified: branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp
===================================================================
--- branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp 2013-04-26 09:49:56 UTC (rev 56307)
@@ -133,7 +133,7 @@
world->collisionConfiguration = new btDefaultCollisionConfiguration();
world->dispatcher = new btCollisionDispatcher(world->collisionConfiguration);
- btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher *)world->dispatcher); // XXX: experimental
+ btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher *)world->dispatcher);
world->pairCache = new btDbvtBroadphase();
Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py 2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py 2013-04-26 09:49:56 UTC (rev 56307)
@@ -34,6 +34,10 @@
bl_idname = "console.execute"
bl_label = "Console Execute"
+ @classmethod
+ def poll(cls, context):
+ return (context.area and context.area.type == 'CONSOLE')
+
def execute(self, context):
sc = context.space_data
@@ -54,6 +58,10 @@
bl_idname = "console.autocomplete"
bl_label = "Console Autocomplete"
+ @classmethod
+ def poll(cls, context):
+ return (context.area and context.area.type == 'CONSOLE')
+
def execute(self, context):
sc = context.space_data
module = _lang_module_get(sc)
@@ -72,6 +80,10 @@
bl_idname = "console.copy_as_script"
bl_label = "Copy to Clipboard (as script)"
+ @classmethod
+ def poll(cls, context):
+ return (context.area and context.area.type == 'CONSOLE')
+
def execute(self, context):
sc = context.space_data
@@ -91,6 +103,10 @@
bl_idname = "console.banner"
bl_label = "Console Banner"
+ @classmethod
+ def poll(cls, context):
+ return (context.area and context.area.type == 'CONSOLE')
+
def execute(self, context):
sc = context.space_data
@@ -119,6 +135,10 @@
maxlen=32,
)
+ @classmethod
+ def poll(cls, context):
+ return (context.area and context.area.type == 'CONSOLE')
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list