[Bf-blender-cvs] [3beb833] depsgraph_refactor: Depsgraph: Quick and ugly fix for missing updates in the viewport

Sergey Sharybin noreply at git.blender.org
Wed Mar 4 16:13:45 CET 2015


Commit: 3beb83327fa0d1555732b0b0b625c4e971225a48
Author: Sergey Sharybin
Date:   Wed Mar 4 20:11:33 2015 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rB3beb83327fa0d1555732b0b0b625c4e971225a48

Depsgraph: Quick and ugly fix for missing updates in the viewport

Previously viewport will skip updates on changing lamp/materials because
old system wasn't really working good enough with drivers using variables
from node tree.

Now it just works, but it's quite tricky to know if viewport needs to be
updated or not, so let's just update it if new depsgraph is used. Could
become more granular later.

===================================================================

M	source/blender/editors/space_view3d/CMakeLists.txt
M	source/blender/editors/space_view3d/SConscript
M	source/blender/editors/space_view3d/space_view3d.c

===================================================================

diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index ab69e67..d8d29d6 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -30,6 +30,7 @@ set(INC
 	../../makesrna
 	../../render/extern/include
 	../../windowmanager
+	../../depsgraph
 	../../../../intern/guardedalloc
 	../../../../intern/glew-mx
 	../../../../intern/smoke/extern
diff --git a/source/blender/editors/space_view3d/SConscript b/source/blender/editors/space_view3d/SConscript
index a21da94..78f2494 100644
--- a/source/blender/editors/space_view3d/SConscript
+++ b/source/blender/editors/space_view3d/SConscript
@@ -48,6 +48,7 @@ incs = [
     '../../makesrna',
     '../../render/extern/include',
     '../../windowmanager',
+    '../../depsgraph',
     ]
 
 if env['WITH_BF_PYTHON']:
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 8f09fb7..bda3442 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -74,6 +74,8 @@
 #  include "BPY_extern.h"
 #endif
 
+#include "DEG_depsgraph.h"
+
 #include "view3d_intern.h"  /* own include */
 
 /* ******************** manage regions ********************* */
@@ -925,7 +927,8 @@ static void view3d_main_area_listener(bScreen *sc, ScrArea *sa, ARegion *ar, wmN
 					    (ob && (ob->mode == OB_MODE_TEXTURE_PAINT)) ||
 					    (v3d->drawtype == OB_TEXTURE &&
 					     (scene->gm.matmode == GAME_MAT_GLSL ||
-					      BKE_scene_use_new_shading_nodes(scene))))
+					      BKE_scene_use_new_shading_nodes(scene))) ||
+					    !DEG_depsgraph_use_legacy())
 					{
 						ED_region_tag_redraw(ar);
 					}
@@ -948,7 +951,8 @@ static void view3d_main_area_listener(bScreen *sc, ScrArea *sa, ARegion *ar, wmN
 			switch (wmn->data) {
 				case ND_LIGHTING:
 					if ((v3d->drawtype == OB_MATERIAL) ||
-					    (v3d->drawtype == OB_TEXTURE && (scene->gm.matmode == GAME_MAT_GLSL)))
+					    (v3d->drawtype == OB_TEXTURE && (scene->gm.matmode == GAME_MAT_GLSL)) ||
+					    !DEG_depsgraph_use_legacy())
 					{
 						ED_region_tag_redraw(ar);
 					}




More information about the Bf-blender-cvs mailing list