@antv/l7-layers 2.9.23 → 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 (166) hide show
  1. package/es/Geometry/models/plane.d.ts +1 -0
  2. package/es/citybuliding/building.js +1 -1
  3. package/es/core/BaseLayer.js +10 -3
  4. package/es/core/interface.d.ts +26 -48
  5. package/es/core/interface.js +3 -0
  6. package/es/core/schema.d.ts +3 -3
  7. package/es/core/triangulation.d.ts +4 -3
  8. package/es/core/triangulation.js +54 -39
  9. package/es/heatmap/models/heatmap.js +1 -1
  10. package/es/image/models/image.js +7 -1
  11. package/es/line/index.js +4 -1
  12. package/es/line/models/arc.js +1 -1
  13. package/es/line/models/simpleLine.js +1 -1
  14. package/es/line/shaders/line_arc_vert.glsl +5 -3
  15. package/es/line/shaders/simple/simpleline_vert.glsl +1 -0
  16. package/es/plugins/FeatureScalePlugin.js +0 -1
  17. package/es/point/index.js +3 -1
  18. package/es/point/models/fill.js +5 -2
  19. package/es/point/models/fillmage.js +9 -3
  20. package/es/point/models/image.js +8 -2
  21. package/es/point/models/radar.js +2 -3
  22. package/es/point/models/tile.js +1 -1
  23. package/es/point/shaders/fill_vert.glsl +13 -6
  24. package/es/point/shaders/image/fillImage_vert.glsl +13 -5
  25. package/es/point/shaders/image_vert.glsl +17 -8
  26. package/es/polygon/index.js +4 -1
  27. package/es/raster/index.js +3 -1
  28. package/es/tile/manager/tileLayerManager.d.ts +3 -2
  29. package/es/tile/manager/tileLayerManager.js +5 -2
  30. package/es/tile/models/tileModel.js +4 -3
  31. package/es/tile/tileFactory/base.d.ts +1 -1
  32. package/es/tile/tileFactory/base.js +32 -5
  33. package/es/tile/tileFactory/vectorLayer.d.ts +3 -1
  34. package/es/tile/tileFactory/vectorLayer.js +22 -1
  35. package/es/tile/tileLayer/baseTileLayer.d.ts +1 -1
  36. package/es/tile/tileLayer/baseTileLayer.js +3 -2
  37. package/es/tile/utils.d.ts +2 -0
  38. package/es/tile/utils.js +5 -1
  39. package/lib/Geometry/index.js +114 -77
  40. package/lib/Geometry/models/billboard.js +232 -181
  41. package/lib/Geometry/models/index.js +18 -34
  42. package/lib/Geometry/models/plane.js +407 -278
  43. package/lib/Geometry/models/sprite.js +291 -189
  44. package/lib/canvas/index.js +101 -66
  45. package/lib/canvas/models/canvas.js +207 -140
  46. package/lib/canvas/models/index.js +12 -30
  47. package/lib/citybuliding/building.js +98 -63
  48. package/lib/citybuliding/models/build.js +192 -146
  49. package/lib/core/BaseLayer.js +1331 -809
  50. package/lib/core/BaseModel.js +457 -279
  51. package/lib/core/interface.js +40 -53
  52. package/lib/core/schema.js +21 -39
  53. package/lib/core/shape/Path.js +67 -79
  54. package/lib/core/shape/extrude.js +132 -91
  55. package/lib/core/triangulation.js +412 -213
  56. package/lib/earth/index.js +100 -62
  57. package/lib/earth/models/atmosphere.js +146 -112
  58. package/lib/earth/models/base.js +210 -150
  59. package/lib/earth/models/bloomsphere.js +146 -112
  60. package/lib/earth/utils.js +111 -91
  61. package/lib/heatmap/index.js +149 -92
  62. package/lib/heatmap/models/grid.js +118 -91
  63. package/lib/heatmap/models/grid3d.js +155 -123
  64. package/lib/heatmap/models/heatmap.js +475 -338
  65. package/lib/heatmap/models/hexagon.js +121 -92
  66. package/lib/heatmap/models/index.js +22 -37
  67. package/lib/heatmap/triangulation.js +31 -47
  68. package/lib/image/index.js +111 -74
  69. package/lib/image/models/dataImage.js +232 -174
  70. package/lib/image/models/image.js +175 -123
  71. package/lib/image/models/index.js +15 -32
  72. package/lib/index.js +263 -97
  73. package/lib/line/index.js +131 -83
  74. package/lib/line/models/arc.js +352 -237
  75. package/lib/line/models/arc_3d.js +334 -228
  76. package/lib/line/models/earthArc_3d.js +336 -228
  77. package/lib/line/models/great_circle.js +291 -200
  78. package/lib/line/models/half.js +286 -201
  79. package/lib/line/models/index.js +42 -50
  80. package/lib/line/models/line.js +428 -299
  81. package/lib/line/models/linearline.js +277 -203
  82. package/lib/line/models/simpleLine.js +239 -175
  83. package/lib/line/models/tile.js +348 -237
  84. package/lib/line/models/wall.js +327 -235
  85. package/lib/line/shaders/line_arc_vert.glsl +5 -3
  86. package/lib/line/shaders/simple/simpleline_vert.glsl +1 -0
  87. package/lib/mask/index.js +92 -59
  88. package/lib/mask/models/fill.js +134 -82
  89. package/lib/mask/models/index.js +12 -30
  90. package/lib/plugins/DataMappingPlugin.js +342 -224
  91. package/lib/plugins/DataSourcePlugin.js +102 -87
  92. package/lib/plugins/FeatureScalePlugin.js +330 -241
  93. package/lib/plugins/LayerAnimateStylePlugin.js +61 -55
  94. package/lib/plugins/LayerModelPlugin.js +80 -73
  95. package/lib/plugins/LayerStylePlugin.js +48 -51
  96. package/lib/plugins/LightingPlugin.js +80 -68
  97. package/lib/plugins/MultiPassRendererPlugin.js +91 -65
  98. package/lib/plugins/PixelPickingPlugin.js +150 -109
  99. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -110
  100. package/lib/plugins/ShaderUniformPlugin.js +118 -99
  101. package/lib/plugins/UpdateModelPlugin.js +40 -47
  102. package/lib/plugins/UpdateStyleAttributePlugin.js +93 -75
  103. package/lib/point/index.js +226 -148
  104. package/lib/point/models/earthExtrude.js +279 -201
  105. package/lib/point/models/earthFill.js +287 -202
  106. package/lib/point/models/extrude.js +299 -203
  107. package/lib/point/models/fill.js +406 -273
  108. package/lib/point/models/fillmage.js +365 -252
  109. package/lib/point/models/image.js +241 -164
  110. package/lib/point/models/index.js +46 -52
  111. package/lib/point/models/normal.js +183 -134
  112. package/lib/point/models/radar.js +304 -212
  113. package/lib/point/models/simplePoint.js +194 -142
  114. package/lib/point/models/text.js +608 -385
  115. package/lib/point/models/tile.js +314 -223
  116. package/lib/point/shaders/fill_vert.glsl +13 -6
  117. package/lib/point/shaders/image/fillImage_vert.glsl +13 -5
  118. package/lib/point/shaders/image_vert.glsl +17 -8
  119. package/lib/point/shape/extrude.js +56 -52
  120. package/lib/polygon/index.js +154 -100
  121. package/lib/polygon/models/extrude.js +311 -223
  122. package/lib/polygon/models/fill.js +215 -153
  123. package/lib/polygon/models/index.js +46 -52
  124. package/lib/polygon/models/ocean.js +244 -173
  125. package/lib/polygon/models/tile.js +144 -100
  126. package/lib/polygon/models/water.js +222 -153
  127. package/lib/raster/buffers/triangulation.js +27 -40
  128. package/lib/raster/index.js +115 -74
  129. package/lib/raster/models/index.js +16 -33
  130. package/lib/raster/models/raster.js +178 -135
  131. package/lib/raster/raster.js +187 -132
  132. package/lib/tile/interface.js +4 -16
  133. package/lib/tile/manager/tileConfigManager.js +125 -86
  134. package/lib/tile/manager/tileLayerManager.js +314 -227
  135. package/lib/tile/manager/tilePickerManager.js +192 -123
  136. package/lib/tile/models/tileModel.js +71 -51
  137. package/lib/tile/tileFactory/base.js +433 -292
  138. package/lib/tile/tileFactory/index.js +51 -49
  139. package/lib/tile/tileFactory/line.js +65 -50
  140. package/lib/tile/tileFactory/point.js +65 -50
  141. package/lib/tile/tileFactory/polygon.js +65 -50
  142. package/lib/tile/tileFactory/raster.js +66 -54
  143. package/lib/tile/tileFactory/rasterData.js +88 -76
  144. package/lib/tile/tileFactory/rasterDataLayer.js +97 -62
  145. package/lib/tile/tileFactory/vectorLayer.js +169 -95
  146. package/lib/tile/tileLayer/baseTileLayer.js +420 -220
  147. package/lib/tile/tmsTileLayer.js +110 -67
  148. package/lib/tile/utils.js +113 -87
  149. package/lib/utils/blend.js +59 -79
  150. package/lib/utils/collision-index.js +107 -64
  151. package/lib/utils/dataMappingStyle.js +105 -60
  152. package/lib/utils/extrude_polyline.js +600 -398
  153. package/lib/utils/grid-index.js +163 -111
  154. package/lib/utils/layerData.js +130 -99
  155. package/lib/utils/multiPassRender.js +49 -41
  156. package/lib/utils/polylineNormal.js +148 -96
  157. package/lib/utils/simpleLine.js +100 -85
  158. package/lib/utils/symbol-layout.js +219 -116
  159. package/lib/utils/updateShape.js +15 -41
  160. package/lib/wind/index.js +109 -71
  161. package/lib/wind/models/index.js +12 -30
  162. package/lib/wind/models/utils.js +144 -105
  163. package/lib/wind/models/wind.js +333 -224
  164. package/lib/wind/models/windRender.js +329 -218
  165. package/lib/wind/models/windShader.js +23 -181
  166. package/package.json +7 -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
+ }