在 IE11 版本 11.0.9600.16428 及以下版本中,一些 WebGL 方法无法正常工作(如此处所述:https ://github.com/mrdoob/three.js/issues/3600 )
一个例子是方法clearStencil
。问题是该方法存在,但无法正常工作。我想检测到这一点并给用户一些反馈。我尝试了 Three.js 中的 Detector.js,但它只检查浏览器和显卡是否支持 WebGL,而不是它们是否支持所有相关功能。
我尝试像这样进行 WebGL 检查:
var supportsWebGL=function(){
if(Detector.webgl){
var _canvas = document.createElement( 'canvas' );
var _gl = _canvas.getContext( 'webgl' ) || _canvas.getContext( 'experimental-webgl' );
try{
_gl.clearStencil( 0 );
}catch(e){
return false;
}
return true;
}else{
return false;
}
}
在 IE11 (11.0.9600.16428) 中,该方法supportsWebGL
返回 true,但给了我这样的错误:
WEBGL11095:无效操作:clearStencil:当前不支持方法。
现在我希望我的方法supportsWebGL
能够检测到这种不兼容并返回 false。有谁知道该怎么做?