[Bf-blender-cvs] [633f55a] multiview: fix for drawing glitches when stereo was on

Dalai Felinto noreply at git.blender.org
Wed May 28 05:54:55 CEST 2014


Commit: 633f55ac6b647e679b58217fd8e03bd05ad678d6
Author: Dalai Felinto
Date:   Wed May 28 00:54:43 2014 -0300
https://developer.blender.org/rB633f55ac6b647e679b58217fd8e03bd05ad678d6

fix for drawing glitches when stereo was on

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

M	source/blender/windowmanager/intern/wm_draw.c

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

diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c
index 83372dd..289dd05 100644
--- a/source/blender/windowmanager/intern/wm_draw.c
+++ b/source/blender/windowmanager/intern/wm_draw.c
@@ -729,16 +729,18 @@ static void wm_method_draw_triple_multiview(bContext *C, wmWindow *win, StereoVi
 	int id;
 
 	/* we store the triple_data in sequence to triple_all */
-	for (id=0;id < 2;id++) {
+	for (id = 0; id < 2; id++) {
 		drawdata = BLI_findlink(&win->drawdata, (sview * 2) + id);
 
 		if (drawdata && drawdata->triple) {
-			glClearColor(0, 0, 0, 0);
-			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+			if (id == 0) {
+				glClearColor(0, 0, 0, 0);
+				glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
-			wmSubWindowSet(win, screen->mainwin);
+				wmSubWindowSet(win, screen->mainwin);
 
-			wm_triple_draw_textures(win, drawdata->triple, 1.0f);
+				wm_triple_draw_textures(win, drawdata->triple, 1.0f);
+			}
 		}
 		else {
 			/* we run it when we start OR when we turn stereo on */
@@ -778,6 +780,7 @@ static void wm_method_draw_triple_multiview(bContext *C, wmWindow *win, StereoVi
 			}
 		}
 
+		/* draw marked area regions */
 		for (ar = sa->regionbase.first; ar; ar = ar->next) {
 			if (ar->swinid && ar->do_draw) {




More information about the Bf-blender-cvs mailing list