@antv/l7-renderer 2.9.21 → 2.9.23

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.
Files changed (41) hide show
  1. package/es/index.js +5 -3
  2. package/es/regl/ReglAttribute.js +5 -8
  3. package/es/regl/ReglBuffer.js +9 -8
  4. package/es/regl/ReglElements.js +8 -8
  5. package/es/regl/ReglFramebuffer.js +8 -7
  6. package/es/regl/ReglModel.js +63 -42
  7. package/es/regl/ReglRenderbuffer.js +7 -7
  8. package/es/regl/ReglTexture2D.js +12 -10
  9. package/es/regl/constants.js +5 -2
  10. package/es/regl/index.js +43 -31
  11. package/lib/index.js +29 -13
  12. package/lib/regl/ReglAttribute.js +38 -48
  13. package/lib/regl/ReglBuffer.js +46 -52
  14. package/lib/regl/ReglElements.js +45 -51
  15. package/lib/regl/ReglFramebuffer.js +43 -58
  16. package/lib/regl/ReglModel.js +217 -283
  17. package/lib/regl/ReglRenderbuffer.js +42 -50
  18. package/lib/regl/ReglTexture2D.js +90 -122
  19. package/lib/regl/constants.js +168 -42
  20. package/lib/regl/index.js +204 -272
  21. package/package.json +11 -8
  22. package/es/index.js.map +0 -1
  23. package/es/regl/ReglAttribute.js.map +0 -1
  24. package/es/regl/ReglBuffer.js.map +0 -1
  25. package/es/regl/ReglElements.js.map +0 -1
  26. package/es/regl/ReglFramebuffer.js.map +0 -1
  27. package/es/regl/ReglModel.js.map +0 -1
  28. package/es/regl/ReglRenderbuffer.js.map +0 -1
  29. package/es/regl/ReglTexture2D.js.map +0 -1
  30. package/es/regl/constants.js.map +0 -1
  31. package/es/regl/index.js.map +0 -1
  32. package/lib/index.js.map +0 -1
  33. package/lib/regl/ReglAttribute.js.map +0 -1
  34. package/lib/regl/ReglBuffer.js.map +0 -1
  35. package/lib/regl/ReglElements.js.map +0 -1
  36. package/lib/regl/ReglFramebuffer.js.map +0 -1
  37. package/lib/regl/ReglModel.js.map +0 -1
  38. package/lib/regl/ReglRenderbuffer.js.map +0 -1
  39. package/lib/regl/ReglTexture2D.js.map +0 -1
  40. package/lib/regl/constants.js.map +0 -1
  41. package/lib/regl/index.js.map +0 -1
package/lib/regl/index.js CHANGED
@@ -1,289 +1,221 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var __decorateClass = (decorators, target, key, kind) => {
22
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
23
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
24
+ if (decorator = decorators[i])
25
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
26
+ if (kind && result)
27
+ __defProp(target, key, result);
28
+ return result;
29
+ };
30
+
31
+ // src/regl/index.ts
32
+ var regl_exports = {};
33
+ __export(regl_exports, {
34
+ default: () => ReglRendererService
7
35
  });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
- var _l7Utils = require("@antv/l7-utils");
21
-
22
- var _inversify = require("inversify");
23
-
24
- var _l7regl = _interopRequireDefault(require("l7regl"));
25
-
26
- require("reflect-metadata");
27
-
28
- var _ReglAttribute = _interopRequireDefault(require("./ReglAttribute"));
29
-
30
- var _ReglBuffer = _interopRequireDefault(require("./ReglBuffer"));
31
-
32
- var _ReglElements = _interopRequireDefault(require("./ReglElements"));
33
-
34
- var _ReglFramebuffer = _interopRequireDefault(require("./ReglFramebuffer"));
35
-
36
- var _ReglModel = _interopRequireDefault(require("./ReglModel"));
37
-
38
- var _ReglTexture2D = _interopRequireDefault(require("./ReglTexture2D"));
39
-
40
- var _dec, _class;
41
-
42
- var ReglRendererService = (_dec = (0, _inversify.injectable)(), _dec(_class = function () {
43
- function ReglRendererService() {
44
- var _this = this;
45
-
46
- (0, _classCallCheck2.default)(this, ReglRendererService);
47
- (0, _defineProperty2.default)(this, "extensionObject", void 0);
48
- (0, _defineProperty2.default)(this, "gl", void 0);
49
- (0, _defineProperty2.default)(this, "$container", void 0);
50
- (0, _defineProperty2.default)(this, "canvas", void 0);
51
- (0, _defineProperty2.default)(this, "width", void 0);
52
- (0, _defineProperty2.default)(this, "height", void 0);
53
- (0, _defineProperty2.default)(this, "isDirty", void 0);
54
- (0, _defineProperty2.default)(this, "createModel", function (options) {
55
- return new _ReglModel.default(_this.gl, options);
56
- });
57
- (0, _defineProperty2.default)(this, "createAttribute", function (options) {
58
- return new _ReglAttribute.default(_this.gl, options);
59
- });
60
- (0, _defineProperty2.default)(this, "createBuffer", function (options) {
61
- return new _ReglBuffer.default(_this.gl, options);
62
- });
63
- (0, _defineProperty2.default)(this, "createElements", function (options) {
64
- return new _ReglElements.default(_this.gl, options);
65
- });
66
- (0, _defineProperty2.default)(this, "createTexture2D", function (options) {
67
- return new _ReglTexture2D.default(_this.gl, options);
68
- });
69
- (0, _defineProperty2.default)(this, "createFramebuffer", function (options) {
70
- return new _ReglFramebuffer.default(_this.gl, options);
71
- });
72
- (0, _defineProperty2.default)(this, "useFramebuffer", function (framebuffer, drawCommands) {
73
- _this.gl({
36
+ module.exports = __toCommonJS(regl_exports);
37
+ var import_l7_utils = require("@antv/l7-utils");
38
+ var import_inversify = require("inversify");
39
+ var import_l7regl = __toESM(require("l7regl"));
40
+ var import_reflect_metadata = require("reflect-metadata");
41
+ var import_ReglAttribute = __toESM(require("./ReglAttribute"));
42
+ var import_ReglBuffer = __toESM(require("./ReglBuffer"));
43
+ var import_ReglElements = __toESM(require("./ReglElements"));
44
+ var import_ReglFramebuffer = __toESM(require("./ReglFramebuffer"));
45
+ var import_ReglModel = __toESM(require("./ReglModel"));
46
+ var import_ReglTexture2D = __toESM(require("./ReglTexture2D"));
47
+ var ReglRendererService = class {
48
+ constructor() {
49
+ this.createModel = (options) => new import_ReglModel.default(this.gl, options);
50
+ this.createAttribute = (options) => new import_ReglAttribute.default(this.gl, options);
51
+ this.createBuffer = (options) => new import_ReglBuffer.default(this.gl, options);
52
+ this.createElements = (options) => new import_ReglElements.default(this.gl, options);
53
+ this.createTexture2D = (options) => new import_ReglTexture2D.default(this.gl, options);
54
+ this.createFramebuffer = (options) => new import_ReglFramebuffer.default(this.gl, options);
55
+ this.useFramebuffer = (framebuffer, drawCommands) => {
56
+ this.gl({
74
57
  framebuffer: framebuffer ? framebuffer.get() : null
75
58
  })(drawCommands);
76
- });
77
- (0, _defineProperty2.default)(this, "clear", function (options) {
78
- var _this$gl;
79
-
80
- var color = options.color,
81
- depth = options.depth,
82
- stencil = options.stencil,
83
- _options$framebuffer = options.framebuffer,
84
- framebuffer = _options$framebuffer === void 0 ? null : _options$framebuffer;
85
- var reglClearOptions = {
86
- color: color,
87
- depth: depth,
88
- stencil: stencil
59
+ };
60
+ this.clear = (options) => {
61
+ var _a;
62
+ const { color, depth, stencil, framebuffer = null } = options;
63
+ const reglClearOptions = {
64
+ color,
65
+ depth,
66
+ stencil
89
67
  };
90
68
  reglClearOptions.framebuffer = framebuffer === null ? framebuffer : framebuffer.get();
91
- (_this$gl = _this.gl) === null || _this$gl === void 0 ? void 0 : _this$gl.clear(reglClearOptions);
92
- });
93
- (0, _defineProperty2.default)(this, "viewport", function (_ref) {
94
- var x = _ref.x,
95
- y = _ref.y,
96
- width = _ref.width,
97
- height = _ref.height;
98
-
99
- _this.gl._gl.viewport(x, y, width, height);
100
-
101
- _this.width = width;
102
- _this.height = height;
103
-
104
- _this.gl._refresh();
105
- });
106
- (0, _defineProperty2.default)(this, "readPixels", function (options) {
107
- var framebuffer = options.framebuffer,
108
- x = options.x,
109
- y = options.y,
110
- width = options.width,
111
- height = options.height;
112
- var readPixelsOptions = {
113
- x: x,
114
- y: y,
115
- width: width,
116
- height: height
69
+ (_a = this.gl) == null ? void 0 : _a.clear(reglClearOptions);
70
+ };
71
+ this.viewport = ({
72
+ x,
73
+ y,
74
+ width,
75
+ height
76
+ }) => {
77
+ this.gl._gl.viewport(x, y, width, height);
78
+ this.width = width;
79
+ this.height = height;
80
+ this.gl._refresh();
81
+ };
82
+ this.readPixels = (options) => {
83
+ const { framebuffer, x, y, width, height } = options;
84
+ const readPixelsOptions = {
85
+ x,
86
+ y,
87
+ width,
88
+ height
117
89
  };
118
-
119
90
  if (framebuffer) {
120
91
  readPixelsOptions.framebuffer = framebuffer.get();
121
92
  }
122
-
123
- return _this.gl.read(readPixelsOptions);
124
- });
125
- (0, _defineProperty2.default)(this, "getViewportSize", function () {
93
+ return this.gl.read(readPixelsOptions);
94
+ };
95
+ this.getViewportSize = () => {
126
96
  return {
127
- width: _this.gl._gl.drawingBufferWidth,
128
- height: _this.gl._gl.drawingBufferHeight
97
+ width: this.gl._gl.drawingBufferWidth,
98
+ height: this.gl._gl.drawingBufferHeight
129
99
  };
130
- });
131
- (0, _defineProperty2.default)(this, "getContainer", function () {
132
- if (_l7Utils.isMini) {
133
- return _this.canvas;
100
+ };
101
+ this.getContainer = () => {
102
+ var _a;
103
+ if (import_l7_utils.isMini) {
104
+ return this.canvas;
134
105
  } else {
135
- var _this$canvas;
136
-
137
- return (_this$canvas = _this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.parentElement;
106
+ return (_a = this.canvas) == null ? void 0 : _a.parentElement;
138
107
  }
108
+ };
109
+ this.getCanvas = () => {
110
+ return this.canvas;
111
+ };
112
+ this.getGLContext = () => {
113
+ return this.gl._gl;
114
+ };
115
+ this.destroy = () => {
116
+ var _a, _b, _c;
117
+ this.canvas = null;
118
+ (_c = (_b = (_a = this.gl) == null ? void 0 : _a._gl) == null ? void 0 : _b.getExtension("WEBGL_lose_context")) == null ? void 0 : _c.loseContext();
119
+ this.gl.destroy();
120
+ this.gl = null;
121
+ };
122
+ }
123
+ async init(canvas, cfg) {
124
+ this.canvas = canvas;
125
+ this.gl = await new Promise((resolve, reject) => {
126
+ (0, import_l7regl.default)({
127
+ canvas: this.canvas,
128
+ attributes: {
129
+ alpha: true,
130
+ antialias: cfg.antialias,
131
+ premultipliedAlpha: true,
132
+ preserveDrawingBuffer: cfg.preserveDrawingBuffer,
133
+ stencil: cfg.stencil
134
+ },
135
+ extensions: [
136
+ "OES_element_index_uint",
137
+ "OES_standard_derivatives",
138
+ "ANGLE_instanced_arrays"
139
+ ],
140
+ optionalExtensions: [
141
+ "oes_texture_float_linear",
142
+ "OES_texture_float",
143
+ "EXT_texture_filter_anisotropic",
144
+ "EXT_blend_minmax",
145
+ "WEBGL_depth_texture"
146
+ ],
147
+ profile: true,
148
+ onDone: (err, r) => {
149
+ if (err || !r) {
150
+ reject(err);
151
+ }
152
+ resolve(r);
153
+ }
154
+ });
139
155
  });
140
- (0, _defineProperty2.default)(this, "getCanvas", function () {
141
- return _this.canvas;
142
- });
143
- (0, _defineProperty2.default)(this, "getGLContext", function () {
144
- return _this.gl._gl;
156
+ this.extensionObject = {
157
+ OES_texture_float: this.testExtension("OES_texture_float")
158
+ };
159
+ }
160
+ getPointSizeRange() {
161
+ return this.gl._gl.getParameter(this.gl._gl.ALIASED_POINT_SIZE_RANGE);
162
+ }
163
+ testExtension(name) {
164
+ return !!this.getGLContext().getExtension(name);
165
+ }
166
+ setState() {
167
+ this.gl({
168
+ cull: {
169
+ enable: false,
170
+ face: "back"
171
+ },
172
+ viewport: {
173
+ x: 0,
174
+ y: 0,
175
+ height: this.width,
176
+ width: this.height
177
+ },
178
+ blend: {
179
+ enable: true,
180
+ equation: "add"
181
+ },
182
+ framebuffer: null
145
183
  });
146
- (0, _defineProperty2.default)(this, "destroy", function () {
147
- var _this$gl2, _this$gl2$_gl, _this$gl2$_gl$getExte;
148
-
149
- _this.canvas = null;
150
- (_this$gl2 = _this.gl) === null || _this$gl2 === void 0 ? void 0 : (_this$gl2$_gl = _this$gl2._gl) === null || _this$gl2$_gl === void 0 ? void 0 : (_this$gl2$_gl$getExte = _this$gl2$_gl.getExtension('WEBGL_lose_context')) === null || _this$gl2$_gl$getExte === void 0 ? void 0 : _this$gl2$_gl$getExte.loseContext();
151
-
152
- _this.gl.destroy();
153
-
154
- _this.gl = null;
184
+ this.gl._refresh();
185
+ }
186
+ setBaseState() {
187
+ this.gl({
188
+ cull: {
189
+ enable: false,
190
+ face: "back"
191
+ },
192
+ viewport: {
193
+ x: 0,
194
+ y: 0,
195
+ height: this.width,
196
+ width: this.height
197
+ },
198
+ blend: {
199
+ enable: false,
200
+ equation: "add"
201
+ },
202
+ framebuffer: null
155
203
  });
204
+ this.gl._refresh();
156
205
  }
157
-
158
- (0, _createClass2.default)(ReglRendererService, [{
159
- key: "init",
160
- value: function () {
161
- var _init = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(canvas, cfg) {
162
- var _this2 = this;
163
-
164
- return _regenerator.default.wrap(function _callee$(_context) {
165
- while (1) {
166
- switch (_context.prev = _context.next) {
167
- case 0:
168
- this.canvas = canvas;
169
- _context.next = 3;
170
- return new Promise(function (resolve, reject) {
171
- (0, _l7regl.default)({
172
- canvas: _this2.canvas,
173
- attributes: {
174
- alpha: true,
175
- antialias: cfg.antialias,
176
- premultipliedAlpha: true,
177
- preserveDrawingBuffer: cfg.preserveDrawingBuffer,
178
- stencil: cfg.stencil
179
- },
180
- extensions: ['OES_element_index_uint', 'OES_standard_derivatives', 'ANGLE_instanced_arrays'],
181
- optionalExtensions: ['oes_texture_float_linear', 'OES_texture_float', 'EXT_texture_filter_anisotropic', 'EXT_blend_minmax', 'WEBGL_depth_texture'],
182
- profile: true,
183
- onDone: function onDone(err, r) {
184
- if (err || !r) {
185
- reject(err);
186
- }
187
-
188
- resolve(r);
189
- }
190
- });
191
- });
192
-
193
- case 3:
194
- this.gl = _context.sent;
195
- this.extensionObject = {
196
- OES_texture_float: this.testExtension('OES_texture_float')
197
- };
198
-
199
- case 5:
200
- case "end":
201
- return _context.stop();
202
- }
203
- }
204
- }, _callee, this);
205
- }));
206
-
207
- function init(_x, _x2) {
208
- return _init.apply(this, arguments);
209
- }
210
-
211
- return init;
212
- }()
213
- }, {
214
- key: "getPointSizeRange",
215
- value: function getPointSizeRange() {
216
- return this.gl._gl.getParameter(this.gl._gl.ALIASED_POINT_SIZE_RANGE);
217
- }
218
- }, {
219
- key: "testExtension",
220
- value: function testExtension(name) {
221
- return !!this.getGLContext().getExtension(name);
222
- }
223
- }, {
224
- key: "setState",
225
- value: function setState() {
226
- this.gl({
227
- cull: {
228
- enable: false,
229
- face: 'back'
230
- },
231
- viewport: {
232
- x: 0,
233
- y: 0,
234
- height: this.width,
235
- width: this.height
236
- },
237
- blend: {
238
- enable: true,
239
- equation: 'add'
240
- },
241
- framebuffer: null
242
- });
243
-
244
- this.gl._refresh();
245
- }
246
- }, {
247
- key: "setBaseState",
248
- value: function setBaseState() {
249
- this.gl({
250
- cull: {
251
- enable: false,
252
- face: 'back'
253
- },
254
- viewport: {
255
- x: 0,
256
- y: 0,
257
- height: this.width,
258
- width: this.height
259
- },
260
- blend: {
261
- enable: false,
262
- equation: 'add'
263
- },
264
- framebuffer: null
265
- });
266
-
267
- this.gl._refresh();
268
- }
269
- }, {
270
- key: "setCustomLayerDefaults",
271
- value: function setCustomLayerDefaults() {
272
- var gl = this.getGLContext();
273
- gl.disable(gl.CULL_FACE);
274
- }
275
- }, {
276
- key: "setDirty",
277
- value: function setDirty(flag) {
278
- this.isDirty = flag;
279
- }
280
- }, {
281
- key: "getDirty",
282
- value: function getDirty() {
283
- return this.isDirty;
284
- }
285
- }]);
286
- return ReglRendererService;
287
- }()) || _class);
288
- exports.default = ReglRendererService;
289
- //# sourceMappingURL=index.js.map
206
+ setCustomLayerDefaults() {
207
+ const gl = this.getGLContext();
208
+ gl.disable(gl.CULL_FACE);
209
+ }
210
+ setDirty(flag) {
211
+ this.isDirty = flag;
212
+ }
213
+ getDirty() {
214
+ return this.isDirty;
215
+ }
216
+ };
217
+ ReglRendererService = __decorateClass([
218
+ (0, import_inversify.injectable)()
219
+ ], ReglRendererService);
220
+ // Annotate the CommonJS export names for ESM import in node:
221
+ 0 && (module.exports = {});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-renderer",
3
- "version": "2.9.21",
3
+ "version": "2.9.23",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -14,11 +14,13 @@
14
14
  "scripts": {
15
15
  "tsc": "tsc --project tsconfig.build.json",
16
16
  "clean": "rimraf dist; rimraf es; rimraf lib;",
17
- "build": "run-p build:*",
18
- "build:cjs": "cross-env BABEL_ENV=cjs NODE_ENV=production NODE_ENV=production babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
19
- "build:esm": "cross-env BABEL_ENV=esm NODE_ENV=production NODE_ENV=production babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
20
- "watch": "cross-env BABEL_ENV=cjs NODE_ENV=production NODE_ENV=production babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
21
- "sync": "tnpm sync"
17
+ "build": "father build",
18
+ "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
19
+ "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
20
+ "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
21
+ "sync": "tnpm sync",
22
+ "test": "umi-test --passWithNoTests",
23
+ "test-live": "umi-test --watch"
22
24
  },
23
25
  "author": "xiaoiver",
24
26
  "license": "ISC",
@@ -26,14 +28,15 @@
26
28
  "gl": "^4.4.0"
27
29
  },
28
30
  "dependencies": {
29
- "@antv/l7-core": "2.9.21",
31
+ "@antv/l7-core": "2.9.23",
32
+ "@antv/l7-utils": "2.9.23",
30
33
  "@babel/runtime": "^7.7.7",
31
34
  "inversify": "^5.0.1",
32
35
  "l7regl": "^0.0.20",
33
36
  "lodash": "^4.17.15",
34
37
  "reflect-metadata": "^0.1.13"
35
38
  },
36
- "gitHead": "e4cf36416bc5cecd569ed6814d8043ef2976a064",
39
+ "gitHead": "b8bef9861bce80ff9b27a53d7bfb386c74005087",
37
40
  "publishConfig": {
38
41
  "access": "public"
39
42
  }
package/es/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["ReglRendererService"],"mappings":"AAGA,OAAOA,mBAAP,MAAgC,QAAhC;AAEA,SAASA,mBAAT","sourcesContent":["/**\n *\n */\nimport ReglRendererService from './regl';\n\nexport { ReglRendererService };\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/regl/ReglAttribute.ts"],"names":["ReglAttribute","gl","options","buffer","offset","stride","normalized","size","divisor","attribute","get","subData","destroy"],"mappings":";;;;IAWqBA,a;AAInB,yBAAYC,EAAZ,EAA2BC,OAA3B,EAAqE;AAAA;;AAAA;;AAAA;;AACnE,QAAQC,MAAR,GAA8DD,OAA9D,CAAQC,MAAR;AAAA,QAAgBC,MAAhB,GAA8DF,OAA9D,CAAgBE,MAAhB;AAAA,QAAwBC,MAAxB,GAA8DH,OAA9D,CAAwBG,MAAxB;AAAA,QAAgCC,UAAhC,GAA8DJ,OAA9D,CAAgCI,UAAhC;AAAA,QAA4CC,IAA5C,GAA8DL,OAA9D,CAA4CK,IAA5C;AAAA,QAAkDC,OAAlD,GAA8DN,OAA9D,CAAkDM,OAAlD;AACA,SAAKL,MAAL,GAAcA,MAAd;AACA,SAAKM,SAAL,GAAiB;AACfN,MAAAA,MAAM,EAAGA,MAAD,CAAuBO,GAAvB,EADO;AAEfN,MAAAA,MAAM,EAAEA,MAAM,IAAI,CAFH;AAGfC,MAAAA,MAAM,EAAEA,MAAM,IAAI,CAHH;AAIfC,MAAAA,UAAU,EAAEA,UAAU,IAAI,KAJX;AAKfE,MAAAA,OAAO,EAAEA,OAAO,IAAI;AALL,KAAjB;;AAQA,QAAID,IAAJ,EAAU;AACR,WAAKE,SAAL,CAAeF,IAAf,GAAsBA,IAAtB;AACD;AACF;;;;WAED,eAAa;AACX,aAAO,KAAKE,SAAZ;AACD;;;WAED,sBAAoBP,OAApB,EAKG;AACD,WAAKC,MAAL,CAAYQ,OAAZ,CAAoBT,OAApB;AACD;;;WAED,mBAAiB;AACf,WAAKC,MAAL,CAAYS,OAAZ;AACD;;;;;;SAnCkBZ,a","sourcesContent":["import {\n IAttribute,\n IAttributeInitializationOptions,\n IBuffer,\n} from '@antv/l7-core';\nimport regl from 'l7regl';\nimport ReglBuffer from './ReglBuffer';\n\n/**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#attributes\n */\nexport default class ReglAttribute implements IAttribute {\n private attribute: regl.Attribute;\n private buffer: IBuffer;\n\n constructor(gl: regl.Regl, options: IAttributeInitializationOptions) {\n const { buffer, offset, stride, normalized, size, divisor } = options;\n this.buffer = buffer;\n this.attribute = {\n buffer: (buffer as ReglBuffer).get(),\n offset: offset || 0,\n stride: stride || 0,\n normalized: normalized || false,\n divisor: divisor || 0,\n };\n\n if (size) {\n this.attribute.size = size;\n }\n }\n\n public get() {\n return this.attribute;\n }\n\n public updateBuffer(options: {\n // 用于替换的数据\n data: number[] | number[][] | Uint8Array | Uint16Array | Uint32Array;\n // 原 Buffer 替换位置,单位为 byte\n offset: number;\n }) {\n this.buffer.subData(options);\n }\n\n public destroy() {\n this.buffer.destroy();\n }\n}\n"],"file":"ReglAttribute.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/regl/ReglBuffer.ts"],"names":["gl","dataTypeMap","usageMap","ReglBuffer","reGl","options","data","usage","type","buffer","STATIC_DRAW","UNSIGNED_BYTE","destroy","offset","subdata"],"mappings":";;;AAAA,SAASA,EAAT,QAA0D,eAA1D;AAEA,SAASC,WAAT,EAAsBC,QAAtB,QAAsC,aAAtC;;IAMqBC,U;AAGnB,sBAAYC,IAAZ,EAA6BC,OAA7B,EAAoE;AAAA;;AAAA;;AAClE,QAAQC,IAAR,GAA8BD,OAA9B,CAAQC,IAAR;AAAA,QAAcC,KAAd,GAA8BF,OAA9B,CAAcE,KAAd;AAAA,QAAqBC,IAArB,GAA8BH,OAA9B,CAAqBG,IAArB;AACA,SAAKC,MAAL,GAAcL,IAAI,CAACK,MAAL,CAAY;AACxBH,MAAAA,IAAI,EAAJA,IADwB;AAExBC,MAAAA,KAAK,EAAEL,QAAQ,CAACK,KAAK,IAAIP,EAAE,CAACU,WAAb,CAFS;AAGxBF,MAAAA,IAAI,EAAEP,WAAW,CAACO,IAAI,IAAIR,EAAE,CAACW,aAAZ;AAHO,KAAZ,CAAd;AAMD;;;;WAED,eAAa;AACX,aAAO,KAAKF,MAAZ;AACD;;;WAED,mBAAiB;AACf,WAAKA,MAAL,CAAYG,OAAZ;AACD;;;WAED,uBAMG;AAAA,UALDN,IAKC,QALDA,IAKC;AAAA,UAJDO,MAIC,QAJDA,MAIC;AACD,WAAKJ,MAAL,CAAYK,OAAZ,CAAoBR,IAApB,EAA0BO,MAA1B;AACD;;;;;;SA7BkBV,U","sourcesContent":["import { gl, IBuffer, IBufferInitializationOptions } from '@antv/l7-core';\nimport regl from 'l7regl';\nimport { dataTypeMap, usageMap } from './constants';\n\n/**\n * adaptor for regl.Buffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#buffers\n */\nexport default class ReglBuffer implements IBuffer {\n private buffer: regl.Buffer;\n\n constructor(reGl: regl.Regl, options: IBufferInitializationOptions) {\n const { data, usage, type } = options;\n this.buffer = reGl.buffer({\n data,\n usage: usageMap[usage || gl.STATIC_DRAW],\n type: dataTypeMap[type || gl.UNSIGNED_BYTE],\n // length: 0,\n });\n }\n\n public get() {\n return this.buffer;\n }\n\n public destroy() {\n this.buffer.destroy();\n }\n\n public subData({\n data,\n offset,\n }: {\n data: number[] | number[][] | Uint8Array | Uint16Array | Uint32Array;\n offset: number;\n }) {\n this.buffer.subdata(data, offset);\n }\n}\n"],"file":"ReglBuffer.js"}
@@ -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 +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"}
@@ -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","pickDrawParams","enable","drawPickCommand","pick","length","reglDrawProps","type","Array","isArray","BYTES_PER_ELEMENT","destroy","values","attr","destroyed","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 IElements,\n IModel,\n IModelDrawOptions,\n IModelInitializationOptions,\n IUniform,\n} from '@antv/l7-core';\nimport regl from 'l7regl';\nimport { cloneDeep, extend, 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 drawPickCommand: 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 blend: {},\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\n const pickDrawParams = cloneDeep(drawParams);\n\n pickDrawParams.blend = {\n ...pickDrawParams.blend,\n enable: false,\n };\n\n this.drawPickCommand = reGl(pickDrawParams);\n this.drawParams = drawParams;\n }\n\n public updateAttributesAndElements(\n attributes: { [key: string]: IAttribute },\n elements: IElements,\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 this.drawParams.attributes = reglAttributes;\n this.drawParams.elements = (elements as ReglElements).get();\n\n this.drawCommand = this.reGl(this.drawParams);\n const pickDrawParams = cloneDeep(this.drawParams);\n pickDrawParams.blend = {\n ...pickDrawParams.blend,\n enable: false,\n };\n\n this.drawPickCommand = this.reGl(pickDrawParams);\n }\n\n public updateAttributes(attributes: { [key: string]: IAttribute }) {\n const reglAttributes: { [key: string]: regl.Attribute } = {};\n Object.keys(attributes).forEach((name: string) => {\n reglAttributes[name] = (attributes[name] as ReglAttribute).get();\n });\n this.drawParams.attributes = reglAttributes;\n this.drawCommand = this.reGl(this.drawParams);\n\n const pickDrawParams = cloneDeep(this.drawParams);\n\n pickDrawParams.blend = {\n ...pickDrawParams.blend,\n enable: false,\n };\n\n this.drawPickCommand = this.reGl(pickDrawParams);\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, pick?: boolean) {\n // console.log('options', this.drawParams)\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 // TODO: 在进行拾取操作的绘制中,不应该使用叠加模式 - picking 根据拾取的颜色作为判断的输入,而叠加模式会产生新的,在 id 序列中不存在的颜色\n if (!pick) {\n this.drawCommand(reglDrawProps);\n } else {\n this.drawPickCommand(reglDrawProps);\n }\n // this.drawCommand(reglDrawProps);\n // this.drawPickCommand(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 +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 +0,0 @@
1
- {"version":3,"sources":["../../src/regl/ReglTexture2D.ts"],"names":["gl","colorSpaceMap","dataTypeMap","filterMap","formatMap","mipmapMap","wrapModeMap","ReglTexture2D","reGl","options","data","type","UNSIGNED_BYTE","width","height","flipY","format","RGBA","mipmap","wrapS","CLAMP_TO_EDGE","wrapT","aniso","alignment","premultiplyAlpha","mag","NEAREST","min","colorSpace","BROWSER_DEFAULT_WEBGL","x","y","copy","textureOptions","texture","props","_texture","bind","resize","isDistroy","destroy"],"mappings":"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","sourcesContent":["import { gl, ITexture2D, ITexture2DInitializationOptions } from '@antv/l7-core';\nimport regl from 'l7regl';\nimport {\n colorSpaceMap,\n dataTypeMap,\n filterMap,\n formatMap,\n mipmapMap,\n wrapModeMap,\n} from './constants';\n\n/**\n * adaptor for regl.Buffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#buffers\n */\nexport default class ReglTexture2D implements ITexture2D {\n private texture: regl.Texture2D;\n private width: number;\n private height: number;\n private isDistroy: boolean = false;\n\n constructor(reGl: regl.Regl, options: ITexture2DInitializationOptions) {\n const {\n data,\n type = gl.UNSIGNED_BYTE,\n width,\n height,\n flipY = false,\n format = gl.RGBA,\n mipmap = false,\n wrapS = gl.CLAMP_TO_EDGE,\n wrapT = gl.CLAMP_TO_EDGE,\n aniso = 0,\n alignment = 1,\n premultiplyAlpha = false,\n mag = gl.NEAREST,\n min = gl.NEAREST,\n colorSpace = gl.BROWSER_DEFAULT_WEBGL,\n x = 0,\n y = 0,\n copy = false,\n } = options;\n this.width = width;\n this.height = height;\n\n const textureOptions: regl.Texture2DOptions = {\n width,\n height,\n // @ts-ignore\n type: dataTypeMap[type],\n format: formatMap[format],\n wrapS: wrapModeMap[wrapS],\n wrapT: wrapModeMap[wrapT],\n // @ts-ignore\n mag: filterMap[mag],\n min: filterMap[min],\n alignment,\n flipY,\n colorSpace: colorSpaceMap[colorSpace],\n premultiplyAlpha,\n aniso,\n\n // copy pixels from current bind framebuffer\n x,\n y,\n copy,\n };\n\n if (data) {\n // @ts-ignore\n textureOptions.data = data;\n }\n\n if (typeof mipmap === 'number') {\n textureOptions.mipmap = mipmapMap[mipmap];\n } else if (typeof mipmap === 'boolean') {\n textureOptions.mipmap = mipmap;\n }\n\n this.texture = reGl.texture(textureOptions);\n }\n\n public get() {\n return this.texture;\n }\n public update(props: regl.Texture2DOptions = {}) {\n this.texture(props);\n }\n\n public bind() {\n // @ts-ignore\n this.texture._texture.bind();\n }\n\n public resize({ width, height }: { width: number; height: number }): void {\n this.texture.resize(width, height);\n this.width = width;\n this.height = height;\n }\n\n public destroy() {\n if (!this.isDistroy) {\n this.texture?.destroy();\n }\n this.isDistroy = true;\n }\n}\n"],"file":"ReglTexture2D.js"}