Указатель Хуана Мелладо на детектор Three.js был очень полезен, но я предпочитаю не вносить весь файл в свой проект.Итак, вот извлеченная функция Detector.webgl ().
function webglAvailable() {
try {
var canvas = document.createElement("canvas");
return !!
window.WebGLRenderingContext &&
(canvas.getContext("webgl") ||
canvas.getContext("experimental-webgl"));
} catch(e) {
return false;
}
}
И она используется аналогично его примеру:
renderer = webglAvailable() ? new THREE.WebGLRenderer() : new THREE.CanvasRenderer();