diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-11-11 19:57:04 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-11-11 19:57:04 (GMT) |
commit | 6bdfff91c01408616bb4715b0995a097d1b049e9 (patch) | |
tree | 45b4d4ef6a5da2f9dcb00ed9d4eb89e6f46fedd4 /apps/samples/vrml/viewer-webgl.js | |
parent | 691b83f05dce412e74c15dec1972f1ff228d54c7 (diff) | |
download | uscxml-6bdfff91c01408616bb4715b0995a097d1b049e9.zip uscxml-6bdfff91c01408616bb4715b0995a097d1b049e9.tar.gz uscxml-6bdfff91c01408616bb4715b0995a097d1b049e9.tar.bz2 |
Check for WebGL
Diffstat (limited to 'apps/samples/vrml/viewer-webgl.js')
-rw-r--r-- | apps/samples/vrml/viewer-webgl.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/samples/vrml/viewer-webgl.js b/apps/samples/vrml/viewer-webgl.js index 5f8a4e8..5cec6e6 100644 --- a/apps/samples/vrml/viewer-webgl.js +++ b/apps/samples/vrml/viewer-webgl.js @@ -55,6 +55,31 @@ function VRMLViewer(element, params) { } } + var hasWebGL = function() { + try { + if (!window.WebGLRenderingContext) { + return false; + } + var canvas = document.createElement("canvas"); + var names = ["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"]; + for (var i = 0; i < 4; i++) { + var gl = canvas.getContext(names[i]); + if (gl) { + return true; + } + } + } catch(e) { + return false; + } + return false; + } + + if (self.enableWebGL && !hasWebGL()) { + console.log("Your browser does no support WebGL, falling back to sceneshots"); + self.enableWebGL = false; + self.enableSceneshots = true; + } + // normalize parameters var normalizeParams = function() { // make sure server url begins with protocol and does *not* ends in / |