@antv/l7-layers 2.9.25-alpha.0 → 2.9.25

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 (125) hide show
  1. package/es/heatmap/models/heatmap.js +1 -1
  2. package/es/tile/utils.js +1 -1
  3. package/lib/Geometry/index.js +114 -77
  4. package/lib/Geometry/models/billboard.js +232 -181
  5. package/lib/Geometry/models/index.js +18 -34
  6. package/lib/Geometry/models/plane.js +407 -278
  7. package/lib/Geometry/models/sprite.js +291 -189
  8. package/lib/canvas/index.js +101 -66
  9. package/lib/canvas/models/canvas.js +207 -140
  10. package/lib/canvas/models/index.js +12 -30
  11. package/lib/citybuliding/building.js +98 -63
  12. package/lib/citybuliding/models/build.js +192 -146
  13. package/lib/core/BaseLayer.js +1331 -814
  14. package/lib/core/BaseModel.js +457 -279
  15. package/lib/core/interface.js +40 -53
  16. package/lib/core/schema.js +21 -39
  17. package/lib/core/shape/Path.js +67 -79
  18. package/lib/core/shape/extrude.js +132 -91
  19. package/lib/core/triangulation.js +378 -196
  20. package/lib/earth/index.js +100 -62
  21. package/lib/earth/models/atmosphere.js +146 -112
  22. package/lib/earth/models/base.js +210 -150
  23. package/lib/earth/models/bloomsphere.js +146 -112
  24. package/lib/earth/utils.js +111 -91
  25. package/lib/heatmap/index.js +149 -92
  26. package/lib/heatmap/models/grid.js +118 -91
  27. package/lib/heatmap/models/grid3d.js +155 -123
  28. package/lib/heatmap/models/heatmap.js +475 -338
  29. package/lib/heatmap/models/hexagon.js +121 -92
  30. package/lib/heatmap/models/index.js +22 -37
  31. package/lib/heatmap/triangulation.js +31 -47
  32. package/lib/image/index.js +111 -74
  33. package/lib/image/models/dataImage.js +232 -174
  34. package/lib/image/models/image.js +175 -128
  35. package/lib/image/models/index.js +15 -32
  36. package/lib/index.js +263 -97
  37. package/lib/line/index.js +131 -85
  38. package/lib/line/models/arc.js +352 -237
  39. package/lib/line/models/arc_3d.js +334 -228
  40. package/lib/line/models/earthArc_3d.js +336 -228
  41. package/lib/line/models/great_circle.js +291 -200
  42. package/lib/line/models/half.js +286 -201
  43. package/lib/line/models/index.js +42 -50
  44. package/lib/line/models/line.js +428 -299
  45. package/lib/line/models/linearline.js +277 -203
  46. package/lib/line/models/simpleLine.js +239 -175
  47. package/lib/line/models/tile.js +348 -237
  48. package/lib/line/models/wall.js +327 -235
  49. package/lib/mask/index.js +92 -59
  50. package/lib/mask/models/fill.js +134 -82
  51. package/lib/mask/models/index.js +12 -30
  52. package/lib/plugins/DataMappingPlugin.js +342 -224
  53. package/lib/plugins/DataSourcePlugin.js +102 -87
  54. package/lib/plugins/FeatureScalePlugin.js +330 -240
  55. package/lib/plugins/LayerAnimateStylePlugin.js +61 -55
  56. package/lib/plugins/LayerModelPlugin.js +80 -73
  57. package/lib/plugins/LayerStylePlugin.js +48 -51
  58. package/lib/plugins/LightingPlugin.js +80 -68
  59. package/lib/plugins/MultiPassRendererPlugin.js +91 -65
  60. package/lib/plugins/PixelPickingPlugin.js +150 -109
  61. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -110
  62. package/lib/plugins/ShaderUniformPlugin.js +118 -99
  63. package/lib/plugins/UpdateModelPlugin.js +40 -47
  64. package/lib/plugins/UpdateStyleAttributePlugin.js +93 -75
  65. package/lib/point/index.js +226 -150
  66. package/lib/point/models/earthExtrude.js +279 -201
  67. package/lib/point/models/earthFill.js +287 -202
  68. package/lib/point/models/extrude.js +299 -203
  69. package/lib/point/models/fill.js +406 -275
  70. package/lib/point/models/fillmage.js +365 -256
  71. package/lib/point/models/image.js +241 -168
  72. package/lib/point/models/index.js +46 -52
  73. package/lib/point/models/normal.js +183 -134
  74. package/lib/point/models/radar.js +304 -211
  75. package/lib/point/models/simplePoint.js +194 -142
  76. package/lib/point/models/text.js +608 -385
  77. package/lib/point/models/tile.js +314 -223
  78. package/lib/point/shape/extrude.js +56 -52
  79. package/lib/polygon/index.js +154 -102
  80. package/lib/polygon/models/extrude.js +311 -223
  81. package/lib/polygon/models/fill.js +215 -153
  82. package/lib/polygon/models/index.js +46 -52
  83. package/lib/polygon/models/ocean.js +244 -173
  84. package/lib/polygon/models/tile.js +144 -100
  85. package/lib/polygon/models/water.js +222 -153
  86. package/lib/raster/buffers/triangulation.js +27 -40
  87. package/lib/raster/index.js +115 -75
  88. package/lib/raster/models/index.js +16 -33
  89. package/lib/raster/models/raster.js +178 -135
  90. package/lib/raster/raster.js +187 -132
  91. package/lib/tile/interface.js +4 -16
  92. package/lib/tile/manager/tileConfigManager.js +125 -86
  93. package/lib/tile/manager/tileLayerManager.js +313 -229
  94. package/lib/tile/manager/tilePickerManager.js +192 -123
  95. package/lib/tile/models/tileModel.js +71 -52
  96. package/lib/tile/tileFactory/base.js +432 -309
  97. package/lib/tile/tileFactory/index.js +51 -49
  98. package/lib/tile/tileFactory/line.js +65 -50
  99. package/lib/tile/tileFactory/point.js +65 -50
  100. package/lib/tile/tileFactory/polygon.js +65 -50
  101. package/lib/tile/tileFactory/raster.js +66 -54
  102. package/lib/tile/tileFactory/rasterData.js +88 -76
  103. package/lib/tile/tileFactory/rasterDataLayer.js +97 -62
  104. package/lib/tile/tileFactory/vectorLayer.js +168 -109
  105. package/lib/tile/tileLayer/baseTileLayer.js +420 -221
  106. package/lib/tile/tmsTileLayer.js +110 -67
  107. package/lib/tile/utils.js +110 -92
  108. package/lib/utils/blend.js +59 -79
  109. package/lib/utils/collision-index.js +107 -64
  110. package/lib/utils/dataMappingStyle.js +105 -60
  111. package/lib/utils/extrude_polyline.js +600 -398
  112. package/lib/utils/grid-index.js +163 -111
  113. package/lib/utils/layerData.js +130 -99
  114. package/lib/utils/multiPassRender.js +49 -41
  115. package/lib/utils/polylineNormal.js +148 -96
  116. package/lib/utils/simpleLine.js +100 -85
  117. package/lib/utils/symbol-layout.js +219 -116
  118. package/lib/utils/updateShape.js +15 -41
  119. package/lib/wind/index.js +109 -71
  120. package/lib/wind/models/index.js +12 -30
  121. package/lib/wind/models/utils.js +144 -105
  122. package/lib/wind/models/wind.js +333 -224
  123. package/lib/wind/models/windRender.js +329 -218
  124. package/lib/wind/models/windShader.js +23 -181
  125. package/package.json +6 -6
package/lib/wind/index.js CHANGED
@@ -1,75 +1,113 @@
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
-
22
- // src/wind/index.ts
23
- var wind_exports = {};
24
- __export(wind_exports, {
25
- default: () => WindLayer
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
26
7
  });
27
- module.exports = __toCommonJS(wind_exports);
28
- var import_BaseLayer = __toESM(require("../core/BaseLayer"));
29
- var import_models = __toESM(require("./models"));
30
- var WindLayer = class extends import_BaseLayer.default {
31
- constructor() {
32
- super(...arguments);
33
- this.type = "WindLayer";
34
- }
35
- buildModels() {
36
- const modelType = this.getModelType();
37
- this.layerModel = new import_models.default[modelType](this);
38
- this.layerModel.initModels((models) => {
39
- this.models = models;
40
- this.renderLayers();
41
- });
42
- }
43
- rebuildModels() {
44
- this.layerModel.buildModels((models) => this.models = models);
45
- }
46
- renderModels() {
47
- if (this.layerModel) {
48
- this.layerModel.render();
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
25
+
26
+ var _models = _interopRequireDefault(require("./models"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
33
+ (0, _inherits2.default)(WindLayer, _BaseLayer);
34
+
35
+ var _super = _createSuper(WindLayer);
36
+
37
+ function WindLayer() {
38
+ var _this;
39
+
40
+ (0, _classCallCheck2.default)(this, WindLayer);
41
+
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
49
44
  }
50
- return this;
45
+
46
+ _this = _super.call.apply(_super, [this].concat(args));
47
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'WindLayer');
48
+ return _this;
51
49
  }
52
- getConfigSchema() {
53
- return {
54
- properties: {
55
- opacity: {
56
- type: "number",
57
- minimum: 0,
58
- maximum: 1
59
- }
50
+
51
+ (0, _createClass2.default)(WindLayer, [{
52
+ key: "buildModels",
53
+ value: function buildModels() {
54
+ var _this2 = this;
55
+
56
+ var modelType = this.getModelType();
57
+ this.layerModel = new _models.default[modelType](this);
58
+ this.layerModel.initModels(function (models) {
59
+ _this2.models = models;
60
+
61
+ _this2.renderLayers();
62
+ });
63
+ }
64
+ }, {
65
+ key: "rebuildModels",
66
+ value: function rebuildModels() {
67
+ var _this3 = this;
68
+
69
+ this.layerModel.buildModels(function (models) {
70
+ return _this3.models = models;
71
+ });
72
+ }
73
+ }, {
74
+ key: "renderModels",
75
+ value: function renderModels() {
76
+ if (this.layerModel) {
77
+ this.layerModel.render(); // 独立的渲染流程
60
78
  }
61
- };
62
- }
63
- getDefaultConfig() {
64
- const type = this.getModelType();
65
- const defaultConfig = {
66
- wind: {}
67
- };
68
- return defaultConfig[type];
69
- }
70
- getModelType() {
71
- return "wind";
72
- }
73
- };
74
- // Annotate the CommonJS export names for ESM import in node:
75
- 0 && (module.exports = {});
79
+
80
+ return this;
81
+ }
82
+ }, {
83
+ key: "getConfigSchema",
84
+ value: function getConfigSchema() {
85
+ return {
86
+ properties: {
87
+ opacity: {
88
+ type: 'number',
89
+ minimum: 0,
90
+ maximum: 1
91
+ }
92
+ }
93
+ };
94
+ }
95
+ }, {
96
+ key: "getDefaultConfig",
97
+ value: function getDefaultConfig() {
98
+ var type = this.getModelType();
99
+ var defaultConfig = {
100
+ wind: {}
101
+ };
102
+ return defaultConfig[type];
103
+ }
104
+ }, {
105
+ key: "getModelType",
106
+ value: function getModelType() {
107
+ return 'wind';
108
+ }
109
+ }]);
110
+ return WindLayer;
111
+ }(_BaseLayer2.default);
112
+
113
+ exports.default = WindLayer;
@@ -1,34 +1,16 @@
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);
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
21
4
 
22
- // src/wind/models/index.ts
23
- var models_exports = {};
24
- __export(models_exports, {
25
- default: () => models_default
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
26
7
  });
27
- module.exports = __toCommonJS(models_exports);
28
- var import_wind = __toESM(require("./wind"));
8
+ exports.default = void 0;
9
+
10
+ var _wind = _interopRequireDefault(require("./wind"));
11
+
29
12
  var WindModels = {
30
- wind: import_wind.default
13
+ wind: _wind.default
31
14
  };
32
- var models_default = WindModels;
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {});
15
+ var _default = WindModels;
16
+ exports.default = _default;
@@ -1,92 +1,110 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/wind/models/utils.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- bindAttriBuffer: () => bindAttriBuffer,
23
- bindAttriIndicesBuffer: () => bindAttriIndicesBuffer,
24
- bindTexture: () => bindTexture,
25
- bindUnifrom: () => bindUnifrom,
26
- createBuffer: () => createBuffer,
27
- createDataTexture: () => createDataTexture,
28
- createProgram: () => createProgram,
29
- createTexture: () => createTexture,
30
- initFramebuffer: () => initFramebuffer,
31
- loadShader: () => loadShader,
32
- setUnifrom: () => setUnifrom
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(utils_exports);
6
+ exports.bindAttriBuffer = bindAttriBuffer;
7
+ exports.bindAttriIndicesBuffer = bindAttriIndicesBuffer;
8
+ exports.bindTexture = bindTexture;
9
+ exports.bindUnifrom = bindUnifrom;
10
+ exports.createBuffer = createBuffer;
11
+ exports.createDataTexture = createDataTexture;
12
+ exports.createProgram = createProgram;
13
+ exports.createTexture = createTexture;
14
+ exports.initFramebuffer = initFramebuffer;
15
+ exports.loadShader = loadShader;
16
+ exports.setUnifrom = setUnifrom;
17
+
35
18
  function createProgram(gl, vshader, fshader) {
36
- const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader);
37
- const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader);
19
+ // Create shader object
20
+ var vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader); // 创建顶点着色器对象
21
+
22
+ var fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader); // 创建片元着色器对象
23
+
38
24
  if (!vertexShader || !fragmentShader) {
39
25
  return null;
40
- }
41
- const program = gl.createProgram();
26
+ } // Create a program object
27
+
28
+
29
+ var program = gl.createProgram(); // 创建程序对象
30
+
42
31
  if (!program) {
43
32
  return null;
44
- }
45
- gl.attachShader(program, vertexShader);
46
- gl.attachShader(program, fragmentShader);
47
- gl.linkProgram(program);
48
- const linked = gl.getProgramParameter(program, gl.LINK_STATUS);
33
+ } // Attach the shader objects
34
+
35
+
36
+ gl.attachShader(program, vertexShader); // 绑定着色器对象
37
+
38
+ gl.attachShader(program, fragmentShader); // Link the program object
39
+
40
+ gl.linkProgram(program); // 链接着色器对象
41
+ // Check the result of linking
42
+
43
+ var linked = gl.getProgramParameter(program, gl.LINK_STATUS); // 判断着色器对象是否链接成功
44
+
49
45
  if (!linked) {
50
- const error = gl.getProgramInfoLog(program);
51
- console.warn("Failed to link program: " + error);
46
+ var error = gl.getProgramInfoLog(program);
47
+ console.warn('Failed to link program: ' + error);
52
48
  gl.deleteProgram(program);
53
49
  gl.deleteShader(fragmentShader);
54
50
  gl.deleteShader(vertexShader);
55
51
  return null;
56
52
  }
57
- const numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
58
- for (let i = 0; i < numAttributes; i++) {
59
- const attribute = gl.getActiveAttrib(program, i);
53
+
54
+ var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
55
+
56
+ for (var i = 0; i < numAttributes; i++) {
57
+ var attribute = gl.getActiveAttrib(program, i); // @ts-ignore
58
+
60
59
  program[attribute.name] = gl.getAttribLocation(program, attribute.name);
61
60
  }
62
- const numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
63
- for (let i$1 = 0; i$1 < numUniforms; i$1++) {
64
- const uniform = gl.getActiveUniform(program, i$1);
61
+
62
+ var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
63
+
64
+ for (var i$1 = 0; i$1 < numUniforms; i$1++) {
65
+ var uniform = gl.getActiveUniform(program, i$1); // @ts-ignore
66
+
65
67
  program[uniform.name] = gl.getUniformLocation(program, uniform.name);
66
- }
67
- program.vertexShader = vertexShader;
68
+ } // @ts-ignore
69
+
70
+
71
+ program.vertexShader = vertexShader; // @ts-ignore
72
+
68
73
  program.fragmentShader = fragmentShader;
69
74
  return program;
70
75
  }
76
+
71
77
  function loadShader(gl, type, source) {
72
- const shader = gl.createShader(type);
78
+ // Create shader object
79
+ var shader = gl.createShader(type); // 生成着色器对象
80
+
73
81
  if (shader == null) {
74
- console.warn("unable to create shader");
82
+ console.warn('unable to create shader');
75
83
  return null;
76
- }
77
- gl.shaderSource(shader, source);
78
- gl.compileShader(shader);
79
- const compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
84
+ } // Set the shader program
85
+
86
+
87
+ gl.shaderSource(shader, source); // 载入着色器
88
+ // Compile the shader
89
+
90
+ gl.compileShader(shader); // 编译着色器代码
91
+ // Check the result of compilation
92
+
93
+ var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); // 判断着色器对象是否生成成功
94
+ // gl.SHADER_TYPE、gl.DELETE_STATUS、gl.COMPILE_STATUS
95
+
80
96
  if (!compiled) {
81
- const error = gl.getShaderInfoLog(shader);
82
- console.warn("Failed to compile shader: " + error);
97
+ var error = gl.getShaderInfoLog(shader);
98
+ console.warn('Failed to compile shader: ' + error);
83
99
  gl.deleteShader(shader);
84
100
  return null;
85
101
  }
102
+
86
103
  return shader;
87
104
  }
105
+
88
106
  function createTexture(gl, filter, data, width, height) {
89
- const texture = gl.createTexture();
107
+ var texture = gl.createTexture();
90
108
  gl.bindTexture(gl.TEXTURE_2D, texture);
91
109
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
92
110
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
@@ -96,8 +114,9 @@ function createTexture(gl, filter, data, width, height) {
96
114
  gl.bindTexture(gl.TEXTURE_2D, null);
97
115
  return texture;
98
116
  }
117
+
99
118
  function createDataTexture(gl, filter, data) {
100
- const texture = gl.createTexture();
119
+ var texture = gl.createTexture();
101
120
  gl.bindTexture(gl.TEXTURE_2D, texture);
102
121
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
103
122
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
@@ -107,85 +126,115 @@ function createDataTexture(gl, filter, data) {
107
126
  gl.bindTexture(gl.TEXTURE_2D, null);
108
127
  return texture;
109
128
  }
129
+
110
130
  function bindTexture(gl, texture, unit) {
111
131
  gl.activeTexture(gl.TEXTURE0 + unit);
112
132
  gl.bindTexture(gl.TEXTURE_2D, texture);
113
133
  }
134
+
114
135
  function createBuffer(gl, data) {
115
- const buffer = gl.createBuffer();
136
+ var buffer = gl.createBuffer();
116
137
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
117
138
  gl.bufferData(gl.ARRAY_BUFFER, data, gl.STATIC_DRAW);
118
139
  return buffer;
119
140
  }
141
+
120
142
  function bindAttriBuffer(gl, attrName, vertices, count, program) {
121
- const buffer = gl.createBuffer();
143
+ var buffer = gl.createBuffer();
144
+
122
145
  if (!buffer) {
123
- console.warn("failed create vertex buffer");
146
+ console.warn('failed create vertex buffer');
124
147
  }
125
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
126
- gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);
127
- const attr = gl.getAttribLocation(program, attrName);
148
+
149
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // 将缓冲区对象绑定到目标
150
+
151
+ gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); // 向缓冲区对象中写入数据
152
+
153
+ var attr = gl.getAttribLocation(program, attrName);
128
154
  gl.vertexAttribPointer(attr, count, gl.FLOAT, false, 0, 0);
129
155
  gl.enableVertexAttribArray(attr);
130
156
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
131
- return { buffer, attr, count };
157
+ return {
158
+ buffer: buffer,
159
+ attr: attr,
160
+ count: count
161
+ };
132
162
  }
163
+
133
164
  function bindAttriIndicesBuffer(gl, indices) {
134
- const buffer = gl.createBuffer();
165
+ var buffer = gl.createBuffer();
166
+
135
167
  if (!buffer) {
136
- console.warn("failed create vertex buffer");
168
+ console.warn('failed create vertex buffer');
137
169
  } else {
138
170
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
139
171
  gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
140
172
  }
173
+
141
174
  return buffer;
142
175
  }
176
+
143
177
  function bindUnifrom(gl, unifromName, data, program, vec) {
144
- const uniform = gl.getUniformLocation(program, unifromName);
178
+ var uniform = gl.getUniformLocation(program, unifromName);
179
+
145
180
  if (uniform === null || uniform < 0) {
146
- console.warn("\u65E0\u6CD5\u83B7\u53D6 uniform \u53D8\u91CF\u7684\u5B58\u50A8\u4F4D\u7F6E");
181
+ console.warn('无法获取 uniform 变量的存储位置');
147
182
  } else {
148
183
  setUnifrom(gl, uniform, data, vec);
149
184
  }
185
+
150
186
  return uniform;
151
187
  }
188
+
152
189
  function setUnifrom(gl, location, data, vec) {
153
190
  switch (vec) {
154
- case "float":
191
+ case 'float':
155
192
  gl.uniform1f(location, data);
156
193
  break;
157
- case "vec2":
194
+
195
+ case 'vec2':
158
196
  gl.uniform2fv(location, data);
159
197
  break;
160
- case "vec3":
198
+
199
+ case 'vec3':
161
200
  gl.uniform3fv(location, data);
162
201
  break;
163
- case "vec4":
202
+
203
+ case 'vec4':
164
204
  gl.uniform4fv(location, data);
165
205
  break;
166
- case "bool":
167
- gl.uniform1i(location, data);
206
+
207
+ case 'bool':
208
+ gl.uniform1i(location, data); // 1 - true 0 - false
209
+
168
210
  break;
169
- case "sampler2d":
211
+
212
+ case 'sampler2d':
170
213
  break;
171
- case "mat4":
214
+
215
+ case 'mat4':
172
216
  gl.uniformMatrix4fv(location, false, data);
173
217
  break;
174
218
  }
175
219
  }
220
+
176
221
  function initFramebuffer(gl) {
177
- const { drawingBufferWidth, drawingBufferHeight } = gl;
178
- const OFFER_SCREEN_WIDTH = drawingBufferWidth;
179
- const OFFER_SCREEN_HEIGHT = drawingBufferHeight;
180
- const FRAMEBUFFER = gl.createFramebuffer();
222
+ var drawingBufferWidth = gl.drawingBufferWidth,
223
+ drawingBufferHeight = gl.drawingBufferHeight;
224
+ var OFFER_SCREEN_WIDTH = drawingBufferWidth;
225
+ var OFFER_SCREEN_HEIGHT = drawingBufferHeight;
226
+ var FRAMEBUFFER = gl.createFramebuffer();
181
227
  gl.bindFramebuffer(gl.FRAMEBUFFER, FRAMEBUFFER);
182
- const depthbuffer = gl.createRenderbuffer();
228
+ var depthbuffer = gl.createRenderbuffer();
183
229
  gl.bindRenderbuffer(gl.RENDERBUFFER, depthbuffer);
184
230
  gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, OFFER_SCREEN_WIDTH, OFFER_SCREEN_HEIGHT);
185
231
  gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthbuffer);
186
- const texture = gl.createTexture();
187
- FRAMEBUFFER.texture = texture;
188
- FRAMEBUFFER.width = OFFER_SCREEN_WIDTH;
232
+ var texture = gl.createTexture(); // @ts-ignore
233
+
234
+ FRAMEBUFFER.texture = texture; // @ts-ignore
235
+
236
+ FRAMEBUFFER.width = OFFER_SCREEN_WIDTH; // @ts-ignore
237
+
189
238
  FRAMEBUFFER.height = OFFER_SCREEN_HEIGHT;
190
239
  gl.bindTexture(gl.TEXTURE_2D, texture);
191
240
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
@@ -196,19 +245,9 @@ function initFramebuffer(gl) {
196
245
  gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
197
246
  gl.bindTexture(gl.TEXTURE_2D, null);
198
247
  gl.bindFramebuffer(gl.FRAMEBUFFER, null);
199
- return { FRAMEBUFFER, OFFER_SCREEN_WIDTH, OFFER_SCREEN_HEIGHT };
200
- }
201
- // Annotate the CommonJS export names for ESM import in node:
202
- 0 && (module.exports = {
203
- bindAttriBuffer,
204
- bindAttriIndicesBuffer,
205
- bindTexture,
206
- bindUnifrom,
207
- createBuffer,
208
- createDataTexture,
209
- createProgram,
210
- createTexture,
211
- initFramebuffer,
212
- loadShader,
213
- setUnifrom
214
- });
248
+ return {
249
+ FRAMEBUFFER: FRAMEBUFFER,
250
+ OFFER_SCREEN_WIDTH: OFFER_SCREEN_WIDTH,
251
+ OFFER_SCREEN_HEIGHT: OFFER_SCREEN_HEIGHT
252
+ };
253
+ }