reset curveVertexCount when tessellating a polygon PShape

This commit is contained in:
codeanticode
2013-10-18 16:15:32 -04:00
parent 321660f115
commit 30ce02d0ec
2 changed files with 13 additions and 3 deletions
@@ -2069,6 +2069,7 @@ public class PGraphicsOpenGL extends PGraphics {
shape = kind;
inGeo.clear();
curveVertexCount = 0;
breakShape = false;
defaultEdges = true;
@@ -10249,6 +10250,10 @@ public class PGraphicsOpenGL extends PGraphics {
transformScale = -1;
}
void resetCurveVertexCount() {
pg.curveVertexCount = 0;
}
// -----------------------------------------------------------------
//
// Point tessellation
@@ -11983,7 +11988,6 @@ public class PGraphicsOpenGL extends PGraphics {
vertex[X] = in.vertices[3*i + 0];
vertex[Y] = in.vertices[3*i + 1];
vertex[Z] = in.vertices[3*i + 2];
pg.curveVertexCount++;
// draw a segment if there are enough points
+8 -2
View File
@@ -2662,7 +2662,10 @@ public class PShapeOpenGL extends PShape {
boolean quad = inGeo.hasQuadraticVertex();
boolean curv = inGeo.hasCurveVertex();
if (bez || quad) saveBezierVertexSettings();
if (curv) saveCurveVertexSettings();
if (curv) {
saveCurveVertexSettings();
tessellator.resetCurveVertexCount();
}
tessellator.tessellatePolygon(solid, close,
normalMode == NORMAL_MODE_AUTO);
if (bez ||quad) restoreBezierVertexSettings();
@@ -3182,7 +3185,10 @@ public class PShapeOpenGL extends PShape {
boolean quad = inGeo.hasQuadraticVertex();
boolean curv = inGeo.hasCurveVertex();
if (bez || quad) saveBezierVertexSettings();
if (curv) saveCurveVertexSettings();
if (curv) {
saveCurveVertexSettings();
tessellator.resetCurveVertexCount();
}
tessellator.tessellatePolygon(false, close, true);
if (bez || quad) restoreBezierVertexSettings();
if (curv) restoreCurveVertexSettings();