Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2021-07-29 16:07:25 +0300
committerAntonio Vazquez <blendergit@gmail.com>2021-07-29 16:08:12 +0300
commitcafb1bc47f69cee8cd598f8c375f630f8fbdf4d9 (patch)
tree83179b7cd4e70526909e028a5e1c3bcd09bd7e1f /source/blender/editors/render/render_preview.c
parent24ba931f400ba6845096830922a39f06b6507494 (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/render_preview.c')
-rw-r--r--source/blender/editors/render/render_preview.c7
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,
};