使用 WebGL 索引缓冲区绘制网格

2023-12-25

3 个索引缓冲区 https://stackoverflow.com/questions/2696182/3-index-buffers问了一个更困难的问题,但我觉得他们的主要问题归结为我的:有没有办法使用索引缓冲区在 WebGL 中多次访问同一顶点而不是复制顶点? 我所能找到的就是使用索引缓冲区将纹理、法线等与模型中的顶点相关联。我无法找到一种方法来使用索引缓冲区来告诉 drawArrays 访问位置数组中顶点的顺序。


是的,使用 gl.drawElements 并将带有顶点索引的缓冲区上传到 gl.ELEMENT_ARRAY_BUFFER。

... upload vertex data to buffers, vertexAttribPointer them.

gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indicesBuffer);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indicesData, gl.STATIC_DRAW);
gl.drawElements(gl.TRIANGLES, indicesData.length/3, gl.UNSIGNED_SHORT, 0);

See https://developer.mozilla.org/en/WebGL/Creating_3D_objects_using_WebGL https://developer.mozilla.org/en/WebGL/Creating_3D_objects_using_WebGL一个完整的例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 WebGL 索引缓冲区绘制网格 的相关文章

随机推荐