gpt4 book ai didi

javascript - Webgl bindBufer 和 vertexAttribPointer 是否取决于缓冲区大小?

转载 作者:太空宇宙 更新时间:2023-11-04 16:04:50 26 4
gpt4 key购买 nike

bindBuffer 操作是否取决于绑定(bind)缓冲区大小?例如,我有一个要绘制的索引数组,还有一些顶点缓冲区(我的顶点源),例如,第一个是 100 个顶点,第二个是 10000000 个顶点缓冲区(所有已创建的缓冲区)。问题是更改(或绑定(bind))顶点缓冲区是否取决于它们的大小? Ofcource 渲染和创建缓冲区取决于缓冲区大小,但为了精炼,我只对 bindBuffer 操作性能感兴趣。感谢您的任何建议。

请不要指出绑定(bind)的含义顺序,我只关注性能:

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer0);
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0);

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer1);
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0);

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer3);
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0);

等等。等等等等以及大约的地方

this.gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);
this.gl.drawElements(gl.TRIANGLES, indexBuffer.numItems, this.gl.UNSIGNED_SHORT, 0);

最佳答案

bindBuffer 只是设置一个指向给定缓冲区地址的内部指针,它与缓冲区大小无关。

关于javascript - Webgl bindBufer 和 vertexAttribPointer 是否取决于缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41957844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com