[Bf-blender-cvs] [13d06fa] HMD_viewport: Fix viewplane drawn with wrong offset

Julian Eisel noreply at git.blender.org
Thu Mar 17 00:16:04 CET 2016


Commit: 13d06fa38b2775a9c17ce1674c7bec8bd55edba0
Author: Julian Eisel
Date:   Thu Mar 17 00:12:01 2016 +0100
Branches: HMD_viewport
https://developer.blender.org/rB13d06fa38b2775a9c17ce1674c7bec8bd55edba0

Fix viewplane drawn with wrong offset

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

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

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

diff --git a/source/blender/windowmanager/intern/wm_stereo.c b/source/blender/windowmanager/intern/wm_stereo.c
index 3f3f6eb..676522c 100644
--- a/source/blender/windowmanager/intern/wm_stereo.c
+++ b/source/blender/windowmanager/intern/wm_stereo.c
@@ -290,21 +290,28 @@ static void wm_method_draw_stereo3d_topbottom(wmWindow *win)
 		glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
 	}
 }
+
 static void wm_method_draw_stereo3d_hmd(wmWindow *win)
 {
 	wmDrawData *drawdata;
 	int view;
 
-	for (view = 0; view < 1; view ++) {
+	for (view = 0; view < 2; view ++) {
+		const int win_x_h = WM_window_pixels_x(win) / 2;
+		const int win_y = WM_window_pixels_y(win);
+
 		drawdata = BLI_findlink(&win->drawdata, (view * 2) + 1);
-		glScissor(0, 0, WM_window_pixels_x(win) * 0.5f, WM_window_pixels_y(win));
+
+		glScissor(view * win_x_h, 0, win_x_h, win_y);
+		glPushMatrix();
 		if (view == 0) {
-			glTranslatef(-WM_window_pixels_x(win) / 2.0f, 0.0f, 0.0f);
+			glTranslatef(-win_x_h / 2.0f, 0.0f, 0.0f);
 		}
 		else {
-			glTranslatef(WM_window_pixels_x(win) / 2.0f, 0.0f, 0.0f);
+			glTranslatef(win_x_h / 2.0f, 0.0f, 0.0f);
 		}
-		wm_triple_draw_textures(win, drawdata->triple, 0.5f);
+		wm_triple_draw_textures(win, drawdata->triple, 1.0f);
+		glPopMatrix();
 	}
 }




More information about the Bf-blender-cvs mailing list