UNPKG

itowns

Version:

A JS/WebGL framework for 3D geospatial data visualization

76 lines (69 loc) 2.37 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.WEBGL = exports["default"] = void 0; var THREE = _interopRequireWildcard(require("three")); // This file has been added and patched after installing the NPM modules (via NPM script 'prepare') var threeExamples = {}; /** * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ var WEBGL = { isWebGLAvailable: function isWebGLAvailable() { try { var canvas = document.createElement('canvas'); return !!(window.WebGLRenderingContext && (canvas.getContext('webgl') || canvas.getContext('experimental-webgl'))); } catch (e) { return false; } }, isWebGL2Available: function isWebGL2Available() { try { var canvas = document.createElement('canvas'); return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2')); } catch (e) { return false; } }, getWebGLErrorMessage: function getWebGLErrorMessage() { return this.getErrorMessage(1); }, getWebGL2ErrorMessage: function getWebGL2ErrorMessage() { return this.getErrorMessage(2); }, getErrorMessage: function getErrorMessage(version) { var contexts = { 1: window.WebGLRenderingContext, 2: window.WebGL2RenderingContext }; var message = 'Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>'; var element = document.createElement('div'); element.id = 'webglmessage'; element.style.fontFamily = 'monospace'; element.style.fontSize = '13px'; element.style.fontWeight = 'normal'; element.style.textAlign = 'center'; element.style.background = '#fff'; element.style.color = '#000'; element.style.padding = '1.5em'; element.style.width = '400px'; element.style.margin = '5em auto 0'; if (contexts[version]) { message = message.replace('$0', 'graphics card'); } else { message = message.replace('$0', 'browser'); } message = message.replace('$1', { 1: 'WebGL', 2: 'WebGL 2' }[version]); element.innerHTML = message; return element; } }; exports.WEBGL = WEBGL; var _default = threeExamples.WebGL; exports["default"] = _default;