Проверьте, поддерживается ли WebGL2 и включен ли он в браузере клиента.

Я хочу проверить, включен ли WebGL 2 и поддерживается ли он в браузере пользователя.

Есть много сообщений для WebGL 1, но я не нашел ничего связанного с WebGL версии 2.

2 ответа

Решение

То, что вы должны проверить, это просто посмотреть, пытаетесь ли вы получить 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/Drivers пользователя.

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!');
}

Проверить, если webgl2 контекст доступен на canvas элемент вроде так:

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

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

Другие вопросы по тегам