diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-05-20 21:33:56 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-05-22 14:29:04 +0300 |
commit | 774022260a215dbd9ec3f978c1259f288fecb77c (patch) | |
tree | d78529b39c7d291c810c40e5fe6be424f97a6fa2 /source/blender/draw/engines/workbench/workbench_render.c | |
parent | 676e1e7b26e34dd2f2f324cd764189df641f5737 (diff) |
Workbench: Use DRWView instead of DRW_viewport_matrix_*
Continuing the transition to the new API
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_render.c')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_render.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_render.c b/source/blender/draw/engines/workbench/workbench_render.c index 1497ef493cf..46d78ca0e37 100644 --- a/source/blender/draw/engines/workbench/workbench_render.c +++ b/source/blender/draw/engines/workbench/workbench_render.c @@ -63,24 +63,16 @@ static void workbench_render_matrices_init(RenderEngine *engine, Depsgraph *deps float frame = BKE_scene_frame_get(scene); /* Set the persective, view and window matrix. */ - float winmat[4][4], wininv[4][4]; - float viewmat[4][4], viewinv[4][4]; - float persmat[4][4], persinv[4][4]; + float winmat[4][4], viewmat[4][4], viewinv[4][4]; RE_GetCameraWindow(engine->re, ob_camera_eval, frame, winmat); RE_GetCameraModelMatrix(engine->re, ob_camera_eval, viewinv); invert_m4_m4(viewmat, viewinv); - mul_m4_m4m4(persmat, winmat, viewmat); - invert_m4_m4(persinv, persmat); - invert_m4_m4(wininv, winmat); - - DRW_viewport_matrix_override_set(persmat, DRW_MAT_PERS); - DRW_viewport_matrix_override_set(persinv, DRW_MAT_PERSINV); - DRW_viewport_matrix_override_set(winmat, DRW_MAT_WIN); - DRW_viewport_matrix_override_set(wininv, DRW_MAT_WININV); - DRW_viewport_matrix_override_set(viewmat, DRW_MAT_VIEW); - DRW_viewport_matrix_override_set(viewinv, DRW_MAT_VIEWINV); + + DRWView *view = DRW_view_create(viewmat, winmat, NULL, NULL, NULL); + DRW_view_default_set(view); + DRW_view_set_active(view); } static bool workbench_render_framebuffers_init(void) @@ -159,9 +151,6 @@ void workbench_render(WORKBENCH_Data *data, if (RE_engine_test_break(engine)) { break; } - /* TODO: Save matrices instead of recomputing them for each samples. */ - workbench_render_matrices_init(engine, depsgraph); - workbench_deferred_draw_background(data); workbench_deferred_draw_scene(data); } |