[Bf-blender-cvs] [9954cbfca6d] blender-v2.82-release: Fix T72063: Workbench Sculpt Render
Jeroen Bakker
noreply at git.blender.org
Tue Jan 14 11:04:56 CET 2020
Commit: 9954cbfca6df738341f67ada2bf5cb55f897549d
Author: Jeroen Bakker
Date: Tue Jan 14 11:01:15 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rB9954cbfca6df738341f67ada2bf5cb55f897549d
Fix T72063: Workbench Sculpt Render
When sculpting and doing a image render the workbench used the sculpt
batch what is created by a different GPU context and would not show up.
In debug builds an assert for this case is checked. I rechecked all
`use_sculpt_pbvh` that it also checked if it was rendering. Only the
workbench deferred didn't do this for the default render mode.
With this change the user can render a workbench render directly from
sculpt mode.
===================================================================
M source/blender/draw/engines/workbench/workbench_deferred.c
===================================================================
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 02a3af7fa73..8bc4ae2e101 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -1027,7 +1027,8 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
WORKBENCH_MaterialData *material;
if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL)) {
const bool is_active = (ob == draw_ctx->obact);
- const bool use_sculpt_pbvh = BKE_sculptsession_use_pbvh_draw(ob, draw_ctx->v3d);
+ const bool use_sculpt_pbvh = BKE_sculptsession_use_pbvh_draw(ob, draw_ctx->v3d) &&
+ !DRW_state_is_image_render();
const bool use_hide = is_active && DRW_object_use_hide_faces(ob);
const int materials_len = MAX2(1, ob->totcol);
const Mesh *me = (ob->type == OB_MESH) ? ob->data : NULL;
More information about the Bf-blender-cvs
mailing list