尝试在webgl中渲染3d模型时出现奇怪的问题

|| 因此,基本上我正在尝试制作一个模型加载器,该模型加载器将接收wavefont obj文件并将其呈现在webgl中。最终,我希望能够旋转,平移和缩放这些对象。 我已经完成所有界面的设置,并且效果很好。但是我在渲染时遇到问题。 我已经获取了一个obj文件,并检查了数组中所有元素的数量是否正确,甚至使用chromes webgl调试插件进行了检查,结果显示数组匹配(甚至元素值匹配)。 顶点数:10932 索引数:18960 无论如何,当我运行gl.drawElements(gl.TRIANGLES,numItems,gl.UNSIGNED_SHORT,0); 我没有任何Chrome错误,但是在webgl插件调试中没有任何其他信息,却得到了\'INVALID_OPERATION \'。 我发现通过将numItems(通常是索引数/ 18960)更改为低得多的数字,将呈现茶壶(略有错误)。出于某种原因,幸运数字是11034,如果我高于此数字,它将无法渲染,如果低于它,则将呈现我略有错误的茶壶。我需要这个数字才能真正成为索引的总数,因为显然我无法对数字进行硬编码。 所以对于为什么会这样,我感到非常困惑,因为我的完整调试代码如下: http://webdesignscript.net/assignment/graphics_a3/ 渲染部分代码: http://webdesignscript.net/assignment/graphics_a3/scripts/webglengine.js 加载的茶壶模型: http://webdesignscript.net/assignment/graphics_a3/models/teapot.obj 干杯,乔希     
已邀请:
        我希望您记得,OBJ文件中的面使用从1开始而不是0的顶点索引。因此,也许这些后来的面(使其崩溃或不起作用)仅引用了无效的顶点(末尾一个)。如果是这样,则从文件中读取后,只需从面的顶点索引中减去1。     

要回复问题请先登录注册