@pirireis/webglobeplugins 0.9.10 → 0.9.11

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