@antv/l7-layers 2.17.4 → 2.17.5

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 (250) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
package/lib/wind/index.js CHANGED
@@ -1,90 +1,63 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
29
-
30
18
  var _models = _interopRequireDefault(require("./models"));
31
-
32
19
  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); }; }
33
-
34
20
  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; } }
35
-
36
21
  var WindLayer = /*#__PURE__*/function (_BaseLayer) {
37
22
  (0, _inherits2.default)(WindLayer, _BaseLayer);
38
-
39
23
  var _super = _createSuper(WindLayer);
40
-
41
24
  function WindLayer() {
42
25
  var _this;
43
-
44
26
  (0, _classCallCheck2.default)(this, WindLayer);
45
-
46
27
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
28
  args[_key] = arguments[_key];
48
29
  }
49
-
50
30
  _this = _super.call.apply(_super, [this].concat(args));
51
31
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'WindLayer');
52
32
  return _this;
53
33
  }
54
-
55
34
  (0, _createClass2.default)(WindLayer, [{
56
35
  key: "buildModels",
57
36
  value: function () {
58
37
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
59
38
  var modelType;
60
39
  return _regenerator.default.wrap(function _callee$(_context) {
61
- while (1) {
62
- switch (_context.prev = _context.next) {
63
- case 0:
64
- modelType = this.getModelType();
65
- this.layerModel = new _models.default[modelType](this);
66
- _context.next = 4;
67
- return this.initLayerModels();
68
-
69
- case 4:
70
- case "end":
71
- return _context.stop();
72
- }
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ modelType = this.getModelType();
43
+ this.layerModel = new _models.default[modelType](this);
44
+ _context.next = 4;
45
+ return this.initLayerModels();
46
+ case 4:
47
+ case "end":
48
+ return _context.stop();
73
49
  }
74
50
  }, _callee, this);
75
51
  }));
76
-
77
52
  function buildModels() {
78
53
  return _buildModels.apply(this, arguments);
79
54
  }
80
-
81
55
  return buildModels;
82
56
  }()
83
57
  }, {
84
58
  key: "renderModels",
85
59
  value: function renderModels() {
86
60
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
87
-
88
61
  if (this.layerModel) {
89
62
  this.layerModel.render(options); // 独立的渲染流程
90
63
  }
@@ -108,5 +81,4 @@ var WindLayer = /*#__PURE__*/function (_BaseLayer) {
108
81
  }]);
109
82
  return WindLayer;
110
83
  }(_BaseLayer2.default);
111
-
112
84
  exports.default = WindLayer;
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _wind = _interopRequireDefault(require("./wind"));
11
-
12
9
  var WindModels = {
13
10
  wind: _wind.default
14
11
  };
@@ -14,34 +14,29 @@ exports.createTexture = createTexture;
14
14
  exports.initFramebuffer = initFramebuffer;
15
15
  exports.loadShader = loadShader;
16
16
  exports.setUnifrom = setUnifrom;
17
-
18
17
  function createProgram(gl, vshader, fshader) {
19
18
  // Create shader object
20
19
  var vertexShader = loadShader(gl, gl.VERTEX_SHADER, vshader); // 创建顶点着色器对象
21
-
22
20
  var fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fshader); // 创建片元着色器对象
23
-
24
21
  if (!vertexShader || !fragmentShader) {
25
22
  return null;
26
- } // Create a program object
27
-
23
+ }
28
24
 
25
+ // Create a program object
29
26
  var program = gl.createProgram(); // 创建程序对象
30
-
31
27
  if (!program) {
32
28
  return null;
33
- } // Attach the shader objects
34
-
29
+ }
35
30
 
31
+ // Attach the shader objects
36
32
  gl.attachShader(program, vertexShader); // 绑定着色器对象
33
+ gl.attachShader(program, fragmentShader);
37
34
 
38
- gl.attachShader(program, fragmentShader); // Link the program object
39
-
35
+ // Link the program object
40
36
  gl.linkProgram(program); // 链接着色器对象
41
- // Check the result of linking
42
37
 
38
+ // Check the result of linking
43
39
  var linked = gl.getProgramParameter(program, gl.LINK_STATUS); // 判断着色器对象是否链接成功
44
-
45
40
  if (!linked) {
46
41
  var error = gl.getProgramInfoLog(program);
47
42
  console.warn('Failed to link program: ' + error);
@@ -50,59 +45,50 @@ function createProgram(gl, vshader, fshader) {
50
45
  gl.deleteShader(vertexShader);
51
46
  return null;
52
47
  }
53
-
54
48
  var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
55
-
56
49
  for (var i = 0; i < numAttributes; i++) {
57
- var attribute = gl.getActiveAttrib(program, i); // @ts-ignore
58
-
50
+ var attribute = gl.getActiveAttrib(program, i);
51
+ // @ts-ignore
59
52
  program[attribute.name] = gl.getAttribLocation(program, attribute.name);
60
53
  }
61
-
62
54
  var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
63
-
64
55
  for (var i$1 = 0; i$1 < numUniforms; i$1++) {
65
- var uniform = gl.getActiveUniform(program, i$1); // @ts-ignore
66
-
56
+ var uniform = gl.getActiveUniform(program, i$1);
57
+ // @ts-ignore
67
58
  program[uniform.name] = gl.getUniformLocation(program, uniform.name);
68
- } // @ts-ignore
69
-
70
-
71
- program.vertexShader = vertexShader; // @ts-ignore
59
+ }
72
60
 
61
+ // @ts-ignore
62
+ program.vertexShader = vertexShader;
63
+ // @ts-ignore
73
64
  program.fragmentShader = fragmentShader;
74
65
  return program;
75
66
  }
76
-
77
67
  function loadShader(gl, type, source) {
78
68
  // Create shader object
79
69
  var shader = gl.createShader(type); // 生成着色器对象
80
-
81
70
  if (shader == null) {
82
71
  console.warn('unable to create shader');
83
72
  return null;
84
- } // Set the shader program
85
-
73
+ }
86
74
 
75
+ // Set the shader program
87
76
  gl.shaderSource(shader, source); // 载入着色器
88
- // Compile the shader
89
77
 
78
+ // Compile the shader
90
79
  gl.compileShader(shader); // 编译着色器代码
91
- // Check the result of compilation
92
80
 
81
+ // Check the result of compilation
93
82
  var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); // 判断着色器对象是否生成成功
94
83
  // gl.SHADER_TYPE、gl.DELETE_STATUS、gl.COMPILE_STATUS
95
-
96
84
  if (!compiled) {
97
85
  var error = gl.getShaderInfoLog(shader);
98
86
  console.warn('Failed to compile shader: ' + error);
99
87
  gl.deleteShader(shader);
100
88
  return null;
101
89
  }
102
-
103
90
  return shader;
104
91
  }
105
-
106
92
  function createTexture(gl, filter, data, width, height) {
107
93
  var texture = gl.createTexture();
108
94
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -114,7 +100,6 @@ function createTexture(gl, filter, data, width, height) {
114
100
  gl.bindTexture(gl.TEXTURE_2D, null);
115
101
  return texture;
116
102
  }
117
-
118
103
  function createDataTexture(gl, filter, data) {
119
104
  var texture = gl.createTexture();
120
105
  gl.bindTexture(gl.TEXTURE_2D, texture);
@@ -126,28 +111,22 @@ function createDataTexture(gl, filter, data) {
126
111
  gl.bindTexture(gl.TEXTURE_2D, null);
127
112
  return texture;
128
113
  }
129
-
130
114
  function bindTexture(gl, texture, unit) {
131
115
  gl.activeTexture(gl.TEXTURE0 + unit);
132
116
  gl.bindTexture(gl.TEXTURE_2D, texture);
133
117
  }
134
-
135
118
  function createBuffer(gl, data) {
136
119
  var buffer = gl.createBuffer();
137
120
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
138
121
  gl.bufferData(gl.ARRAY_BUFFER, data, gl.STATIC_DRAW);
139
122
  return buffer;
140
123
  }
141
-
142
124
  function bindAttriBuffer(gl, attrName, vertices, count, program) {
143
125
  var buffer = gl.createBuffer();
144
-
145
126
  if (!buffer) {
146
127
  console.warn('failed create vertex buffer');
147
128
  }
148
-
149
129
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // 将缓冲区对象绑定到目标
150
-
151
130
  gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); // 向缓冲区对象中写入数据
152
131
 
153
132
  var attr = gl.getAttribLocation(program, attrName);
@@ -160,67 +139,52 @@ function bindAttriBuffer(gl, attrName, vertices, count, program) {
160
139
  count: count
161
140
  };
162
141
  }
163
-
164
142
  function bindAttriIndicesBuffer(gl, indices) {
165
143
  var buffer = gl.createBuffer();
166
-
167
144
  if (!buffer) {
168
145
  console.warn('failed create vertex buffer');
169
146
  } else {
170
147
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
171
148
  gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
172
149
  }
173
-
174
150
  return buffer;
175
151
  }
176
-
177
152
  function bindUnifrom(gl, unifromName, data, program, vec) {
178
153
  var uniform = gl.getUniformLocation(program, unifromName);
179
-
180
154
  if (uniform === null || uniform < 0) {
181
155
  console.warn('无法获取 uniform 变量的存储位置');
182
156
  } else {
183
157
  setUnifrom(gl, uniform, data, vec);
184
158
  }
185
-
186
159
  return uniform;
187
160
  }
188
-
189
161
  function setUnifrom(gl, location, data, vec) {
190
162
  switch (vec) {
191
163
  case 'float':
192
164
  gl.uniform1f(location, data);
193
165
  break;
194
-
195
166
  case 'vec2':
196
167
  gl.uniform2fv(location, data);
197
168
  break;
198
-
199
169
  case 'vec3':
200
170
  gl.uniform3fv(location, data);
201
171
  break;
202
-
203
172
  case 'vec4':
204
173
  gl.uniform4fv(location, data);
205
174
  break;
206
-
207
175
  case 'bool':
208
176
  gl.uniform1i(location, data); // 1 - true 0 - false
209
-
210
177
  break;
211
-
212
178
  case 'sampler2d':
213
179
  break;
214
-
215
180
  case 'mat4':
216
181
  gl.uniformMatrix4fv(location, false, data);
217
182
  break;
218
183
  }
219
184
  }
220
-
221
185
  function initFramebuffer(gl) {
222
186
  var drawingBufferWidth = gl.drawingBufferWidth,
223
- drawingBufferHeight = gl.drawingBufferHeight;
187
+ drawingBufferHeight = gl.drawingBufferHeight;
224
188
  var OFFER_SCREEN_WIDTH = drawingBufferWidth;
225
189
  var OFFER_SCREEN_HEIGHT = drawingBufferHeight;
226
190
  var FRAMEBUFFER = gl.createFramebuffer();
@@ -229,12 +193,12 @@ function initFramebuffer(gl) {
229
193
  gl.bindRenderbuffer(gl.RENDERBUFFER, depthbuffer);
230
194
  gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, OFFER_SCREEN_WIDTH, OFFER_SCREEN_HEIGHT);
231
195
  gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthbuffer);
232
- var texture = gl.createTexture(); // @ts-ignore
233
-
234
- FRAMEBUFFER.texture = texture; // @ts-ignore
235
-
236
- FRAMEBUFFER.width = OFFER_SCREEN_WIDTH; // @ts-ignore
237
-
196
+ var texture = gl.createTexture();
197
+ // @ts-ignore
198
+ FRAMEBUFFER.texture = texture;
199
+ // @ts-ignore
200
+ FRAMEBUFFER.width = OFFER_SCREEN_WIDTH;
201
+ // @ts-ignore
238
202
  FRAMEBUFFER.height = OFFER_SCREEN_HEIGHT;
239
203
  gl.bindTexture(gl.TEXTURE_2D, texture);
240
204
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);