[Bf-blender-cvs] [fc0fb35df5] HMD_viewport: Don't draw HMD view lens shader if session is not running
Julian Eisel
noreply at git.blender.org
Mon Mar 6 22:03:19 CET 2017
Commit: fc0fb35df5fae5b4cf788c9f065ece7a38865964
Author: Julian Eisel
Date: Mon Mar 6 21:14:47 2017 +0100
Branches: HMD_viewport
https://developer.blender.org/rBfc0fb35df5fae5b4cf788c9f065ece7a38865964
Don't draw HMD view lens shader if session is not running
===================================================================
M source/blender/windowmanager/intern/wm_operators.c
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 47f182a2d9..567eab243f 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -4140,10 +4140,6 @@ static void hmd_view_prepare_screen(wmWindowManager *wm, wmWindow *win, const Re
/* sync view options */
v3d_hmd->drawtype = wm->hmd_view.view_shade;
- v3d_hmd->fx_settings.fx_flag |= GPU_FX_FLAG_LensDist;
- /* Set distortion type for 3D View but first we need to validate fx settings. */
- BKE_screen_gpu_fx_validate(&v3d_hmd->fx_settings);
-
/* copy view orientation from current 3D view to newly opened HMD view */
ED_view3d_copy_region_view_data(rv3d_current, rv3d_hmd);
}
@@ -4228,6 +4224,27 @@ static void hmd_session_disable_viewlocks(wmWindowManager *wm)
}
}
+static void hmd_session_prepare_screen(wmWindow *hmd_win)
+{
+ ScrArea *sa = hmd_win->screen->areabase.first;
+ View3D *v3d = sa->spacedata.first;
+ ARegion *ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+ RegionView3D *rv3d = ar->regiondata;
+ BLI_assert(ar && sa->spacetype == SPACE_VIEW3D);
+
+ v3d->fx_settings.fx_flag |= GPU_FX_FLAG_LensDist;
+ /* Set distortion type for 3D View but first we need to validate fx settings. */
+ BKE_screen_gpu_fx_validate(&v3d->fx_settings);
+
+ if (rv3d->persp == RV3D_ORTHO) {
+ rv3d->persp = RV3D_PERSP;
+ }
+ rv3d->viewlock |= RV3D_LOCK_PERSP_VIEW;
+
+ hmd_win->screen->is_hmd_running = true;
+ WM_window_fullscreen_toggle(hmd_win, true, false);
+}
+
static int hmd_session_toggle_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
{
wmWindowManager *wm = CTX_wm_manager(C);
@@ -4248,23 +4265,13 @@ static int hmd_session_toggle_invoke(bContext *C, wmOperator *UNUSED(op), const
}
else {
/* start session */
- ScrArea *sa = hmd_win->screen->areabase.first;
- ARegion *ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
- RegionView3D *rv3d = ar->regiondata;
- BLI_assert(ar && sa->spacetype == SPACE_VIEW3D);
- hmd_win->screen->is_hmd_running = true;
WM_device_HMD_state_set(U.hmd_settings.device, true);
if ((U.hmd_settings.flag & USER_HMD_USE_DEVICE_IPD) == 0) {
U.hmd_settings.init_ipd = WM_device_HMD_IPD_get();
WM_device_HMD_IPD_set(U.hmd_settings.custom_ipd);
}
-
- if (rv3d->persp == RV3D_ORTHO) {
- rv3d->persp = RV3D_PERSP;
- }
- rv3d->viewlock |= RV3D_LOCK_PERSP_VIEW;
- WM_window_fullscreen_toggle(hmd_win, true, false);
+ hmd_session_prepare_screen(hmd_win);
return OPERATOR_FINISHED;
}
More information about the Bf-blender-cvs
mailing list