diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-04-10 19:04:52 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-04-10 19:04:52 +0400 |
commit | 6fa9f9b7f5215d674366d4486af681d9f733cb04 (patch) | |
tree | f2af84f7d6170cb1ddbdf0c23e16c32c4a42850a /source/blender/blenkernel/intern/CCGSubSurf.c | |
parent | 6fabf998e8010a7154ec5d323d7ebda7316c63af (diff) |
- don't apply creasing to edges with no adjacent faces... things
go wacky.
Diffstat (limited to 'source/blender/blenkernel/intern/CCGSubSurf.c')
-rw-r--r-- | source/blender/blenkernel/intern/CCGSubSurf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c index 00bee59732c..b9daa46474d 100644 --- a/source/blender/blenkernel/intern/CCGSubSurf.c +++ b/source/blender/blenkernel/intern/CCGSubSurf.c @@ -1209,7 +1209,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { VertDataMulN(nCo, 1.0f/numEdges); } - if (sharpCount>1) { + if (sharpCount>1 && v->numFaces) { VertDataZero(q); for (i=0; i<v->numEdges; i++) { @@ -1491,7 +1491,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { VertDataMulN(nCo, 1.0f/numEdges); } - if (sharpCount>1) { + if (sharpCount>1 && v->numFaces) { VertDataZero(q); for (i=0; i<v->numEdges; i++) { @@ -1549,7 +1549,7 @@ static void ccgSubSurf__sync(CCGSubSurf *ss) { avgSharpness = 0; } - if (_edge_isBoundary(e) && sharpCount<2) { + if (_edge_isBoundary(e) && (!e->numFaces || sharpCount<2)) { for (x=1; x<edgeSize-1; x++) { int fx = x*2; void *co = EDGE_getCo(e, curLvl, x); |