Three.js:vertexAttributePointer:无绑定ARRAY_BUFFER(迁移到r69之后)

时间:2014-11-25 00:38:26

标签: javascript three.js

从three.js r68迁移到69后,重复了几个错误:

WebGL: INVALID_OPERATION: vertexAttribPointer: no bound ARRAY_BUFFER
[.WebGLRenderingContext]GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to access out of range vertices in attribute 0

它出现在此特定行的setupVertexAttributes()中的WebGLRenderer中:

_gl.vertexAttribPointer( programAttribute, size, _gl.FLOAT, false, 0, startIndex * size * 4 ); // 4 bytes per Float32

我使用BufferGeometry,但不知道什么是错的。我检查了发行说明,但无法获得胶水。帮助赞赏!

3 个答案:

答案 0 :(得分:2)

我在代码中发现了问题。我必须调整我的代码以反映fromGeometry()函数从BufferGeometryUtils类到BufferGeometry类的移动。所以这解决了我的问题:

var geo = new THREE.BufferGeometry();
geo.fromGeometry(otherGeo);

无论如何,谢谢你的所有答案。

答案 1 :(得分:1)

我收到同样的警告。

如果场景中有阴影的对象在摄像机视图外部绘制,则会发生这种情况。您可以通过;

进行测试
  1. 禁用阴影
  2. 最初将相机放在一个位置,以便显示所有场景。
  3. 我还没有想到一个干净的解决方案,但选项2对我有用。我没有试过第一个选项,后来启用了阴影。

答案 2 :(得分:0)

这已在开发版中修复。

https://github.com/mrdoob/three.js/issues/5293