Commit: 083c6167f822a3282c29925934fce13a23b8b1e4
Author: Kévin Dietrich
Date: Fri Jun 10 11:57:00 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB083c6167f822a3282c29925934fce13a23b8b1e4
Fix crash importing UVs.
===================================================================
M source/blender/alembic/intern/abc_mesh.cc
===================================================================
diff --git a/source/blender/alembic/intern/abc_mesh.cc
b/source/blender/alembic/intern/abc_mesh.cc
index f37b04f..a5b70e4 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -1231,6 +1231,8 @@ void read_mpolys(MPoly *mpolys, MLoop *mloops, MLoopUV
*mloopuvs,
const Alembic::AbcGeom::V2fArraySamplePtr &uvs)
{
int loopcount = 0;
+ unsigned int vert_index;
+
for (int i = 0; i < face_counts->size(); ++i) {
int face_size = (*face_counts)[i];
MPoly &poly = mpolys[i];
@@ -1241,15 +1243,16 @@ void read_mpolys(MPoly *mpolys, MLoop *mloops, MLoopUV
*mloopuvs,
/* TODO: reverse */
int rev_loop = loopcount;
for (int f = face_size; f-- ;) {
- MLoop &loop = mloops[rev_loop + f];
+ MLoop &loop = mloops[rev_loop + f];
+
+ vert_index = (*face_indices)[loopcount++];
+ loop.v = vert_index;
if (mloopuvs && uvs) {
MLoopUV &loopuv = mloopuvs[rev_loop + f];
- loopuv.uv[0] = (*uvs)[loopcount][0];
- loopuv.uv[1] = (*uvs)[loopcount][1];
+ loopuv.uv[0] = (*uvs)[vert_index][0];
+ loopuv.uv[1] = (*uvs)[vert_index][1];
}
-
- loop.v = (*face_indices)[loopcount++];
}
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs