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:
Diffstat (limited to 'source/blender/render/intern/source/pipeline.c')
-rw-r--r--source/blender/render/intern/source/pipeline.c44
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);