[Bf-blender-cvs] [8c85bf4] temp-derivedmesh-looptri: minor tweaks

Campbell Barton noreply at git.blender.org
Thu Jul 16 18:59:27 CEST 2015


Commit: 8c85bf4e39cd6bdbe52f8a67bf3106f912778a27
Author: Campbell Barton
Date:   Fri Jul 17 02:54:53 2015 +1000
Branches: temp-derivedmesh-looptri
https://developer.blender.org/rB8c85bf4e39cd6bdbe52f8a67bf3106f912778a27

minor tweaks

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

M	source/blender/blenkernel/BKE_DerivedMesh.h
M	source/blender/blenkernel/intern/DerivedMesh.c
M	source/blender/blenkernel/intern/cdderivedmesh.c

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

diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 511e831..0a4cc7f 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -210,7 +210,11 @@ struct DerivedMesh {
 	/** Recalculates mesh tessellation */
 	void (*recalcTessellation)(DerivedMesh *dm);
 
+	/** Loop tessellation cache */
 	void (*recalcLoopTri)(DerivedMesh *dm);
+	/** accessor functions */
+	const struct MLoopTri *(*getLoopTriArray)(DerivedMesh * dm);
+	int (*getNumLoopTri)(DerivedMesh *dm);
 
 	/* Misc. Queries */
 
@@ -241,10 +245,6 @@ struct DerivedMesh {
 	struct MLoop *(*getLoopArray)(DerivedMesh * dm);
 	struct MPoly *(*getPolyArray)(DerivedMesh * dm);
 
-	/** Loop tessellation cache */
-	const struct MLoopTri *(*getLoopTriArray)(DerivedMesh * dm);
-	int (*getNumLoopTri)(DerivedMesh *dm);
-
 	/** Copy all verts/edges/faces from the derived mesh into
 	 * *{vert/edge/face}_r (must point to a buffer large enough)
 	 */
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index d8e823c..1bf49ad 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -3381,9 +3381,8 @@ void DM_draw_attrib_vertex(DMVertexAttribs *attribs, int a, int index, int vert,
 	for (b = 0; b < attribs->tottface; b++) {
 		const float *uv;
 
-
 		if (attribs->tface[b].array) {
-			MLoopUV *mloopuv = &attribs->tface[b].array[loop];
+			const MLoopUV *mloopuv = &attribs->tface[b].array[loop];
 			uv = mloopuv->uv;
 		}
 		else {
@@ -3401,8 +3400,8 @@ void DM_draw_attrib_vertex(DMVertexAttribs *attribs, int a, int index, int vert,
 		GLubyte col[4];
 
 		if (attribs->mcol[b].array) {
-			MLoopCol *cp = &attribs->mcol[b].array[loop];
-			col[0] = cp->r; col[1] = cp->g; col[2] = cp->b; col[3] = cp->a;
+			const MLoopCol *cp = &attribs->mcol[b].array[loop];
+			copy_v4_v4_char((char *)col, &cp->r);
 		}
 		else {
 			col[0] = 0; col[1] = 0; col[2] = 0; col[3] = 0;
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index b7ccec2..a91bc3c 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -365,12 +365,12 @@ static void cdDM_drawVerts(DerivedMesh *dm)
 static void cdDM_drawUVEdges(DerivedMesh *dm)
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
-	int i;
 	const MPoly *mpoly = cddm->mpoly;
 	int totpoly = dm->getNumPolys(dm);
 	int prevstart = 0;
 	bool prevdraw = true;
 	int curpos = 0;
+	int i;
 
 	GPU_uvedge_setup(dm);
 	for (i = 0; i < totpoly; i++, mpoly++) {
@@ -556,7 +556,8 @@ static void cdDM_drawFacesTex_common(
 				next_actualFace = bufmat->polys[i + 1];
 
 			if (drawParams) {
-				draw_option = drawParams(use_tface && mtexpoly ? &mtexpoly[actualFace] : NULL, (mloopcol != NULL), mpoly[actualFace].mat_nr);
+				MTexPoly *tp = use_tface && mtexpoly ? &mtexpoly[actualFace] : NULL;
+				draw_option = drawParams(tp, (mloopcol != NULL), mpoly[actualFace].mat_nr);
 			}
 			else {
 				if (index_mp_to_orig) {




More information about the Bf-blender-cvs mailing list