[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44949] trunk/blender/source/blender: swap BMLoopCol r/b color, requires subversion bump.

Campbell Barton ideasman42 at gmail.com
Sat Mar 17 21:39:37 CET 2012


Revision: 44949
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44949
Author:   campbellbarton
Date:     2012-03-17 20:39:28 +0000 (Sat, 17 Mar 2012)
Log Message:
-----------
swap BMLoopCol r/b color, requires subversion bump.

old mesh MCol 'r' was blue, 'b' was red, but theres no reason to keep this for bmesh with MLoopCol.

Loading old files works, saving legacy format works too.

What wont work is loading a file after this revision and loading it in an older revision since the bmesh merge.
(it wont crash but the blue and red will be swapped on vertex color layers).

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_blender.h
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/customdata.c
    trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
    trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/mesh.c
    trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/space_view3d/drawmesh.c
    trunk/blender/source/blender/makesdna/DNA_meshdata_types.h
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_types_meshdata.c

Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h	2012-03-17 20:39:28 UTC (rev 44949)
@@ -42,7 +42,7 @@
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION			262
-#define BLENDER_SUBVERSION		1
+#define BLENDER_SUBVERSION		2
 
 #define BLENDER_MINVERSION		250
 #define BLENDER_MINSUBVERSION	0

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -1763,10 +1763,7 @@
 		for (j=0; j<3; j++) {
 			l = l3[j];
 			mloopcol = CustomData_bmesh_get_n(&bm->ldata, l->head.data, CD_MLOOPCOL, i);
-			mcol[j].r = mloopcol->r;
-			mcol[j].g = mloopcol->g;
-			mcol[j].b = mloopcol->b;
-			mcol[j].a = mloopcol->a;
+			MESH_MLOOPCOL_TO_MCOL(mloopcol, &mcol[j]);
 		}
 	}
 
@@ -1776,10 +1773,7 @@
 		for (j=0; j<3; j++) {
 			l = l3[j];
 			mloopcol = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_WEIGHT_MLOOPCOL);
-			mcol[j].r = mloopcol->r;
-			mcol[j].g = mloopcol->g;
-			mcol[j].b = mloopcol->b;
-			mcol[j].a = mloopcol->a;
+			MESH_MLOOPCOL_TO_MCOL(mloopcol, &mcol[j]);
 		}
 	}
 }

Modified: trunk/blender/source/blender/blenkernel/intern/customdata.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/customdata.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/customdata.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -663,17 +663,17 @@
 		float weight = weights ? weights[i] : 1;
 		MLoopCol *src = sources[i];
 		if (sub_weights) {
-			col.a += src->a * (*sub_weight) * weight;
 			col.r += src->r * (*sub_weight) * weight;
 			col.g += src->g * (*sub_weight) * weight;
 			col.b += src->b * (*sub_weight) * weight;
+			col.a += src->a * (*sub_weight) * weight;
 			sub_weight++;
 		}
 		else {
-			col.a += src->a * weight;
 			col.r += src->r * weight;
 			col.g += src->g * weight;
 			col.b += src->b * weight;
+			col.a += src->a * weight;
 		}
 	}
 	
@@ -684,10 +684,10 @@
 	CLAMP(col.g, 0.0f, 255.0f);
 	CLAMP(col.b, 0.0f, 255.0f);
 	
-	mc->a = (int)col.a;
 	mc->r = (int)col.r;
 	mc->g = (int)col.g;
 	mc->b = (int)col.b;
+	mc->a = (int)col.a;
 }
 
 static void layerCopyValue_mloopuv(void *source, void *dest)

Modified: trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -1653,15 +1653,13 @@
 											/* mix surface color */
 											interp_v3_v3v3(c, c, &fcolor[v_index], fcolor[v_index+3]);
 
-											col[l_index].r = FTOCHAR(c[2]);
-											col[l_index].g = FTOCHAR(c[1]);
-											col[l_index].b = FTOCHAR(c[0]);
+											rgb_float_to_uchar((unsigned char *)&col[l_index].r, c);
 										}
 										else {
-											col[l_index].a = 255;
 											col[l_index].r =
 											col[l_index].g =
 											col[l_index].b = FTOCHAR(pPoint[v_index].wetness);
+											col[l_index].a = 255;
 										}
 									}
 								}
@@ -1681,10 +1679,8 @@
 							#pragma omp parallel for schedule(static)
 							for (i=0; i<totloop; i++) {
 								int index = mloop[i].v*4;
-								col[i].a = FTOCHAR(fcolor[index+3]);
-								col[i].r = FTOCHAR(fcolor[index+2]);
-								col[i].g = FTOCHAR(fcolor[index+1]);
-								col[i].b = FTOCHAR(fcolor[index]);
+								rgb_float_to_uchar((unsigned char *)&col[i].r, &fcolor[index]);
+								col[i].a = FTOCHAR(fcolor[index+3]); /* IS THIS NEEDED? */
 							}
 						}
 						
@@ -1700,10 +1696,10 @@
 							#pragma omp parallel for schedule(static)
 							for (i=0; i<totloop; i++) {
 								int index = mloop[i].v;
-								col[i].a = 255;
 								col[i].r =
 								col[i].g =
 								col[i].b = FTOCHAR(pPoint[index].wetness);
+								col[i].a = 255;
 							}
 						}
 					}

Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -803,7 +803,7 @@
 
 	luv[0] = luv[1] = luv[2] = &dummyluv;
 
-	dummylcol.a = dummylcol.r = dummylcol.g = dummylcol.b = 255;
+	dummylcol.r = dummylcol.g = dummylcol.b = dummylcol.a = 255;
 
 	/* always use smooth shading even for flat faces, else vertex colors wont interpolate */
 	glShadeModel(GL_SMOOTH);
@@ -844,17 +844,17 @@
 
 					glTexCoord2fv(luv[0]->uv);
 					if (lcol[0])
-						glColor3ub(lcol[0]->b, lcol[0]->g, lcol[0]->r);
+						glColor3ubv((const GLubyte *)&(lcol[0]->r));
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[0]->v)]);
 
 					glTexCoord2fv(luv[1]->uv);
 					if (lcol[1])
-						glColor3ub(lcol[1]->b, lcol[1]->g, lcol[1]->r);
+						glColor3ubv((const GLubyte *)&(lcol[1]->r));
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[1]->v)]);
 
 					glTexCoord2fv(luv[2]->uv);
 					if (lcol[2])
-						glColor3ub(lcol[2]->b, lcol[2]->g, lcol[2]->r);
+						glColor3ubv((const GLubyte *)&(lcol[2]->r));
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[2]->v)]);
 				}
 				else {
@@ -862,19 +862,19 @@
 
 					glTexCoord2fv(luv[0]->uv);
 					if (lcol[0])
-						glColor3ub(lcol[0]->b, lcol[0]->g, lcol[0]->r);
+						glColor3ubv((const GLubyte *)&(lcol[0]->r));
 					glNormal3fv(vertexNos[BM_elem_index_get(ls[0]->v)]);
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[0]->v)]);
 
 					glTexCoord2fv(luv[1]->uv);
 					if (lcol[1])
-						glColor3ub(lcol[1]->b, lcol[1]->g, lcol[1]->r);
+						glColor3ubv((const GLubyte *)&(lcol[1]->r));
 					glNormal3fv(vertexNos[BM_elem_index_get(ls[1]->v)]);
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[1]->v)]);
 
 					glTexCoord2fv(luv[2]->uv);
 					if (lcol[2])
-						glColor3ub(lcol[2]->b, lcol[2]->g, lcol[2]->r);
+						glColor3ubv((const GLubyte *)&(lcol[2]->r));
 					glNormal3fv(vertexNos[BM_elem_index_get(ls[2]->v)]);
 					glVertex3fv(vertexCos[BM_elem_index_get(ls[2]->v)]);
 				}
@@ -917,19 +917,19 @@
 					if (luv[0])
 						glTexCoord2fv(luv[0]->uv);
 					if (lcol[0])
-						glColor3ub(lcol[0]->b, lcol[0]->g, lcol[0]->r);
+						glColor3ubv((const GLubyte *)&(lcol[0]->r));
 					glVertex3fv(ls[0]->v->co);
 
 					if (luv[1])
 						glTexCoord2fv(luv[1]->uv);
 					if (lcol[1])
-						glColor3ub(lcol[1]->b, lcol[1]->g, lcol[1]->r);
+						glColor3ubv((const GLubyte *)&(lcol[1]->r));
 					glVertex3fv(ls[1]->v->co);
 
 					if (luv[2])
 						glTexCoord2fv(luv[2]->uv);
 					if (lcol[2])
-						glColor3ub(lcol[2]->b, lcol[2]->g, lcol[2]->r);
+						glColor3ubv((const GLubyte *)&(lcol[2]->r));
 					glVertex3fv(ls[2]->v->co);
 				}
 				else {
@@ -938,21 +938,21 @@
 					if (luv[0])
 						glTexCoord2fv(luv[0]->uv);
 					if (lcol[0])
-						glColor3ub(lcol[0]->b, lcol[0]->g, lcol[0]->r);
+						glColor3ubv((const GLubyte *)&(lcol[0]->r));
 					glNormal3fv(ls[0]->v->no);
 					glVertex3fv(ls[0]->v->co);
 
 					if (luv[1])
 						glTexCoord2fv(luv[1]->uv);
 					if (lcol[1])
-						glColor3ub(lcol[1]->b, lcol[1]->g, lcol[1]->r);
+						glColor3ubv((const GLubyte *)&(lcol[1]->r));
 					glNormal3fv(ls[1]->v->no);
 					glVertex3fv(ls[1]->v->co);
 
 					if (luv[2])
 						glTexCoord2fv(luv[2]->uv);
 					if (lcol[2])
-						glColor3ub(lcol[2]->b, lcol[2]->g, lcol[2]->r);
+						glColor3ubv((const GLubyte *)&(lcol[2]->r));
 					glNormal3fv(ls[2]->v->no);
 					glVertex3fv(ls[2]->v->co);
 				}

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -1942,11 +1942,11 @@
 		mloopcol = CustomData_get_n(&me->ldata, CD_MLOOPCOL, loopstart, i);
 		mcol = CustomData_get_n(&me->fdata, CD_MCOL, findex, i);
 
-		mloopcol->r = mcol[0].r; mloopcol->g = mcol[0].g; mloopcol->b = mcol[0].b; mloopcol->a = mcol[0].a; mloopcol++;
-		mloopcol->r = mcol[1].r; mloopcol->g = mcol[1].g; mloopcol->b = mcol[1].b; mloopcol->a = mcol[1].a; mloopcol++;
-		mloopcol->r = mcol[2].r; mloopcol->g = mcol[2].g; mloopcol->b = mcol[2].b; mloopcol->a = mcol[2].a; mloopcol++;
+		MESH_MLOOPCOL_FROM_MCOL(mloopcol, &mcol[0]); mloopcol++;
+		MESH_MLOOPCOL_FROM_MCOL(mloopcol, &mcol[1]); mloopcol++;
+		MESH_MLOOPCOL_FROM_MCOL(mloopcol, &mcol[2]); mloopcol++;
 		if (mf->v4) {
-			mloopcol->r = mcol[3].r; mloopcol->g = mcol[3].g; mloopcol->b = mcol[3].b; mloopcol->a = mcol[3].a; mloopcol++;
+			MESH_MLOOPCOL_FROM_MCOL(mloopcol, &mcol[3]); mloopcol++;
 		}
 	}
 	
@@ -2293,10 +2293,7 @@
 
 		for (j=0; j < mf_len; j++) {
 			mloopcol = CustomData_get_n(ldata, CD_MLOOPCOL, lindex[j], i);
-			mcol[j].r = mloopcol->r;
-			mcol[j].g = mloopcol->g;
-			mcol[j].b = mloopcol->b;
-			mcol[j].a = mloopcol->a;
+			MESH_MLOOPCOL_TO_MCOL(mloopcol, &mcol[j]);
 		}
 	}
 
@@ -2305,10 +2302,7 @@
 
 		for (j=0; j < mf_len; j++) {
 			mloopcol = CustomData_get(ldata, lindex[j], CD_WEIGHT_MLOOPCOL);
-			mcol[j].r = mloopcol->r;
-			mcol[j].g = mloopcol->g;
-			mcol[j].b = mloopcol->b;
-			mcol[j].a = mloopcol->a;
+			MESH_MLOOPCOL_TO_MCOL(mloopcol, &mcol[j]);
 		}
 	}
 

Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c	2012-03-17 19:34:02 UTC (rev 44948)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c	2012-03-17 20:39:28 UTC (rev 44949)
@@ -2450,10 +2450,7 @@
 		mcol = CustomData_get_n(fdata, CD_MCOL, findex, i);
 
 		for (j=0; j<4; j++, mloopcol++) {
-			mcol[j].r = mloopcol->r;
-			mcol[j].g = mloopcol->g;
-			mcol[j].b = mloopcol->b;
-			mcol[j].a = mloopcol->a;

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list