safex-webgl 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"MeshNode.d.ts","sourceRoot":"","sources":["../../src/mesh/MeshNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,IAAI,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,qBAAa,QAAS,SAAQ,IAAI;IACxB,QAAQ,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,YAAY,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IAEpB,OAAO,EAAE,SAAS,CAAA;IAElB,YAAY,EAAE,WAAW,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IAExB,aAAa,EAAE,SAAS,CAAA;IAEhC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW;IAc7F,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,MAAM;IAsCP,aAAa;IAab,cAAc,CAAC,QAAQ,EAAE,YAAY;IAK5C,gBAAgB;IAGhB,MAAM;CASP"}
1
+ {"version":3,"file":"MeshNode.d.ts","sourceRoot":"","sources":["../../src/mesh/MeshNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAA2B,MAAM,IAAI,CAAA;AAClE,OAAO,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,qBAAa,QAAS,SAAQ,IAAI;IACxB,QAAQ,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,YAAY,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IAEpB,OAAO,EAAE,SAAS,CAAA;IAElB,YAAY,EAAE,WAAW,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IAExB,aAAa,EAAE,SAAS,CAAA;IAEhC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW;IAc7F,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,MAAM;IAaP,aAAa;IAab,cAAc,CAAC,QAAQ,EAAE,YAAY;IAK5C,gBAAgB;IAGhB,MAAM;CASP"}
@@ -1,5 +1,5 @@
1
- import { _renderContext, Node } from '..';
2
- import { GLProgram } from '../shaders';
1
+ import { _renderContext, Node, SHADER_POSITION_TEXTURE } from '..';
2
+ import { GLProgram, shaderCache } from '../shaders';
3
3
  import { Texture2D, textureCache } from '../textures';
4
4
  import { MeshWebGLRenderCmd } from './MeshWebGLRenderCmd';
5
5
  export class MeshNode extends Node {
@@ -24,30 +24,7 @@ export class MeshNode extends Node {
24
24
  this.uvBuffer = gl.createBuffer();
25
25
  this.indexBuffer = gl.createBuffer();
26
26
  this.updateBuffers();
27
- // shader
28
- const vertSrc = `
29
- attribute vec2 a_position;
30
- attribute vec2 a_texCoord;
31
- varying vec2 v_texCoord;
32
-
33
- void main() {
34
- gl_Position = CC_PMatrix * CC_MVMatrix * vec4(a_position, 0.0, 1.0);
35
- v_texCoord = a_texCoord;
36
- }
37
- `;
38
- const fragSrc = `
39
- precision mediump float;
40
- varying vec2 v_texCoord;
41
- uniform sampler2D u_texture;
42
-
43
- void main() {
44
- gl_FragColor = texture2D(u_texture, v_texCoord);
45
- }
46
- `;
47
- this.shaderProgram = new GLProgram();
48
- this.shaderProgram.initWithString(vertSrc, fragSrc);
49
- this.shaderProgram.link();
50
- this.shaderProgram.updateUniforms();
27
+ this.shaderProgram = shaderCache.programForKey(SHADER_POSITION_TEXTURE);
51
28
  }
52
29
  updateBuffers() {
53
30
  const gl = _renderContext;
@@ -1 +1 @@
1
- {"version":3,"file":"MeshNode.js","sourceRoot":"","sources":["../../src/mesh/MeshNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeshNode.js","sourceRoot":"","sources":["../../src/mesh/MeshNode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safex-webgl",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,29 +0,0 @@
1
- export declare const _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
2
- /**
3
- * <p>
4
- * cc.Codec.Base64.decode(input[, unicode=false]) -> String (http://en.wikipedia.org/wiki/Base64).
5
- * </p>
6
- * @function
7
- * @param {String} input The base64 encoded string to decode
8
- * @return {String} Decodes a base64 encoded String
9
- * @example
10
- * //decode string
11
- * cc.Codec.Base64.decode("U29tZSBTdHJpbmc="); // => "Some String"
12
- */
13
- export declare const decode: (input: any) => string;
14
- /**
15
- * <p>
16
- * Converts an input string encoded in base64 to an array of integers whose<br/>
17
- * values represent the decoded string's characters' bytes.
18
- * </p>
19
- * @function
20
- * @param {String} input The String to convert to an array of Integers
21
- * @param {Number} bytes
22
- * @return {Array}
23
- * @example
24
- * //decode string to array
25
- * var decodeArr = cc.Codec.Base64.decodeAsArray("U29tZSBTdHJpbmc=");
26
- */
27
- export declare const decodeAsArray: (input: any, bytes: any) => any[];
28
- export declare const uint8ArrayToUint32Array: (uint8Arr: any) => any[] | Uint32Array<ArrayBuffer>;
29
- //# sourceMappingURL=Base64.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Base64.d.ts","sourceRoot":"","sources":["../../src/helper/Base64.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,sEAAsE,CAAA;AAE1F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,GAAyC,UAAK,WAiChE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAiD,UAAK,EAAE,UAAK,UAYtF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAa,aAAQ,qCAUxD,CAAA"}
@@ -1,71 +0,0 @@
1
- export const _keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
2
- /**
3
- * <p>
4
- * cc.Codec.Base64.decode(input[, unicode=false]) -> String (http://en.wikipedia.org/wiki/Base64).
5
- * </p>
6
- * @function
7
- * @param {String} input The base64 encoded string to decode
8
- * @return {String} Decodes a base64 encoded String
9
- * @example
10
- * //decode string
11
- * cc.Codec.Base64.decode("U29tZSBTdHJpbmc="); // => "Some String"
12
- */
13
- export const decode = function Jacob__Codec__Base64__decode(input) {
14
- const output = [];
15
- let chr1, chr2, chr3, enc1, enc2, enc3, enc4, i = 0;
16
- input = input.replace(/[^A-Za-z0-9+/=]/g, '');
17
- while (i < input.length) {
18
- enc1 = this._keyStr.indexOf(input.charAt(i++));
19
- enc2 = this._keyStr.indexOf(input.charAt(i++));
20
- enc3 = this._keyStr.indexOf(input.charAt(i++));
21
- enc4 = this._keyStr.indexOf(input.charAt(i++));
22
- chr1 = (enc1 << 2) | (enc2 >> 4);
23
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
24
- chr3 = ((enc3 & 3) << 6) | enc4;
25
- output.push(String.fromCharCode(chr1));
26
- if (enc3 !== 64) {
27
- output.push(String.fromCharCode(chr2));
28
- }
29
- if (enc4 !== 64) {
30
- output.push(String.fromCharCode(chr3));
31
- }
32
- }
33
- return output.join('');
34
- };
35
- /**
36
- * <p>
37
- * Converts an input string encoded in base64 to an array of integers whose<br/>
38
- * values represent the decoded string's characters' bytes.
39
- * </p>
40
- * @function
41
- * @param {String} input The String to convert to an array of Integers
42
- * @param {Number} bytes
43
- * @return {Array}
44
- * @example
45
- * //decode string to array
46
- * var decodeArr = cc.Codec.Base64.decodeAsArray("U29tZSBTdHJpbmc=");
47
- */
48
- export const decodeAsArray = function Jacob__Codec__Base64___decodeAsArray(input, bytes) {
49
- const dec = this.decode(input);
50
- const ar = [];
51
- let i, j, len;
52
- for (i = 0, len = dec.length / bytes; i < len; i++) {
53
- ar[i] = 0;
54
- for (j = bytes - 1; j >= 0; --j) {
55
- ar[i] += dec.charCodeAt(i * bytes + j) << (j * 8);
56
- }
57
- }
58
- return ar;
59
- };
60
- export const uint8ArrayToUint32Array = function (uint8Arr) {
61
- if (uint8Arr.length % 4 !== 0)
62
- return null;
63
- const arrLen = uint8Arr.length / 4;
64
- const retArr = window.Uint32Array ? new Uint32Array(arrLen) : [];
65
- for (let i = 0; i < arrLen; i++) {
66
- const offset = i * 4;
67
- retArr[i] = uint8Arr[offset] + uint8Arr[offset + 1] * (1 << 8) + uint8Arr[offset + 2] * (1 << 16) + uint8Arr[offset + 3] * (1 << 24);
68
- }
69
- return retArr;
70
- };
71
- //# sourceMappingURL=Base64.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Base64.js","sourceRoot":"","sources":["../../src/helper/Base64.ts"],"names":[],"mappings":"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"}