diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2021-07-29 16:07:25 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2021-07-29 16:08:12 +0300 |
commit | cafb1bc47f69cee8cd598f8c375f630f8fbdf4d9 (patch) | |
tree | 83179b7cd4e70526909e028a5e1c3bcd09bd7e1f /source/blender/editors/render | |
parent | 24ba931f400ba6845096830922a39f06b6507494 (diff) |
Data-block Preview: Create preview using current frame
The preview was always using frame 1, but maybe the object has changed and it's better create preview using the current frame.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D12018
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r-- | source/blender/editors/render/render_preview.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 702c8d052c5..fe1e850dcba 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -727,6 +727,8 @@ struct ObjectPreviewData { /* Copy of the object to create the preview for. The copy is for thread safety (and to insert * it into an own main). */ Object *object; + /* Current frame. */ + int cfra; int sizex; int sizey; }; @@ -760,6 +762,10 @@ static Scene *object_preview_scene_create(const struct ObjectPreviewData *previe Depsgraph **r_depsgraph) { 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; + ViewLayer *view_layer = scene->view_layers.first; Depsgraph *depsgraph = DEG_graph_new( preview_data->pr_main, scene, view_layer, DAG_EVAL_VIEWPORT); @@ -804,6 +810,7 @@ static void object_preview_render(IconPreview *preview, IconPreviewSize *preview .pr_main = preview_main, /* Act on a copy. */ .object = (Object *)preview->id_copy, + .cfra = preview->scene->r.cfra, .sizex = preview_sized->sizex, .sizey = preview_sized->sizey, }; |