Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/workbench/workbench_render.c
| Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | static void workbench_render_cache(void *vedata, | ||||
| workbench_cache_populate(vedata, ob); | workbench_cache_populate(vedata, ob); | ||||
| } | } | ||||
| static void workbench_render_matrices_init(RenderEngine *engine, Depsgraph *depsgraph) | static void workbench_render_matrices_init(RenderEngine *engine, Depsgraph *depsgraph) | ||||
| { | { | ||||
| /* TODO(sergey): Shall render hold pointer to an evaluated camera instead? */ | /* TODO(sergey): Shall render hold pointer to an evaluated camera instead? */ | ||||
| Scene *scene = DEG_get_evaluated_scene(depsgraph); | Scene *scene = DEG_get_evaluated_scene(depsgraph); | ||||
| struct Object *ob_camera_eval = DEG_get_evaluated_object(depsgraph, RE_GetCamera(engine->re)); | struct Object *ob_camera_eval = DEG_get_evaluated_object(depsgraph, RE_GetCamera(engine->re)); | ||||
| float frame = BKE_scene_frame_get(scene); | |||||
| /* Set the persective, view and window matrix. */ | /* Set the persective, view and window matrix. */ | ||||
| float winmat[4][4], viewmat[4][4], viewinv[4][4]; | float winmat[4][4], viewmat[4][4], viewinv[4][4]; | ||||
| RE_GetCameraWindow(engine->re, ob_camera_eval, frame, winmat); | RE_GetCameraWindow(engine->re, ob_camera_eval, winmat); | ||||
| RE_GetCameraModelMatrix(engine->re, ob_camera_eval, viewinv); | RE_GetCameraModelMatrix(engine->re, ob_camera_eval, viewinv); | ||||
| invert_m4_m4(viewmat, viewinv); | invert_m4_m4(viewmat, viewinv); | ||||
| DRWView *view = DRW_view_create(viewmat, winmat, NULL, NULL, NULL); | DRWView *view = DRW_view_create(viewmat, winmat, NULL, NULL, NULL); | ||||
| DRW_view_default_set(view); | DRW_view_default_set(view); | ||||
| DRW_view_set_active(view); | DRW_view_set_active(view); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 155 Lines • Show Last 20 Lines | |||||