Javascript 如何使用WebGL抽屉元素偏移?

Javascript 如何使用WebGL抽屉元素偏移?,javascript,webgl,Javascript,Webgl,这是一个WebGL特有的问题。我很难理解特定于WebGL的抽屉元素实现。这是API规范 如何准确使用偏移量?我可以使用偏移来模拟更经典的元素吗 空抽屉元件(玻璃窗模式、玻璃窗计数、玻璃窗类型、玻璃窗偏移) (OpenGL ES 2.0§2.8手册页) 使用当前绑定的元素数组缓冲区绘制。给定的偏移量以字节为单位,必须是给定类型大小的有效倍数,否则将生成无效的_操作错误;请参见缓冲区偏移和步幅要求。如果计数大于零,则必须将非空WebGLBuffer绑定到元素\u数组\u缓冲区绑定点,否则将生成无效的

这是一个WebGL特有的问题。我很难理解特定于WebGL的抽屉元素实现。这是API规范

如何准确使用偏移量?我可以使用偏移来模拟更经典的元素吗

空抽屉元件(玻璃窗模式、玻璃窗计数、玻璃窗类型、玻璃窗偏移) (OpenGL ES 2.0§2.8手册页)

使用当前绑定的元素数组缓冲区绘制。给定的偏移量以字节为单位,必须是给定类型大小的有效倍数,否则将生成无效的_操作错误;请参见缓冲区偏移和步幅要求。如果计数大于零,则必须将非空WebGLBuffer绑定到元素\u数组\u缓冲区绑定点,否则将生成无效的\u操作错误

我有一个平面顶点数组和一个平面索引数组,使用一个抽屉元素调用进行绘图效果很好,但现在我想分别绘制部分顶点,因为它们是不同的对象。例如,索引[0]到索引[99]是一个对象(例如手臂),索引[100]到索引[149](例如腿)是另一个对象。这些组必须单独绘制-最终是因为它们具有不同的纹理,我将在每次调用抽屉元素之前绑定一个纹理(也许有另一种方法可以完全做到这一点?)

因此,我想将索引[0]上的抽屉元素调用为索引[99],将索引[100]上的抽屉元素调用为索引[149]。我可以用抽屉的偏移量来做吗

用我这里的代码,我可以很好地画出第一组,但是其余的组不会出现

for(var g=0;g
文档说明:

。。。给定的偏移量以字节为单位,并且必须是大小的有效倍数 给定类型的

如果
索引.type
gl.UNSIGNED\u SHORT
则每个索引使用2个字节

尝试使用
offset*2
而不仅仅是
offset

gl.drawElements(draw_mode, num_items, indices.type, offset * 2);

这非常有效。谢谢你,胡安!我对StackOverflow还是个新手真是太完美了!你帮了我的忙!谢谢