diff options
Diffstat (limited to 'source/blender/render/intern/source/pipeline.c')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 44 |
1 files changed, 16 insertions, 28 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 8bc6f025d11..ba50467f9ea 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -665,9 +665,9 @@ void RE_FreePersistentData(void) /* ********* initialize state ******** */ /* clear full sample and tile flags if needed */ -static int check_mode_full_sample(RenderData *rd, ViewRender *view_render) +static int check_mode_full_sample(RenderData *rd) { - const char *engine_id = view_render->engine_id; + const char *engine_id = rd->engine; int scemode = rd->scemode; if (!STREQ(engine_id, RE_engine_id_BLENDER_RENDER)) { @@ -740,16 +740,11 @@ void render_copy_renderdata(RenderData *to, RenderData *from) curvemapping_copy_data(&to->mblur_shutter_curve, &from->mblur_shutter_curve); } -void render_copy_viewrender(ViewRender *to, ViewRender *from) -{ - BKE_viewrender_copy(to, from); -} - /* what doesn't change during entire render sequence */ /* disprect is optional, if NULL it assumes full window render */ void RE_InitState(Render *re, Render *source, RenderData *rd, ListBase *render_layers, const int active_layer, - ViewRender *view_render, ViewLayer *view_layer, + ViewLayer *view_layer, int winx, int winy, rcti *disprect) { bool had_freestyle = (re->r.mode & R_EDGE_FRS) != 0; @@ -760,7 +755,6 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, /* copy render data and render layers for thread safety */ render_copy_renderdata(&re->r, rd); - render_copy_viewrender(&re->view_render, view_render); BLI_freelistN(&re->view_layers); BLI_duplicatelist(&re->view_layers, render_layers); re->active_view_layer = active_layer; @@ -793,7 +787,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, return; } - re->r.scemode = check_mode_full_sample(&re->r, &re->view_render); + re->r.scemode = check_mode_full_sample(&re->r); /* fullsample wants uniform osa levels */ if (source && (re->r.scemode & R_FULL_SAMPLE)) { @@ -1903,7 +1897,7 @@ static void render_scene(Render *re, Scene *sce, int cfra) } /* initial setup */ - RE_InitState(resc, re, &sce->r, &sce->view_layers, sce->active_view_layer, &sce->view_render, NULL, winx, winy, &re->disprect); + RE_InitState(resc, re, &sce->r, &sce->view_layers, sce->active_view_layer, NULL, winx, winy, &re->disprect); /* We still want to use 'rendercache' setting from org (main) scene... */ resc->r.scemode = (resc->r.scemode & ~R_EXR_CACHE_FILE) | (re->r.scemode & R_EXR_CACHE_FILE); @@ -2869,7 +2863,7 @@ static void do_render_all_options(Render *re) bool RE_force_single_renderlayer(Scene *scene) { - int scemode = check_mode_full_sample(&scene->r, &scene->view_render); + int scemode = check_mode_full_sample(&scene->r); if (scemode & R_SINGLE_LAYER) { ViewLayer *view_layer = BLI_findlink(&scene->view_layers, scene->active_view_layer); /* force layer to be enabled */ @@ -3018,7 +3012,7 @@ static int check_composite_output(Scene *scene) bool RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *reports) { - int scemode = check_mode_full_sample(&scene->r, &scene->view_render); + int scemode = check_mode_full_sample(&scene->r); if (scene->r.mode & R_BORDER) { if (scene->r.border.xmax <= scene->r.border.xmin || @@ -3158,13 +3152,8 @@ const char *RE_GetActiveRenderView(Render *re) return re->viewname; } -void RE_SetEngineByID(Render *re, const char *engine_id) -{ - BLI_strncpy(re->view_render.engine_id, engine_id, sizeof(re->view_render.engine_id)); -} - /* evaluating scene options for general Blender render */ -static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, Scene *scene, ViewRender *view_render, +static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, Scene *scene, ViewLayer *view_layer, Object *camera_override, unsigned int lay_override, int anim, int anim_init) { @@ -3200,7 +3189,6 @@ static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, re->layer_override = lay_override; re->i.localview = (re->lay & 0xFF000000) != 0; re->viewname[0] = '\0'; - RE_SetEngineByID(re, view_render->engine_id); /* not too nice, but it survives anim-border render */ if (anim) { @@ -3234,7 +3222,7 @@ static int render_initialize_from_main(Render *re, RenderData *rd, Main *bmain, BLI_rw_mutex_unlock(&re->resultmutex); } - RE_InitState(re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, &scene->view_render, view_layer, winx, winy, &disprect); + RE_InitState(re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, view_layer, winx, winy, &disprect); if (!re->ok) /* if an error was printed, abort */ return 0; @@ -3265,7 +3253,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, ViewLayer *view_laye scene->r.cfra = frame; - if (render_initialize_from_main(re, &scene->r, bmain, scene, &scene->view_render, view_layer, + if (render_initialize_from_main(re, &scene->r, bmain, scene, view_layer, camera_override, lay_override, 0, 0)) { MEM_reset_peak_memory(); @@ -3306,7 +3294,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, ViewLayer *view_laye void RE_RenderFreestyleStrokes(Render *re, Main *bmain, Scene *scene, int render) { re->result_ok= 0; - if (render_initialize_from_main(re, &scene->r, bmain, scene, &scene->view_render, NULL, NULL, scene->lay, 0, 0)) { + if (render_initialize_from_main(re, &scene->r, bmain, scene, NULL, NULL, scene->lay, 0, 0)) { if (render) do_render_fields_blur_3d(re); } @@ -3600,7 +3588,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri BLI_callback_exec(re->main, (ID *)scene, BLI_CB_EVT_RENDER_INIT); /* do not fully call for each frame, it initializes & pops output window */ - if (!render_initialize_from_main(re, &rd, bmain, scene, &scene->view_render, NULL, camera_override, lay_override, 0, 1)) + if (!render_initialize_from_main(re, &rd, bmain, scene, NULL, camera_override, lay_override, 0, 1)) return; /* MULTIVIEW_TODO: @@ -3690,7 +3678,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri } /* only border now, todo: camera lens. (ton) */ - render_initialize_from_main(re, &rd, bmain, scene, &scene->view_render, + render_initialize_from_main(re, &rd, bmain, scene, NULL, camera_override, lay_override, 1, 0); if (nfra != scene->r.cfra) { @@ -3840,7 +3828,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri G.is_rendering = false; } -void RE_PreviewRender(Render *re, Main *bmain, Scene *sce, ViewRender *view_render) +void RE_PreviewRender(Render *re, Main *bmain, Scene *sce) { Object *camera; int winx, winy; @@ -3848,7 +3836,7 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce, ViewRender *view_rend winx = (sce->r.size * sce->r.xsch) / 100; winy = (sce->r.size * sce->r.ysch) / 100; - RE_InitState(re, NULL, &sce->r, &sce->view_layers, sce->active_view_layer, view_render, NULL, winx, winy, NULL); + RE_InitState(re, NULL, &sce->r, &sce->view_layers, sce->active_view_layer, NULL, winx, winy, NULL); re->pool = BKE_image_pool_new(); @@ -3901,7 +3889,7 @@ bool RE_ReadRenderResult(Scene *scene, Scene *scenode) re = RE_GetSceneRender(scene); if (re == NULL) re = RE_NewSceneRender(scene); - RE_InitState(re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, &scene->view_render, NULL, winx, winy, &disprect); + RE_InitState(re, NULL, &scene->r, &scene->view_layers, scene->active_view_layer, NULL, winx, winy, &disprect); re->scene = scene; re->scene_color_manage = BKE_scene_check_color_management_enabled(scene); |