Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-05-20 21:33:56 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-22 14:29:04 +0300
commit774022260a215dbd9ec3f978c1259f288fecb77c (patch)
treed78529b39c7d291c810c40e5fe6be424f97a6fa2 /source/blender/draw/engines/workbench/workbench_render.c
parent676e1e7b26e34dd2f2f324cd764189df641f5737 (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.c21
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);
}