if (Modernizr.webgl) {
// WebGL supported
} else {
// WebGL not supported
}
function initWebGL(canvas){
var ctx = null;
for (name of ["webgl", "experimental-webgl"]){
try {
ctx = canvas.getContext(name);
} catch(error) {
console.log(name + ' not supported');
}
if (ctx) break;
}
return ctx;
}
let canvas = document.createElement('canvas');
const webGL = initWebGL(canvas);
if (webGL) // supported
else // not supported
var gl; // глобальная переменная для контекста WebGL
function start() {
var canvas = document.getElementById("glcanvas");
gl = initWebGL(canvas); // инициализация контекста GL
// продолжать только если WebGL доступен и работает
if (gl) {
//WebGL доступен
}
}
function initWebGL(canvas) {
gl = null;
try {
// Попытаться получить стандартный контекст. Если не получится, попробовать получить экспериментальный.
gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
}
catch(e) {}
// Если мы не получили контекст GL, завершить работу
if (!gl) {
alert("Unable to initialize WebGL. Your browser may not support it.");
gl = null;
}
return gl;
}