@antv/l7-renderer 2.5.33 → 2.5.37-mini
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.
- package/lib/regl/index.js +9 -3
- package/lib/regl/index.js.map +1 -1
- package/package.json +3 -3
- package/CHANGELOG.md +0 -350
- package/LICENSE.md +0 -21
- package/es/index.d.ts +0 -5
- package/es/index.js +0 -3
- package/es/index.js.map +0 -1
- package/es/regl/ReglAttribute.d.ts +0 -16
- package/es/regl/ReglAttribute.js +0 -54
- package/es/regl/ReglAttribute.js.map +0 -1
- package/es/regl/ReglBuffer.d.ts +0 -16
- package/es/regl/ReglBuffer.js +0 -46
- package/es/regl/ReglBuffer.js.map +0 -1
- package/es/regl/ReglElements.d.ts +0 -14
- package/es/regl/ReglElements.js +0 -45
- package/es/regl/ReglElements.js.map +0 -1
- package/es/regl/ReglFramebuffer.d.ts +0 -16
- package/es/regl/ReglFramebuffer.js +0 -58
- package/es/regl/ReglFramebuffer.js.map +0 -1
- package/es/regl/ReglModel.d.ts +0 -42
- package/es/regl/ReglModel.js +0 -276
- package/es/regl/ReglModel.js.map +0 -1
- package/es/regl/ReglRenderbuffer.d.ts +0 -16
- package/es/regl/ReglRenderbuffer.js +0 -45
- package/es/regl/ReglRenderbuffer.js.map +0 -1
- package/es/regl/ReglTexture2D.d.ts +0 -20
- package/es/regl/ReglTexture2D.js +0 -111
- package/es/regl/ReglTexture2D.js.map +0 -1
- package/es/regl/constants.d.ts +0 -43
- package/es/regl/constants.js +0 -20
- package/es/regl/constants.js.map +0 -1
- package/es/regl/index.d.ts +0 -48
- package/es/regl/index.js +0 -247
- package/es/regl/index.js.map +0 -1
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IElements, IElementsInitializationOptions } from '@antv/l7-core';
|
|
2
|
-
import regl from 'l7regl';
|
|
3
|
-
/**
|
|
4
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#elements
|
|
5
|
-
*/
|
|
6
|
-
export default class ReglElements implements IElements {
|
|
7
|
-
private elements;
|
|
8
|
-
constructor(reGl: regl.Regl, options: IElementsInitializationOptions);
|
|
9
|
-
get(): regl.Elements;
|
|
10
|
-
subData({ data, }: {
|
|
11
|
-
data: number[] | number[][] | Uint8Array | Uint16Array | Uint32Array;
|
|
12
|
-
}): void;
|
|
13
|
-
destroy(): void;
|
|
14
|
-
}
|
package/es/regl/ReglElements.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import { gl } from '@antv/l7-core';
|
|
5
|
-
import { dataTypeMap, usageMap } from './constants';
|
|
6
|
-
|
|
7
|
-
var ReglElements = function () {
|
|
8
|
-
function ReglElements(reGl, options) {
|
|
9
|
-
_classCallCheck(this, ReglElements);
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "elements", void 0);
|
|
12
|
-
|
|
13
|
-
var data = options.data,
|
|
14
|
-
usage = options.usage,
|
|
15
|
-
type = options.type,
|
|
16
|
-
count = options.count;
|
|
17
|
-
this.elements = reGl.elements({
|
|
18
|
-
data: data,
|
|
19
|
-
usage: usageMap[usage || gl.STATIC_DRAW],
|
|
20
|
-
type: dataTypeMap[type || gl.UNSIGNED_BYTE],
|
|
21
|
-
count: count
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
_createClass(ReglElements, [{
|
|
26
|
-
key: "get",
|
|
27
|
-
value: function get() {
|
|
28
|
-
return this.elements;
|
|
29
|
-
}
|
|
30
|
-
}, {
|
|
31
|
-
key: "subData",
|
|
32
|
-
value: function subData(_ref) {
|
|
33
|
-
var data = _ref.data;
|
|
34
|
-
this.elements.subdata(data);
|
|
35
|
-
}
|
|
36
|
-
}, {
|
|
37
|
-
key: "destroy",
|
|
38
|
-
value: function destroy() {}
|
|
39
|
-
}]);
|
|
40
|
-
|
|
41
|
-
return ReglElements;
|
|
42
|
-
}();
|
|
43
|
-
|
|
44
|
-
export { ReglElements as default };
|
|
45
|
-
//# sourceMappingURL=ReglElements.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/ReglElements.ts"],"names":["gl","dataTypeMap","usageMap","ReglElements","reGl","options","data","usage","type","count","elements","STATIC_DRAW","UNSIGNED_BYTE","subdata"],"mappings":";;;AAAA,SAASA,EAAT,QAA8D,eAA9D;AAEA,SAASC,WAAT,EAAsBC,QAAtB,QAAsC,aAAtC;;IAKqBC,Y;AAGnB,wBAAYC,IAAZ,EAA6BC,OAA7B,EAAsE;AAAA;;AAAA;;AACpE,QAAQC,IAAR,GAAqCD,OAArC,CAAQC,IAAR;AAAA,QAAcC,KAAd,GAAqCF,OAArC,CAAcE,KAAd;AAAA,QAAqBC,IAArB,GAAqCH,OAArC,CAAqBG,IAArB;AAAA,QAA2BC,KAA3B,GAAqCJ,OAArC,CAA2BI,KAA3B;AAEA,SAAKC,QAAL,GAAgBN,IAAI,CAACM,QAAL,CAAc;AAC5BJ,MAAAA,IAAI,EAAJA,IAD4B;AAE5BC,MAAAA,KAAK,EAAEL,QAAQ,CAACK,KAAK,IAAIP,EAAE,CAACW,WAAb,CAFa;AAG5BH,MAAAA,IAAI,EAAEP,WAAW,CAACO,IAAI,IAAIR,EAAE,CAACY,aAAZ,CAHW;AAO5BH,MAAAA,KAAK,EAALA;AAP4B,KAAd,CAAhB;AASD;;;;WAED,eAAa;AACX,aAAO,KAAKC,QAAZ;AACD;;;WAED,uBAIG;AAAA,UAHDJ,IAGC,QAHDA,IAGC;AACD,WAAKI,QAAL,CAAcG,OAAd,CAAsBP,IAAtB;AACD;;;WAED,mBAAiB,CAEhB;;;;;;SA/BkBH,Y","sourcesContent":["import { gl, IElements, IElementsInitializationOptions } from '@antv/l7-core';\nimport regl from 'l7regl';\nimport { dataTypeMap, usageMap } from './constants';\n\n/**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#elements\n */\nexport default class ReglElements implements IElements {\n private elements: regl.Elements;\n\n constructor(reGl: regl.Regl, options: IElementsInitializationOptions) {\n const { data, usage, type, count } = options;\n\n this.elements = reGl.elements({\n data,\n usage: usageMap[usage || gl.STATIC_DRAW],\n type: dataTypeMap[type || gl.UNSIGNED_BYTE] as\n | 'uint8'\n | 'uint16'\n | 'uint32',\n count,\n });\n }\n\n public get() {\n return this.elements;\n }\n\n public subData({\n data,\n }: {\n data: number[] | number[][] | Uint8Array | Uint16Array | Uint32Array;\n }) {\n this.elements.subdata(data);\n }\n\n public destroy() {\n // this.elements.destroy();\n }\n}\n"],"file":"ReglElements.js"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { IFramebuffer, IFramebufferInitializationOptions } from '@antv/l7-core';
|
|
2
|
-
import regl from 'l7regl';
|
|
3
|
-
/**
|
|
4
|
-
* adaptor for regl.Framebuffer
|
|
5
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#framebuffers
|
|
6
|
-
*/
|
|
7
|
-
export default class ReglFramebuffer implements IFramebuffer {
|
|
8
|
-
private framebuffer;
|
|
9
|
-
constructor(reGl: regl.Regl, options: IFramebufferInitializationOptions);
|
|
10
|
-
get(): regl.Framebuffer;
|
|
11
|
-
destroy(): void;
|
|
12
|
-
resize({ width, height }: {
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
}): void;
|
|
16
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
|
|
5
|
-
var ReglFramebuffer = function () {
|
|
6
|
-
function ReglFramebuffer(reGl, options) {
|
|
7
|
-
_classCallCheck(this, ReglFramebuffer);
|
|
8
|
-
|
|
9
|
-
_defineProperty(this, "framebuffer", void 0);
|
|
10
|
-
|
|
11
|
-
var width = options.width,
|
|
12
|
-
height = options.height,
|
|
13
|
-
color = options.color,
|
|
14
|
-
colors = options.colors,
|
|
15
|
-
depth = options.depth,
|
|
16
|
-
stencil = options.stencil;
|
|
17
|
-
var framebufferOptions = {
|
|
18
|
-
width: width,
|
|
19
|
-
height: height
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
if (Array.isArray(colors)) {
|
|
23
|
-
framebufferOptions.colors = colors.map(function (c) {
|
|
24
|
-
return c.get();
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (color && typeof color !== 'boolean') {
|
|
29
|
-
framebufferOptions.color = color.get();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
this.framebuffer = reGl.framebuffer(framebufferOptions);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
_createClass(ReglFramebuffer, [{
|
|
36
|
-
key: "get",
|
|
37
|
-
value: function get() {
|
|
38
|
-
return this.framebuffer;
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "destroy",
|
|
42
|
-
value: function destroy() {
|
|
43
|
-
this.framebuffer.destroy();
|
|
44
|
-
}
|
|
45
|
-
}, {
|
|
46
|
-
key: "resize",
|
|
47
|
-
value: function resize(_ref) {
|
|
48
|
-
var width = _ref.width,
|
|
49
|
-
height = _ref.height;
|
|
50
|
-
this.framebuffer.resize(width, height);
|
|
51
|
-
}
|
|
52
|
-
}]);
|
|
53
|
-
|
|
54
|
-
return ReglFramebuffer;
|
|
55
|
-
}();
|
|
56
|
-
|
|
57
|
-
export { ReglFramebuffer as default };
|
|
58
|
-
//# sourceMappingURL=ReglFramebuffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/ReglFramebuffer.ts"],"names":["ReglFramebuffer","reGl","options","width","height","color","colors","depth","stencil","framebufferOptions","Array","isArray","map","c","get","framebuffer","destroy","resize"],"mappings":";;;;IAcqBA,e;AAGnB,2BAAYC,IAAZ,EAA6BC,OAA7B,EAAyE;AAAA;;AAAA;;AACvE,QAAQC,KAAR,GAAyDD,OAAzD,CAAQC,KAAR;AAAA,QAAeC,MAAf,GAAyDF,OAAzD,CAAeE,MAAf;AAAA,QAAuBC,KAAvB,GAAyDH,OAAzD,CAAuBG,KAAvB;AAAA,QAA8BC,MAA9B,GAAyDJ,OAAzD,CAA8BI,MAA9B;AAAA,QAAsCC,KAAtC,GAAyDL,OAAzD,CAAsCK,KAAtC;AAAA,QAA6CC,OAA7C,GAAyDN,OAAzD,CAA6CM,OAA7C;AAEA,QAAMC,kBAA2C,GAAG;AAClDN,MAAAA,KAAK,EAALA,KADkD;AAElDC,MAAAA,MAAM,EAANA;AAFkD,KAApD;;AAKA,QAAIM,KAAK,CAACC,OAAN,CAAcL,MAAd,CAAJ,EAA2B;AACzBG,MAAAA,kBAAkB,CAACH,MAAnB,GAA4BA,MAAM,CAACM,GAAP,CAAW,UAACC,CAAD;AAAA,eACpCA,CAAD,CAAqBC,GAArB,EADqC;AAAA,OAAX,CAA5B;AAGD;;AAED,QAAIT,KAAK,IAAI,OAAOA,KAAP,KAAiB,SAA9B,EAAyC;AACvCI,MAAAA,kBAAkB,CAACJ,KAAnB,GAA4BA,KAAD,CAAyBS,GAAzB,EAA3B;AACD;;AAID,SAAKC,WAAL,GAAmBd,IAAI,CAACc,WAAL,CAAiBN,kBAAjB,CAAnB;AACD;;;;WAED,eAAa;AACX,aAAO,KAAKM,WAAZ;AACD;;;WAED,mBAAiB;AACf,WAAKA,WAAL,CAAiBC,OAAjB;AACD;;;WAED,sBAAoE;AAAA,UAApDb,KAAoD,QAApDA,KAAoD;AAAA,UAA7CC,MAA6C,QAA7CA,MAA6C;AAClE,WAAKW,WAAL,CAAiBE,MAAjB,CAAwBd,KAAxB,EAA+BC,MAA/B;AACD;;;;;;SApCkBJ,e","sourcesContent":["import {\n gl,\n IFramebuffer,\n IFramebufferInitializationOptions,\n IRenderbuffer,\n ITexture2D,\n} from '@antv/l7-core';\nimport regl from 'l7regl';\nimport ReglTexture2D from './ReglTexture2D';\n\n/**\n * adaptor for regl.Framebuffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#framebuffers\n */\nexport default class ReglFramebuffer implements IFramebuffer {\n private framebuffer: regl.Framebuffer;\n\n constructor(reGl: regl.Regl, options: IFramebufferInitializationOptions) {\n const { width, height, color, colors, depth, stencil } = options;\n\n const framebufferOptions: regl.FramebufferOptions = {\n width,\n height,\n };\n\n if (Array.isArray(colors)) {\n framebufferOptions.colors = colors.map((c: ITexture2D | IRenderbuffer) =>\n (c as ReglTexture2D).get(),\n );\n }\n\n if (color && typeof color !== 'boolean') {\n framebufferOptions.color = (color as ReglTexture2D).get();\n }\n\n // TODO: depth & stencil\n\n this.framebuffer = reGl.framebuffer(framebufferOptions);\n }\n\n public get() {\n return this.framebuffer;\n }\n\n public destroy() {\n this.framebuffer.destroy();\n }\n\n public resize({ width, height }: { width: number; height: number }) {\n this.framebuffer.resize(width, height);\n }\n}\n"],"file":"ReglFramebuffer.js"}
|
package/es/regl/ReglModel.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { IModel, IModelDrawOptions, IModelInitializationOptions, IUniform } from '@antv/l7-core';
|
|
2
|
-
import regl from 'l7regl';
|
|
3
|
-
/**
|
|
4
|
-
* adaptor for regl.DrawCommand
|
|
5
|
-
*/
|
|
6
|
-
export default class ReglModel implements IModel {
|
|
7
|
-
private reGl;
|
|
8
|
-
private destroyed;
|
|
9
|
-
private drawCommand;
|
|
10
|
-
private drawParams;
|
|
11
|
-
private options;
|
|
12
|
-
private uniforms;
|
|
13
|
-
constructor(reGl: regl.Regl, options: IModelInitializationOptions);
|
|
14
|
-
addUniforms(uniforms: {
|
|
15
|
-
[key: string]: IUniform;
|
|
16
|
-
}): void;
|
|
17
|
-
draw(options: IModelDrawOptions): void;
|
|
18
|
-
destroy(): void;
|
|
19
|
-
/**
|
|
20
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#depth-buffer
|
|
21
|
-
*/
|
|
22
|
-
private initDepthDrawParams;
|
|
23
|
-
/**
|
|
24
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#blending
|
|
25
|
-
*/
|
|
26
|
-
private initBlendDrawParams;
|
|
27
|
-
/**
|
|
28
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#stencil
|
|
29
|
-
*/
|
|
30
|
-
private initStencilDrawParams;
|
|
31
|
-
/**
|
|
32
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#culling
|
|
33
|
-
*/
|
|
34
|
-
private initCullDrawParams;
|
|
35
|
-
/**
|
|
36
|
-
* 考虑结构体命名, eg:
|
|
37
|
-
* a: { b: 1 } -> 'a.b'
|
|
38
|
-
* a: [ { b: 1 } ] -> 'a[0].b'
|
|
39
|
-
*/
|
|
40
|
-
private extractUniforms;
|
|
41
|
-
private extractUniformsRecursively;
|
|
42
|
-
}
|
package/es/regl/ReglModel.js
DELETED
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
-
import _isTypedArray from "lodash/isTypedArray";
|
|
6
|
-
import _isPlainObject from "lodash/isPlainObject";
|
|
7
|
-
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
11
|
-
|
|
12
|
-
import { gl } from '@antv/l7-core';
|
|
13
|
-
import { blendEquationMap, blendFuncMap, cullFaceMap, depthFuncMap, primitiveMap, stencilFuncMap, stencilOpMap } from './constants';
|
|
14
|
-
|
|
15
|
-
var ReglModel = function () {
|
|
16
|
-
function ReglModel(reGl, options) {
|
|
17
|
-
_classCallCheck(this, ReglModel);
|
|
18
|
-
|
|
19
|
-
_defineProperty(this, "reGl", void 0);
|
|
20
|
-
|
|
21
|
-
_defineProperty(this, "destroyed", false);
|
|
22
|
-
|
|
23
|
-
_defineProperty(this, "drawCommand", void 0);
|
|
24
|
-
|
|
25
|
-
_defineProperty(this, "drawParams", void 0);
|
|
26
|
-
|
|
27
|
-
_defineProperty(this, "options", void 0);
|
|
28
|
-
|
|
29
|
-
_defineProperty(this, "uniforms", {});
|
|
30
|
-
|
|
31
|
-
this.reGl = reGl;
|
|
32
|
-
var vs = options.vs,
|
|
33
|
-
fs = options.fs,
|
|
34
|
-
attributes = options.attributes,
|
|
35
|
-
uniforms = options.uniforms,
|
|
36
|
-
primitive = options.primitive,
|
|
37
|
-
count = options.count,
|
|
38
|
-
elements = options.elements,
|
|
39
|
-
depth = options.depth,
|
|
40
|
-
blend = options.blend,
|
|
41
|
-
stencil = options.stencil,
|
|
42
|
-
cull = options.cull,
|
|
43
|
-
instances = options.instances;
|
|
44
|
-
var reglUniforms = {};
|
|
45
|
-
this.options = options;
|
|
46
|
-
|
|
47
|
-
if (uniforms) {
|
|
48
|
-
this.uniforms = this.extractUniforms(uniforms);
|
|
49
|
-
Object.keys(uniforms).forEach(function (uniformName) {
|
|
50
|
-
reglUniforms[uniformName] = reGl.prop(uniformName);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var reglAttributes = {};
|
|
55
|
-
Object.keys(attributes).forEach(function (name) {
|
|
56
|
-
reglAttributes[name] = attributes[name].get();
|
|
57
|
-
});
|
|
58
|
-
var drawParams = {
|
|
59
|
-
attributes: reglAttributes,
|
|
60
|
-
frag: fs,
|
|
61
|
-
uniforms: reglUniforms,
|
|
62
|
-
vert: vs,
|
|
63
|
-
primitive: primitiveMap[primitive === undefined ? gl.TRIANGLES : primitive]
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
if (instances) {
|
|
67
|
-
drawParams.instances = instances;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (count) {
|
|
71
|
-
drawParams.count = count;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (elements) {
|
|
75
|
-
drawParams.elements = elements.get();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
this.initDepthDrawParams({
|
|
79
|
-
depth: depth
|
|
80
|
-
}, drawParams);
|
|
81
|
-
this.initBlendDrawParams({
|
|
82
|
-
blend: blend
|
|
83
|
-
}, drawParams);
|
|
84
|
-
this.initStencilDrawParams({
|
|
85
|
-
stencil: stencil
|
|
86
|
-
}, drawParams);
|
|
87
|
-
this.initCullDrawParams({
|
|
88
|
-
cull: cull
|
|
89
|
-
}, drawParams);
|
|
90
|
-
this.drawCommand = reGl(drawParams);
|
|
91
|
-
this.drawParams = drawParams;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
_createClass(ReglModel, [{
|
|
95
|
-
key: "addUniforms",
|
|
96
|
-
value: function addUniforms(uniforms) {
|
|
97
|
-
this.uniforms = _objectSpread(_objectSpread({}, this.uniforms), this.extractUniforms(uniforms));
|
|
98
|
-
}
|
|
99
|
-
}, {
|
|
100
|
-
key: "draw",
|
|
101
|
-
value: function draw(options) {
|
|
102
|
-
if (this.drawParams.attributes && Object.keys(this.drawParams.attributes).length === 0) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
var uniforms = _objectSpread(_objectSpread({}, this.uniforms), this.extractUniforms(options.uniforms || {}));
|
|
107
|
-
|
|
108
|
-
var reglDrawProps = {};
|
|
109
|
-
Object.keys(uniforms).forEach(function (uniformName) {
|
|
110
|
-
var type = _typeof(uniforms[uniformName]);
|
|
111
|
-
|
|
112
|
-
if (type === 'boolean' || type === 'number' || Array.isArray(uniforms[uniformName]) || uniforms[uniformName].BYTES_PER_ELEMENT) {
|
|
113
|
-
reglDrawProps[uniformName] = uniforms[uniformName];
|
|
114
|
-
} else {
|
|
115
|
-
reglDrawProps[uniformName] = uniforms[uniformName].get();
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
this.drawCommand(reglDrawProps);
|
|
119
|
-
}
|
|
120
|
-
}, {
|
|
121
|
-
key: "destroy",
|
|
122
|
-
value: function destroy() {
|
|
123
|
-
this.drawParams.elements.destroy();
|
|
124
|
-
|
|
125
|
-
if (this.options.attributes) {
|
|
126
|
-
Object.values(this.options.attributes).forEach(function (attr) {
|
|
127
|
-
attr.destroy();
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
this.destroyed = true;
|
|
132
|
-
}
|
|
133
|
-
}, {
|
|
134
|
-
key: "initDepthDrawParams",
|
|
135
|
-
value: function initDepthDrawParams(_ref, drawParams) {
|
|
136
|
-
var depth = _ref.depth;
|
|
137
|
-
|
|
138
|
-
if (depth) {
|
|
139
|
-
drawParams.depth = {
|
|
140
|
-
enable: depth.enable === undefined ? true : !!depth.enable,
|
|
141
|
-
mask: depth.mask === undefined ? true : !!depth.mask,
|
|
142
|
-
func: depthFuncMap[depth.func || gl.LESS],
|
|
143
|
-
range: depth.range || [0, 1]
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
key: "initBlendDrawParams",
|
|
149
|
-
value: function initBlendDrawParams(_ref2, drawParams) {
|
|
150
|
-
var blend = _ref2.blend;
|
|
151
|
-
|
|
152
|
-
if (blend) {
|
|
153
|
-
var enable = blend.enable,
|
|
154
|
-
func = blend.func,
|
|
155
|
-
equation = blend.equation,
|
|
156
|
-
_blend$color = blend.color,
|
|
157
|
-
color = _blend$color === void 0 ? [0, 0, 0, 0] : _blend$color;
|
|
158
|
-
drawParams.blend = {
|
|
159
|
-
enable: !!enable,
|
|
160
|
-
func: {
|
|
161
|
-
srcRGB: blendFuncMap[func && func.srcRGB || gl.SRC_ALPHA],
|
|
162
|
-
srcAlpha: blendFuncMap[func && func.srcAlpha || gl.SRC_ALPHA],
|
|
163
|
-
dstRGB: blendFuncMap[func && func.dstRGB || gl.ONE_MINUS_SRC_ALPHA],
|
|
164
|
-
dstAlpha: blendFuncMap[func && func.dstAlpha || gl.ONE_MINUS_SRC_ALPHA]
|
|
165
|
-
},
|
|
166
|
-
equation: {
|
|
167
|
-
rgb: blendEquationMap[equation && equation.rgb || gl.FUNC_ADD],
|
|
168
|
-
alpha: blendEquationMap[equation && equation.alpha || gl.FUNC_ADD]
|
|
169
|
-
},
|
|
170
|
-
color: color
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}, {
|
|
175
|
-
key: "initStencilDrawParams",
|
|
176
|
-
value: function initStencilDrawParams(_ref3, drawParams) {
|
|
177
|
-
var stencil = _ref3.stencil;
|
|
178
|
-
|
|
179
|
-
if (stencil) {
|
|
180
|
-
var enable = stencil.enable,
|
|
181
|
-
_stencil$mask = stencil.mask,
|
|
182
|
-
mask = _stencil$mask === void 0 ? -1 : _stencil$mask,
|
|
183
|
-
_stencil$func = stencil.func,
|
|
184
|
-
func = _stencil$func === void 0 ? {
|
|
185
|
-
cmp: gl.ALWAYS,
|
|
186
|
-
ref: 0,
|
|
187
|
-
mask: -1
|
|
188
|
-
} : _stencil$func,
|
|
189
|
-
_stencil$opFront = stencil.opFront,
|
|
190
|
-
opFront = _stencil$opFront === void 0 ? {
|
|
191
|
-
fail: gl.KEEP,
|
|
192
|
-
zfail: gl.KEEP,
|
|
193
|
-
zpass: gl.KEEP
|
|
194
|
-
} : _stencil$opFront,
|
|
195
|
-
_stencil$opBack = stencil.opBack,
|
|
196
|
-
opBack = _stencil$opBack === void 0 ? {
|
|
197
|
-
fail: gl.KEEP,
|
|
198
|
-
zfail: gl.KEEP,
|
|
199
|
-
zpass: gl.KEEP
|
|
200
|
-
} : _stencil$opBack;
|
|
201
|
-
drawParams.stencil = {
|
|
202
|
-
enable: !!enable,
|
|
203
|
-
mask: mask,
|
|
204
|
-
func: _objectSpread(_objectSpread({}, func), {}, {
|
|
205
|
-
cmp: stencilFuncMap[func.cmp]
|
|
206
|
-
}),
|
|
207
|
-
opFront: {
|
|
208
|
-
fail: stencilOpMap[opFront.fail],
|
|
209
|
-
zfail: stencilOpMap[opFront.zfail],
|
|
210
|
-
zpass: stencilOpMap[opFront.zpass]
|
|
211
|
-
},
|
|
212
|
-
opBack: {
|
|
213
|
-
fail: stencilOpMap[opBack.fail],
|
|
214
|
-
zfail: stencilOpMap[opBack.zfail],
|
|
215
|
-
zpass: stencilOpMap[opBack.zpass]
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}, {
|
|
221
|
-
key: "initCullDrawParams",
|
|
222
|
-
value: function initCullDrawParams(_ref4, drawParams) {
|
|
223
|
-
var cull = _ref4.cull;
|
|
224
|
-
|
|
225
|
-
if (cull) {
|
|
226
|
-
var enable = cull.enable,
|
|
227
|
-
_cull$face = cull.face,
|
|
228
|
-
face = _cull$face === void 0 ? gl.BACK : _cull$face;
|
|
229
|
-
drawParams.cull = {
|
|
230
|
-
enable: !!enable,
|
|
231
|
-
face: cullFaceMap[face]
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}, {
|
|
236
|
-
key: "extractUniforms",
|
|
237
|
-
value: function extractUniforms(uniforms) {
|
|
238
|
-
var _this = this;
|
|
239
|
-
|
|
240
|
-
var extractedUniforms = {};
|
|
241
|
-
Object.keys(uniforms).forEach(function (uniformName) {
|
|
242
|
-
_this.extractUniformsRecursively(uniformName, uniforms[uniformName], extractedUniforms, '');
|
|
243
|
-
});
|
|
244
|
-
return extractedUniforms;
|
|
245
|
-
}
|
|
246
|
-
}, {
|
|
247
|
-
key: "extractUniformsRecursively",
|
|
248
|
-
value: function extractUniformsRecursively(uniformName, uniformValue, uniforms, prefix) {
|
|
249
|
-
var _this2 = this;
|
|
250
|
-
|
|
251
|
-
if (uniformValue === null || typeof uniformValue === 'number' || typeof uniformValue === 'boolean' || Array.isArray(uniformValue) && typeof uniformValue[0] === 'number' || _isTypedArray(uniformValue) || uniformValue === '' || 'resize' in uniformValue) {
|
|
252
|
-
uniforms["".concat(prefix && prefix + '.').concat(uniformName)] = uniformValue;
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
if (_isPlainObject(uniformValue)) {
|
|
257
|
-
Object.keys(uniformValue).forEach(function (childName) {
|
|
258
|
-
_this2.extractUniformsRecursively(childName, uniformValue[childName], uniforms, "".concat(prefix && prefix + '.').concat(uniformName));
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
if (Array.isArray(uniformValue)) {
|
|
263
|
-
uniformValue.forEach(function (child, idx) {
|
|
264
|
-
Object.keys(child).forEach(function (childName) {
|
|
265
|
-
_this2.extractUniformsRecursively(childName, child[childName], uniforms, "".concat(prefix && prefix + '.').concat(uniformName, "[").concat(idx, "]"));
|
|
266
|
-
});
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}]);
|
|
271
|
-
|
|
272
|
-
return ReglModel;
|
|
273
|
-
}();
|
|
274
|
-
|
|
275
|
-
export { ReglModel as default };
|
|
276
|
-
//# sourceMappingURL=ReglModel.js.map
|
package/es/regl/ReglModel.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/ReglModel.ts"],"names":["gl","blendEquationMap","blendFuncMap","cullFaceMap","depthFuncMap","primitiveMap","stencilFuncMap","stencilOpMap","ReglModel","reGl","options","vs","fs","attributes","uniforms","primitive","count","elements","depth","blend","stencil","cull","instances","reglUniforms","extractUniforms","Object","keys","forEach","uniformName","prop","reglAttributes","name","get","drawParams","frag","vert","undefined","TRIANGLES","initDepthDrawParams","initBlendDrawParams","initStencilDrawParams","initCullDrawParams","drawCommand","length","reglDrawProps","type","Array","isArray","BYTES_PER_ELEMENT","destroy","values","attr","destroyed","enable","mask","func","LESS","range","equation","color","srcRGB","SRC_ALPHA","srcAlpha","dstRGB","ONE_MINUS_SRC_ALPHA","dstAlpha","rgb","FUNC_ADD","alpha","cmp","ALWAYS","ref","opFront","fail","KEEP","zfail","zpass","opBack","face","BACK","extractedUniforms","extractUniformsRecursively","uniformValue","prefix","childName","child","idx"],"mappings":"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","sourcesContent":["import {\n gl,\n IAttribute,\n IModel,\n IModelDrawOptions,\n IModelInitializationOptions,\n IUniform,\n} from '@antv/l7-core';\nimport regl from 'l7regl';\nimport { isPlainObject, isTypedArray } from 'lodash';\nimport {\n blendEquationMap,\n blendFuncMap,\n cullFaceMap,\n depthFuncMap,\n primitiveMap,\n stencilFuncMap,\n stencilOpMap,\n} from './constants';\nimport ReglAttribute from './ReglAttribute';\nimport ReglElements from './ReglElements';\nimport ReglFramebuffer from './ReglFramebuffer';\nimport ReglTexture2D from './ReglTexture2D';\n\n/**\n * adaptor for regl.DrawCommand\n */\nexport default class ReglModel implements IModel {\n private reGl: regl.Regl;\n private destroyed: boolean = false;\n private drawCommand: regl.DrawCommand;\n private drawParams: regl.DrawConfig;\n private options: IModelInitializationOptions;\n private uniforms: {\n [key: string]: IUniform;\n } = {};\n\n constructor(reGl: regl.Regl, options: IModelInitializationOptions) {\n this.reGl = reGl;\n const {\n vs,\n fs,\n attributes,\n uniforms,\n primitive,\n count,\n elements,\n depth,\n blend,\n stencil,\n cull,\n instances,\n } = options;\n const reglUniforms: { [key: string]: IUniform } = {};\n this.options = options;\n if (uniforms) {\n this.uniforms = this.extractUniforms(uniforms);\n Object.keys(uniforms).forEach((uniformName) => {\n // use regl prop API\n // @ts-ignore\n reglUniforms[uniformName] = reGl.prop(uniformName);\n });\n }\n\n const reglAttributes: { [key: string]: regl.Attribute } = {};\n Object.keys(attributes).forEach((name: string) => {\n reglAttributes[name] = (attributes[name] as ReglAttribute).get();\n });\n const drawParams: regl.DrawConfig = {\n attributes: reglAttributes,\n frag: fs,\n uniforms: reglUniforms,\n vert: vs,\n primitive:\n primitiveMap[primitive === undefined ? gl.TRIANGLES : primitive],\n };\n if (instances) {\n drawParams.instances = instances;\n }\n\n // elements 中可能包含 count,此时不应传入\n if (count) {\n drawParams.count = count;\n }\n\n if (elements) {\n drawParams.elements = (elements as ReglElements).get();\n }\n\n this.initDepthDrawParams({ depth }, drawParams);\n this.initBlendDrawParams({ blend }, drawParams);\n this.initStencilDrawParams({ stencil }, drawParams);\n this.initCullDrawParams({ cull }, drawParams);\n\n this.drawCommand = reGl(drawParams);\n this.drawParams = drawParams;\n }\n\n public addUniforms(uniforms: { [key: string]: IUniform }) {\n this.uniforms = {\n ...this.uniforms,\n ...this.extractUniforms(uniforms),\n };\n }\n\n public draw(options: IModelDrawOptions) {\n if (\n this.drawParams.attributes &&\n Object.keys(this.drawParams.attributes).length === 0\n ) {\n return;\n }\n const uniforms: {\n [key: string]: IUniform;\n } = {\n ...this.uniforms,\n ...this.extractUniforms(options.uniforms || {}),\n };\n const reglDrawProps: {\n [key: string]:\n | regl.Framebuffer\n | regl.Texture2D\n | number\n | number[]\n | boolean;\n } = {};\n Object.keys(uniforms).forEach((uniformName: string) => {\n const type = typeof uniforms[uniformName];\n if (\n type === 'boolean' ||\n type === 'number' ||\n Array.isArray(uniforms[uniformName]) ||\n // @ts-ignore\n uniforms[uniformName].BYTES_PER_ELEMENT\n ) {\n reglDrawProps[uniformName] = uniforms[uniformName] as\n | number\n | number[]\n | boolean;\n } else {\n reglDrawProps[uniformName] = (uniforms[uniformName] as\n | ReglFramebuffer\n | ReglTexture2D).get();\n }\n });\n this.drawCommand(reglDrawProps);\n }\n\n public destroy() {\n // @ts-ignore\n this.drawParams.elements.destroy();\n if (this.options.attributes) {\n Object.values(this.options.attributes).forEach((attr: any) => {\n // @ts-ignore\n (attr as ReglAttribute).destroy();\n });\n }\n this.destroyed = true;\n }\n\n /**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#depth-buffer\n */\n private initDepthDrawParams(\n { depth }: Pick<IModelInitializationOptions, 'depth'>,\n drawParams: regl.DrawConfig,\n ) {\n if (depth) {\n drawParams.depth = {\n enable: depth.enable === undefined ? true : !!depth.enable,\n mask: depth.mask === undefined ? true : !!depth.mask,\n func: depthFuncMap[depth.func || gl.LESS],\n range: depth.range || [0, 1],\n };\n }\n }\n\n /**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#blending\n */\n private initBlendDrawParams(\n { blend }: Pick<IModelInitializationOptions, 'blend'>,\n drawParams: regl.DrawConfig,\n ) {\n if (blend) {\n const { enable, func, equation, color = [0, 0, 0, 0] } = blend;\n // @ts-ignore\n drawParams.blend = {\n enable: !!enable,\n func: {\n srcRGB: blendFuncMap[(func && func.srcRGB) || gl.SRC_ALPHA],\n srcAlpha: blendFuncMap[(func && func.srcAlpha) || gl.SRC_ALPHA],\n dstRGB: blendFuncMap[(func && func.dstRGB) || gl.ONE_MINUS_SRC_ALPHA],\n dstAlpha:\n blendFuncMap[(func && func.dstAlpha) || gl.ONE_MINUS_SRC_ALPHA],\n },\n equation: {\n rgb: blendEquationMap[(equation && equation.rgb) || gl.FUNC_ADD],\n alpha: blendEquationMap[(equation && equation.alpha) || gl.FUNC_ADD],\n },\n color,\n };\n }\n }\n\n /**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#stencil\n */\n private initStencilDrawParams(\n { stencil }: Pick<IModelInitializationOptions, 'stencil'>,\n drawParams: regl.DrawConfig,\n ) {\n if (stencil) {\n const {\n enable,\n mask = -1,\n func = {\n cmp: gl.ALWAYS,\n ref: 0,\n mask: -1,\n },\n opFront = {\n fail: gl.KEEP,\n zfail: gl.KEEP,\n zpass: gl.KEEP,\n },\n opBack = {\n fail: gl.KEEP,\n zfail: gl.KEEP,\n zpass: gl.KEEP,\n },\n } = stencil;\n drawParams.stencil = {\n enable: !!enable,\n mask,\n func: {\n ...func,\n cmp: stencilFuncMap[func.cmp],\n },\n opFront: {\n fail: stencilOpMap[opFront.fail],\n zfail: stencilOpMap[opFront.zfail],\n zpass: stencilOpMap[opFront.zpass],\n },\n opBack: {\n fail: stencilOpMap[opBack.fail],\n zfail: stencilOpMap[opBack.zfail],\n zpass: stencilOpMap[opBack.zpass],\n },\n };\n }\n }\n\n /**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#culling\n */\n private initCullDrawParams(\n { cull }: Pick<IModelInitializationOptions, 'cull'>,\n drawParams: regl.DrawConfig,\n ) {\n if (cull) {\n const { enable, face = gl.BACK } = cull;\n drawParams.cull = {\n enable: !!enable,\n face: cullFaceMap[face],\n };\n }\n }\n\n /**\n * 考虑结构体命名, eg:\n * a: { b: 1 } -> 'a.b'\n * a: [ { b: 1 } ] -> 'a[0].b'\n */\n private extractUniforms(uniforms: {\n [key: string]: IUniform;\n }): {\n [key: string]: IUniform;\n } {\n const extractedUniforms = {};\n Object.keys(uniforms).forEach((uniformName) => {\n this.extractUniformsRecursively(\n uniformName,\n uniforms[uniformName],\n extractedUniforms,\n '',\n );\n });\n\n return extractedUniforms;\n }\n\n private extractUniformsRecursively(\n uniformName: string,\n uniformValue: IUniform,\n uniforms: {\n [key: string]: IUniform;\n },\n prefix: string,\n ) {\n if (\n uniformValue === null ||\n typeof uniformValue === 'number' || // u_A: 1\n typeof uniformValue === 'boolean' || // u_A: false\n (Array.isArray(uniformValue) && typeof uniformValue[0] === 'number') || // u_A: [1, 2, 3]\n isTypedArray(uniformValue) || // u_A: Float32Array\n // @ts-ignore\n uniformValue === '' ||\n 'resize' in uniformValue\n ) {\n uniforms[`${prefix && prefix + '.'}${uniformName}`] = uniformValue;\n return;\n }\n\n // u_Struct.a.b.c\n if (isPlainObject(uniformValue)) {\n Object.keys(uniformValue).forEach((childName) => {\n this.extractUniformsRecursively(\n childName,\n // @ts-ignore\n uniformValue[childName],\n uniforms,\n `${prefix && prefix + '.'}${uniformName}`,\n );\n });\n }\n\n // u_Struct[0].a\n if (Array.isArray(uniformValue)) {\n uniformValue.forEach((child, idx) => {\n Object.keys(child).forEach((childName) => {\n this.extractUniformsRecursively(\n childName,\n // @ts-ignore\n child[childName],\n uniforms,\n `${prefix && prefix + '.'}${uniformName}[${idx}]`,\n );\n });\n });\n }\n }\n}\n"],"file":"ReglModel.js"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { IRenderbuffer, IRenderbufferInitializationOptions } from '@antv/l7-core';
|
|
2
|
-
import regl from 'l7regl';
|
|
3
|
-
/**
|
|
4
|
-
* adaptor for regl.Renderbuffer
|
|
5
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#renderbuffers
|
|
6
|
-
*/
|
|
7
|
-
export default class ReglRenderbuffer implements IRenderbuffer {
|
|
8
|
-
private renderbuffer;
|
|
9
|
-
constructor(reGl: regl.Regl, options: IRenderbufferInitializationOptions);
|
|
10
|
-
get(): regl.Renderbuffer;
|
|
11
|
-
destroy(): void;
|
|
12
|
-
resize({ width, height }: {
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
}): void;
|
|
16
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import { formatMap } from './constants';
|
|
5
|
-
|
|
6
|
-
var ReglRenderbuffer = function () {
|
|
7
|
-
function ReglRenderbuffer(reGl, options) {
|
|
8
|
-
_classCallCheck(this, ReglRenderbuffer);
|
|
9
|
-
|
|
10
|
-
_defineProperty(this, "renderbuffer", void 0);
|
|
11
|
-
|
|
12
|
-
var width = options.width,
|
|
13
|
-
height = options.height,
|
|
14
|
-
format = options.format;
|
|
15
|
-
this.renderbuffer = reGl.renderbuffer({
|
|
16
|
-
width: width,
|
|
17
|
-
height: height,
|
|
18
|
-
format: formatMap[format]
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
_createClass(ReglRenderbuffer, [{
|
|
23
|
-
key: "get",
|
|
24
|
-
value: function get() {
|
|
25
|
-
return this.renderbuffer;
|
|
26
|
-
}
|
|
27
|
-
}, {
|
|
28
|
-
key: "destroy",
|
|
29
|
-
value: function destroy() {
|
|
30
|
-
this.renderbuffer.destroy();
|
|
31
|
-
}
|
|
32
|
-
}, {
|
|
33
|
-
key: "resize",
|
|
34
|
-
value: function resize(_ref) {
|
|
35
|
-
var width = _ref.width,
|
|
36
|
-
height = _ref.height;
|
|
37
|
-
this.renderbuffer.resize(width, height);
|
|
38
|
-
}
|
|
39
|
-
}]);
|
|
40
|
-
|
|
41
|
-
return ReglRenderbuffer;
|
|
42
|
-
}();
|
|
43
|
-
|
|
44
|
-
export { ReglRenderbuffer as default };
|
|
45
|
-
//# sourceMappingURL=ReglRenderbuffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/ReglRenderbuffer.ts"],"names":["formatMap","ReglRenderbuffer","reGl","options","width","height","format","renderbuffer","destroy","resize"],"mappings":";;;AAKA,SAASA,SAAT,QAA0B,aAA1B;;IAMqBC,gB;AAGnB,4BAAYC,IAAZ,EAA6BC,OAA7B,EAA0E;AAAA;;AAAA;;AACxE,QAAQC,KAAR,GAAkCD,OAAlC,CAAQC,KAAR;AAAA,QAAeC,MAAf,GAAkCF,OAAlC,CAAeE,MAAf;AAAA,QAAuBC,MAAvB,GAAkCH,OAAlC,CAAuBG,MAAvB;AACA,SAAKC,YAAL,GAAoBL,IAAI,CAACK,YAAL,CAAkB;AACpCH,MAAAA,KAAK,EAALA,KADoC;AAEpCC,MAAAA,MAAM,EAANA,MAFoC;AAGpCC,MAAAA,MAAM,EAAEN,SAAS,CAACM,MAAD;AAHmB,KAAlB,CAApB;AAKD;;;;WAED,eAAa;AACX,aAAO,KAAKC,YAAZ;AACD;;;WAED,mBAAiB;AACf,WAAKA,YAAL,CAAkBC,OAAlB;AACD;;;WAED,sBAAoE;AAAA,UAApDJ,KAAoD,QAApDA,KAAoD;AAAA,UAA7CC,MAA6C,QAA7CA,MAA6C;AAClE,WAAKE,YAAL,CAAkBE,MAAlB,CAAyBL,KAAzB,EAAgCC,MAAhC;AACD;;;;;;SAtBkBJ,gB","sourcesContent":["import {\n IRenderbuffer,\n IRenderbufferInitializationOptions,\n} from '@antv/l7-core';\nimport regl from 'l7regl';\nimport { formatMap } from './constants';\n\n/**\n * adaptor for regl.Renderbuffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#renderbuffers\n */\nexport default class ReglRenderbuffer implements IRenderbuffer {\n private renderbuffer: regl.Renderbuffer;\n\n constructor(reGl: regl.Regl, options: IRenderbufferInitializationOptions) {\n const { width, height, format } = options;\n this.renderbuffer = reGl.renderbuffer({\n width,\n height,\n format: formatMap[format] as regl.RenderbufferFormat,\n });\n }\n\n public get() {\n return this.renderbuffer;\n }\n\n public destroy() {\n this.renderbuffer.destroy();\n }\n\n public resize({ width, height }: { width: number; height: number }) {\n this.renderbuffer.resize(width, height);\n }\n}\n"],"file":"ReglRenderbuffer.js"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ITexture2D, ITexture2DInitializationOptions } from '@antv/l7-core';
|
|
2
|
-
import regl from 'l7regl';
|
|
3
|
-
/**
|
|
4
|
-
* adaptor for regl.Buffer
|
|
5
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md#buffers
|
|
6
|
-
*/
|
|
7
|
-
export default class ReglTexture2D implements ITexture2D {
|
|
8
|
-
private texture;
|
|
9
|
-
private width;
|
|
10
|
-
private height;
|
|
11
|
-
constructor(reGl: regl.Regl, options: ITexture2DInitializationOptions);
|
|
12
|
-
get(): regl.Texture2D;
|
|
13
|
-
update(props?: regl.Texture2DOptions): void;
|
|
14
|
-
bind(): void;
|
|
15
|
-
resize({ width, height }: {
|
|
16
|
-
width: number;
|
|
17
|
-
height: number;
|
|
18
|
-
}): void;
|
|
19
|
-
destroy(): void;
|
|
20
|
-
}
|