diff --git a/core/src/processing/opengl/PGraphicsOpenGL.java b/core/src/processing/opengl/PGraphicsOpenGL.java index 926ef5152..62ec088e3 100644 --- a/core/src/processing/opengl/PGraphicsOpenGL.java +++ b/core/src/processing/opengl/PGraphicsOpenGL.java @@ -2349,7 +2349,7 @@ public class PGraphicsOpenGL extends PGraphics { protected void flushPixels() { - drawPixels(mx1, my1, mx2 - mx1 + 1, my2 - my1 + 1); + drawPixels(mx1, my1, mx2 - mx1, my2 - my1); modified = false; } @@ -5881,8 +5881,8 @@ public class PGraphicsOpenGL extends PGraphics { if (tex != null) { int x = img.getModifiedX1(); int y = img.getModifiedY1(); - int w = img.getModifiedX2() - x + 1; - int h = img.getModifiedY2() - y + 1; + int w = img.getModifiedX2() - x; + int h = img.getModifiedY2() - y; tex.set(img.pixels, x, y, w, h, img.format); } img.setModified(false); diff --git a/core/src/processing/opengl/PShapeOpenGL.java b/core/src/processing/opengl/PShapeOpenGL.java index 6a525c11d..e194d0eb3 100644 --- a/core/src/processing/opengl/PShapeOpenGL.java +++ b/core/src/processing/opengl/PShapeOpenGL.java @@ -1446,7 +1446,14 @@ public class PShapeOpenGL extends PShape { @Override public int getVertexCount() { - return family == GROUP ? 0 : inGeo.vertexCount; + if (family == GROUP) return 0; // Group shapes don't have vertices + else { + if (family == PRIMITIVE) { + // the input geometry of primitive shapes is built during tessellation + updateTessellation(); + } + return inGeo.vertexCount; + } }