Commit: 2ccdd0be5128e7cd04533c6f51dc7214a46dcfde
Author: Julian Eisel
Date:   Wed Aug 3 16:48:04 2016 +0200
Branches: HMD_viewport
https://developer.blender.org/rB2ccdd0be5128e7cd04533c6f51dc7214a46dcfde

Fix non-HMD window not drawing viewport in camera view

Also added WITH_INPUT_HMD checks

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

M       source/blender/editors/space_view3d/view3d_draw.c

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

diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 189568f..7fd5e6f 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -3784,21 +3784,24 @@ static void view3d_stereo3d_setup(Scene *scene, View3D 
*v3d, ARegion *ar, const
                data->shiftx = shiftx;
                BLI_unlock_thread(LOCK_VIEW3D);
        }
+#ifdef WITH_INPUT_HMD
        else if (scene->r.views_format == SCE_VIEWS_FORMAT_HMD) {
-               if (is_hmd_view) {
-                       float viewmat[4][4];
-                       float projmat[4][4];
+               float viewmat[4][4];
+               float projmat[4][4];
 
-                       BLI_lock_thread(LOCK_VIEW3D);
+               BLI_lock_thread(LOCK_VIEW3D);
 
-                       BKE_camera_multiview_view_matrix(&scene->r, 
v3d->camera, is_left, viewmat);
-                       BKE_camera_multiview_proj_matrix(is_left, projmat);
+               BKE_camera_multiview_view_matrix(&scene->r, v3d->camera, 
is_left, viewmat);
+               BKE_camera_multiview_proj_matrix(is_left, projmat);
 
-                       view3d_main_region_setup_view(scene, v3d, ar, viewmat, 
projmat);
+               view3d_main_region_setup_view(scene, v3d, ar, viewmat, projmat);
 
-                       BLI_unlock_thread(LOCK_VIEW3D);
-               }
+               BLI_unlock_thread(LOCK_VIEW3D);
+
+               BLI_assert(is_hmd_view == true);
+               UNUSED_VARS_NDEBUG(is_hmd_view);
        }
+#endif
        else { /* SCE_VIEWS_FORMAT_MULTIVIEW */
                float viewmat[4][4];
                Object *view_ob = v3d->camera;
@@ -3873,10 +3876,18 @@ static void view3d_main_region_draw_objects(
        }
 
        /* setup the view matrix */
-       if (view3d_stereo3d_active(C, scene, v3d, rv3d))
+       if (view3d_stereo3d_active(C, scene, v3d, rv3d) &&
+#ifdef WITH_INPUT_HMD
+           (scene->r.views_format != SCE_VIEWS_FORMAT_HMD || is_hmd_view))
+#else
+           true)
+#endif
+       {
                view3d_stereo3d_setup(scene, v3d, ar, is_hmd_view);
-       else
+       }
+       else {
                view3d_main_region_setup_view(scene, v3d, ar, NULL, NULL);
+       }
 
        rv3d->rflag &= ~RV3D_IS_GAME_ENGINE;
 #ifdef WITH_GAMEENGINE

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to