Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/sequencer.c
| Show First 20 Lines • Show All 3,314 Lines • ▼ Show 20 Lines | ibuf = sequencer_view3d_cb( | ||||
| use_gpencil, use_background, scene->r.alphamode, | use_gpencil, use_background, scene->r.alphamode, | ||||
| context->gpu_samples, context->gpu_full_samples, viewname, | context->gpu_samples, context->gpu_full_samples, viewname, | ||||
| context->gpu_fx, context->gpu_offscreen, err_out); | context->gpu_fx, context->gpu_offscreen, err_out); | ||||
| if (ibuf == NULL) { | if (ibuf == NULL) { | ||||
| fprintf(stderr, "seq_render_scene_strip failed to get opengl buffer: %s\n", err_out); | fprintf(stderr, "seq_render_scene_strip failed to get opengl buffer: %s\n", err_out); | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| Render *re = RE_GetRender(scene->id.name); | Render *re = RE_GetSceneRender(scene); | ||||
| const int totviews = BKE_scene_multiview_num_views_get(&scene->r); | const int totviews = BKE_scene_multiview_num_views_get(&scene->r); | ||||
| int i; | int i; | ||||
| ImBuf **ibufs_arr; | ImBuf **ibufs_arr; | ||||
| ibufs_arr = MEM_callocN(sizeof(ImBuf *) * totviews, "Sequence Image Views Imbufs"); | ibufs_arr = MEM_callocN(sizeof(ImBuf *) * totviews, "Sequence Image Views Imbufs"); | ||||
| /* XXX: this if can be removed when sequence preview rendering uses the job system | /* XXX: this if can be removed when sequence preview rendering uses the job system | ||||
| * | * | ||||
| * disable rendered preview for sequencer while rendering -- it's very much possible | * disable rendered preview for sequencer while rendering -- it's very much possible | ||||
| * that preview render will went into conflict with final render | * that preview render will went into conflict with final render | ||||
| * | * | ||||
| * When rendering from command line renderer is called from main thread, in this | * When rendering from command line renderer is called from main thread, in this | ||||
| * case it's always safe to render scene here | * case it's always safe to render scene here | ||||
| */ | */ | ||||
| if (!is_thread_main || is_rendering == false || is_background || context->eval_ctx->mode == DAG_EVAL_RENDER) { | if (!is_thread_main || is_rendering == false || is_background || context->eval_ctx->mode == DAG_EVAL_RENDER) { | ||||
| if (re == NULL) | if (re == NULL) | ||||
| re = RE_NewRender(scene->id.name); | re = RE_NewSceneRender(scene); | ||||
| BKE_scene_update_for_newframe(context->eval_ctx, context->bmain, scene, scene->lay); | BKE_scene_update_for_newframe(context->eval_ctx, context->bmain, scene, scene->lay); | ||||
| RE_BlenderFrame(re, context->bmain, scene, NULL, camera, scene->lay, frame, false); | RE_BlenderFrame(re, context->bmain, scene, NULL, camera, scene->lay, frame, false); | ||||
| /* restore previous state after it was toggled on & off by RE_BlenderFrame */ | /* restore previous state after it was toggled on & off by RE_BlenderFrame */ | ||||
| G.is_rendering = is_rendering; | G.is_rendering = is_rendering; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 2,326 Lines • Show Last 20 Lines | |||||