我正在将 ThreeJS 用于我在工作中开发的应用程序,特别是 WebGL 渲染器。大约一周半前它运行良好,但是当我今天回来工作时,尝试在 Chrome 中运行我的应用程序时出现此错误:
未捕获的类型错误:对象 # 没有方法 'getShaderPrecisionFormat'
我在 Chrome 中调试了我的应用程序,看起来 WebGLRenderingContext 没有方法“getShaderPrecisionFormat”;关于可能发生什么导致这种情况的任何建议?
谢谢!
这应该在 r56+ 中修复。(可能在 r55 中,但我没有要检查的版本)
见https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js#L7478
if ( _gl.getShaderPrecisionFormat === undefined ) {
_gl.getShaderPrecisionFormat = function() {
return {
"rangeMin" : 1,
"rangeMax" : 1,
"precision" : 1
};
}
}
你确定你没有覆盖 renderer.context 因为否则你将不得不显示一些代码,因为我现在还没有得到任何线索?