xxxxxxxxxx
31
let snake
let snakeShader
function setup() {
createCanvas(400, 400, WEBGL);
snakeShader = baseMaterialShader().modify({
vertexDeclarations: 'in float len;'
})
const pts = []
for (let i = 0; i < 50; i++) {
pts.push(createVector(random(width), random(height)))
}
snake = buildGeometry(() => {
noFill()
beginShape()
for (const [i, { x, y }] of pts.entries()) {
vertexProperty('len', [i/(pts.length-1)])
splineVertex(x, y)
}
endShape()
})
}
function draw() {
clear()
strokeShader(snakeShader)
model(snake)
}