3

我想检查用户浏览器是否启用并支持 WebGL 2。

WebGL 1 有很多帖子,但我没有发现任何与 WebGL 版本 2 相关的帖子。

4

2 回答 2

9

您应该检查的方式只是查看尝试获取webgl2上下文是成功还是失败

const gl = document.createElement('canvas').getContext('webgl2');
if (!gl) {
  console.log('your browser/OS/drivers do not support WebGL2');
} else {
  console.log('webgl2 works!');
}
  

您还可以检查是否window.WebGL2RenderingContext存在以尝试猜测它是不支持 WebGL2 的浏览器还是用户的 OS/GPU/驱动程序。

const gl = document.createElement('canvas').getContext('webgl2');
if (!gl) {
  if (typeof WebGL2RenderingContext !== 'undefined') {
    console.log('your browser appears to support WebGL2 but it might be disabled. Try updating your OS and/or video card drivers');
  } else {
    console.log('your browser has no WebGL2 support at all'); 
  }
} else {
  console.log('webgl2 works!');
}

于 2019-01-28T14:54:47.507 回答
4

检查webgl2上下文是否在canvas元素上可用,如下所示:

const isWebGL2Supported = () => !!document.createElement('canvas').getContext('webgl2')

isWebGL2Supported() ? console.log('supported') : console.log('unsupported')

于 2019-01-28T12:06:05.047 回答