diff --git a/paint/sources/nodes_material/bake_texture_node.c b/paint/sources/nodes_material/bake_texture_node.c index afb8c567..135d3f47 100644 --- a/paint/sources/nodes_material/bake_texture_node.c +++ b/paint/sources/nodes_material/bake_texture_node.c @@ -102,6 +102,7 @@ static void bake_texture_node_run(ui_node_t *node, int bake_type, bool rt_bake) g_context->layer->texpaint = rt->_image; g_context->pdirty = rt_bake ? g_context->bake_samples : 1; g_context->rdirty = 3; + g_context->rtdirty = 1; render_path_raytrace_bake_current_sample = 0; render_path_raytrace_frame = 0; bake_texture_node_baking = true; diff --git a/paint/sources/render/render_path_raytrace_bake.c b/paint/sources/render/render_path_raytrace_bake.c index 7f2e8ee2..5f84ac6a 100644 --- a/paint/sources/render/render_path_raytrace_bake.c +++ b/paint/sources/render/render_path_raytrace_bake.c @@ -95,7 +95,9 @@ bool render_path_raytrace_bake_commands(void (*parse_paint_material)(bool)) { gpu_texture_t *saved_envmap = g_context->show_envmap_blur ? probe->_->radiance_mipmaps->buffer[0] : g_context->saved_envmap; if (render_path_raytrace_last_envmap != saved_envmap || render_path_raytrace_bake_last_layer != g_context->layer->texpaint || - render_path_raytrace_bake_last_bake_type2 != g_context->bake_type) { + render_path_raytrace_bake_last_bake_type2 != g_context->bake_type || g_context->rtdirty > 0) { + + g_context->rtdirty = 0; gc_unroot(render_path_raytrace_last_envmap); render_path_raytrace_last_envmap = saved_envmap;