[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57209] trunk/blender/source/blender/ collada/GeometryExporter.cpp: fix [#35592] Collada (DAE) exporter messes up vertex colors

Campbell Barton ideasman42 at gmail.com
Mon Jun 3 01:53:03 CEST 2013


Revision: 57209
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57209
Author:   campbellbarton
Date:     2013-06-02 23:53:03 +0000 (Sun, 02 Jun 2013)
Log Message:
-----------
fix [#35592] Collada (DAE) exporter messes up vertex colors

Modified Paths:
--------------
    trunk/blender/source/blender/collada/GeometryExporter.cpp

Modified: trunk/blender/source/blender/collada/GeometryExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/GeometryExporter.cpp	2013-06-02 23:20:49 UTC (rev 57208)
+++ trunk/blender/source/blender/collada/GeometryExporter.cpp	2013-06-02 23:53:03 UTC (rev 57209)
@@ -439,7 +439,8 @@
 
 void GeometryExporter::createVertexColorSource(std::string geom_id, Mesh *me)
 {
-	if (!CustomData_has_layer(&me->ldata, CD_MLOOPCOL))
+	MLoopCol *mloopcol = (MLoopCol *)CustomData_get_layer(&me->ldata, CD_MLOOPCOL);
+	if (mloopcol == NULL)
 		return;
 
 
@@ -456,18 +457,15 @@
 
 	source.prepareToAppendValues();
 
-	int index = CustomData_get_active_layer_index(&me->ldata, CD_MLOOPCOL);
-	MCol *mcol = (MCol *)me->ldata.layers[index].data;
-
 	MPoly *mpoly;
 	int i;
 	for (i = 0, mpoly = me->mpoly; i < me->totpoly; i++, mpoly++) {
-		MCol *color = mcol + mpoly->loopstart;
-		for (int j = 0; j < mpoly->totloop; j++, color++) {
+		MLoopCol *mlc = mloopcol + mpoly->loopstart;
+		for (int j = 0; j < mpoly->totloop; j++, mlc++) {
 			source.appendValues(
-					color->b / 255.0f,
-					color->g / 255.0f,
-					color->r / 255.0f 
+					mlc->r / 255.0f,
+					mlc->g / 255.0f,
+					mlc->b / 255.0f
 			);
 		}
 	}




More information about the Bf-blender-cvs mailing list