From 0baa011dd126f07c022d8c69b547f76b38e69746 Mon Sep 17 00:00:00 2001 From: yma16 <17685043634@163.com> Date: Mon, 12 Oct 2020 23:00:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- loadmodel_views/js/WebGL.js | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 loadmodel_views/js/WebGL.js diff --git a/loadmodel_views/js/WebGL.js b/loadmodel_views/js/WebGL.js new file mode 100644 index 0000000..139472f --- /dev/null +++ b/loadmodel_views/js/WebGL.js @@ -0,0 +1,94 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * @author mr.doob / http://mrdoob.com/ + */ + +var WEBGL = { + + isWebGLAvailable: function () { + + try { + + var canvas = document.createElement( 'canvas' ); + return !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) ); + + } catch ( e ) { + + return false; + + } + + }, + + isWebGL2Available: function () { + + try { + + var canvas = document.createElement( 'canvas' ); + return !! ( window.WebGL2RenderingContext && canvas.getContext( 'webgl2' ) ); + + } catch ( e ) { + + return false; + + } + + }, + + getWebGLErrorMessage: function () { + + return this.getErrorMessage( 1 ); + + }, + + getWebGL2ErrorMessage: function () { + + return this.getErrorMessage( 2 ); + + }, + + getErrorMessage: function ( version ) { + + var names = { + 1: 'WebGL', + 2: 'WebGL 2' + }; + + var contexts = { + 1: window.WebGLRenderingContext, + 2: window.WebGL2RenderingContext + }; + + var message = 'Your $0 does not seem to support $1'; + + 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', names[ version ] ); + + element.innerHTML = message; + + return element; + + } + +}; -- GitLab