Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-07-03 01:47:42 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-07-03 01:47:42 +0400
commite60a33ba0781da294f85b449473c5a38e29b3d16 (patch)
treed4637d59fa4c7ebe7e0ff0e27c6d16dc5111b24e /source/blender/blenkernel
parent65cbcde831d4dcefcc92abdc63d9fe785e6cff4c (diff)
fix for own error in 57226, broke subsurf-uv
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index d841d6c7dc7..9b5e5070342 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -290,7 +290,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
MVert *mvert = dm->getVertArray(dm);
int totvert = dm->getNumVerts(dm);
int totface = dm->getNumPolys(dm);
- int i, j, j_next, seam;
+ int i, seam;
UvMapVert *v;
UvVertMap *vmap;
float limit[2];
@@ -339,6 +339,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
for (i = 0; i < totface; i++) {
MPoly *mp = &((MPoly *) mpoly)[i];
int nverts = mp->totloop;
+ int j, j_next;
CCGFace *origf = ccgSubSurf_getFace(origss, SET_INT_IN_POINTER(i));
/* unsigned int *fv = &mp->v1; */
MLoop *ml = mloop + mp->loopstart;
@@ -353,14 +354,14 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
get_face_uv_map_vert(vmap, mpoly, ml, i, fverts);
for (j = 0, j_next = nverts - 1; j < nverts; j_next = j++) {
- unsigned int v0 = GET_UINT_FROM_POINTER(fverts[j]);
- unsigned int v1 = GET_UINT_FROM_POINTER(fverts[j_next]);
- MVert *mv0 = mvert + (ml[j].v);
- MVert *mv1 = mvert + (ml[j_next].v);
+ unsigned int v0 = GET_UINT_FROM_POINTER(fverts[j_next]);
+ unsigned int v1 = GET_UINT_FROM_POINTER(fverts[j]);
+ MVert *mv0 = mvert + (ml[j_next].v);
+ MVert *mv1 = mvert + (ml[j].v);
if (!BLI_edgehash_haskey(ehash, v0, v1)) {
- CCGEdge *e, *orige = ccgSubSurf_getFaceEdge(origf, j);
- CCGEdgeHDL ehdl = SET_INT_IN_POINTER(mp->loopstart + j);
+ CCGEdge *e, *orige = ccgSubSurf_getFaceEdge(origf, j_next);
+ CCGEdgeHDL ehdl = SET_INT_IN_POINTER(mp->loopstart + j_next);
float crease;
if ((mv0->flag & mv1->flag) & ME_VERT_MERGED)
@@ -368,7 +369,7 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
else
crease = ccgSubSurf_getEdgeCrease(orige);
- ccgSubSurf_syncEdge(ss, ehdl, fverts[j], fverts[j_next], crease, &e);
+ ccgSubSurf_syncEdge(ss, ehdl, fverts[j_next], fverts[j], crease, &e);
BLI_edgehash_insert(ehash, v0, v1, NULL);
}
}