Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/paint.c
| Show First 20 Lines • Show All 1,408 Lines • ▼ Show 20 Lines | MultiresModifierData *BKE_sculpt_multires_active(Scene *scene, Object *ob) | ||||
| for (md = modifiers_getVirtualModifierList(ob, &virtualModifierData); md; md = md->next) { | for (md = modifiers_getVirtualModifierList(ob, &virtualModifierData); md; md = md->next) { | ||||
| if (md->type == eModifierType_Multires) { | if (md->type == eModifierType_Multires) { | ||||
| MultiresModifierData *mmd = (MultiresModifierData *)md; | MultiresModifierData *mmd = (MultiresModifierData *)md; | ||||
| if (!modifier_isEnabled(scene, md, eModifierMode_Realtime)) { | if (!modifier_isEnabled(scene, md, eModifierMode_Realtime)) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| if (BKE_multires_sculpt_level_get(mmd) > 0) { | if (mmd->sculptlvl > 0) { | ||||
| return mmd; | return mmd; | ||||
| } | } | ||||
| else { | else { | ||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 255 Lines • ▼ Show 20 Lines | int BKE_sculpt_mask_layers_ensure(Object *ob, MultiresModifierData *mmd) | ||||
| int ret = 0; | int ret = 0; | ||||
| paint_mask = CustomData_get_layer(&me->vdata, CD_PAINT_MASK); | paint_mask = CustomData_get_layer(&me->vdata, CD_PAINT_MASK); | ||||
| /* if multires is active, create a grid paint mask layer if there | /* if multires is active, create a grid paint mask layer if there | ||||
| * isn't one already */ | * isn't one already */ | ||||
| if (mmd && !CustomData_has_layer(&me->ldata, CD_GRID_PAINT_MASK)) { | if (mmd && !CustomData_has_layer(&me->ldata, CD_GRID_PAINT_MASK)) { | ||||
| GridPaintMask *gmask; | GridPaintMask *gmask; | ||||
| int level = max_ii(1, BKE_multires_sculpt_level_get(mmd)); | int level = max_ii(1, mmd->sculptlvl); | ||||
| int gridsize = BKE_ccg_gridsize(level); | int gridsize = BKE_ccg_gridsize(level); | ||||
| int gridarea = gridsize * gridsize; | int gridarea = gridsize * gridsize; | ||||
| int i, j; | int i, j; | ||||
| gmask = CustomData_add_layer(&me->ldata, CD_GRID_PAINT_MASK, CD_CALLOC, NULL, me->totloop); | gmask = CustomData_add_layer(&me->ldata, CD_GRID_PAINT_MASK, CD_CALLOC, NULL, me->totloop); | ||||
| for (i = 0; i < me->totloop; i++) { | for (i = 0; i < me->totloop; i++) { | ||||
| GridPaintMask *gpm = &gmask[i]; | GridPaintMask *gpm = &gmask[i]; | ||||
| ▲ Show 20 Lines • Show All 231 Lines • Show Last 20 Lines | |||||