diff options
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r-- | source/blender/editors/render/render_internal.c | 8 | ||||
-rw-r--r-- | source/blender/editors/render/render_opengl.c | 11 | ||||
-rw-r--r-- | source/blender/editors/render/render_preview.c | 18 | ||||
-rw-r--r-- | source/blender/editors/render/render_update.c | 4 |
4 files changed, 14 insertions, 27 deletions
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 965e213631d..22e62c9ba0a 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -298,7 +298,7 @@ static void screen_render_view_layer_set(wmOperator *op, Main *mainp, Scene **sc static int screen_render_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); - RenderEngineType *re_type = RE_engines_find(scene->view_render.engine_id); + RenderEngineType *re_type = RE_engines_find(scene->r.engine); ViewLayer *view_layer = NULL; Render *re; Image *ima; @@ -863,7 +863,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even Main *mainp; ViewLayer *view_layer = NULL; Scene *scene = CTX_data_scene(C); - RenderEngineType *re_type = RE_engines_find(scene->view_render.engine_id); + RenderEngineType *re_type = RE_engines_find(scene->r.engine); Render *re; wmJob *wm_job; RenderJob *rj; @@ -1310,10 +1310,10 @@ static void render_view3d_startjob(void *customdata, short *stop, short *do_upda /* initalize always */ if (use_border) { rdata.mode |= R_BORDER; - RE_InitState(re, NULL, &rdata, &rp->scene->view_layers, rp->scene->active_view_layer, &rp->scene->view_render, NULL, rp->ar->winx, rp->ar->winy, &cliprct); + RE_InitState(re, NULL, &rdata, &rp->scene->view_layers, rp->scene->active_view_layer, NULL, rp->ar->winx, rp->ar->winy, &cliprct); } else - RE_InitState(re, NULL, &rdata, &rp->scene->view_layers, rp->scene->active_view_layer, &rp->scene->view_render, NULL, rp->ar->winx, rp->ar->winy, NULL); + RE_InitState(re, NULL, &rdata, &rp->scene->view_layers, rp->scene->active_view_layer, NULL, rp->ar->winx, rp->ar->winy, NULL); } if (orth) diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index a334d3abc68..840c5c2b5aa 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -351,7 +351,6 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R char err_out[256] = "unknown"; ImBuf *ibuf_view; const int alpha_mode = (draw_sky) ? R_ADDSKY : R_ALPHAPREMUL; - struct RenderEngineType *engine_type = CTX_data_engine_type(C); unsigned int draw_flags = V3D_OFSDRAW_NONE; draw_flags |= (oglrender->ofs_full_samples) ? V3D_OFSDRAW_USE_FULL_SAMPLE : 0; @@ -360,7 +359,7 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R draw_flags |= (draw_bgpic) ? V3D_OFSDRAW_USE_BACKGROUND : 0; ibuf_view = ED_view3d_draw_offscreen_imbuf( - depsgraph, scene, view_layer, engine_type, + depsgraph, scene, view_layer, v3d->drawtype, v3d, ar, sizex, sizey, IB_rectfloat, draw_flags, alpha_mode, oglrender->ofs_samples, viewname, oglrender->ofs, err_out); @@ -373,9 +372,9 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R else { draw_flags |= (V3D_OFSDRAW_USE_GPENCIL | V3D_OFSDRAW_USE_BACKGROUND); ibuf_view = ED_view3d_draw_offscreen_imbuf_simple( - depsgraph, scene, view_layer, engine_type, + depsgraph, scene, view_layer, OB_SOLID, scene->camera, oglrender->sizex, oglrender->sizey, - IB_rectfloat, draw_flags, OB_SOLID, + IB_rectfloat, draw_flags, alpha_mode, oglrender->ofs_samples, viewname, oglrender->ofs, err_out); camera = scene->camera; @@ -708,8 +707,6 @@ static bool screen_opengl_render_init(bContext *C, wmOperator *op) /* create render */ oglrender->re = RE_NewSceneRender(scene); - ViewRender *view_render = BKE_viewrender_get(scene, workspace); - RE_SetEngineByID(oglrender->re, view_render->engine_id); /* create image and image user */ oglrender->ima = BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"); @@ -720,7 +717,7 @@ static bool screen_opengl_render_init(bContext *C, wmOperator *op) oglrender->iuser.ok = 1; /* create render result */ - RE_InitState(oglrender->re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, view_render, NULL, sizex, sizey, NULL); + RE_InitState(oglrender->re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, NULL, sizex, sizey, NULL); /* create render views */ screen_opengl_views_setup(oglrender); diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 4297d4fa316..f2f147ab874 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -173,7 +173,6 @@ typedef struct ShaderPreview { Main *bmain; Main *pr_main; - ViewRender *view_render; } ShaderPreview; typedef struct IconPreviewSize { @@ -188,7 +187,6 @@ typedef struct IconPreview { void *owner; ID *id; ListBase sizes; - ViewRender *view_render; } IconPreview; /* *************************** Preview for buttons *********************** */ @@ -231,7 +229,7 @@ void ED_preview_ensure_dbase(void) static bool check_engine_supports_textures(Scene *scene) { - RenderEngineType *type = RE_engines_find(scene->view_render.engine_id); + RenderEngineType *type = RE_engines_find(scene->r.engine); return type->flag & RE_USE_TEXTURE_PREVIEW; } @@ -384,10 +382,10 @@ static Scene *preview_prepare_scene(Main *bmain, Scene *scene, ID *id, int id_ty * seems commonly used render engines does not support * such kind of rendering. */ - BLI_strncpy(sce->view_render.engine_id, RE_engine_id_BLENDER_RENDER, sizeof(sce->view_render.engine_id)); + BLI_strncpy(sce->r.engine, RE_engine_id_BLENDER_RENDER, sizeof(sce->r.engine)); } else { - BLI_strncpy(sce->view_render.engine_id, scene->view_render.engine_id, sizeof(sce->view_render.engine_id)); + BLI_strncpy(sce->r.engine, scene->r.engine, sizeof(sce->r.engine)); } if (id_type == ID_MA) { @@ -872,7 +870,7 @@ static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int firs ((Camera *)sce->camera->data)->lens *= (float)sp->sizey / (float)sizex; /* entire cycle for render engine */ - RE_PreviewRender(re, pr_main, sce, sp->view_render); + RE_PreviewRender(re, pr_main, sce); ((Camera *)sce->camera->data)->lens = oldlens; @@ -1199,7 +1197,6 @@ static void icon_preview_startjob_all_sizes(void *customdata, short *stop, short /* construct shader preview from image size and previewcustomdata */ sp->scene = ip->scene; - sp->view_render = ip->view_render; sp->owner = ip->owner; sp->sizex = cur_size->sizex; sp->sizey = cur_size->sizey; @@ -1284,7 +1281,6 @@ void ED_preview_icon_render(Main *bmain, Scene *scene, ID *id, unsigned int *rec ip.bmain = bmain; ip.scene = scene; - ip.view_render = &scene->view_render; ip.owner = BKE_previewimg_id_ensure(id); ip.id = id; @@ -1318,7 +1314,6 @@ void ED_preview_icon_job(const bContext *C, void *owner, ID *id, unsigned int *r /* customdata for preview thread */ ip->bmain = CTX_data_main(C); ip->scene = CTX_data_scene(C); - ip->view_render = &ip->scene->view_render; ip->owner = owner; ip->id = id; @@ -1346,12 +1341,10 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M wmJob *wm_job; ShaderPreview *sp; Scene *scene = CTX_data_scene(C); - WorkSpace *workspace = CTX_wm_workspace(C); short id_type = GS(id->name); /* Use workspace render only for buttons Window, since the other previews are related to the datablock. */ - ViewRender *view_render = (method == PR_BUTS_RENDER) ? BKE_viewrender_get(scene, workspace) : &scene->view_render; - bool use_new_shading = BKE_viewrender_use_new_shading_nodes(view_render); + bool use_new_shading = BKE_scene_use_new_shading_nodes(scene); /* Only texture node preview is supported with Cycles. */ if (use_new_shading && method == PR_NODE_RENDER && id_type != ID_TE) { @@ -1374,7 +1367,6 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M sp->parent = parent; sp->slot = slot; sp->bmain = CTX_data_main(C); - sp->view_render = view_render; /* hardcoded preview .blend for Eevee + cycles/internal, this should be solved * once with custom preview .blend path for external engines */ diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index d29985041c6..9ae103ae017 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -120,8 +120,6 @@ void ED_render_scene_update(const DEGEditorUpdateContext *update_ctx, int update ARegion *ar; CTX_wm_window_set(C, win); - WorkSpace *workspace = BKE_workspace_active_get(win->workspace_hook); - ViewRender *view_render = BKE_viewrender_get(win->scene, workspace); for (sa = sc->areabase.first; sa; sa = sa->next) { if (sa->spacetype != SPACE_VIEW3D) @@ -147,7 +145,7 @@ void ED_render_scene_update(const DEGEditorUpdateContext *update_ctx, int update } else { - RenderEngineType *engine_type = RE_engines_find(view_render->engine_id); + RenderEngineType *engine_type = RE_engines_find(win->scene->r.engine); if ((engine_type->flag & RE_USE_LEGACY_PIPELINE) == 0) { if (updated) { DRW_notify_view_update( |