From b3c08a3a0a9b0cd9e66bbf4bdeeedb6c2c5e7c76 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Fri, 14 Aug 2020 16:57:57 +0200 Subject: Fix constant lighting change in VR view when rotating head We have to explicitly enable fixed world space lighting. This was in fact already done, but overridden by the code to sync the 3D View shading settings to the VR view. --- source/blender/editors/space_view3d/view3d_view.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/editors/space_view3d') diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 66efa5b5de3..839f8c60a66 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -1733,6 +1733,8 @@ void ED_view3d_xr_shading_update(wmWindowManager *wm, const View3D *v3d, const S { if (v3d->runtime.flag & V3D_RUNTIME_XR_SESSION_ROOT) { View3DShading *xr_shading = &wm->xr.session_settings.shading; + /* Flags that shouldn't be overridden by the 3D View shading. */ + const int flag_copy = V3D_SHADING_WORLD_ORIENTATION; BLI_assert(WM_xr_session_exists(&wm->xr)); @@ -1750,7 +1752,9 @@ void ED_view3d_xr_shading_update(wmWindowManager *wm, const View3D *v3d, const S } /* Copy shading from View3D to VR view. */ + const int old_xr_shading_flag = xr_shading->flag; *xr_shading = v3d->shading; + xr_shading->flag = (xr_shading->flag & ~flag_copy) | (old_xr_shading_flag & flag_copy); if (v3d->shading.prop) { xr_shading->prop = IDP_CopyProperty(xr_shading->prop); } -- cgit v1.2.3