[Bf-blender-cvs] [02f553c] master: OpenSubdiv: Changes to texturing

Sergey Sharybin noreply at git.blender.org
Wed Aug 5 18:33:30 CEST 2015


Commit: 02f553cc7a399767b0466cb92a071db885570443
Author: Sergey Sharybin
Date:   Wed Aug 5 18:29:43 2015 +0200
Branches: master
https://developer.blender.org/rB02f553cc7a399767b0466cb92a071db885570443

OpenSubdiv: Changes to texturing

Use first material slot for until multiple materials are fully supported.

Also respect setMaterial()'s return value to avoid drawing unnecessary
geometry.

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

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 aa30016..02a7f6c 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -2632,11 +2632,10 @@ static void ccgDM_drawFacesSolid(DerivedMesh *dm, float (*partial_redraw_planes)
 			draw_smooth = true;
 			new_matnr = 1;
 		}
-		if (setMaterial) {
-			setMaterial(new_matnr, NULL);
+		if (setMaterial && setMaterial(new_matnr, NULL)) {
+			glShadeModel(draw_smooth ? GL_SMOOTH : GL_FLAT);
+			ccgSubSurf_drawGLMesh(ss, true, -1, -1);
 		}
-		glShadeModel(draw_smooth ? GL_SMOOTH : GL_FLAT);
-		ccgSubSurf_drawGLMesh(ss, true, -1, -1);
 		return;
 	}
 #endif
@@ -2691,8 +2690,9 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm,
 			new_matnr = 1;
 		}
 		glShadeModel(draw_smooth ? GL_SMOOTH : GL_FLAT);
-		setMaterial(new_matnr, &gattribs);
-		ccgSubSurf_drawGLMesh(ss, true, -1, -1);
+		if (setMaterial(new_matnr, &gattribs)) {
+			ccgSubSurf_drawGLMesh(ss, true, -1, -1);
+		}
 		return;
 	}
 #endif
@@ -4544,7 +4544,8 @@ static void set_ccgdm_gpu_geometry(CCGDerivedMesh *ccgdm, DerivedMesh *dm)
 
 	for (index = 0; index < totface; index++) {
 		faceFlags->flag = mpoly ?  mpoly[index].flag : 0;
-		faceFlags->mat_nr = mpoly ? mpoly[index].mat_nr : 0;
+		/* faceFlags->mat_nr = mpoly ? mpoly[index].mat_nr : 0; */
+		faceFlags->mat_nr = 0;
 		faceFlags++;
 	}




More information about the Bf-blender-cvs mailing list