drawArrays 第三个参数如何控制?
来源:3-1 使用缓冲区对象 - 绘制多个点
Bizarre_Lion
2023-10-30
/* ==========省略上半部分 ======== */
draArray.push(clickX)
draArray.push(clickY)
console.log('依次传入多个点坐标[x,y,x,y,x,y]', draArray)
let points = new Float32Array(draArray)
// 创建缓存区
const buffer = gl.createBuffer()
// 绑定到webgl上
gl.bindBuffer(gl.ARRAY_BUFFER, buffer)
// 将数据写入缓存区
gl.bufferData(gl.ARRAY_BUFFER, points, gl.STATIC_DRAW)
// 指定给了attrib 变量。
gl.vertexAttribPointer(aPosition, 2, gl.FLOAT, false, 0 , 0 )
// 开启attribute 变量
gl.enableVertexAttribArray(aPosition)
// 绘制 : 第三个参数,如果我不确定绘制几个,drawArrays 第三个参数如何控制啊
gl.drawArrays(gl.POINTS, 0, 1000)
老师,我拿前面鼠标控制案例改的,第一个我一直点击,然后将x,y 推入draArray中,然后使用new Float32Array ,写入缓存区。
我不知道每次点击了多少个,存了多少个点了,这样的话,我gl.draArray 的第三个参数如何控制呢?
写回答
1回答
-
yancy
2023-11-01
使用数组的length即可
00
相似问题