Problem when using curveVertex on a PShape

Hello processing community !

I’m trying to code a function to make a PShape that has the form of a blob.

My problem is that it doesn’t work with JAVA2D (default renderer) but it ok with P2D.

It seems to be bound to curveVertex because if I change it with vertex everything is OK (with both renders).

Has anyone an idea to solve this ? Thank you for reading me :wink:

void setup() ;
  size(800, 800);
  noLoop();
  PShape blob;
  blob = createBlob( width/2,height/2,300,5);
  shape(blob,0,0);
}

PShape createBlob(int x0, int y0, int radius, int N) {
  PVector[] points = new PVector[N];
  PShape ps = createShape();

  for (int i=0; i<N; i++) {
    float tempRadius = random(radius/2, radius*3/2);
    float x =x0 + tempRadius*cos(i*TAU/N);
    float y =y0 + tempRadius*sin(i*TAU/N);
    points[i] = new PVector(x, y);
  }
  ps.beginShape();
  ps.fill(0);
  for (int i = 0; i < N; i++)
  {
    ps.curveVertex(points[i].x, points[i].y);
  }
  for (int i=0; i<3; i++)
    ps.curveVertex(points[i].x, points[i].y);

  ps.endShape(CLOSE);
  return ps;
}

Hi @DrHooDoo :slight_smile:

You are right. It looks like curveVertex() doesn’t work properly with PShape in Java2D.

Here’s a previous thread on this topic that might be helpful:

Note: This is a known issue (with a “help wanted” tag by the way if someone feels like looking into it :wink:)

2 Likes

Merci beaucoup ! :wink:

1 Like