Description
Most appropriate sub-area of p5.js?
- AccessibilityColorCore/Environment/RenderingDataDOMEventsImageIOMathTypographyUtilitiesWebGLBuild processUnit testingInternationalizationFriendly errorsOther (specify if possible)
p5.js version
2.0 beta 1
Web browser and version
Firefox
Operating system
MacOS
Steps to reproduce this
When drawing strokes, we don't duplicate custom vertex properties to the different parts of strokes. When you try to draw strokes with per-vertex properties and use a shader that reads it, you get this warning in the browser console (not the p5 editor console though! open the browser one):
WebGL warning: drawArraysInstanced: Vertex fetch requires 51780, but attribs only supply 11526.
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)
}
Live: https://editor.p5js.org/davepagurek/sketches/KwUdPojKW
Activity
ImRAJAS-SAMSE commentedon Feb 28, 2025
Hi @davepagurek,
I'd like to work on this issue. Based on your feedback, I plan to duplicate user-defined vertex properties similarly to how per-vertex stroke colours are handled in
p5.Geometry.js.
Would you be open to me working on this?
Thanks!
davepagurek commentedon Mar 2, 2025
Thanks @ImRAJAS-SAMSE! I'll assign this to you.