void setup() { size(300,300); } void loop() { background(0,100,150); noStroke(); // Always specify vertices in clockwise order beginShape(TRIANGLES); fill(200,220,255); vertex(20,20); vertex(20,height-20); vertex(width-20,height-20); fill(255,0,0); vertex(20,20); fill(255,100,0); vertex(width-20,20); fill(255,255,0); vertex(width-20,height-20); endShape(); // curveVertex can take any number of vertices, but is a bit buggy // Repeat the start and end points twice. fill(255); beginShape(POLYGON); curveVertex(75,height/2); curveVertex(75,height/2); curveVertex(75,height/2-75); curveVertex(width-75,height/2-75); curveVertex(width-75,height/2); curveVertex(width-75,height/2); endShape(); // bezierVertex must be in groups of 4 vertices fill(0,100,255); beginShape(POLYGON); bezierVertex(75,height/2); bezierVertex(75,height/2-75); bezierVertex(width-75,height/2-25); bezierVertex(width-75,height/2); bezierVertex(width-75,height/2); bezierVertex(width-75,height/2+25); bezierVertex(75,height/2+75); bezierVertex(75,height/2); endShape(); }