Use loop data instead of face data

Replace checks in various places
This commit is contained in:
Campbell Barton 2015-07-27 20:59:10 +10:00
parent 15676bcc85
commit 67fe5726af
8 changed files with 15 additions and 15 deletions

@ -1649,7 +1649,7 @@ static void mesh_calc_modifiers(
const bool do_final_wmcol = (scene->toolsettings->weights_preview == WP_WPREVIEW_FINAL) && do_wmcol; const bool do_final_wmcol = (scene->toolsettings->weights_preview == WP_WPREVIEW_FINAL) && do_wmcol;
#endif #endif
const bool do_final_wmcol = false; const bool do_final_wmcol = false;
const bool do_init_wmcol = ((dataMask & CD_MASK_PREVIEW_MCOL) && (ob->mode & OB_MODE_WEIGHT_PAINT) && !do_final_wmcol); const bool do_init_wmcol = ((dataMask & CD_MASK_PREVIEW_MLOOPCOL) && (ob->mode & OB_MODE_WEIGHT_PAINT) && !do_final_wmcol);
/* XXX Same as above... For now, only weights preview in WPaint mode. */ /* XXX Same as above... For now, only weights preview in WPaint mode. */
const bool do_mod_wmcol = do_init_wmcol; const bool do_mod_wmcol = do_init_wmcol;
@ -2555,16 +2555,16 @@ static CustomDataMask object_get_datamask(const Scene *scene, Object *ob, bool *
/* check if we need tfaces & mcols due to face select or texture paint */ /* check if we need tfaces & mcols due to face select or texture paint */
if ((ob->mode & OB_MODE_TEXTURE_PAINT) || editing) { if ((ob->mode & OB_MODE_TEXTURE_PAINT) || editing) {
mask |= CD_MASK_MTFACE | CD_MASK_MCOL; mask |= CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL;
} }
/* check if we need mcols due to vertex paint or weightpaint */ /* check if we need mcols due to vertex paint or weightpaint */
if (ob->mode & OB_MODE_VERTEX_PAINT) { if (ob->mode & OB_MODE_VERTEX_PAINT) {
mask |= CD_MASK_MCOL; mask |= CD_MASK_MLOOPCOL;
} }
if (ob->mode & OB_MODE_WEIGHT_PAINT) { if (ob->mode & OB_MODE_WEIGHT_PAINT) {
mask |= CD_MASK_PREVIEW_MCOL; mask |= CD_MASK_PREVIEW_MLOOPCOL;
} }
if (ob->mode & OB_MODE_EDIT) if (ob->mode & OB_MODE_EDIT)

@ -515,7 +515,7 @@ static void cdDM_drawFacesTex_common(
colType = CD_TEXTURE_MLOOPCOL; colType = CD_TEXTURE_MLOOPCOL;
mloopcol = dm->getLoopDataArray(dm, colType); mloopcol = dm->getLoopDataArray(dm, colType);
if (!mloopcol) { if (!mloopcol) {
colType = CD_PREVIEW_MCOL; colType = CD_PREVIEW_MLOOPCOL;
mloopcol = dm->getLoopDataArray(dm, colType); mloopcol = dm->getLoopDataArray(dm, colType);
} }
if (!mloopcol) { if (!mloopcol) {

@ -325,7 +325,7 @@ bool dynamicPaint_outputLayerExists(struct DynamicPaintSurface *surface, Object
if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) { if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) {
if (surface->type == MOD_DPAINT_SURFACE_T_PAINT) { if (surface->type == MOD_DPAINT_SURFACE_T_PAINT) {
Mesh *me = ob->data; Mesh *me = ob->data;
return (CustomData_get_named_layer_index(&me->fdata, CD_MCOL, name) != -1); return (CustomData_get_named_layer_index(&me->ldata, CD_MLOOPCOL, name) != -1);
} }
else if (surface->type == MOD_DPAINT_SURFACE_T_WEIGHT) else if (surface->type == MOD_DPAINT_SURFACE_T_WEIGHT)
return (defgroup_name_index(ob, surface->output_name) != -1); return (defgroup_name_index(ob, surface->output_name) != -1);

@ -3048,7 +3048,7 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
colType = CD_TEXTURE_MLOOPCOL; colType = CD_TEXTURE_MLOOPCOL;
mloopcol = dm->getLoopDataArray(dm, colType); mloopcol = dm->getLoopDataArray(dm, colType);
if (!mloopcol) { if (!mloopcol) {
colType = CD_PREVIEW_MCOL; colType = CD_PREVIEW_MLOOPCOL;
mloopcol = dm->getLoopDataArray(dm, colType); mloopcol = dm->getLoopDataArray(dm, colType);
} }
if (!mloopcol) { if (!mloopcol) {

@ -83,8 +83,8 @@ static bool vertex_paint_use_fast_update_check(Object *ob)
if (dm) { if (dm) {
Mesh *me = BKE_mesh_from_object(ob); Mesh *me = BKE_mesh_from_object(ob);
if (me && me->mcol) { if (me && me->mloopcol) {
return (me->mcol == CustomData_get_layer(&dm->faceData, CD_MCOL)); return (me->mloopcol == CustomData_get_layer(&dm->loopData, CD_MLOOPCOL));
} }
} }

@ -2619,7 +2619,7 @@ CustomDataMask ED_view3d_datamask(const Scene *scene, const View3D *v3d)
if (ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL) || if (ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL) ||
((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX)))
{ {
mask |= CD_MASK_MTFACE | CD_MASK_MCOL; mask |= CD_MASK_MTEXPOLY | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL;
if (BKE_scene_use_new_shading_nodes(scene)) { if (BKE_scene_use_new_shading_nodes(scene)) {
if (v3d->drawtype == OB_MATERIAL) if (v3d->drawtype == OB_MATERIAL)

@ -175,7 +175,7 @@ static void dupli_render_particle_set(Scene *scene, Object *ob, int level, int e
/* this is to make sure we get render level duplis in groups: /* this is to make sure we get render level duplis in groups:
* the derivedmesh must be created before init_render_mesh, * the derivedmesh must be created before init_render_mesh,
* since object_duplilist does dupliparticles before that */ * since object_duplilist does dupliparticles before that */
dm = mesh_create_derived_render(scene, ob, CD_MASK_BAREMESH | CD_MASK_MTFACE | CD_MASK_MCOL); dm = mesh_create_derived_render(scene, ob, CD_MASK_BAREMESH | CD_MASK_MLOOPUV | CD_MASK_MLOOPCOL);
dm->release(dm); dm->release(dm);
for (psys = ob->particlesystem.first; psys; psys = psys->next) for (psys = ob->particlesystem.first; psys; psys = psys->next)

@ -76,24 +76,24 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
if (surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ || if (surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ ||
surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE) surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE)
{ {
dataMask |= (1 << CD_MTFACE); dataMask |= CD_MASK_MLOOPUV | CD_MASK_MTEXPOLY;
} }
/* mcol */ /* mcol */
if (surface->type == MOD_DPAINT_SURFACE_T_PAINT || if (surface->type == MOD_DPAINT_SURFACE_T_PAINT ||
surface->init_color_type == MOD_DPAINT_INITIAL_VERTEXCOLOR) surface->init_color_type == MOD_DPAINT_INITIAL_VERTEXCOLOR)
{ {
dataMask |= (1 << CD_MCOL); dataMask |= CD_MASK_MLOOPCOL;
} }
/* CD_MDEFORMVERT */ /* CD_MDEFORMVERT */
if (surface->type == MOD_DPAINT_SURFACE_T_WEIGHT) { if (surface->type == MOD_DPAINT_SURFACE_T_WEIGHT) {
dataMask |= (1 << CD_MDEFORMVERT); dataMask |= CD_MASK_MDEFORMVERT;
} }
} }
} }
if (pmd->brush) { if (pmd->brush) {
if (pmd->brush->flags & MOD_DPAINT_USE_MATERIAL) { if (pmd->brush->flags & MOD_DPAINT_USE_MATERIAL) {
dataMask |= (1 << CD_MTFACE); dataMask |= CD_MASK_MLOOPUV | CD_MASK_MTEXPOLY;
} }
} }
return dataMask; return dataMask;