Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/paint.c
| Show First 20 Lines • Show All 1,094 Lines • ▼ Show 20 Lines | #endif | ||||
| } | } | ||||
| } | } | ||||
| /* tessfaces aren't used and will become invalid */ | /* tessfaces aren't used and will become invalid */ | ||||
| BKE_mesh_tessface_clear(me); | BKE_mesh_tessface_clear(me); | ||||
| ss->kb = (mmd == NULL) ? BKE_keyblock_from_object(ob) : NULL; | ss->kb = (mmd == NULL) ? BKE_keyblock_from_object(ob) : NULL; | ||||
| Mesh *me_eval = mesh_get_eval_final(depsgraph, scene, ob_eval, CD_MASK_BAREMESH); | Mesh *me_eval = mesh_get_eval_final(depsgraph, scene, ob_eval, &CD_MASK_BAREMESH); | ||||
| /* VWPaint require mesh info for loop lookup, so require sculpt mode here */ | /* VWPaint require mesh info for loop lookup, so require sculpt mode here */ | ||||
| if (mmd && ob->mode & OB_MODE_SCULPT) { | if (mmd && ob->mode & OB_MODE_SCULPT) { | ||||
| ss->multires = mmd; | ss->multires = mmd; | ||||
| ss->totvert = me_eval->totvert; | ss->totvert = me_eval->totvert; | ||||
| ss->totpoly = me_eval->totpoly; | ss->totpoly = me_eval->totpoly; | ||||
| ss->mvert = NULL; | ss->mvert = NULL; | ||||
| ss->mpoly = NULL; | ss->mpoly = NULL; | ||||
| ▲ Show 20 Lines • Show All 280 Lines • ▼ Show 20 Lines | PBVH *BKE_sculpt_object_pbvh_ensure(Depsgraph *depsgraph, Object *ob) | ||||
| else { | else { | ||||
| Object *object_eval = DEG_get_evaluated_object(depsgraph, ob); | Object *object_eval = DEG_get_evaluated_object(depsgraph, ob); | ||||
| Mesh *mesh_eval = object_eval->data; | Mesh *mesh_eval = object_eval->data; | ||||
| if (mesh_eval->runtime.subdiv_ccg != NULL) { | if (mesh_eval->runtime.subdiv_ccg != NULL) { | ||||
| pbvh = build_pbvh_from_ccg(ob, mesh_eval->runtime.subdiv_ccg); | pbvh = build_pbvh_from_ccg(ob, mesh_eval->runtime.subdiv_ccg); | ||||
| } | } | ||||
| else if (ob->type == OB_MESH) { | else if (ob->type == OB_MESH) { | ||||
| Mesh *me_eval_deform = mesh_get_eval_deform( | Mesh *me_eval_deform = mesh_get_eval_deform( | ||||
| depsgraph, DEG_get_evaluated_scene(depsgraph), object_eval, CD_MASK_BAREMESH); | depsgraph, DEG_get_evaluated_scene(depsgraph), object_eval, &CD_MASK_BAREMESH); | ||||
| pbvh = build_pbvh_from_regular_mesh(ob, me_eval_deform); | pbvh = build_pbvh_from_regular_mesh(ob, me_eval_deform); | ||||
| } | } | ||||
| } | } | ||||
| ob->sculpt->pbvh = pbvh; | ob->sculpt->pbvh = pbvh; | ||||
| return pbvh; | return pbvh; | ||||
| } | } | ||||