diff options
Diffstat (limited to 'source/blender/modifiers/intern/MOD_displace.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_displace.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index fc619837cb7..87b25982d81 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -65,22 +65,23 @@ static void initData(ModifierData *md) dmd->space = MOD_DISP_SPACE_LOCAL; } -static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) +static void requiredDataMask(Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) { DisplaceModifierData *dmd = (DisplaceModifierData *)md; - CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if (dmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; + if (dmd->defgrp_name[0] != '\0') { + r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT; + } /* ask for UV coordinates if we need them */ - if (dmd->texmapping == MOD_DISP_MAP_UV) dataMask |= CD_MASK_MTFACE; + if (dmd->texmapping == MOD_DISP_MAP_UV) { + r_cddata_masks->fmask |= CD_MASK_MTFACE; + } if (dmd->direction == MOD_DISP_DIR_CLNOR) { - dataMask |= CD_MASK_CUSTOMLOOPNORMAL; + r_cddata_masks->lmask |= CD_MASK_CUSTOMLOOPNORMAL; } - - return dataMask; } static bool dependsOnTime(ModifierData *md) |