Commit: f456131666b8feb5dff4daeab59ebb6a75a0f783
Author: Campbell Barton
Date:   Thu Jul 16 20:35:16 2015 +1000
Branches: temp-derivedmesh-looptri
https://developer.blender.org/rBf456131666b8feb5dff4daeab59ebb6a75a0f783

Fix for subsurf using MCol instead of MLoopCol

===================================================================

M       source/blender/blenkernel/intern/subsurf_ccg.c

===================================================================

diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c 
b/source/blender/blenkernel/intern/subsurf_ccg.c
index 023c355..5f2fabc 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -2619,8 +2619,8 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
        CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
        CCGSubSurf *ss = ccgdm->ss;
        CCGKey key;
-       int colType = CD_TEXTURE_MLOOPCOL;
-       MCol *mcol = dm->getTessFaceDataArray(dm, colType);
+       int colType;
+       const  MLoopCol *mloopcol;
        MTFace *tf = DM_get_tessface_data_layer(dm, CD_MTFACE);
        DMFlagMat *faceFlags = ccgdm->faceFlags;
        DMDrawOption draw_option;
@@ -2635,13 +2635,15 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
        CCG_key_top_level(&key, ss);
        ccgdm_pbvh_update(ccgdm);
 
-       if (!mcol) {
+       colType = CD_TEXTURE_MLOOPCOL;
+       mloopcol = dm->getLoopDataArray(dm, colType);
+       if (!mloopcol) {
                colType = CD_PREVIEW_MCOL;
-               mcol = dm->getTessFaceDataArray(dm, colType);
+               mloopcol = dm->getLoopDataArray(dm, colType);
        }
-       if (!mcol) {
-               colType = CD_MCOL;
-               mcol = dm->getTessFaceDataArray(dm, colType);
+       if (!mloopcol) {
+               colType = CD_MLOOPCOL;
+               mloopcol = dm->getLoopDataArray(dm, colType);
        }
 
        GPU_vertex_setup(dm);
@@ -2651,7 +2653,7 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
                GPU_texpaint_uv_setup(dm);
        else
                GPU_uv_setup(dm);
-       if (mcol) {
+       if (mloopcol) {
                GPU_color_setup(dm, colType);
        }
 
@@ -2697,7 +2699,7 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
                                        ME_MTEXFACE_CPY(&tpoly, tf + 
actualFace);
                                }
 
-                               draw_option = drawParams((use_tface && tf) ? 
&tpoly : NULL, (mcol != NULL), mat_nr);
+                               draw_option = drawParams((use_tface && tf) ? 
&tpoly : NULL, (mloopcol != NULL), mat_nr);
                        }
                        else if (index != ORIGINDEX_NONE)
                                draw_option = (drawParamsMapped) ? 
drawParamsMapped(userData, index, mat_nr) : DM_DRAW_OPTION_NORMAL;
@@ -2720,7 +2722,7 @@ static void ccgDM_drawFacesTex_common(DerivedMesh *dm,
                                        tot_drawn += facequads * 6;
 
                                if (tot_drawn) {
-                                       if (mcol && draw_option != 
DM_DRAW_OPTION_NO_MCOL)
+                                       if (mloopcol && draw_option != 
DM_DRAW_OPTION_NO_MCOL)
                                                GPU_color_switch(1);
                                        else
                                                GPU_color_switch(0);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to