未捕获的TypeError:对象#<webglrenderingcontext>没有方法'getShaderPrecisionFormat'</webglrenderingcontext>

时间:2013-01-03 00:33:33

标签: three.js webgl

我正在使用ThreeJS作为我正在开发的应用程序,特别是WebGL渲染器。它在大约一个半星期前工作正常,但是当我今天回来工作时,我在尝试在Chrome中运行我的应用程序时遇到此错误:

未捕获TypeError:对象#没有方法'getShaderPrecisionFormat'

我在Chrome中调试了我的应用程序,看起来WebGLRenderingContext没有方法'getShaderPrecisionFormat';关于可能导致这种情况的任何建议?

谢谢!

2 个答案:

答案 0 :(得分:1)

这应该在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
                };

            }
        }

答案 1 :(得分:0)

你确定你没有覆盖renderer.context,因为否则你必须显示一些代码,因为我现在还没有一个线索?