three-stdlib 2.6.1 → 2.6.2
Sign up to get free protection for your applications and to get access to all the features.
- package/index.cjs.js +1 -1
- package/index.js +1 -1
- package/misc/WebGL.cjs.js +1 -1
- package/misc/WebGL.d.ts +5 -7
- package/misc/WebGL.js +67 -54
- package/package.json +1 -1
package/index.js
CHANGED
@@ -5,7 +5,7 @@ export { GPUComputationRenderer } from './misc/GPUComputationRenderer.js';
|
|
5
5
|
export { Gyroscope } from './misc/Gyroscope.js';
|
6
6
|
export { MorphAnimMesh } from './misc/MorphAnimMesh.js';
|
7
7
|
export { RollerCoasterGeometry, RollerCoasterLiftersGeometry, RollerCoasterShadowGeometry, SkyGeometry, TreesGeometry } from './misc/RollerCoaster.js';
|
8
|
-
export {
|
8
|
+
export { getErrorMessage, getWebGL2ErrorMessage, getWebGLErrorMessage, isWebGL2Available, isWebGLAvailable } from './misc/WebGL.js';
|
9
9
|
export { MD2Character } from './misc/MD2Character.js';
|
10
10
|
export { VolumeSlice } from './misc/VolumeSlice.js';
|
11
11
|
export { TubePainter } from './misc/TubePainter.js';
|
package/misc/WebGL.cjs.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0})
|
1
|
+
"use strict";let e,t;Object.defineProperty(exports,"__esModule",{value:!0}),exports.getErrorMessage=function(e){const t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},n=document.createElement("div");n.id="webglmessage",n.style.fontFamily="monospace",n.style.fontSize="13px",n.style.fontWeight="normal",n.style.textAlign="center",n.style.background="#fff",n.style.color="#000",n.style.padding="1.5em",n.style.width="400px",n.style.margin="5em auto 0";let r='Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';return r=t[e]?r.replace("$0","graphics card"):r.replace("$0","browser"),r=r.replace("$1",{1:"WebGL",2:"WebGL 2"}[e]),n.innerHTML=r,n},exports.getWebGL2ErrorMessage=function(){return this.getErrorMessage(2)},exports.getWebGLErrorMessage=function(){return this.getErrorMessage(1)},exports.isWebGL2Available=function(){if(void 0!==t)return t;try{var e;let n;const r=document.createElement("canvas");return t=!(!window.WebGL2RenderingContext||!(n=r.getContext("webgl2"))),n&&(null===(e=n.getExtension("WEBGL_lose_context"))||void 0===e||e.loseContext()),t}catch(e){return t=!1}},exports.isWebGLAvailable=function(){if(void 0!==e)return e;try{var t;let n;const r=document.createElement("canvas");return e=!(!window.WebGLRenderingContext||!(n=r.getContext("webgl"))),n&&(null===(t=n.getExtension("WEBGL_lose_context"))||void 0===t||t.loseContext()),e}catch(t){return e=!1}};
|
package/misc/WebGL.d.ts
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
export declare
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
getErrorMessage: (version: 1 | 2) => HTMLDivElement;
|
7
|
-
};
|
1
|
+
export declare function isWebGLAvailable(): boolean;
|
2
|
+
export declare function isWebGL2Available(): boolean;
|
3
|
+
export declare function getWebGLErrorMessage(): HTMLDivElement;
|
4
|
+
export declare function getWebGL2ErrorMessage(): HTMLDivElement;
|
5
|
+
export declare function getErrorMessage(version: 1 | 2): HTMLDivElement;
|
package/misc/WebGL.js
CHANGED
@@ -1,58 +1,71 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const canvas = document.createElement('canvas');
|
5
|
-
return !!(window.WebGLRenderingContext && (canvas.getContext('webgl') || canvas.getContext('experimental-webgl')));
|
6
|
-
} catch (e) {
|
7
|
-
return false;
|
8
|
-
}
|
9
|
-
},
|
10
|
-
isWebGL2Available: function () {
|
11
|
-
try {
|
12
|
-
const canvas = document.createElement('canvas');
|
13
|
-
return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'));
|
14
|
-
} catch (e) {
|
15
|
-
return false;
|
16
|
-
}
|
17
|
-
},
|
18
|
-
getWebGLErrorMessage: function () {
|
19
|
-
return this.getErrorMessage(1);
|
20
|
-
},
|
21
|
-
getWebGL2ErrorMessage: function () {
|
22
|
-
return this.getErrorMessage(2);
|
23
|
-
},
|
24
|
-
getErrorMessage: function (version) {
|
25
|
-
const names = {
|
26
|
-
1: 'WebGL',
|
27
|
-
2: 'WebGL 2'
|
28
|
-
};
|
29
|
-
const contexts = {
|
30
|
-
1: window.WebGLRenderingContext,
|
31
|
-
2: window.WebGL2RenderingContext
|
32
|
-
};
|
33
|
-
const element = document.createElement('div');
|
34
|
-
element.id = 'webglmessage';
|
35
|
-
element.style.fontFamily = 'monospace';
|
36
|
-
element.style.fontSize = '13px';
|
37
|
-
element.style.fontWeight = 'normal';
|
38
|
-
element.style.textAlign = 'center';
|
39
|
-
element.style.background = '#fff';
|
40
|
-
element.style.color = '#000';
|
41
|
-
element.style.padding = '1.5em';
|
42
|
-
element.style.width = '400px';
|
43
|
-
element.style.margin = '5em auto 0';
|
44
|
-
let message = 'Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';
|
1
|
+
let webGLAvailable, webGL2Available;
|
2
|
+
function isWebGLAvailable() {
|
3
|
+
if (webGLAvailable !== undefined) return webGLAvailable;
|
45
4
|
|
46
|
-
|
47
|
-
|
48
|
-
} else {
|
49
|
-
message = message.replace('$0', 'browser');
|
50
|
-
}
|
5
|
+
try {
|
6
|
+
var _gl$getExtension;
|
51
7
|
|
52
|
-
|
53
|
-
|
54
|
-
|
8
|
+
let gl;
|
9
|
+
const canvas = document.createElement('canvas');
|
10
|
+
webGLAvailable = !!(window.WebGLRenderingContext && (gl = canvas.getContext('webgl')));
|
11
|
+
if (gl) (_gl$getExtension = gl.getExtension('WEBGL_lose_context')) === null || _gl$getExtension === void 0 ? void 0 : _gl$getExtension.loseContext();
|
12
|
+
return webGLAvailable;
|
13
|
+
} catch (e) {
|
14
|
+
return webGLAvailable = false;
|
55
15
|
}
|
56
|
-
}
|
16
|
+
}
|
17
|
+
function isWebGL2Available() {
|
18
|
+
if (webGL2Available !== undefined) return webGL2Available;
|
57
19
|
|
58
|
-
|
20
|
+
try {
|
21
|
+
var _gl$getExtension2;
|
22
|
+
|
23
|
+
let gl;
|
24
|
+
const canvas = document.createElement('canvas');
|
25
|
+
webGL2Available = !!(window.WebGL2RenderingContext && (gl = canvas.getContext('webgl2')));
|
26
|
+
if (gl) (_gl$getExtension2 = gl.getExtension('WEBGL_lose_context')) === null || _gl$getExtension2 === void 0 ? void 0 : _gl$getExtension2.loseContext();
|
27
|
+
return webGL2Available;
|
28
|
+
} catch (e) {
|
29
|
+
return webGL2Available = false;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
function getWebGLErrorMessage() {
|
33
|
+
return this.getErrorMessage(1);
|
34
|
+
}
|
35
|
+
function getWebGL2ErrorMessage() {
|
36
|
+
return this.getErrorMessage(2);
|
37
|
+
}
|
38
|
+
function getErrorMessage(version) {
|
39
|
+
const names = {
|
40
|
+
1: 'WebGL',
|
41
|
+
2: 'WebGL 2'
|
42
|
+
};
|
43
|
+
const contexts = {
|
44
|
+
1: window.WebGLRenderingContext,
|
45
|
+
2: window.WebGL2RenderingContext
|
46
|
+
};
|
47
|
+
const element = document.createElement('div');
|
48
|
+
element.id = 'webglmessage';
|
49
|
+
element.style.fontFamily = 'monospace';
|
50
|
+
element.style.fontSize = '13px';
|
51
|
+
element.style.fontWeight = 'normal';
|
52
|
+
element.style.textAlign = 'center';
|
53
|
+
element.style.background = '#fff';
|
54
|
+
element.style.color = '#000';
|
55
|
+
element.style.padding = '1.5em';
|
56
|
+
element.style.width = '400px';
|
57
|
+
element.style.margin = '5em auto 0';
|
58
|
+
let message = 'Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';
|
59
|
+
|
60
|
+
if (contexts[version]) {
|
61
|
+
message = message.replace('$0', 'graphics card');
|
62
|
+
} else {
|
63
|
+
message = message.replace('$0', 'browser');
|
64
|
+
}
|
65
|
+
|
66
|
+
message = message.replace('$1', names[version]);
|
67
|
+
element.innerHTML = message;
|
68
|
+
return element;
|
69
|
+
}
|
70
|
+
|
71
|
+
export { getErrorMessage, getWebGL2ErrorMessage, getWebGLErrorMessage, isWebGL2Available, isWebGLAvailable };
|