You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
996 B
42 lines
996 B
|
|
// Grab the WebGL extensions currently supported and add to the Modernizr.webgl object
|
|
// spec: www.khronos.org/registry/webgl/specs/latest/#5.13.14
|
|
|
|
// based on code from ilmari heikkinen
|
|
// code.google.com/p/graphics-detect/source/browse/js/detect.js
|
|
|
|
|
|
(function(){
|
|
|
|
if (!Modernizr.webgl) return;
|
|
|
|
var canvas, ctx, exts;
|
|
|
|
try {
|
|
canvas = document.createElement('canvas');
|
|
ctx = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
|
|
exts = ctx.getSupportedExtensions();
|
|
}
|
|
catch (e) {
|
|
return;
|
|
}
|
|
|
|
if (ctx === undefined) {
|
|
Modernizr.webgl = new Boolean(false);
|
|
}
|
|
else {
|
|
Modernizr.webgl = new Boolean(true);
|
|
}
|
|
|
|
|
|
for (var i = -1, len = exts.length; ++i < len; ){
|
|
Modernizr.webgl[exts[i]] = true;
|
|
}
|
|
|
|
// hack for addressing modernizr testsuite failures. sorry.
|
|
if (window.TEST && TEST.audvid){
|
|
TEST.audvid.push('webgl');
|
|
}
|
|
|
|
canvas = undefined;
|
|
})();
|