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