diff options
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r-- | source/blender/editors/render/render_opengl.cc | 18 | ||||
-rw-r--r-- | source/blender/editors/render/render_preview.cc | 2 | ||||
-rw-r--r-- | source/blender/editors/render/render_view.cc | 8 |
3 files changed, 16 insertions, 12 deletions
diff --git a/source/blender/editors/render/render_opengl.cc b/source/blender/editors/render/render_opengl.cc index d907a52543c..77ad23f1e3f 100644 --- a/source/blender/editors/render/render_opengl.cc +++ b/source/blender/editors/render/render_opengl.cc @@ -494,7 +494,8 @@ static void screen_opengl_render_apply(const bContext *C, OGLRender *oglrender) for (view_id = 0; view_id < oglrender->views_len; view_id++) { context.view_id = view_id; context.gpu_offscreen = oglrender->ofs; - oglrender->seq_data.ibufs_arr[view_id] = SEQ_render_give_ibuf(&context, CFRA, chanshown); + oglrender->seq_data.ibufs_arr[view_id] = SEQ_render_give_ibuf( + &context, scene->r.cfra, chanshown); } } @@ -757,8 +758,7 @@ static bool screen_opengl_render_init(bContext *C, wmOperator *op) WM_jobs_kill_all_except(wm, CTX_wm_screen(C)); /* create offscreen buffer */ - sizex = (scene->r.size * scene->r.xsch) / 100; - sizey = (scene->r.size * scene->r.ysch) / 100; + BKE_render_resolution(&scene->r, false, &sizex, &sizey); /* corrects render size with actual size, not every card supports non-power-of-two dimensions */ DRW_opengl_context_enable(); /* Off-screen creation needs to be done in DRW context. */ @@ -1136,12 +1136,12 @@ static bool screen_opengl_render_anim_step(bContext *C, wmOperator *op) RenderResult *rr; /* go to next frame */ - if (CFRA < oglrender->nfra) { - CFRA++; + if (scene->r.cfra < oglrender->nfra) { + scene->r.cfra++; } - while (CFRA < oglrender->nfra) { + while (scene->r.cfra < oglrender->nfra) { BKE_scene_graph_update_for_newframe(depsgraph); - CFRA++; + scene->r.cfra++; } is_movie = BKE_imtype_is_movie(scene->r.im_format.imtype); @@ -1184,7 +1184,7 @@ static bool screen_opengl_render_anim_step(bContext *C, wmOperator *op) } if (oglrender->render_frames == nullptr || - BLI_BITMAP_TEST_BOOL(oglrender->render_frames, CFRA - PSFRA)) { + BLI_BITMAP_TEST_BOOL(oglrender->render_frames, scene->r.cfra - PSFRA)) { /* render into offscreen buffer */ screen_opengl_render_apply(C, oglrender); } @@ -1204,7 +1204,7 @@ finally: /* Step the frame and bail early if needed */ oglrender->nfra += scene->r.frame_step; /* stop at the end or on error */ - if (CFRA >= PEFRA || !ok) { + if (scene->r.cfra >= PEFRA || !ok) { screen_opengl_render_end(C, static_cast<OGLRender *>(op->customdata)); return false; } diff --git a/source/blender/editors/render/render_preview.cc b/source/blender/editors/render/render_preview.cc index addcedc4481..97bbcaa102f 100644 --- a/source/blender/editors/render/render_preview.cc +++ b/source/blender/editors/render/render_preview.cc @@ -805,7 +805,7 @@ static Scene *object_preview_scene_create(const struct ObjectPreviewData *previe Scene *scene = BKE_scene_add(preview_data->pr_main, "Object preview scene"); /* Preview need to be in the current frame to get a thumbnail similar of what * viewport displays. */ - CFRA = preview_data->cfra; + scene->r.cfra = preview_data->cfra; ViewLayer *view_layer = static_cast<ViewLayer *>(scene->view_layers.first); Depsgraph *depsgraph = DEG_graph_new( diff --git a/source/blender/editors/render/render_view.cc b/source/blender/editors/render/render_view.cc index a7ff2aad05a..9a16c910205 100644 --- a/source/blender/editors/render/render_view.cc +++ b/source/blender/editors/render/render_view.cc @@ -19,6 +19,7 @@ #include "BKE_image.h" #include "BKE_main.h" #include "BKE_report.h" +#include "BKE_scene.h" #include "BKE_screen.h" #include "BLT_translation.h" @@ -130,8 +131,11 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports) } if (U.render_display_type == USER_RENDER_DISPLAY_WINDOW) { - int sizex = 30 * UI_DPI_FAC + (scene->r.xsch * scene->r.size) / 100; - int sizey = 60 * UI_DPI_FAC + (scene->r.ysch * scene->r.size) / 100; + int sizex, sizey; + BKE_render_resolution(&scene->r, false, &sizex, &sizey); + + sizex += 30 * UI_DPI_FAC; + sizey += 60 * UI_DPI_FAC; /* arbitrary... miniature image window views don't make much sense */ if (sizex < 320) { |