diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-05-10 14:13:55 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-05-10 14:13:55 +0300 |
commit | 195d0fbae373c5fa4dd18245d830542c095da1e0 (patch) | |
tree | 64b668e7f06f3844828cf09ff8dd3580075b73aa /source/blender/editors/space_view3d | |
parent | d2f1f80a6fa46614255e9cdc69795c7bcf368b7c (diff) |
Fixup for multi-view single eye viewport issues
In d2f1f80a6fa I was always calling view3d_main_regio_setup_view with
NULL matrices, which is not always correct.
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 05f18a6771f..cd2a6fe0feb 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2370,9 +2370,10 @@ float view3d_depth_near(ViewDepths *d) void ED_view3d_draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d) { short zbuf = v3d->zbuf; + RegionView3D *rv3d = ar->regiondata; /* Setup view matrix. */ - ED_view3d_draw_setup_view(NULL, scene, ar, v3d); + ED_view3d_draw_setup_view(NULL, scene, ar, v3d, rv3d->winmat, rv3d->viewmat); glClear(GL_DEPTH_BUFFER_BIT); @@ -2483,7 +2484,7 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover U.obcenter_dia = 0; /* Setup view matrix. */ - ED_view3d_draw_setup_view(NULL, scene, ar, v3d); + ED_view3d_draw_setup_view(NULL, scene, ar, v3d, rv3d->viewmat, rv3d->winmat); glClear(GL_DEPTH_BUFFER_BIT); @@ -3254,7 +3255,7 @@ void ED_view3d_draw_offscreen( /** * Set the correct matrices */ -void ED_view3d_draw_setup_view(wmWindow *win, Scene *scene, ARegion *ar, View3D *v3d) +void ED_view3d_draw_setup_view(wmWindow *win, Scene *scene, ARegion *ar, View3D *v3d, float viewmat[4][4], float winmat[4][4]) { RegionView3D *rv3d = ar->regiondata; @@ -3263,7 +3264,7 @@ void ED_view3d_draw_setup_view(wmWindow *win, Scene *scene, ARegion *ar, View3D view3d_stereo3d_setup(scene, v3d, ar); } else { - view3d_main_region_setup_view(scene, v3d, ar, NULL, NULL); + view3d_main_region_setup_view(scene, v3d, ar, viewmat, winmat); } } @@ -3845,7 +3846,7 @@ static void view3d_main_region_draw_objects(const bContext *C, Scene *scene, Vie } /* Setup the view matrix. */ - ED_view3d_draw_setup_view(CTX_wm_window(C), scene, ar, v3d); + ED_view3d_draw_setup_view(CTX_wm_window(C), scene, ar, v3d, NULL, NULL); rv3d->rflag &= ~RV3D_IS_GAME_ENGINE; #ifdef WITH_GAMEENGINE |