Revision: 26646
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26646
Author:   blendix
Date:     2010-02-06 18:04:13 +0100 (Sat, 06 Feb 2010)

Log Message:
-----------
Fix part of #20468: material changes when switch to sculpt mode.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2010-02-06 16:39:44 UTC (rev 26645)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c      
2010-02-06 17:04:13 UTC (rev 26646)
@@ -414,16 +414,18 @@
 }
 
        if(cddm->pbvh) {
-               float (*face_nors)[3] = CustomData_get_layer(&dm->faceData, 
CD_NORMAL);
+               if(dm->numFaceData) {
+                       float (*face_nors)[3] = 
CustomData_get_layer(&dm->faceData, CD_NORMAL);
 
-               /* should be per face */
-               if(dm->numFaceData && mface->flag & ME_SMOOTH)
-                       glShadeModel(GL_SMOOTH);
+                       /* should be per face */
+                       if(!setMaterial(mface->mat_nr+1, NULL))
+                               return;
 
-               BLI_pbvh_draw(cddm->pbvh, partial_redraw_planes, face_nors);
+                       glShadeModel((mface->flag & ME_SMOOTH)? GL_SMOOTH: 
GL_FLAT);
+                       BLI_pbvh_draw(cddm->pbvh, partial_redraw_planes, 
face_nors);
+                       glShadeModel(GL_FLAT);
+               }
 
-               glShadeModel(GL_FLAT);
-
                return;
        }
 

Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c        
2010-02-06 16:39:44 UTC (rev 26645)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c        
2010-02-06 17:04:13 UTC (rev 26646)
@@ -1240,14 +1240,16 @@
                        MEM_freeN(faces);
                }
 
-               /* should be per face */
-               if(faceFlags && faceFlags[0] & ME_SMOOTH)
-                       glShadeModel(GL_SMOOTH);
+               if(dm->numFaceData) {
+                       /* should be per face */
+                       if(!setMaterial(faceFlags[1], NULL))
+                               return;
 
-               BLI_pbvh_draw(ccgdm->pbvh, partial_redraw_planes, NULL);
+                       glShadeModel((faceFlags[0] & ME_SMOOTH)? GL_SMOOTH: 
GL_FLAT);
+                       BLI_pbvh_draw(ccgdm->pbvh, partial_redraw_planes, NULL);
+                       glShadeModel(GL_FLAT);
+               }
 
-               glShadeModel(GL_FLAT);
-
                return;
        }
 


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

Reply via email to