Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_sequencer/sequencer_draw.c
| Show First 20 Lines • Show All 1,286 Lines • ▼ Show 20 Lines | ImBuf *sequencer_ibuf_get(struct Main *bmain, | ||||
| SpaceSeq *sseq, | SpaceSeq *sseq, | ||||
| int timeline_frame, | int timeline_frame, | ||||
| int frame_ofs, | int frame_ofs, | ||||
| const char *viewname) | const char *viewname) | ||||
| { | { | ||||
| SeqRenderData context = {0}; | SeqRenderData context = {0}; | ||||
| ImBuf *ibuf; | ImBuf *ibuf; | ||||
| int rectx, recty; | int rectx, recty; | ||||
| double render_size; | double render_size_scale_factor; | ||||
| int render_size; | |||||
| short is_break = G.is_break; | short is_break = G.is_break; | ||||
| if (sseq->render_size == SEQ_RENDER_SIZE_NONE) { | bool use_proxies = (sseq->flag & SEQ_USE_PROXIES) != 0; | ||||
| return NULL; | |||||
| } | |||||
| if (sseq->render_size == SEQ_RENDER_SIZE_SCENE) { | if (use_proxies) { | ||||
| render_size = scene->r.size / 100.0; | render_size = sseq->render_size; | ||||
| render_size_scale_factor = SEQ_rendersize_to_scale_factor(sseq->render_size); | |||||
| } | } | ||||
| else { | else { | ||||
| render_size = SEQ_rendersize_to_scale_factor(sseq->render_size); | render_size = SEQ_RENDER_SIZE_SCENE; | ||||
| render_size_scale_factor = scene->r.size / 100.0; | |||||
| } | } | ||||
| rectx = roundf(render_size * scene->r.xsch); | rectx = roundf(render_size_scale_factor * scene->r.xsch); | ||||
| recty = roundf(render_size * scene->r.ysch); | recty = roundf(render_size_scale_factor * scene->r.ysch); | ||||
| SEQ_render_new_render_data( | SEQ_render_new_render_data(bmain, depsgraph, scene, rectx, recty, render_size, false, &context); | ||||
| bmain, depsgraph, scene, rectx, recty, sseq->render_size, false, &context); | |||||
| context.view_id = BKE_scene_multiview_view_id_get(&scene->r, viewname); | context.view_id = BKE_scene_multiview_view_id_get(&scene->r, viewname); | ||||
| context.use_proxies = (sseq->flag & SEQ_USE_PROXIES) != 0; | context.use_proxies = use_proxies; | ||||
| /* Sequencer could start rendering, in this case we need to be sure it wouldn't be canceled | /* Sequencer could start rendering, in this case we need to be sure it wouldn't be canceled | ||||
| * by Escape pressed somewhere in the past. */ | * by Escape pressed somewhere in the past. */ | ||||
| G.is_break = false; | G.is_break = false; | ||||
| GPUViewport *viewport = WM_draw_region_get_bound_viewport(region); | GPUViewport *viewport = WM_draw_region_get_bound_viewport(region); | ||||
| GPUFrameBuffer *fb = GPU_framebuffer_active_get(); | GPUFrameBuffer *fb = GPU_framebuffer_active_get(); | ||||
| if (viewport) { | if (viewport) { | ||||
| ▲ Show 20 Lines • Show All 1,122 Lines • Show Last 20 Lines | |||||