Javascript WebGL:有1%的时间崩溃

Javascript WebGL:有1%的时间崩溃,javascript,three.js,webgl,Javascript,Three.js,Webgl,似乎每运行几百次WebGL环境,我就会收到以下警告: Matrix3.getInverse():无法反转矩阵,行列式为0 此消息将重复渲染的每一帧,直到控制台显示警告消息过多为止 刷新页面后,它会正确呈现。每次都必须渲染 当它工作时(但不工作时)给出的另一个警告是: THREE.WebGLProgram:gl.getProgramInfoLog()警告:碎片着色器未读取顶点着色器“vUv”的输出 但当它起作用时,它就完全起作用了,而且大多数时候确实如此 是否有任何高级错误报告或我可以做的任何事情

似乎每运行几百次WebGL环境,我就会收到以下警告:

Matrix3.getInverse():无法反转矩阵,行列式为0

此消息将重复渲染的每一帧,直到控制台显示警告消息过多为止

刷新页面后,它会正确呈现。每次都必须渲染

当它工作时(但不工作时)给出的另一个警告是:

THREE.WebGLProgram:gl.getProgramInfoLog()警告:碎片着色器未读取顶点着色器“vUv”的输出

但当它起作用时,它就完全起作用了,而且大多数时候确实如此

是否有任何高级错误报告或我可以做的任何事情来帮助查明导致错误的原因以及为什么它有时不起作用

一些模糊的附加信息:我正在加载OBJ,添加反射纹理,然后执行动画

另外,脚本中断发生在加载obj之后,并且obj从未显示在屏幕上,因此它可能发生在动画之前,但动画确实会在加载模型后立即开始,所以可能不会

如果您需要更多信息,请查看


感谢您的帮助

删除动画。提供最简单的实例来演示问题。只是一个猜测,但出于某种原因,你的数学可能会得到一个
NaN
,很可能是一个bug,代码使用了一个未初始化的变量,该变量只在竞争条件下使用,或者代码下载了一些数据并对其进行了错误的解析,或者是错误的数据,并且没有得到100%的验证。那只是猜测。在
getInverse
中放入一些检查矩阵
NaN
的代码,或将其包装在一些检查
NaN
的代码中。请访问Thoscene.com。谢谢你的帮助