О пользовательских фигурах (с использованием функции beginShape) с обводкой в режиме p5.js WEBGL: в режиме WEBGL функции lineJoint() и lineCap() недоступны. Вот почему линии в фигуре не соединяются плавно. Я попытался обойти проблему, используя контур в моей пользовательской форме, но это также не реализовано в режиме WEBGL.
Есть ли другой способ соединить эти линии?
Большое спасибо!
Codepen с проблемой: https://codepen.io/sebastianwinter/pen/eYNNEEx?editors= 1010а>
Не работает контур
function setup() {
createCanvas(window.innerWidth, window.innerHeight, WEBGL);
}
function draw() {
let strokeSize = 20;
background(2,8,51);
smooth();
noFill();
strokeWeight(strokeSize);
stroke(255,255,255);
polygon(0, 0, 200, 7);
}
function polygon(x, y, radius, npoints) {
let angle = TWO_PI / npoints;
beginShape();
for (let a = 0; a < TWO_PI; a += angle) {
let sx = x + cos(a) * radius;
let sy = y + sin(a) * radius;
vertex(sx, sy);
}
/* not working:
beginContour();
for (let a = 0; a < TWO_PI; a += angle) {
let sx = x + cos(a) * (radius - strokeSize);
let sy = y + sin(a) * (radius - strokeSize);
vertex(sx, sy);
}
endContour();*/
endShape(CLOSE);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.js"></script>