@antv/l7-renderer 2.5.36 → 2.5.37-mini4
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 +4 -4
- 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
package/es/regl/ReglTexture2D.js
DELETED
|
@@ -1,111 +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 { colorSpaceMap, dataTypeMap, filterMap, formatMap, mipmapMap, wrapModeMap } from './constants';
|
|
6
|
-
|
|
7
|
-
var ReglTexture2D = function () {
|
|
8
|
-
function ReglTexture2D(reGl, options) {
|
|
9
|
-
_classCallCheck(this, ReglTexture2D);
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "texture", void 0);
|
|
12
|
-
|
|
13
|
-
_defineProperty(this, "width", void 0);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "height", void 0);
|
|
16
|
-
|
|
17
|
-
var data = options.data,
|
|
18
|
-
_options$type = options.type,
|
|
19
|
-
type = _options$type === void 0 ? gl.UNSIGNED_BYTE : _options$type,
|
|
20
|
-
width = options.width,
|
|
21
|
-
height = options.height,
|
|
22
|
-
_options$flipY = options.flipY,
|
|
23
|
-
flipY = _options$flipY === void 0 ? false : _options$flipY,
|
|
24
|
-
_options$format = options.format,
|
|
25
|
-
format = _options$format === void 0 ? gl.RGBA : _options$format,
|
|
26
|
-
_options$mipmap = options.mipmap,
|
|
27
|
-
mipmap = _options$mipmap === void 0 ? false : _options$mipmap,
|
|
28
|
-
_options$wrapS = options.wrapS,
|
|
29
|
-
wrapS = _options$wrapS === void 0 ? gl.CLAMP_TO_EDGE : _options$wrapS,
|
|
30
|
-
_options$wrapT = options.wrapT,
|
|
31
|
-
wrapT = _options$wrapT === void 0 ? gl.CLAMP_TO_EDGE : _options$wrapT,
|
|
32
|
-
_options$aniso = options.aniso,
|
|
33
|
-
aniso = _options$aniso === void 0 ? 0 : _options$aniso,
|
|
34
|
-
_options$alignment = options.alignment,
|
|
35
|
-
alignment = _options$alignment === void 0 ? 1 : _options$alignment,
|
|
36
|
-
_options$premultiplyA = options.premultiplyAlpha,
|
|
37
|
-
premultiplyAlpha = _options$premultiplyA === void 0 ? false : _options$premultiplyA,
|
|
38
|
-
_options$mag = options.mag,
|
|
39
|
-
mag = _options$mag === void 0 ? gl.NEAREST : _options$mag,
|
|
40
|
-
_options$min = options.min,
|
|
41
|
-
min = _options$min === void 0 ? gl.NEAREST : _options$min,
|
|
42
|
-
_options$colorSpace = options.colorSpace,
|
|
43
|
-
colorSpace = _options$colorSpace === void 0 ? gl.BROWSER_DEFAULT_WEBGL : _options$colorSpace;
|
|
44
|
-
this.width = width;
|
|
45
|
-
this.height = height;
|
|
46
|
-
var textureOptions = {
|
|
47
|
-
width: width,
|
|
48
|
-
height: height,
|
|
49
|
-
type: dataTypeMap[type],
|
|
50
|
-
format: formatMap[format],
|
|
51
|
-
wrapS: wrapModeMap[wrapS],
|
|
52
|
-
wrapT: wrapModeMap[wrapT],
|
|
53
|
-
mag: filterMap[mag],
|
|
54
|
-
min: filterMap[min],
|
|
55
|
-
alignment: alignment,
|
|
56
|
-
flipY: flipY,
|
|
57
|
-
colorSpace: colorSpaceMap[colorSpace],
|
|
58
|
-
premultiplyAlpha: premultiplyAlpha,
|
|
59
|
-
aniso: aniso
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
if (data) {
|
|
63
|
-
textureOptions.data = data;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (typeof mipmap === 'number') {
|
|
67
|
-
textureOptions.mipmap = mipmapMap[mipmap];
|
|
68
|
-
} else if (typeof mipmap === 'boolean') {
|
|
69
|
-
textureOptions.mipmap = mipmap;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
this.texture = reGl.texture(textureOptions);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
_createClass(ReglTexture2D, [{
|
|
76
|
-
key: "get",
|
|
77
|
-
value: function get() {
|
|
78
|
-
return this.texture;
|
|
79
|
-
}
|
|
80
|
-
}, {
|
|
81
|
-
key: "update",
|
|
82
|
-
value: function update() {
|
|
83
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
|
-
this.texture(props);
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
key: "bind",
|
|
88
|
-
value: function bind() {
|
|
89
|
-
this.texture._texture.bind();
|
|
90
|
-
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "resize",
|
|
93
|
-
value: function resize(_ref) {
|
|
94
|
-
var width = _ref.width,
|
|
95
|
-
height = _ref.height;
|
|
96
|
-
this.texture.resize(width, height);
|
|
97
|
-
this.width = width;
|
|
98
|
-
this.height = height;
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "destroy",
|
|
102
|
-
value: function destroy() {
|
|
103
|
-
this.texture.destroy();
|
|
104
|
-
}
|
|
105
|
-
}]);
|
|
106
|
-
|
|
107
|
-
return ReglTexture2D;
|
|
108
|
-
}();
|
|
109
|
-
|
|
110
|
-
export { ReglTexture2D as default };
|
|
111
|
-
//# sourceMappingURL=ReglTexture2D.js.map
|
|
@@ -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","textureOptions","texture","props","_texture","bind","resize","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\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 } = 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\n if (data) {\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 this.texture.destroy();\n }\n}\n"],"file":"ReglTexture2D.js"}
|
package/es/regl/constants.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import regl from 'l7regl';
|
|
2
|
-
export declare const primitiveMap: {
|
|
3
|
-
[key: string]: 'points' | 'lines' | 'line loop' | 'line strip' | 'triangles' | 'triangle strip' | 'triangle fan';
|
|
4
|
-
};
|
|
5
|
-
export declare const usageMap: {
|
|
6
|
-
[key: string]: 'static' | 'dynamic' | 'stream';
|
|
7
|
-
};
|
|
8
|
-
export declare const dataTypeMap: {
|
|
9
|
-
[key: string]: 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32' | 'float';
|
|
10
|
-
};
|
|
11
|
-
export declare const formatMap: {
|
|
12
|
-
[key: string]: 'alpha' | 'luminance' | 'luminance alpha' | 'rgb' | 'rgba' | 'rgba4' | 'rgb5 a1' | 'rgb565' | 'depth' | 'depth stencil';
|
|
13
|
-
};
|
|
14
|
-
export declare const mipmapMap: {
|
|
15
|
-
[key: string]: 'dont care' | 'nice' | 'fast';
|
|
16
|
-
};
|
|
17
|
-
export declare const filterMap: {
|
|
18
|
-
[key: string]: 'nearest' | 'linear' | 'mipmap' | 'nearest mipmap linear' | 'linear mipmap nearest' | 'nearest mipmap nearest';
|
|
19
|
-
};
|
|
20
|
-
export declare const wrapModeMap: {
|
|
21
|
-
[key: string]: 'repeat' | 'clamp' | 'mirror';
|
|
22
|
-
};
|
|
23
|
-
export declare const colorSpaceMap: {
|
|
24
|
-
[key: string]: 'none' | 'browser';
|
|
25
|
-
};
|
|
26
|
-
export declare const depthFuncMap: {
|
|
27
|
-
[key: string]: 'never' | 'always' | 'less' | 'lequal' | 'greater' | 'gequal' | 'equal' | 'notequal';
|
|
28
|
-
};
|
|
29
|
-
export declare const blendEquationMap: {
|
|
30
|
-
[key: string]: regl.BlendingEquation;
|
|
31
|
-
};
|
|
32
|
-
export declare const blendFuncMap: {
|
|
33
|
-
[key: string]: regl.BlendingFunction;
|
|
34
|
-
};
|
|
35
|
-
export declare const stencilFuncMap: {
|
|
36
|
-
[key: string]: regl.ComparisonOperatorType;
|
|
37
|
-
};
|
|
38
|
-
export declare const stencilOpMap: {
|
|
39
|
-
[key: string]: regl.StencilOperationType;
|
|
40
|
-
};
|
|
41
|
-
export declare const cullFaceMap: {
|
|
42
|
-
[key: string]: regl.FaceOrientationType;
|
|
43
|
-
};
|
package/es/regl/constants.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
var _primitiveMap, _usageMap, _dataTypeMap, _formatMap, _mipmapMap, _filterMap, _wrapModeMap, _colorSpaceMap, _depthFuncMap, _blendEquationMap, _blendFuncMap, _stencilFuncMap, _stencilOpMap, _cullFaceMap;
|
|
4
|
-
|
|
5
|
-
import { gl } from '@antv/l7-core';
|
|
6
|
-
export var primitiveMap = (_primitiveMap = {}, _defineProperty(_primitiveMap, gl.POINTS, 'points'), _defineProperty(_primitiveMap, gl.LINES, 'lines'), _defineProperty(_primitiveMap, gl.LINE_LOOP, 'line loop'), _defineProperty(_primitiveMap, gl.LINE_STRIP, 'line strip'), _defineProperty(_primitiveMap, gl.TRIANGLES, 'triangles'), _defineProperty(_primitiveMap, gl.TRIANGLE_FAN, 'triangle fan'), _defineProperty(_primitiveMap, gl.TRIANGLE_STRIP, 'triangle strip'), _primitiveMap);
|
|
7
|
-
export var usageMap = (_usageMap = {}, _defineProperty(_usageMap, gl.STATIC_DRAW, 'static'), _defineProperty(_usageMap, gl.DYNAMIC_DRAW, 'dynamic'), _defineProperty(_usageMap, gl.STREAM_DRAW, 'stream'), _usageMap);
|
|
8
|
-
export var dataTypeMap = (_dataTypeMap = {}, _defineProperty(_dataTypeMap, gl.BYTE, 'int8'), _defineProperty(_dataTypeMap, gl.UNSIGNED_INT, 'int16'), _defineProperty(_dataTypeMap, gl.INT, 'int32'), _defineProperty(_dataTypeMap, gl.UNSIGNED_BYTE, 'uint8'), _defineProperty(_dataTypeMap, gl.UNSIGNED_SHORT, 'uint16'), _defineProperty(_dataTypeMap, gl.UNSIGNED_INT, 'uint32'), _defineProperty(_dataTypeMap, gl.FLOAT, 'float'), _dataTypeMap);
|
|
9
|
-
export var formatMap = (_formatMap = {}, _defineProperty(_formatMap, gl.ALPHA, 'alpha'), _defineProperty(_formatMap, gl.LUMINANCE, 'luminance'), _defineProperty(_formatMap, gl.LUMINANCE_ALPHA, 'luminance alpha'), _defineProperty(_formatMap, gl.RGB, 'rgb'), _defineProperty(_formatMap, gl.RGBA, 'rgba'), _defineProperty(_formatMap, gl.RGBA4, 'rgba4'), _defineProperty(_formatMap, gl.RGB5_A1, 'rgb5 a1'), _defineProperty(_formatMap, gl.RGB565, 'rgb565'), _defineProperty(_formatMap, gl.DEPTH_COMPONENT, 'depth'), _defineProperty(_formatMap, gl.DEPTH_STENCIL, 'depth stencil'), _formatMap);
|
|
10
|
-
export var mipmapMap = (_mipmapMap = {}, _defineProperty(_mipmapMap, gl.DONT_CARE, 'dont care'), _defineProperty(_mipmapMap, gl.NICEST, 'nice'), _defineProperty(_mipmapMap, gl.FASTEST, 'fast'), _mipmapMap);
|
|
11
|
-
export var filterMap = (_filterMap = {}, _defineProperty(_filterMap, gl.NEAREST, 'nearest'), _defineProperty(_filterMap, gl.LINEAR, 'linear'), _defineProperty(_filterMap, gl.LINEAR_MIPMAP_LINEAR, 'mipmap'), _defineProperty(_filterMap, gl.NEAREST_MIPMAP_LINEAR, 'nearest mipmap linear'), _defineProperty(_filterMap, gl.LINEAR_MIPMAP_NEAREST, 'linear mipmap nearest'), _defineProperty(_filterMap, gl.NEAREST_MIPMAP_NEAREST, 'nearest mipmap nearest'), _filterMap);
|
|
12
|
-
export var wrapModeMap = (_wrapModeMap = {}, _defineProperty(_wrapModeMap, gl.REPEAT, 'repeat'), _defineProperty(_wrapModeMap, gl.CLAMP_TO_EDGE, 'clamp'), _defineProperty(_wrapModeMap, gl.MIRRORED_REPEAT, 'mirror'), _wrapModeMap);
|
|
13
|
-
export var colorSpaceMap = (_colorSpaceMap = {}, _defineProperty(_colorSpaceMap, gl.NONE, 'none'), _defineProperty(_colorSpaceMap, gl.BROWSER_DEFAULT_WEBGL, 'browser'), _colorSpaceMap);
|
|
14
|
-
export var depthFuncMap = (_depthFuncMap = {}, _defineProperty(_depthFuncMap, gl.NEVER, 'never'), _defineProperty(_depthFuncMap, gl.ALWAYS, 'always'), _defineProperty(_depthFuncMap, gl.LESS, 'less'), _defineProperty(_depthFuncMap, gl.LEQUAL, 'lequal'), _defineProperty(_depthFuncMap, gl.GREATER, 'greater'), _defineProperty(_depthFuncMap, gl.GEQUAL, 'gequal'), _defineProperty(_depthFuncMap, gl.EQUAL, 'equal'), _defineProperty(_depthFuncMap, gl.NOTEQUAL, 'notequal'), _depthFuncMap);
|
|
15
|
-
export var blendEquationMap = (_blendEquationMap = {}, _defineProperty(_blendEquationMap, gl.FUNC_ADD, 'add'), _defineProperty(_blendEquationMap, gl.MIN_EXT, 'min'), _defineProperty(_blendEquationMap, gl.MAX_EXT, 'max'), _defineProperty(_blendEquationMap, gl.FUNC_SUBTRACT, 'subtract'), _defineProperty(_blendEquationMap, gl.FUNC_REVERSE_SUBTRACT, 'reverse subtract'), _blendEquationMap);
|
|
16
|
-
export var blendFuncMap = (_blendFuncMap = {}, _defineProperty(_blendFuncMap, gl.ZERO, 'zero'), _defineProperty(_blendFuncMap, gl.ONE, 'one'), _defineProperty(_blendFuncMap, gl.SRC_COLOR, 'src color'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_SRC_COLOR, 'one minus src color'), _defineProperty(_blendFuncMap, gl.SRC_ALPHA, 'src alpha'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_SRC_ALPHA, 'one minus src alpha'), _defineProperty(_blendFuncMap, gl.DST_COLOR, 'dst color'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_DST_COLOR, 'one minus dst color'), _defineProperty(_blendFuncMap, gl.DST_ALPHA, 'dst alpha'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_DST_ALPHA, 'one minus dst alpha'), _defineProperty(_blendFuncMap, gl.CONSTANT_COLOR, 'constant color'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_CONSTANT_COLOR, 'one minus constant color'), _defineProperty(_blendFuncMap, gl.CONSTANT_ALPHA, 'constant alpha'), _defineProperty(_blendFuncMap, gl.ONE_MINUS_CONSTANT_ALPHA, 'one minus constant alpha'), _defineProperty(_blendFuncMap, gl.SRC_ALPHA_SATURATE, 'src alpha saturate'), _blendFuncMap);
|
|
17
|
-
export var stencilFuncMap = (_stencilFuncMap = {}, _defineProperty(_stencilFuncMap, gl.NEVER, 'never'), _defineProperty(_stencilFuncMap, gl.ALWAYS, 'always'), _defineProperty(_stencilFuncMap, gl.LESS, 'less'), _defineProperty(_stencilFuncMap, gl.LEQUAL, 'lequal'), _defineProperty(_stencilFuncMap, gl.GREATER, 'greater'), _defineProperty(_stencilFuncMap, gl.GEQUAL, 'gequal'), _defineProperty(_stencilFuncMap, gl.EQUAL, 'equal'), _defineProperty(_stencilFuncMap, gl.NOTEQUAL, 'notequal'), _stencilFuncMap);
|
|
18
|
-
export var stencilOpMap = (_stencilOpMap = {}, _defineProperty(_stencilOpMap, gl.ZERO, 'zero'), _defineProperty(_stencilOpMap, gl.KEEP, 'keep'), _defineProperty(_stencilOpMap, gl.REPLACE, 'replace'), _defineProperty(_stencilOpMap, gl.INVERT, 'invert'), _defineProperty(_stencilOpMap, gl.INCR, 'increment'), _defineProperty(_stencilOpMap, gl.DECR, 'decrement'), _defineProperty(_stencilOpMap, gl.INCR_WRAP, 'increment wrap'), _defineProperty(_stencilOpMap, gl.DECR_WRAP, 'decrement wrap'), _stencilOpMap);
|
|
19
|
-
export var cullFaceMap = (_cullFaceMap = {}, _defineProperty(_cullFaceMap, gl.FRONT, 'front'), _defineProperty(_cullFaceMap, gl.BACK, 'back'), _cullFaceMap);
|
|
20
|
-
//# sourceMappingURL=constants.js.map
|
package/es/regl/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/constants.ts"],"names":["gl","primitiveMap","POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_FAN","TRIANGLE_STRIP","usageMap","STATIC_DRAW","DYNAMIC_DRAW","STREAM_DRAW","dataTypeMap","BYTE","UNSIGNED_INT","INT","UNSIGNED_BYTE","UNSIGNED_SHORT","FLOAT","formatMap","ALPHA","LUMINANCE","LUMINANCE_ALPHA","RGB","RGBA","RGBA4","RGB5_A1","RGB565","DEPTH_COMPONENT","DEPTH_STENCIL","mipmapMap","DONT_CARE","NICEST","FASTEST","filterMap","NEAREST","LINEAR","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","NEAREST_MIPMAP_NEAREST","wrapModeMap","REPEAT","CLAMP_TO_EDGE","MIRRORED_REPEAT","colorSpaceMap","NONE","BROWSER_DEFAULT_WEBGL","depthFuncMap","NEVER","ALWAYS","LESS","LEQUAL","GREATER","GEQUAL","EQUAL","NOTEQUAL","blendEquationMap","FUNC_ADD","MIN_EXT","MAX_EXT","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","blendFuncMap","ZERO","ONE","SRC_COLOR","ONE_MINUS_SRC_COLOR","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","DST_COLOR","ONE_MINUS_DST_COLOR","DST_ALPHA","ONE_MINUS_DST_ALPHA","CONSTANT_COLOR","ONE_MINUS_CONSTANT_COLOR","CONSTANT_ALPHA","ONE_MINUS_CONSTANT_ALPHA","SRC_ALPHA_SATURATE","stencilFuncMap","stencilOpMap","KEEP","REPLACE","INVERT","INCR","DECR","INCR_WRAP","DECR_WRAP","cullFaceMap","FRONT","BACK"],"mappings":";;;;AAGA,SAASA,EAAT,QAAmB,eAAnB;AAIA,OAAO,IAAMC,YASZ,uDACED,EAAE,CAACE,MADL,EACc,QADd,kCAEEF,EAAE,CAACG,KAFL,EAEa,OAFb,kCAGEH,EAAE,CAACI,SAHL,EAGiB,WAHjB,kCAIEJ,EAAE,CAACK,UAJL,EAIkB,YAJlB,kCAKEL,EAAE,CAACM,SALL,EAKiB,WALjB,kCAMEN,EAAE,CAACO,YANL,EAMoB,cANpB,kCAOEP,EAAE,CAACQ,cAPL,EAOsB,gBAPtB,iBATM;AAmBP,OAAO,IAAMC,QAEZ,+CACET,EAAE,CAACU,WADL,EACmB,QADnB,8BAEEV,EAAE,CAACW,YAFL,EAEoB,SAFpB,8BAGEX,EAAE,CAACY,WAHL,EAGmB,QAHnB,aAFM;AAQP,OAAO,IAAMC,WASZ,qDACEb,EAAE,CAACc,IADL,EACY,MADZ,iCAEEd,EAAE,CAACe,YAFL,EAEoB,OAFpB,iCAGEf,EAAE,CAACgB,GAHL,EAGW,OAHX,iCAIEhB,EAAE,CAACiB,aAJL,EAIqB,OAJrB,iCAKEjB,EAAE,CAACkB,cALL,EAKsB,QALtB,iCAMElB,EAAE,CAACe,YANL,EAMoB,QANpB,iCAOEf,EAAE,CAACmB,KAPL,EAOa,OAPb,gBATM;AAmBP,OAAO,IAAMC,SAYZ,iDACEpB,EAAE,CAACqB,KADL,EACa,OADb,+BAEErB,EAAE,CAACsB,SAFL,EAEiB,WAFjB,+BAGEtB,EAAE,CAACuB,eAHL,EAGuB,iBAHvB,+BAIEvB,EAAE,CAACwB,GAJL,EAIW,KAJX,+BAKExB,EAAE,CAACyB,IALL,EAKY,MALZ,+BAMEzB,EAAE,CAAC0B,KANL,EAMa,OANb,+BAOE1B,EAAE,CAAC2B,OAPL,EAOe,SAPf,+BAQE3B,EAAE,CAAC4B,MARL,EAQc,QARd,+BASE5B,EAAE,CAAC6B,eATL,EASuB,OATvB,+BAUE7B,EAAE,CAAC8B,aAVL,EAUqB,eAVrB,cAZM;AAyBP,OAAO,IAAMC,SAEZ,iDACE/B,EAAE,CAACgC,SADL,EACiB,WADjB,+BAEEhC,EAAE,CAACiC,MAFL,EAEc,MAFd,+BAGEjC,EAAE,CAACkC,OAHL,EAGe,MAHf,cAFM;AAQP,OAAO,IAAMC,SAQZ,iDACEnC,EAAE,CAACoC,OADL,EACe,SADf,+BAEEpC,EAAE,CAACqC,MAFL,EAEc,QAFd,+BAGErC,EAAE,CAACsC,oBAHL,EAG4B,QAH5B,+BAIEtC,EAAE,CAACuC,qBAJL,EAI6B,uBAJ7B,+BAKEvC,EAAE,CAACwC,qBALL,EAK6B,uBAL7B,+BAMExC,EAAE,CAACyC,sBANL,EAM8B,wBAN9B,cARM;AAiBP,OAAO,IAAMC,WAEZ,qDACE1C,EAAE,CAAC2C,MADL,EACc,QADd,iCAEE3C,EAAE,CAAC4C,aAFL,EAEqB,OAFrB,iCAGE5C,EAAE,CAAC6C,eAHL,EAGuB,QAHvB,gBAFM;AAQP,OAAO,IAAMC,aAEZ,yDACE9C,EAAE,CAAC+C,IADL,EACY,MADZ,mCAEE/C,EAAE,CAACgD,qBAFL,EAE6B,SAF7B,kBAFM;AAOP,OAAO,IAAMC,YAUZ,uDACEjD,EAAE,CAACkD,KADL,EACa,OADb,kCAEElD,EAAE,CAACmD,MAFL,EAEc,QAFd,kCAGEnD,EAAE,CAACoD,IAHL,EAGY,MAHZ,kCAIEpD,EAAE,CAACqD,MAJL,EAIc,QAJd,kCAKErD,EAAE,CAACsD,OALL,EAKe,SALf,kCAMEtD,EAAE,CAACuD,MANL,EAMc,QANd,kCAOEvD,EAAE,CAACwD,KAPL,EAOa,OAPb,kCAQExD,EAAE,CAACyD,QARL,EAQgB,UARhB,iBAVM;AAqBP,OAAO,IAAMC,gBAEZ,+DACE1D,EAAE,CAAC2D,QADL,EACgB,KADhB,sCAEE3D,EAAE,CAAC4D,OAFL,EAEe,KAFf,sCAGE5D,EAAE,CAAC6D,OAHL,EAGe,KAHf,sCAIE7D,EAAE,CAAC8D,aAJL,EAIqB,UAJrB,sCAKE9D,EAAE,CAAC+D,qBALL,EAK6B,kBAL7B,qBAFM;AAUP,OAAO,IAAMC,YAEZ,uDACEhE,EAAE,CAACiE,IADL,EACY,MADZ,kCAEEjE,EAAE,CAACkE,GAFL,EAEW,KAFX,kCAGElE,EAAE,CAACmE,SAHL,EAGiB,WAHjB,kCAIEnE,EAAE,CAACoE,mBAJL,EAI2B,qBAJ3B,kCAKEpE,EAAE,CAACqE,SALL,EAKiB,WALjB,kCAMErE,EAAE,CAACsE,mBANL,EAM2B,qBAN3B,kCAOEtE,EAAE,CAACuE,SAPL,EAOiB,WAPjB,kCAQEvE,EAAE,CAACwE,mBARL,EAQ2B,qBAR3B,kCASExE,EAAE,CAACyE,SATL,EASiB,WATjB,kCAUEzE,EAAE,CAAC0E,mBAVL,EAU2B,qBAV3B,kCAWE1E,EAAE,CAAC2E,cAXL,EAWsB,gBAXtB,kCAYE3E,EAAE,CAAC4E,wBAZL,EAYgC,0BAZhC,kCAaE5E,EAAE,CAAC6E,cAbL,EAasB,gBAbtB,kCAcE7E,EAAE,CAAC8E,wBAdL,EAcgC,0BAdhC,kCAeE9E,EAAE,CAAC+E,kBAfL,EAe0B,oBAf1B,iBAFM;AAoBP,OAAO,IAAMC,cAEZ,2DACEhF,EAAE,CAACkD,KADL,EACa,OADb,oCAEElD,EAAE,CAACmD,MAFL,EAEc,QAFd,oCAGEnD,EAAE,CAACoD,IAHL,EAGY,MAHZ,oCAIEpD,EAAE,CAACqD,MAJL,EAIc,QAJd,oCAKErD,EAAE,CAACsD,OALL,EAKe,SALf,oCAMEtD,EAAE,CAACuD,MANL,EAMc,QANd,oCAOEvD,EAAE,CAACwD,KAPL,EAOa,OAPb,oCAQExD,EAAE,CAACyD,QARL,EAQgB,UARhB,mBAFM;AAaP,OAAO,IAAMwB,YAEZ,uDACEjF,EAAE,CAACiE,IADL,EACY,MADZ,kCAEEjE,EAAE,CAACkF,IAFL,EAEY,MAFZ,kCAGElF,EAAE,CAACmF,OAHL,EAGe,SAHf,kCAIEnF,EAAE,CAACoF,MAJL,EAIc,QAJd,kCAKEpF,EAAE,CAACqF,IALL,EAKY,WALZ,kCAMErF,EAAE,CAACsF,IANL,EAMY,WANZ,kCAOEtF,EAAE,CAACuF,SAPL,EAOiB,gBAPjB,kCAQEvF,EAAE,CAACwF,SARL,EAQiB,gBARjB,iBAFM;AAaP,OAAO,IAAMC,WAEZ,qDACEzF,EAAE,CAAC0F,KADL,EACa,OADb,iCAEE1F,EAAE,CAAC2F,IAFL,EAEY,MAFZ,gBAFM","sourcesContent":["/**\n * @desc 由于 regl 使用大量字符串而非 WebGL 常量,因此需要映射\n */\nimport { gl } from '@antv/l7-core';\nimport regl from 'l7regl';\n\n// @see https://github.com/regl-project/regl/blob/gh-pages/lib/constants/primitives.json\nexport const primitiveMap: {\n [key: string]:\n | 'points'\n | 'lines'\n | 'line loop'\n | 'line strip'\n | 'triangles'\n | 'triangle strip'\n | 'triangle fan';\n} = {\n [gl.POINTS]: 'points',\n [gl.LINES]: 'lines',\n [gl.LINE_LOOP]: 'line loop',\n [gl.LINE_STRIP]: 'line strip',\n [gl.TRIANGLES]: 'triangles',\n [gl.TRIANGLE_FAN]: 'triangle fan',\n [gl.TRIANGLE_STRIP]: 'triangle strip',\n};\n\nexport const usageMap: {\n [key: string]: 'static' | 'dynamic' | 'stream';\n} = {\n [gl.STATIC_DRAW]: 'static',\n [gl.DYNAMIC_DRAW]: 'dynamic',\n [gl.STREAM_DRAW]: 'stream',\n};\n\nexport const dataTypeMap: {\n [key: string]:\n | 'int8'\n | 'int16'\n | 'int32'\n | 'uint8'\n | 'uint16'\n | 'uint32'\n | 'float';\n} = {\n [gl.BYTE]: 'int8',\n [gl.UNSIGNED_INT]: 'int16',\n [gl.INT]: 'int32',\n [gl.UNSIGNED_BYTE]: 'uint8',\n [gl.UNSIGNED_SHORT]: 'uint16',\n [gl.UNSIGNED_INT]: 'uint32',\n [gl.FLOAT]: 'float',\n};\n\nexport const formatMap: {\n [key: string]:\n | 'alpha'\n | 'luminance'\n | 'luminance alpha'\n | 'rgb'\n | 'rgba'\n | 'rgba4'\n | 'rgb5 a1'\n | 'rgb565'\n | 'depth'\n | 'depth stencil';\n} = {\n [gl.ALPHA]: 'alpha',\n [gl.LUMINANCE]: 'luminance',\n [gl.LUMINANCE_ALPHA]: 'luminance alpha',\n [gl.RGB]: 'rgb',\n [gl.RGBA]: 'rgba',\n [gl.RGBA4]: 'rgba4',\n [gl.RGB5_A1]: 'rgb5 a1',\n [gl.RGB565]: 'rgb565',\n [gl.DEPTH_COMPONENT]: 'depth',\n [gl.DEPTH_STENCIL]: 'depth stencil',\n};\n\nexport const mipmapMap: {\n [key: string]: 'dont care' | 'nice' | 'fast';\n} = {\n [gl.DONT_CARE]: 'dont care',\n [gl.NICEST]: 'nice',\n [gl.FASTEST]: 'fast',\n};\n\nexport const filterMap: {\n [key: string]:\n | 'nearest'\n | 'linear'\n | 'mipmap'\n | 'nearest mipmap linear'\n | 'linear mipmap nearest'\n | 'nearest mipmap nearest';\n} = {\n [gl.NEAREST]: 'nearest',\n [gl.LINEAR]: 'linear',\n [gl.LINEAR_MIPMAP_LINEAR]: 'mipmap',\n [gl.NEAREST_MIPMAP_LINEAR]: 'nearest mipmap linear',\n [gl.LINEAR_MIPMAP_NEAREST]: 'linear mipmap nearest',\n [gl.NEAREST_MIPMAP_NEAREST]: 'nearest mipmap nearest',\n};\n\nexport const wrapModeMap: {\n [key: string]: 'repeat' | 'clamp' | 'mirror';\n} = {\n [gl.REPEAT]: 'repeat',\n [gl.CLAMP_TO_EDGE]: 'clamp',\n [gl.MIRRORED_REPEAT]: 'mirror',\n};\n\nexport const colorSpaceMap: {\n [key: string]: 'none' | 'browser';\n} = {\n [gl.NONE]: 'none',\n [gl.BROWSER_DEFAULT_WEBGL]: 'browser',\n};\n\nexport const depthFuncMap: {\n [key: string]:\n | 'never'\n | 'always'\n | 'less'\n | 'lequal'\n | 'greater'\n | 'gequal'\n | 'equal'\n | 'notequal';\n} = {\n [gl.NEVER]: 'never',\n [gl.ALWAYS]: 'always',\n [gl.LESS]: 'less',\n [gl.LEQUAL]: 'lequal',\n [gl.GREATER]: 'greater',\n [gl.GEQUAL]: 'gequal',\n [gl.EQUAL]: 'equal',\n [gl.NOTEQUAL]: 'notequal',\n};\n\nexport const blendEquationMap: {\n [key: string]: regl.BlendingEquation;\n} = {\n [gl.FUNC_ADD]: 'add',\n [gl.MIN_EXT]: 'min',\n [gl.MAX_EXT]: 'max',\n [gl.FUNC_SUBTRACT]: 'subtract',\n [gl.FUNC_REVERSE_SUBTRACT]: 'reverse subtract',\n};\n\nexport const blendFuncMap: {\n [key: string]: regl.BlendingFunction;\n} = {\n [gl.ZERO]: 'zero',\n [gl.ONE]: 'one',\n [gl.SRC_COLOR]: 'src color',\n [gl.ONE_MINUS_SRC_COLOR]: 'one minus src color',\n [gl.SRC_ALPHA]: 'src alpha',\n [gl.ONE_MINUS_SRC_ALPHA]: 'one minus src alpha',\n [gl.DST_COLOR]: 'dst color',\n [gl.ONE_MINUS_DST_COLOR]: 'one minus dst color',\n [gl.DST_ALPHA]: 'dst alpha',\n [gl.ONE_MINUS_DST_ALPHA]: 'one minus dst alpha',\n [gl.CONSTANT_COLOR]: 'constant color',\n [gl.ONE_MINUS_CONSTANT_COLOR]: 'one minus constant color',\n [gl.CONSTANT_ALPHA]: 'constant alpha',\n [gl.ONE_MINUS_CONSTANT_ALPHA]: 'one minus constant alpha',\n [gl.SRC_ALPHA_SATURATE]: 'src alpha saturate',\n};\n\nexport const stencilFuncMap: {\n [key: string]: regl.ComparisonOperatorType;\n} = {\n [gl.NEVER]: 'never',\n [gl.ALWAYS]: 'always',\n [gl.LESS]: 'less',\n [gl.LEQUAL]: 'lequal',\n [gl.GREATER]: 'greater',\n [gl.GEQUAL]: 'gequal',\n [gl.EQUAL]: 'equal',\n [gl.NOTEQUAL]: 'notequal',\n};\n\nexport const stencilOpMap: {\n [key: string]: regl.StencilOperationType;\n} = {\n [gl.ZERO]: 'zero',\n [gl.KEEP]: 'keep',\n [gl.REPLACE]: 'replace',\n [gl.INVERT]: 'invert',\n [gl.INCR]: 'increment',\n [gl.DECR]: 'decrement',\n [gl.INCR_WRAP]: 'increment wrap',\n [gl.DECR_WRAP]: 'decrement wrap',\n};\n\nexport const cullFaceMap: {\n [key: string]: regl.FaceOrientationType;\n} = {\n [gl.FRONT]: 'front',\n [gl.BACK]: 'back',\n};\n"],"file":"constants.js"}
|
package/es/regl/index.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* render w/ regl
|
|
3
|
-
* @see https://github.com/regl-project/regl/blob/gh-pages/API.md
|
|
4
|
-
*/
|
|
5
|
-
import { IAttribute, IAttributeInitializationOptions, IBuffer, IBufferInitializationOptions, IClearOptions, IElements, IElementsInitializationOptions, IExtensions, IFramebuffer, IFramebufferInitializationOptions, IModel, IModelInitializationOptions, IReadPixelsOptions, IRenderConfig, IRendererService, ITexture2D, ITexture2DInitializationOptions } from '@antv/l7-core';
|
|
6
|
-
import 'reflect-metadata';
|
|
7
|
-
import ReglFramebuffer from './ReglFramebuffer';
|
|
8
|
-
/**
|
|
9
|
-
* regl renderer
|
|
10
|
-
*/
|
|
11
|
-
export default class ReglRendererService implements IRendererService {
|
|
12
|
-
extensionObject: IExtensions;
|
|
13
|
-
private gl;
|
|
14
|
-
private $container;
|
|
15
|
-
private canvas;
|
|
16
|
-
private width;
|
|
17
|
-
private height;
|
|
18
|
-
private isDirty;
|
|
19
|
-
init(canvas: HTMLCanvasElement, cfg: IRenderConfig): Promise<void>;
|
|
20
|
-
testExtension(name: string): boolean;
|
|
21
|
-
createModel: (options: IModelInitializationOptions) => IModel;
|
|
22
|
-
createAttribute: (options: IAttributeInitializationOptions) => IAttribute;
|
|
23
|
-
createBuffer: (options: IBufferInitializationOptions) => IBuffer;
|
|
24
|
-
createElements: (options: IElementsInitializationOptions) => IElements;
|
|
25
|
-
createTexture2D: (options: ITexture2DInitializationOptions) => ITexture2D;
|
|
26
|
-
createFramebuffer: (options: IFramebufferInitializationOptions) => ReglFramebuffer;
|
|
27
|
-
useFramebuffer: (framebuffer: IFramebuffer | null, drawCommands: () => void) => void;
|
|
28
|
-
clear: (options: IClearOptions) => void;
|
|
29
|
-
viewport: ({ x, y, width, height, }: {
|
|
30
|
-
x: number;
|
|
31
|
-
y: number;
|
|
32
|
-
width: number;
|
|
33
|
-
height: number;
|
|
34
|
-
}) => void;
|
|
35
|
-
readPixels: (options: IReadPixelsOptions) => Uint8Array;
|
|
36
|
-
getViewportSize: () => {
|
|
37
|
-
width: number;
|
|
38
|
-
height: number;
|
|
39
|
-
};
|
|
40
|
-
getContainer: () => HTMLElement | null;
|
|
41
|
-
getCanvas: () => HTMLCanvasElement;
|
|
42
|
-
getGLContext: () => WebGLRenderingContext;
|
|
43
|
-
setBaseState(): void;
|
|
44
|
-
setCustomLayerDefaults(): void;
|
|
45
|
-
setDirty(flag: boolean): void;
|
|
46
|
-
getDirty(): boolean;
|
|
47
|
-
destroy: () => void;
|
|
48
|
-
}
|
package/es/regl/index.js
DELETED
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
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
|
-
|
|
6
|
-
var _dec, _class;
|
|
7
|
-
|
|
8
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
|
-
import { injectable } from 'inversify';
|
|
10
|
-
import regl from 'l7regl';
|
|
11
|
-
import 'reflect-metadata';
|
|
12
|
-
import ReglAttribute from './ReglAttribute';
|
|
13
|
-
import ReglBuffer from './ReglBuffer';
|
|
14
|
-
import ReglElements from './ReglElements';
|
|
15
|
-
import ReglFramebuffer from './ReglFramebuffer';
|
|
16
|
-
import ReglModel from './ReglModel';
|
|
17
|
-
import ReglTexture2D from './ReglTexture2D';
|
|
18
|
-
var ReglRendererService = (_dec = injectable(), _dec(_class = function () {
|
|
19
|
-
function ReglRendererService() {
|
|
20
|
-
var _this = this;
|
|
21
|
-
|
|
22
|
-
_classCallCheck(this, ReglRendererService);
|
|
23
|
-
|
|
24
|
-
_defineProperty(this, "extensionObject", void 0);
|
|
25
|
-
|
|
26
|
-
_defineProperty(this, "gl", void 0);
|
|
27
|
-
|
|
28
|
-
_defineProperty(this, "$container", void 0);
|
|
29
|
-
|
|
30
|
-
_defineProperty(this, "canvas", void 0);
|
|
31
|
-
|
|
32
|
-
_defineProperty(this, "width", void 0);
|
|
33
|
-
|
|
34
|
-
_defineProperty(this, "height", void 0);
|
|
35
|
-
|
|
36
|
-
_defineProperty(this, "isDirty", void 0);
|
|
37
|
-
|
|
38
|
-
_defineProperty(this, "createModel", function (options) {
|
|
39
|
-
return new ReglModel(_this.gl, options);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
_defineProperty(this, "createAttribute", function (options) {
|
|
43
|
-
return new ReglAttribute(_this.gl, options);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
_defineProperty(this, "createBuffer", function (options) {
|
|
47
|
-
return new ReglBuffer(_this.gl, options);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
_defineProperty(this, "createElements", function (options) {
|
|
51
|
-
return new ReglElements(_this.gl, options);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
_defineProperty(this, "createTexture2D", function (options) {
|
|
55
|
-
return new ReglTexture2D(_this.gl, options);
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
_defineProperty(this, "createFramebuffer", function (options) {
|
|
59
|
-
return new ReglFramebuffer(_this.gl, options);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
_defineProperty(this, "useFramebuffer", function (framebuffer, drawCommands) {
|
|
63
|
-
_this.gl({
|
|
64
|
-
framebuffer: framebuffer ? framebuffer.get() : null
|
|
65
|
-
})(drawCommands);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
_defineProperty(this, "clear", function (options) {
|
|
69
|
-
var color = options.color,
|
|
70
|
-
depth = options.depth,
|
|
71
|
-
stencil = options.stencil,
|
|
72
|
-
_options$framebuffer = options.framebuffer,
|
|
73
|
-
framebuffer = _options$framebuffer === void 0 ? null : _options$framebuffer;
|
|
74
|
-
var reglClearOptions = {
|
|
75
|
-
color: color,
|
|
76
|
-
depth: depth,
|
|
77
|
-
stencil: stencil
|
|
78
|
-
};
|
|
79
|
-
reglClearOptions.framebuffer = framebuffer === null ? framebuffer : framebuffer.get();
|
|
80
|
-
|
|
81
|
-
_this.gl.clear(reglClearOptions);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
_defineProperty(this, "viewport", function (_ref) {
|
|
85
|
-
var x = _ref.x,
|
|
86
|
-
y = _ref.y,
|
|
87
|
-
width = _ref.width,
|
|
88
|
-
height = _ref.height;
|
|
89
|
-
|
|
90
|
-
_this.gl._gl.viewport(x, y, width, height);
|
|
91
|
-
|
|
92
|
-
_this.width = width;
|
|
93
|
-
_this.height = height;
|
|
94
|
-
|
|
95
|
-
_this.gl._refresh();
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
_defineProperty(this, "readPixels", function (options) {
|
|
99
|
-
var framebuffer = options.framebuffer,
|
|
100
|
-
x = options.x,
|
|
101
|
-
y = options.y,
|
|
102
|
-
width = options.width,
|
|
103
|
-
height = options.height;
|
|
104
|
-
var readPixelsOptions = {
|
|
105
|
-
x: x,
|
|
106
|
-
y: y,
|
|
107
|
-
width: width,
|
|
108
|
-
height: height
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
if (framebuffer) {
|
|
112
|
-
readPixelsOptions.framebuffer = framebuffer.get();
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return _this.gl.read(readPixelsOptions);
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
_defineProperty(this, "getViewportSize", function () {
|
|
119
|
-
return {
|
|
120
|
-
width: _this.gl._gl.drawingBufferWidth,
|
|
121
|
-
height: _this.gl._gl.drawingBufferHeight
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
_defineProperty(this, "getContainer", function () {
|
|
126
|
-
var _this$canvas;
|
|
127
|
-
|
|
128
|
-
return (_this$canvas = _this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.parentElement;
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
_defineProperty(this, "getCanvas", function () {
|
|
132
|
-
return _this.canvas;
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
_defineProperty(this, "getGLContext", function () {
|
|
136
|
-
return _this.gl._gl;
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
_defineProperty(this, "destroy", function () {
|
|
140
|
-
_this.gl.destroy();
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
_createClass(ReglRendererService, [{
|
|
145
|
-
key: "init",
|
|
146
|
-
value: function () {
|
|
147
|
-
var _init = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(canvas, cfg) {
|
|
148
|
-
var _this2 = this;
|
|
149
|
-
|
|
150
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
151
|
-
while (1) {
|
|
152
|
-
switch (_context.prev = _context.next) {
|
|
153
|
-
case 0:
|
|
154
|
-
this.canvas = canvas;
|
|
155
|
-
_context.next = 3;
|
|
156
|
-
return new Promise(function (resolve, reject) {
|
|
157
|
-
regl({
|
|
158
|
-
canvas: _this2.canvas,
|
|
159
|
-
attributes: {
|
|
160
|
-
alpha: true,
|
|
161
|
-
antialias: cfg.antialias,
|
|
162
|
-
premultipliedAlpha: true,
|
|
163
|
-
preserveDrawingBuffer: cfg.preserveDrawingBuffer
|
|
164
|
-
},
|
|
165
|
-
extensions: ['OES_element_index_uint', 'OES_standard_derivatives', 'angle_instanced_arrays'],
|
|
166
|
-
optionalExtensions: ['oes_texture_float_linear', 'OES_texture_float', 'EXT_texture_filter_anisotropic', 'EXT_blend_minmax', 'WEBGL_depth_texture'],
|
|
167
|
-
profile: true,
|
|
168
|
-
onDone: function onDone(err, r) {
|
|
169
|
-
if (err || !r) {
|
|
170
|
-
reject(err);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
resolve(r);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
case 3:
|
|
179
|
-
this.gl = _context.sent;
|
|
180
|
-
this.extensionObject = {
|
|
181
|
-
OES_texture_float: this.testExtension('OES_texture_float')
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
case 5:
|
|
185
|
-
case "end":
|
|
186
|
-
return _context.stop();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}, _callee, this);
|
|
190
|
-
}));
|
|
191
|
-
|
|
192
|
-
function init(_x, _x2) {
|
|
193
|
-
return _init.apply(this, arguments);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return init;
|
|
197
|
-
}()
|
|
198
|
-
}, {
|
|
199
|
-
key: "testExtension",
|
|
200
|
-
value: function testExtension(name) {
|
|
201
|
-
return !!this.getGLContext().getExtension(name);
|
|
202
|
-
}
|
|
203
|
-
}, {
|
|
204
|
-
key: "setBaseState",
|
|
205
|
-
value: function setBaseState() {
|
|
206
|
-
this.gl({
|
|
207
|
-
cull: {
|
|
208
|
-
enable: false,
|
|
209
|
-
face: 'back'
|
|
210
|
-
},
|
|
211
|
-
viewport: {
|
|
212
|
-
x: 0,
|
|
213
|
-
y: 0,
|
|
214
|
-
height: this.width,
|
|
215
|
-
width: this.height
|
|
216
|
-
},
|
|
217
|
-
blend: {
|
|
218
|
-
enable: false,
|
|
219
|
-
equation: 'add'
|
|
220
|
-
},
|
|
221
|
-
framebuffer: null
|
|
222
|
-
});
|
|
223
|
-
|
|
224
|
-
this.gl._refresh();
|
|
225
|
-
}
|
|
226
|
-
}, {
|
|
227
|
-
key: "setCustomLayerDefaults",
|
|
228
|
-
value: function setCustomLayerDefaults() {
|
|
229
|
-
var gl = this.getGLContext();
|
|
230
|
-
gl.disable(gl.CULL_FACE);
|
|
231
|
-
}
|
|
232
|
-
}, {
|
|
233
|
-
key: "setDirty",
|
|
234
|
-
value: function setDirty(flag) {
|
|
235
|
-
this.isDirty = flag;
|
|
236
|
-
}
|
|
237
|
-
}, {
|
|
238
|
-
key: "getDirty",
|
|
239
|
-
value: function getDirty() {
|
|
240
|
-
return this.isDirty;
|
|
241
|
-
}
|
|
242
|
-
}]);
|
|
243
|
-
|
|
244
|
-
return ReglRendererService;
|
|
245
|
-
}()) || _class);
|
|
246
|
-
export { ReglRendererService as default };
|
|
247
|
-
//# sourceMappingURL=index.js.map
|
package/es/regl/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/regl/index.ts"],"names":["injectable","regl","ReglAttribute","ReglBuffer","ReglElements","ReglFramebuffer","ReglModel","ReglTexture2D","ReglRendererService","options","gl","framebuffer","drawCommands","get","color","depth","stencil","reglClearOptions","clear","x","y","width","height","_gl","viewport","_refresh","readPixelsOptions","read","drawingBufferWidth","drawingBufferHeight","canvas","parentElement","destroy","cfg","Promise","resolve","reject","attributes","alpha","antialias","premultipliedAlpha","preserveDrawingBuffer","extensions","optionalExtensions","profile","onDone","err","r","extensionObject","OES_texture_float","testExtension","name","getGLContext","getExtension","cull","enable","face","blend","equation","disable","CULL_FACE","flag","isDirty"],"mappings":"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","sourcesContent":["/**\n * render w/ regl\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md\n */\nimport {\n IAttribute,\n IAttributeInitializationOptions,\n IBuffer,\n IBufferInitializationOptions,\n IClearOptions,\n IElements,\n IElementsInitializationOptions,\n IExtensions,\n IFramebuffer,\n IFramebufferInitializationOptions,\n IModel,\n IModelInitializationOptions,\n IReadPixelsOptions,\n IRenderConfig,\n IRendererService,\n ITexture2D,\n ITexture2DInitializationOptions,\n} from '@antv/l7-core';\nimport { injectable } from 'inversify';\nimport regl from 'l7regl';\nimport 'reflect-metadata';\nimport ReglAttribute from './ReglAttribute';\nimport ReglBuffer from './ReglBuffer';\nimport ReglElements from './ReglElements';\nimport ReglFramebuffer from './ReglFramebuffer';\nimport ReglModel from './ReglModel';\nimport ReglTexture2D from './ReglTexture2D';\n\n/**\n * regl renderer\n */\n@injectable()\nexport default class ReglRendererService implements IRendererService {\n public extensionObject: IExtensions;\n private gl: regl.Regl;\n private $container: HTMLDivElement | null;\n private canvas: HTMLCanvasElement;\n private width: number;\n private height: number;\n private isDirty: boolean;\n\n public async init(\n canvas: HTMLCanvasElement,\n cfg: IRenderConfig,\n ): Promise<void> {\n // this.$container = $container;\n this.canvas = canvas;\n // tslint:disable-next-line:typedef\n this.gl = await new Promise((resolve, reject) => {\n regl({\n canvas: this.canvas,\n attributes: {\n alpha: true,\n // use TAA instead of MSAA\n // @see https://www.khronos.org/registry/webgl/specs/1.0/#5.2.1\n antialias: cfg.antialias,\n premultipliedAlpha: true,\n preserveDrawingBuffer: cfg.preserveDrawingBuffer,\n },\n // TODO: use extensions\n extensions: [\n 'OES_element_index_uint',\n 'OES_standard_derivatives', // wireframe\n 'angle_instanced_arrays', // VSM shadow map\n ],\n optionalExtensions: [\n 'oes_texture_float_linear',\n 'OES_texture_float',\n 'EXT_texture_filter_anisotropic',\n 'EXT_blend_minmax',\n 'WEBGL_depth_texture',\n ],\n profile: true,\n onDone: (err: Error | null, r?: regl.Regl | undefined): void => {\n if (err || !r) {\n reject(err);\n }\n // @ts-ignore\n resolve(r);\n },\n });\n });\n\n this.extensionObject = {\n OES_texture_float: this.testExtension('OES_texture_float'),\n };\n }\n\n public testExtension(name: string) {\n // OES_texture_float\n return !!this.getGLContext().getExtension(name);\n }\n\n public createModel = (options: IModelInitializationOptions): IModel =>\n new ReglModel(this.gl, options);\n\n public createAttribute = (\n options: IAttributeInitializationOptions,\n ): IAttribute => new ReglAttribute(this.gl, options);\n\n public createBuffer = (options: IBufferInitializationOptions): IBuffer =>\n new ReglBuffer(this.gl, options);\n\n public createElements = (\n options: IElementsInitializationOptions,\n ): IElements => new ReglElements(this.gl, options);\n\n public createTexture2D = (\n options: ITexture2DInitializationOptions,\n ): ITexture2D => new ReglTexture2D(this.gl, options);\n\n public createFramebuffer = (options: IFramebufferInitializationOptions) =>\n new ReglFramebuffer(this.gl, options);\n\n public useFramebuffer = (\n framebuffer: IFramebuffer | null,\n drawCommands: () => void,\n ) => {\n this.gl({\n framebuffer: framebuffer ? (framebuffer as ReglFramebuffer).get() : null,\n })(drawCommands);\n };\n\n public clear = (options: IClearOptions) => {\n // @see https://github.com/regl-project/regl/blob/gh-pages/API.md#clear-the-draw-buffer\n const { color, depth, stencil, framebuffer = null } = options;\n const reglClearOptions: regl.ClearOptions = {\n color,\n depth,\n stencil,\n };\n\n reglClearOptions.framebuffer =\n framebuffer === null\n ? framebuffer\n : (framebuffer as ReglFramebuffer).get();\n\n this.gl.clear(reglClearOptions);\n };\n\n public viewport = ({\n x,\n y,\n width,\n height,\n }: {\n x: number;\n y: number;\n width: number;\n height: number;\n }) => {\n // use WebGL context directly\n // @see https://github.com/regl-project/regl/blob/gh-pages/API.md#unsafe-escape-hatch\n this.gl._gl.viewport(x, y, width, height);\n this.width = width;\n this.height = height;\n this.gl._refresh();\n };\n\n public readPixels = (options: IReadPixelsOptions) => {\n const { framebuffer, x, y, width, height } = options;\n const readPixelsOptions: regl.ReadOptions = {\n x,\n y,\n width,\n height,\n };\n if (framebuffer) {\n readPixelsOptions.framebuffer = (framebuffer as ReglFramebuffer).get();\n }\n return this.gl.read(readPixelsOptions);\n };\n\n public getViewportSize = () => {\n return {\n width: this.gl._gl.drawingBufferWidth,\n height: this.gl._gl.drawingBufferHeight,\n };\n };\n\n public getContainer = () => {\n return this.canvas?.parentElement;\n };\n\n public getCanvas = () => {\n // return this.$container?.getElementsByTagName('canvas')[0] || null;\n return this.canvas;\n };\n\n public getGLContext = () => {\n return this.gl._gl;\n };\n\n public setBaseState() {\n this.gl({\n cull: {\n enable: false,\n face: 'back',\n },\n viewport: {\n x: 0,\n y: 0,\n height: this.width,\n width: this.height,\n },\n blend: {\n enable: false,\n equation: 'add',\n },\n framebuffer: null,\n });\n this.gl._refresh();\n }\n public setCustomLayerDefaults() {\n const gl = this.getGLContext();\n gl.disable(gl.CULL_FACE);\n }\n\n public setDirty(flag: boolean): void {\n this.isDirty = flag;\n }\n\n public getDirty(): boolean {\n return this.isDirty;\n }\n\n public destroy = () => {\n // @see https://github.com/regl-project/regl/blob/gh-pages/API.md#clean-up\n this.gl.destroy();\n };\n}\n"],"file":"index.js"}
|