Changeset View
Changeset View
Standalone View
Standalone View
source/blender/render/intern/pipeline.c
| Show First 20 Lines • Show All 1,874 Lines • ▼ Show 20 Lines | void RE_RenderFrame(Render *re, | ||||
| const bool write_still) | const bool write_still) | ||||
| { | { | ||||
| render_callback_exec_id(re, re->main, &scene->id, BKE_CB_EVT_RENDER_INIT); | render_callback_exec_id(re, re->main, &scene->id, BKE_CB_EVT_RENDER_INIT); | ||||
| /* Ugly global still... | /* Ugly global still... | ||||
| * is to prevent preview events and signal subsurfs etc to make full resol. */ | * is to prevent preview events and signal subsurfs etc to make full resol. */ | ||||
| G.is_rendering = true; | G.is_rendering = true; | ||||
| re->is_rendering = true; | |||||
| scene->r.cfra = frame; | scene->r.cfra = frame; | ||||
| if (render_init_from_main(re, &scene->r, bmain, scene, single_layer, camera_override, 0, 0)) { | if (render_init_from_main(re, &scene->r, bmain, scene, single_layer, camera_override, 0, 0)) { | ||||
| const RenderData rd = scene->r; | const RenderData rd = scene->r; | ||||
| MEM_reset_peak_memory(); | MEM_reset_peak_memory(); | ||||
| render_callback_exec_id(re, re->main, &scene->id, BKE_CB_EVT_RENDER_PRE); | render_callback_exec_id(re, re->main, &scene->id, BKE_CB_EVT_RENDER_PRE); | ||||
| Show All 33 Lines | render_callback_exec_id(re, | ||||
| re->main, | re->main, | ||||
| &scene->id, | &scene->id, | ||||
| G.is_break ? BKE_CB_EVT_RENDER_CANCEL : BKE_CB_EVT_RENDER_COMPLETE); | G.is_break ? BKE_CB_EVT_RENDER_CANCEL : BKE_CB_EVT_RENDER_COMPLETE); | ||||
| render_pipeline_free(re); | render_pipeline_free(re); | ||||
| /* UGLY WARNING */ | /* UGLY WARNING */ | ||||
| G.is_rendering = false; | G.is_rendering = false; | ||||
| re->is_rendering = false; | |||||
| } | } | ||||
| #ifdef WITH_FREESTYLE | #ifdef WITH_FREESTYLE | ||||
| /* Not freestyle specific, currently only used by free-style. */ | /* Not freestyle specific, currently only used by free-style. */ | ||||
| static void change_renderdata_engine(Render *re, const char *new_engine) | static void change_renderdata_engine(Render *re, const char *new_engine) | ||||
| { | { | ||||
| if (!STREQ(re->r.engine, new_engine)) { | if (!STREQ(re->r.engine, new_engine)) { | ||||
| ▲ Show 20 Lines • Show All 447 Lines • ▼ Show 20 Lines | if (is_error) { | ||||
| return; | return; | ||||
| } | } | ||||
| } | } | ||||
| /* Ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol | /* Ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol | ||||
| * is also set by caller renderwin.c */ | * is also set by caller renderwin.c */ | ||||
| G.is_rendering = true; | G.is_rendering = true; | ||||
| re->is_rendering = true; | |||||
| re->flag |= R_ANIMATION; | re->flag |= R_ANIMATION; | ||||
| { | { | ||||
| for (nfra = sfra, scene->r.cfra = sfra; scene->r.cfra <= efra; scene->r.cfra++) { | for (nfra = sfra, scene->r.cfra = sfra; scene->r.cfra <= efra; scene->r.cfra++) { | ||||
| char name[FILE_MAX]; | char name[FILE_MAX]; | ||||
| /* A feedback loop exists here -- render initialization requires updated | /* A feedback loop exists here -- render initialization requires updated | ||||
| * render layers settings which could be animated, but scene evaluation for | * render layers settings which could be animated, but scene evaluation for | ||||
| ▲ Show 20 Lines • Show All 177 Lines • ▼ Show 20 Lines | render_callback_exec_id(re, | ||||
| &scene->id, | &scene->id, | ||||
| G.is_break ? BKE_CB_EVT_RENDER_CANCEL : BKE_CB_EVT_RENDER_COMPLETE); | G.is_break ? BKE_CB_EVT_RENDER_CANCEL : BKE_CB_EVT_RENDER_COMPLETE); | ||||
| BKE_sound_reset_scene_specs(re->pipeline_scene_eval); | BKE_sound_reset_scene_specs(re->pipeline_scene_eval); | ||||
| render_pipeline_free(re); | render_pipeline_free(re); | ||||
| /* UGLY WARNING */ | /* UGLY WARNING */ | ||||
| G.is_rendering = false; | G.is_rendering = false; | ||||
| re->is_rendering = false; | |||||
| } | } | ||||
| void RE_PreviewRender(Render *re, Main *bmain, Scene *sce) | void RE_PreviewRender(Render *re, Main *bmain, Scene *sce) | ||||
| { | { | ||||
| Object *camera; | Object *camera; | ||||
| int winx, winy; | int winx, winy; | ||||
| winx = (sce->r.size * sce->r.xsch) / 100; | winx = (sce->r.size * sce->r.xsch) / 100; | ||||
| ▲ Show 20 Lines • Show All 269 Lines • Show Last 20 Lines | |||||