diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-08 18:04:54 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-08 18:23:25 +0300 |
commit | 3e86bb2d0bf1b13b4e482411dd176bac13e90961 (patch) | |
tree | c39469aa0af98e89dfbfac847e842c56a913cf92 /source/blender/editors/sculpt_paint/paint_hide.c | |
parent | 1ce55693f511013ceed962e8614aa61dd2dff4d5 (diff) |
Sculpt/Paint: move PBVH building to use evaluated mesh instead of deprecated Derivedmesh.
Pretty straightforward changes, merely mimicking dm-related code,
which was already essentially using either Mesh or BMesh data to
build the PBVH...
Note that we "lose" the subsurf (a.k.a. grid) PBVH case here, but that
one was already dead code in current blender2.8, since final dm is
always a cddm built from evaluated mesh.
Proper fix is pending new code for subsurf/multires area.
Diffstat (limited to 'source/blender/editors/sculpt_paint/paint_hide.c')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_hide.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_hide.c b/source/blender/editors/sculpt_paint/paint_hide.c index b8bee42e53d..ac5b0624d56 100644 --- a/source/blender/editors/sculpt_paint/paint_hide.c +++ b/source/blender/editors/sculpt_paint/paint_hide.c @@ -369,7 +369,6 @@ static int hide_show_exec(bContext *C, wmOperator *op) PartialVisArea area; PBVH *pbvh; PBVHNode **nodes; - DerivedMesh *dm; PBVHType pbvh_type; float clip_planes[4][4]; rcti rect; @@ -382,9 +381,9 @@ static int hide_show_exec(bContext *C, wmOperator *op) clip_planes_from_rect(C, clip_planes, &rect); - dm = mesh_get_derived_final(depsgraph, CTX_data_scene(C), ob, CD_MASK_BAREMESH); - pbvh = dm->getPBVH(ob, dm); - ob->sculpt->pbvh = pbvh; + Mesh *me_eval_deform = mesh_get_eval_deform(depsgraph, CTX_data_scene(C), ob, CD_MASK_BAREMESH); + pbvh = BKE_sculpt_object_pbvh_ensure(ob, me_eval_deform); + BLI_assert(ob->sculpt->pbvh == pbvh); get_pbvh_nodes(pbvh, &nodes, &totnode, clip_planes, area); pbvh_type = BKE_pbvh_type(pbvh); |