@pirireis/webglobeplugins 0.9.11 → 0.9.12

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/Math/angle-calculation.js +8 -8
  2. package/Math/arc.js +18 -18
  3. package/Math/bounds/line-bbox.js +78 -80
  4. package/Math/constants.js +3 -3
  5. package/Math/juction/arc-plane.js +23 -23
  6. package/Math/juction/line-sphere.js +11 -11
  7. package/Math/juction/plane-plane.js +11 -11
  8. package/Math/line.js +14 -16
  9. package/Math/methods.js +65 -70
  10. package/Math/plane.js +16 -18
  11. package/Math/quaternion.js +45 -49
  12. package/Math/utils.js +2 -2
  13. package/Math/vec3.js +42 -45
  14. package/algorithms/search-binary.js +4 -4
  15. package/altitude-locator/draw-subset-obj.js +7 -8
  16. package/altitude-locator/plugin.js +98 -114
  17. package/arrowfield/adaptor.js +3 -4
  18. package/arrowfield/index.js +2 -2
  19. package/arrowfield/plugin.js +62 -65
  20. package/bearing-line/index.js +1 -1
  21. package/bearing-line/plugin.js +200 -226
  22. package/circle-line-chain/chain-list-map.js +82 -88
  23. package/circle-line-chain/plugin.js +134 -165
  24. package/circle-line-chain/util.js +1 -1
  25. package/compass-rose/compass-rose-padding-flat.js +108 -133
  26. package/compass-rose/compass-text-writer.js +62 -70
  27. package/compass-rose/index.js +2 -2
  28. package/compassrose/compassrose.js +46 -50
  29. package/compassrose/index.js +1 -1
  30. package/heatwave/index.js +2 -2
  31. package/heatwave/isobar/objectarraylabels.js +44 -48
  32. package/heatwave/isobar/plugin.js +104 -123
  33. package/heatwave/isobar/quadtreecontours.js +76 -92
  34. package/heatwave/plugins/heatwaveglobeshell.js +69 -87
  35. package/index.js +11 -11
  36. package/package.json +1 -1
  37. package/partialrings/buffer-manager.js +32 -64
  38. package/partialrings/index.js +1 -1
  39. package/partialrings/plugin.js +48 -84
  40. package/partialrings/program.js +136 -47
  41. package/pin/pin-object-array.js +83 -86
  42. package/pin/pin-point-totem.js +21 -22
  43. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
  44. package/point-heat-map/plugin-webworker.js +40 -45
  45. package/point-heat-map/point-to-heat-map-flow.js +40 -42
  46. package/point-tracks/key-methods.js +1 -1
  47. package/point-tracks/plugin.js +137 -162
  48. package/programs/arrowfield/index.js +1 -1
  49. package/programs/arrowfield/logic.js +170 -62
  50. package/programs/arrowfield/object.js +33 -35
  51. package/programs/data2legend/density-to-legend.js +45 -21
  52. package/programs/data2legend/point-to-density-texture.js +52 -27
  53. package/programs/float2legendwithratio/index.js +1 -1
  54. package/programs/float2legendwithratio/logic.js +88 -42
  55. package/programs/float2legendwithratio/object.js +43 -46
  56. package/programs/globe-util/is-globe-moved.js +10 -11
  57. package/programs/globeshell/index.js +1 -1
  58. package/programs/globeshell/wiggle/index.js +1 -1
  59. package/programs/globeshell/wiggle/logic.js +191 -98
  60. package/programs/globeshell/wiggle/object.js +33 -35
  61. package/programs/helpers/blender/program.js +36 -19
  62. package/programs/helpers/fadeaway/index.js +1 -1
  63. package/programs/helpers/fadeaway/logic.js +35 -13
  64. package/programs/helpers/fadeaway/object.js +9 -10
  65. package/programs/helpers/index.js +1 -1
  66. package/programs/index.js +8 -8
  67. package/programs/line-on-globe/angled-line.js +91 -32
  68. package/programs/line-on-globe/circle-accurate-3d.js +82 -32
  69. package/programs/line-on-globe/circle-accurate-flat.js +108 -50
  70. package/programs/line-on-globe/circle-accurate.js +103 -33
  71. package/programs/line-on-globe/circle.js +97 -32
  72. package/programs/line-on-globe/degree-padding-around-circle-3d.js +83 -33
  73. package/programs/line-on-globe/lines-color-instanced-flat.js +79 -34
  74. package/programs/line-on-globe/linestrip.js +111 -45
  75. package/programs/line-on-globe/naive-accurate-flexible.js +120 -50
  76. package/programs/line-on-globe/to-the-surface.js +58 -29
  77. package/programs/line-on-globe/util.js +1 -1
  78. package/programs/picking/pickable-renderer.js +117 -33
  79. package/programs/point-on-globe/element-globe-surface-glow.js +78 -38
  80. package/programs/point-on-globe/element-point-glow.js +103 -35
  81. package/programs/point-on-globe/square-pixel-point.js +76 -27
  82. package/programs/programcache.js +13 -13
  83. package/programs/rings/distancering/circleflatprogram.js +63 -21
  84. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +156 -145
  85. package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -197
  86. package/programs/rings/distancering/index.js +4 -4
  87. package/programs/rings/distancering/paddyflatprogram.js +73 -20
  88. package/programs/rings/distancering/paddyflatprogram2d.js +75 -22
  89. package/programs/rings/distancering/paddyflatprogram3d.js +73 -20
  90. package/programs/rings/partial-ring/piece-of-pie.js +137 -35
  91. package/programs/totems/camerauniformblock.js +64 -51
  92. package/programs/totems/canvas-webglobe-info.js +48 -40
  93. package/programs/totems/gpu-selection-uniform-block.js +44 -40
  94. package/programs/totems/index.js +1 -1
  95. package/programs/two-d/pixel-padding-for-compass.js +90 -29
  96. package/programs/util.js +6 -7
  97. package/programs/vectorfields/index.js +1 -1
  98. package/programs/vectorfields/logics/drawrectangleparticles.js +70 -29
  99. package/programs/vectorfields/logics/index.js +3 -3
  100. package/programs/vectorfields/logics/pixelbased.js +91 -35
  101. package/programs/vectorfields/logics/ubo.js +31 -25
  102. package/programs/vectorfields/pingpongbuffermanager.js +30 -34
  103. package/rangerings/index.js +4 -4
  104. package/rangerings/plugin.js +202 -258
  105. package/rangerings/rangeringangletext.js +108 -120
  106. package/rangerings/ring-account.js +52 -69
  107. package/shaders/fragment-toy/firework.js +55 -1
  108. package/shaders/fragment-toy/singularity.js +55 -1
  109. package/timetracks/adaptors-line-strip.js +26 -37
  110. package/timetracks/adaptors.js +47 -61
  111. package/timetracks/index.js +4 -4
  112. package/timetracks/plugin-line-strip.js +63 -71
  113. package/timetracks/plugin.js +69 -77
  114. package/timetracks/program-line-strip.js +296 -103
  115. package/timetracks/program.js +419 -113
  116. package/timetracks/programpoint-line-strip.js +97 -44
  117. package/timetracks/programpoint.js +90 -44
  118. package/util/account/bufferoffsetmanager.js +72 -95
  119. package/util/account/index.js +1 -1
  120. package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -44
  121. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -94
  122. package/util/account/single-attribute-buffer-management/index.js +3 -3
  123. package/util/account/single-attribute-buffer-management/object-store.js +29 -30
  124. package/util/account/util.js +2 -4
  125. package/util/algorithms/search-binary.js +4 -4
  126. package/util/check/get.js +5 -5
  127. package/util/check/typecheck.js +13 -15
  128. package/util/geometry/index.js +9 -11
  129. package/util/gl-util/buffer/attribute-loader.js +8 -20
  130. package/util/gl-util/buffer/index.js +1 -1
  131. package/util/gl-util/draw-options/methods.js +8 -9
  132. package/util/gl-util/uniform-block/manager.js +67 -67
  133. package/util/heatwavedatamanager/datamanager.js +56 -116
  134. package/util/heatwavedatamanager/index.js +2 -2
  135. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +37 -40
  136. package/util/heatwavedatamanager/pointcoordsmeta.js +9 -10
  137. package/util/index.js +6 -6
  138. package/util/interpolation/timetrack/index.js +1 -1
  139. package/util/interpolation/timetrack/timetrack-interpolator.js +27 -29
  140. package/util/interpolation/timetrack/web-worker-str.js +179 -1
  141. package/util/interpolation/timetrack/web-worker.js +4 -4
  142. package/util/jshelpers/data-filler.js +7 -7
  143. package/util/jshelpers/timefilters.js +7 -7
  144. package/util/picking/fence.js +7 -7
  145. package/util/picking/picker-displayer.js +46 -52
  146. package/util/programs/draw-texture-on-canvas.js +39 -21
  147. package/util/programs/shapesonglobe.js +104 -64
  148. package/util/programs/supersampletotextures.js +45 -39
  149. package/util/programs/texturetoglobe.js +98 -48
  150. package/util/shaderfunctions/geometrytransformations.js +322 -27
  151. package/util/shaderfunctions/nodata.js +7 -1
  152. package/util/shaderfunctions/noisefunctions.js +39 -9
  153. package/util/surface-line-data/arcs-to-cuts.js +20 -23
  154. package/util/webglobe/rasteroverlay.js +35 -37
  155. package/util/webglobjectbuilders.js +55 -60
  156. package/util/webglobjectbuilders1.js +48 -49
  157. package/waveparticles/adaptor.js +6 -7
  158. package/waveparticles/index.js +2 -2
  159. package/waveparticles/plugin.js +79 -84
  160. package/wind/imagetovectorfieldandmagnitude.js +15 -15
  161. package/wind/index.js +4 -4
  162. package/wind/plugin.js +453 -251
  163. package/wind/vectorfieldimage.js +5 -5
  164. package/write-text/attached-text-writer.js +46 -48
  165. package/write-text/context-text.js +51 -58
  166. package/write-text/context-text3.js +69 -74
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuperSampleTextureProgram = void 0;
4
- var webglobjectbuilders_1 = require("../webglobjectbuilders");
5
- var SuperSampleTextureProgram = /** @class */ (function () {
6
- function SuperSampleTextureProgram(gl, internalFormat, sourceFormat, sourceType, glslOutputType, glslBand) {
7
- if (internalFormat === void 0) { internalFormat = null; }
8
- if (sourceFormat === void 0) { sourceFormat = null; }
9
- if (sourceType === void 0) { sourceType = null; }
10
- if (glslOutputType === void 0) { glslOutputType = "float"; }
11
- if (glslBand === void 0) { glslBand = "r"; }
4
+ const webglobjectbuilders_1 = require("../webglobjectbuilders");
5
+ class SuperSampleTextureProgram {
6
+ constructor(gl, internalFormat = null, sourceFormat = null, sourceType = null, glslOutputType = "float", glslBand = "r") {
12
7
  this._internalFormat = internalFormat || gl.R16F;
13
8
  this._sourceFormat = sourceFormat || gl.RED;
14
9
  this._sourceType = sourceType || gl.FLOAT;
@@ -18,17 +13,29 @@ var SuperSampleTextureProgram = /** @class */ (function () {
18
13
  this._programWrapper = this._createProgramWrapper();
19
14
  this._framebuffer = this.gl.createFramebuffer();
20
15
  }
21
- SuperSampleTextureProgram.prototype._createProgramWrapper = function () {
22
- var _a = this, gl = _a.gl, _glslBand = _a._glslBand, _glslOutputType = _a._glslOutputType;
23
- var vertexShaderSource = "#version 300 es\n in vec2 a_position;\n out vec2 v_texCoord;\n\n uniform mat4 u_bbox_matrix;\n\n void main() {\n gl_Position = vec4(a_position, 0.0, 1.0);\n v_texCoord = (u_bbox_matrix * vec4(a_position,0.0, 1.0)).xy;\n }";
24
- var fragmentShaderSource = "#version 300 es\n precision highp float;\n in vec2 v_texCoord;"
25
- + "out ".concat(_glslOutputType, " outColor;")
26
- + "uniform sampler2D u_texture;\n void main() {"
27
- + " outColor = texture(u_texture, v_texCoord).".concat(_glslBand, ";")
28
- + "}";
29
- var program = (0, webglobjectbuilders_1.createProgram)(gl, vertexShaderSource, fragmentShaderSource);
30
- var vao = gl.createVertexArray();
31
- var positionBuffer = gl.createBuffer();
16
+ _createProgramWrapper() {
17
+ const { gl, _glslBand, _glslOutputType } = this;
18
+ const vertexShaderSource = `#version 300 es
19
+ in vec2 a_position;
20
+ out vec2 v_texCoord;
21
+
22
+ uniform mat4 u_bbox_matrix;
23
+
24
+ void main() {
25
+ gl_Position = vec4(a_position, 0.0, 1.0);
26
+ v_texCoord = (u_bbox_matrix * vec4(a_position,0.0, 1.0)).xy;
27
+ }`;
28
+ const fragmentShaderSource = `#version 300 es
29
+ precision highp float;
30
+ in vec2 v_texCoord;`
31
+ + `out ${_glslOutputType} outColor;`
32
+ + `uniform sampler2D u_texture;
33
+ void main() {`
34
+ + ` outColor = texture(u_texture, v_texCoord).${_glslBand};`
35
+ + `}`;
36
+ const program = (0, webglobjectbuilders_1.createProgram)(gl, vertexShaderSource, fragmentShaderSource);
37
+ const vao = gl.createVertexArray();
38
+ const positionBuffer = gl.createBuffer();
32
39
  gl.bindVertexArray(vao);
33
40
  gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
34
41
  gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
@@ -40,8 +47,8 @@ var SuperSampleTextureProgram = /** @class */ (function () {
40
47
  gl.enableVertexAttribArray(0);
41
48
  gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
42
49
  gl.bindVertexArray(null);
43
- var u_bbox_matrix = gl.getUniformLocation(program, "u_bbox_matrix");
44
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
50
+ const u_bbox_matrix = gl.getUniformLocation(program, "u_bbox_matrix");
51
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
45
52
  gl.uniformMatrix2fv(u_bbox_matrix, false, new Float32Array([
46
53
  1, 0, 0, 0,
47
54
  0, 1, 0, 0,
@@ -51,17 +58,17 @@ var SuperSampleTextureProgram = /** @class */ (function () {
51
58
  gl.useProgram(program);
52
59
  gl.useProgram(currentProgram);
53
60
  return {
54
- program: program,
55
- vao: vao,
61
+ program,
62
+ vao,
56
63
  u_texture: gl.getUniformLocation(program, "u_texture"),
57
- u_bbox_matrix: u_bbox_matrix
64
+ u_bbox_matrix
58
65
  };
59
- };
60
- SuperSampleTextureProgram.prototype.createHigherResolutionTexture = function (targetWidth, targetHeight, sourceTexture) {
66
+ }
67
+ createHigherResolutionTexture(targetWidth, targetHeight, sourceTexture) {
61
68
  // save current state
62
- var _a = this, gl = _a.gl, _internalFormat = _a._internalFormat, _sourceFormat = _a._sourceFormat, _sourceType = _a._sourceType;
63
- var currentViewport = gl.getParameter(gl.VIEWPORT);
64
- var resultTexture = gl.createTexture();
69
+ const { gl, _internalFormat, _sourceFormat, _sourceType } = this;
70
+ const currentViewport = gl.getParameter(gl.VIEWPORT);
71
+ const resultTexture = gl.createTexture();
65
72
  gl.bindTexture(gl.TEXTURE_2D, resultTexture);
66
73
  gl.texImage2D(gl.TEXTURE_2D, 0, _internalFormat, targetWidth, targetHeight, 0, _sourceFormat, _sourceType, null);
67
74
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
@@ -78,9 +85,9 @@ var SuperSampleTextureProgram = /** @class */ (function () {
78
85
  // restore previous state
79
86
  this.gl.viewport(currentViewport[0], currentViewport[1], currentViewport[2], currentViewport[3]);
80
87
  return resultTexture;
81
- };
82
- SuperSampleTextureProgram.prototype._draw = function (texture) {
83
- var currentProgram = this.gl.getParameter(this.gl.CURRENT_PROGRAM);
88
+ }
89
+ _draw(texture) {
90
+ const currentProgram = this.gl.getParameter(this.gl.CURRENT_PROGRAM);
84
91
  this.gl.useProgram(this._programWrapper.program);
85
92
  this.gl.bindVertexArray(this._programWrapper.vao);
86
93
  this.gl.activeTexture(this.gl.TEXTURE0);
@@ -89,10 +96,10 @@ var SuperSampleTextureProgram = /** @class */ (function () {
89
96
  this.gl.drawArrays(this.gl.TRIANGLE_FAN, 0, 4);
90
97
  this.gl.bindVertexArray(null);
91
98
  this.gl.useProgram(currentProgram);
92
- };
93
- SuperSampleTextureProgram.prototype.setBBox = function (x0, y0, x1, y1) {
94
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper;
95
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
99
+ }
100
+ setBBox(x0, y0, x1, y1) {
101
+ const { gl, _programWrapper } = this;
102
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
96
103
  gl.useProgram(_programWrapper.program);
97
104
  gl.uniformMatrix2fv(_programWrapper.u_bbox_matrix, false, new Float32Array([
98
105
  1 / (x1 - x0), 0, -x0 / (x1 - x0), 0,
@@ -101,7 +108,6 @@ var SuperSampleTextureProgram = /** @class */ (function () {
101
108
  0, 0, 0, 1
102
109
  ]));
103
110
  gl.useProgram(currentProgram);
104
- };
105
- return SuperSampleTextureProgram;
106
- }());
111
+ }
112
+ }
107
113
  exports.SuperSampleTextureProgram = SuperSampleTextureProgram;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextureToGlobeProgram = void 0;
4
- var webglobjectbuilders_1 = require("../webglobjectbuilders");
5
- var __1 = require("..");
6
- var __2 = require("..");
4
+ const webglobjectbuilders_1 = require("../webglobjectbuilders");
5
+ const __1 = require("..");
6
+ const __2 = require("..");
7
7
  /** TODO:
8
8
  * 3d icin calistir
9
9
  */
10
10
  //TODO: DELETE THIS FILE.
11
- var TextureToGlobeProgram = /** @class */ (function () {
12
- function TextureToGlobeProgram(gl, globe) {
11
+ class TextureToGlobeProgram {
12
+ constructor(gl, globe) {
13
13
  this.globe = globe;
14
14
  this.gl = gl;
15
15
  this._is3D = true;
@@ -17,9 +17,9 @@ var TextureToGlobeProgram = /** @class */ (function () {
17
17
  this._resizeHandler = this._resizeEventHandler.bind(this);
18
18
  window.addEventListener('resize', this._resizeHandler, true);
19
19
  }
20
- TextureToGlobeProgram.prototype._initUniforms = function () {
21
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper;
22
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
20
+ _initUniforms() {
21
+ const { gl, _programWrapper } = this;
22
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
23
23
  gl.useProgram(_programWrapper.program);
24
24
  // set u_alpha
25
25
  gl.uniformMatrix3fv(_programWrapper.u_bbox_matrix, false, new Float32Array([
@@ -31,14 +31,65 @@ var TextureToGlobeProgram = /** @class */ (function () {
31
31
  gl.uniform1f(_programWrapper.u_is3D, 1.0);
32
32
  gl.uniform1f(_programWrapper.height, 0.0);
33
33
  gl.useProgram(currentProgram);
34
- };
35
- TextureToGlobeProgram.prototype._createProgramWrapper = function () {
36
- var gl = this.gl;
37
- var vertexSource = "#version 300 es\n precision highp float;\n\n in vec2 a_position;\n\n uniform mat3 u_bbox_matrix;\n\n uniform mat4 u_model_view_matrix;\n uniform mat4 u_proj_matrix;\n uniform vec3 u_transpos;\n\n uniform vec2 u_mapWH;\n uniform vec2 u_scrWH;\n\n uniform bool u_is3D;\n uniform float height; \n\n out vec2 v_texcoord;\n\n\n " + __1.shaderfunctions.pixelXYToCartesian3DPoint + "\n " + __1.shaderfunctions.pixelXYToCartesian2DPoint + "\n\n\n void main() {\n vec3 pos = u_bbox_matrix * vec3(a_position, height);\n if(u_is3D){\n pos = pixelXYToCartesian3DPoint(pos);\n gl_Position = u_proj_matrix * u_model_view_matrix * vec4(pos - u_transpos, 1.0);\n } else {\n vec2 xy = pixelXYToCartesian2DPoint(pos.xy, u_transpos.xy, u_mapWH, u_scrWH);\n gl_Position = u_proj_matrix * vec4(xy.x, xy.y, 0.0, 1.0);\n }\n gl_PointSize = 100.0;\n v_texcoord = a_position * 0.5 + 0.5; // need a check\n }\n ";
38
- var fragmentSource = "#version 300 es\n precision highp float;\n\n in vec2 v_texcoord;\n\n uniform float u_alpha;\n uniform sampler2D u_texture;\n\n out vec4 outColor;\n\n void main() {\n // outColor = texture(u_texture, v_texcoord);\n // outColor.a *= u_alpha;\n outColor = vec4(1.0, 0.0, 0.0, 0.5);\n } \n ";
39
- var program = (0, webglobjectbuilders_1.createProgram)(gl, vertexSource, fragmentSource);
40
- var vao = gl.createVertexArray();
41
- var buffer = gl.createBuffer();
34
+ }
35
+ _createProgramWrapper() {
36
+ const gl = this.gl;
37
+ const vertexSource = `#version 300 es
38
+ precision highp float;
39
+
40
+ in vec2 a_position;
41
+
42
+ uniform mat3 u_bbox_matrix;
43
+
44
+ uniform mat4 u_model_view_matrix;
45
+ uniform mat4 u_proj_matrix;
46
+ uniform vec3 u_transpos;
47
+
48
+ uniform vec2 u_mapWH;
49
+ uniform vec2 u_scrWH;
50
+
51
+ uniform bool u_is3D;
52
+ uniform float height;
53
+
54
+ out vec2 v_texcoord;
55
+
56
+
57
+ ` + __1.shaderfunctions.pixelXYToCartesian3DPoint + `
58
+ ` + __1.shaderfunctions.pixelXYToCartesian2DPoint + `
59
+
60
+
61
+ void main() {
62
+ vec3 pos = u_bbox_matrix * vec3(a_position, height);
63
+ if(u_is3D){
64
+ pos = pixelXYToCartesian3DPoint(pos);
65
+ gl_Position = u_proj_matrix * u_model_view_matrix * vec4(pos - u_transpos, 1.0);
66
+ } else {
67
+ vec2 xy = pixelXYToCartesian2DPoint(pos.xy, u_transpos.xy, u_mapWH, u_scrWH);
68
+ gl_Position = u_proj_matrix * vec4(xy.x, xy.y, 0.0, 1.0);
69
+ }
70
+ gl_PointSize = 100.0;
71
+ v_texcoord = a_position * 0.5 + 0.5; // need a check
72
+ }
73
+ `;
74
+ const fragmentSource = `#version 300 es
75
+ precision highp float;
76
+
77
+ in vec2 v_texcoord;
78
+
79
+ uniform float u_alpha;
80
+ uniform sampler2D u_texture;
81
+
82
+ out vec4 outColor;
83
+
84
+ void main() {
85
+ // outColor = texture(u_texture, v_texcoord);
86
+ // outColor.a *= u_alpha;
87
+ outColor = vec4(1.0, 0.0, 0.0, 0.5);
88
+ }
89
+ `;
90
+ const program = (0, webglobjectbuilders_1.createProgram)(gl, vertexSource, fragmentSource);
91
+ const vao = gl.createVertexArray();
92
+ const buffer = gl.createBuffer();
42
93
  gl.bindVertexArray(vao);
43
94
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
44
95
  gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
@@ -47,7 +98,7 @@ var TextureToGlobeProgram = /** @class */ (function () {
47
98
  1, 1,
48
99
  0, 1
49
100
  ]), gl.STATIC_DRAW);
50
- var a_position = -gl.getAttribLocation(program, 'a_position');
101
+ const a_position = -gl.getAttribLocation(program, 'a_position');
51
102
  gl.enableVertexAttribArray(a_position);
52
103
  gl.vertexAttribPointer(a_position, 2, gl.FLOAT, false, 0, 0);
53
104
  gl.bindVertexArray(null);
@@ -63,10 +114,10 @@ var TextureToGlobeProgram = /** @class */ (function () {
63
114
  u_bbox_matrix: gl.getUniformLocation(program, 'u_bbox_matrix'),
64
115
  u_is3D: gl.getUniformLocation(program, 'u_is3D'),
65
116
  };
66
- };
67
- TextureToGlobeProgram.prototype.draw = function (modelViewMatrix, projectionMatrix, transPos, texture) {
117
+ }
118
+ draw(modelViewMatrix, projectionMatrix, transPos, texture) {
68
119
  // console.log('draw')
69
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper, _is3D = _a._is3D;
120
+ const { gl, _programWrapper, _is3D } = this;
70
121
  gl.useProgram(_programWrapper.program);
71
122
  gl.bindVertexArray(_programWrapper.vao);
72
123
  gl.uniformMatrix4fv(_programWrapper.u_model_view_matrix, false, modelViewMatrix);
@@ -76,15 +127,15 @@ var TextureToGlobeProgram = /** @class */ (function () {
76
127
  gl.bindTexture(gl.TEXTURE_2D, texture);
77
128
  gl.uniform1i(_programWrapper.u_texture, 0);
78
129
  if (!_is3D) {
79
- var mapWH = this.globe.api_GetCurrentWorldWH();
130
+ const mapWH = this.globe.api_GetCurrentWorldWH();
80
131
  gl.uniform2f(_programWrapper.u_mapWH, mapWH.width, mapWH.height);
81
132
  }
82
133
  gl.drawArrays(gl.TRIANGLE_FAN, 0, 4);
83
134
  gl.drawArrays(gl.POINTS, 0, 4);
84
- };
85
- TextureToGlobeProgram.prototype.setBBox = function (minx, maxx, miny, maxy) {
86
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper;
87
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
135
+ }
136
+ setBBox(minx, maxx, miny, maxy) {
137
+ const { gl, _programWrapper } = this;
138
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
88
139
  gl.useProgram(_programWrapper.program);
89
140
  gl.uniformMatrix3fv(_programWrapper.u_bbox_matrix, false, new Float32Array([
90
141
  maxx - minx, 0, minx,
@@ -92,41 +143,40 @@ var TextureToGlobeProgram = /** @class */ (function () {
92
143
  0, 0, 1
93
144
  ]));
94
145
  gl.useProgram(currentProgram);
95
- };
96
- TextureToGlobeProgram.prototype.setLatLongBBox = function (minx, maxx, miny, maxy) {
97
- var bboxMatrix = (0, __2.latLongBboxtoPixelXYBbox)(minx, miny, maxx, maxy);
98
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper;
99
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
146
+ }
147
+ setLatLongBBox(minx, maxx, miny, maxy) {
148
+ const bboxMatrix = (0, __2.latLongBboxtoPixelXYBbox)(minx, miny, maxx, maxy);
149
+ const { gl, _programWrapper } = this;
150
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
100
151
  gl.useProgram(_programWrapper.program);
101
152
  gl.uniformMatrix3fv(_programWrapper.u_bbox_matrix, false, bboxMatrix);
102
153
  gl.useProgram(currentProgram);
103
- };
104
- TextureToGlobeProgram.prototype.setScreenWH = function () {
105
- var _a = this, gl = _a.gl, _programWrapper = _a._programWrapper, globe = _a.globe;
106
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
154
+ }
155
+ setScreenWH() {
156
+ const { gl, _programWrapper, globe } = this;
157
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
107
158
  gl.useProgram(_programWrapper.program);
108
159
  gl.uniform2f(_programWrapper.u_scrWH, globe.api_ScrW(), globe.api_ScrH());
109
160
  gl.useProgram(currentProgram);
110
- };
111
- TextureToGlobeProgram.prototype.resize = function () {
112
- var globe = this.globe;
161
+ }
162
+ resize() {
163
+ const { globe } = this;
113
164
  this.setScreenWH();
114
- };
115
- TextureToGlobeProgram.prototype.setGeometry = function () {
116
- var _a = this, gl = _a.gl, globe = _a.globe, _programWrapper = _a._programWrapper;
165
+ }
166
+ setGeometry() {
167
+ const { gl, globe, _programWrapper } = this;
117
168
  this._is3D = globe.api_GetCurrentGeometry() === 0;
118
- var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
169
+ const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
119
170
  gl.useProgram(_programWrapper.program);
120
171
  gl.uniform1f(_programWrapper.u_is3D, this._is3D ? 1.0 : 0.0);
121
172
  gl.useProgram(currentProgram);
122
173
  this.resize();
123
- };
124
- TextureToGlobeProgram.prototype.free = function () {
174
+ }
175
+ free() {
125
176
  window.removeEventListener('resize', this._resizeHandler, true);
126
- };
127
- TextureToGlobeProgram.prototype._resizeEventHandler = function () {
177
+ }
178
+ _resizeEventHandler() {
128
179
  this.resize();
129
- };
130
- return TextureToGlobeProgram;
131
- }());
180
+ }
181
+ }
132
182
  exports.TextureToGlobeProgram = TextureToGlobeProgram;