Hi,
I am not sure to understand, you would like to fill (or not fill) the word you are drawing with curveVertex()
, right ?
If so, just change fill(0, 0, 0)
to the color of your choice or replace it by noFill()
import geomerative.*;
RFont f;
RShape grp;
RPoint[] pts;
RPoint[][] pointPaths;
void setup() {
size(900, 900);
strokeWeight(2);
noFill();
RG.init(this);
grp = RG.getText("Belli", "Roboto-Black.ttf", 200, CENTER);
RG.setPolygonizer(RG.UNIFORMLENGTH);
pts = grp.getPoints();
pointPaths = grp.getPointsInPaths();
}
void draw() {
background(255);
translate(300, 160);
for (int i = 0; i< pts.length; i++) {
point(pts[i].x, pts[i].y);
}
translate(0, 200);
for (int i = 0; i< pts.length; i++) {
point(pts[i].x + sin(frameCount*0.05 + pts[i].y*0.1)*5, pts[i].y);
}
translate(0, 200);
for (int i = pointPaths.length-1; i >= 0; i--) {
if (pointPaths[i] != null) {
beginShape();
for (int j = pointPaths[i].length-1; j >= 0; j --) {
curveVertex(pointPaths[i][j].x + sin(frameCount*0.05 + pointPaths[i][j].y*0.1)*5, pointPaths[i][j].y);
}
endShape(CLOSE);
}
}
translate(0, 200);
for (int i =0; i< pts.length; i++) {
line(pts[i].x, pts[i].y, pts[i].x + random(-15, 15), pts[i].y + random(-15, 15));
}
}
Also, according to the dedicated reference page curveVertex()
should normally begin with the first vertex being written 2 times and end with the last one specified 2 times as well.