astro-viewer 1.3.0

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 (236) hide show
  1. package/README.md +373 -0
  2. package/dist/astroviewer.cjs +13941 -0
  3. package/dist/astroviewer.cjs.map +1 -0
  4. package/dist/astroviewer.js +2 -0
  5. package/dist/astroviewer.js.map +1 -0
  6. package/dist/astroviewer.min.js +2 -0
  7. package/dist/astroviewer.min.js.map +1 -0
  8. package/lib-esm/AstroSphere.d.ts +114 -0
  9. package/lib-esm/AstroSphere.d.ts.map +1 -0
  10. package/lib-esm/AstroSphere.js +679 -0
  11. package/lib-esm/AstroSphere.js.map +1 -0
  12. package/lib-esm/AstroViewer.d.ts +81 -0
  13. package/lib-esm/AstroViewer.d.ts.map +1 -0
  14. package/lib-esm/AstroViewer.js +348 -0
  15. package/lib-esm/AstroViewer.js.map +1 -0
  16. package/lib-esm/Camera.d.ts +74 -0
  17. package/lib-esm/Camera.d.ts.map +1 -0
  18. package/lib-esm/Camera.js +334 -0
  19. package/lib-esm/Camera.js.map +1 -0
  20. package/lib-esm/Config.d.ts +20 -0
  21. package/lib-esm/Config.d.ts.map +1 -0
  22. package/lib-esm/Config.js +32 -0
  23. package/lib-esm/Config.js.map +1 -0
  24. package/lib-esm/Global.d.ts +27 -0
  25. package/lib-esm/Global.d.ts.map +1 -0
  26. package/lib-esm/Global.js +52 -0
  27. package/lib-esm/Global.js.map +1 -0
  28. package/lib-esm/index.d.ts +17 -0
  29. package/lib-esm/index.d.ts.map +1 -0
  30. package/lib-esm/index.js +16 -0
  31. package/lib-esm/index.js.map +1 -0
  32. package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
  33. package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
  34. package/lib-esm/model/AbstractSkyEntity.js +153 -0
  35. package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
  36. package/lib-esm/model/AstroGL.d.ts +11 -0
  37. package/lib-esm/model/AstroGL.d.ts.map +1 -0
  38. package/lib-esm/model/AstroGL.js +2 -0
  39. package/lib-esm/model/AstroGL.js.map +1 -0
  40. package/lib-esm/model/ColorMaps.d.ts +17 -0
  41. package/lib-esm/model/ColorMaps.d.ts.map +1 -0
  42. package/lib-esm/model/ColorMaps.js +1288 -0
  43. package/lib-esm/model/ColorMaps.js.map +1 -0
  44. package/lib-esm/model/FoV.d.ts +63 -0
  45. package/lib-esm/model/FoV.d.ts.map +1 -0
  46. package/lib-esm/model/FoV.js +275 -0
  47. package/lib-esm/model/FoV.js.map +1 -0
  48. package/lib-esm/model/MetadataColumn.d.ts +50 -0
  49. package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
  50. package/lib-esm/model/MetadataColumn.js +95 -0
  51. package/lib-esm/model/MetadataColumn.js.map +1 -0
  52. package/lib-esm/model/MetadataManager.d.ts +43 -0
  53. package/lib-esm/model/MetadataManager.d.ts.map +1 -0
  54. package/lib-esm/model/MetadataManager.js +117 -0
  55. package/lib-esm/model/MetadataManager.js.map +1 -0
  56. package/lib-esm/model/Point.d.ts +53 -0
  57. package/lib-esm/model/Point.d.ts.map +1 -0
  58. package/lib-esm/model/Point.js +133 -0
  59. package/lib-esm/model/Point.js.map +1 -0
  60. package/lib-esm/model/Point2D.d.ts +9 -0
  61. package/lib-esm/model/Point2D.d.ts.map +1 -0
  62. package/lib-esm/model/Point2D.js +16 -0
  63. package/lib-esm/model/Point2D.js.map +1 -0
  64. package/lib-esm/model/Source.d.ts +34 -0
  65. package/lib-esm/model/Source.d.ts.map +1 -0
  66. package/lib-esm/model/Source.js +63 -0
  67. package/lib-esm/model/Source.js.map +1 -0
  68. package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
  69. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
  70. package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
  71. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
  72. package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
  73. package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
  74. package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
  75. package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
  76. package/lib-esm/model/footprints/Footprint.d.ts +44 -0
  77. package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
  78. package/lib-esm/model/footprints/Footprint.js +104 -0
  79. package/lib-esm/model/footprints/Footprint.js.map +1 -0
  80. package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
  81. package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
  82. package/lib-esm/model/footprints/FootprintProps.js +87 -0
  83. package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
  84. package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
  85. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
  86. package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
  87. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
  88. package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
  89. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
  90. package/lib-esm/model/grid/EquatorialGrid.js +302 -0
  91. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
  92. package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
  93. package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
  94. package/lib-esm/model/grid/GridTextHelper.js +92 -0
  95. package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
  96. package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
  97. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
  98. package/lib-esm/model/grid/HealpixGrid.js +306 -0
  99. package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
  100. package/lib-esm/model/hips/AllSky.d.ts +40 -0
  101. package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
  102. package/lib-esm/model/hips/AllSky.js +232 -0
  103. package/lib-esm/model/hips/AllSky.js.map +1 -0
  104. package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
  105. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
  106. package/lib-esm/model/hips/AncestorTile.js +248 -0
  107. package/lib-esm/model/hips/AncestorTile.js.map +1 -0
  108. package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
  109. package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
  110. package/lib-esm/model/hips/FoVHelper.js +107 -0
  111. package/lib-esm/model/hips/FoVHelper.js.map +1 -0
  112. package/lib-esm/model/hips/HiPS.d.ts +47 -0
  113. package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
  114. package/lib-esm/model/hips/HiPS.js +222 -0
  115. package/lib-esm/model/hips/HiPS.js.map +1 -0
  116. package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
  117. package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
  118. package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
  119. package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
  120. package/lib-esm/model/hips/Tile.d.ts +51 -0
  121. package/lib-esm/model/hips/Tile.d.ts.map +1 -0
  122. package/lib-esm/model/hips/Tile.js +355 -0
  123. package/lib-esm/model/hips/Tile.js.map +1 -0
  124. package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
  125. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
  126. package/lib-esm/model/hips/TileBuffer.js +148 -0
  127. package/lib-esm/model/hips/TileBuffer.js.map +1 -0
  128. package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
  129. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
  130. package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
  131. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
  132. package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
  133. package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
  134. package/lib-esm/model/tap/TapMetadata.js +55 -0
  135. package/lib-esm/model/tap/TapMetadata.js.map +1 -0
  136. package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
  137. package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
  138. package/lib-esm/model/tap/TapMetadataList.js +58 -0
  139. package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
  140. package/lib-esm/model/tap/TapRepo.d.ts +27 -0
  141. package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
  142. package/lib-esm/model/tap/TapRepo.js +51 -0
  143. package/lib-esm/model/tap/TapRepo.js.map +1 -0
  144. package/lib-esm/services/SesameService.d.ts +14 -0
  145. package/lib-esm/services/SesameService.d.ts.map +1 -0
  146. package/lib-esm/services/SesameService.js +54 -0
  147. package/lib-esm/services/SesameService.js.map +1 -0
  148. package/lib-esm/services/helpers.d.ts +5 -0
  149. package/lib-esm/services/helpers.d.ts.map +1 -0
  150. package/lib-esm/services/helpers.js +16 -0
  151. package/lib-esm/services/helpers.js.map +1 -0
  152. package/lib-esm/services/hipsNodeService.d.ts +7 -0
  153. package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
  154. package/lib-esm/services/hipsNodeService.js +65 -0
  155. package/lib-esm/services/hipsNodeService.js.map +1 -0
  156. package/lib-esm/services/parse-hipslist.d.ts +3 -0
  157. package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
  158. package/lib-esm/services/parse-hipslist.js +25 -0
  159. package/lib-esm/services/parse-hipslist.js.map +1 -0
  160. package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
  161. package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
  162. package/lib-esm/services/queryCatalogueByFoV.js +56 -0
  163. package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
  164. package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
  165. package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
  166. package/lib-esm/services/queryFootprintSetByFov.js +128 -0
  167. package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
  168. package/lib-esm/services/tapRepoService.d.ts +2 -0
  169. package/lib-esm/services/tapRepoService.d.ts.map +1 -0
  170. package/lib-esm/services/tapRepoService.js +190 -0
  171. package/lib-esm/services/tapRepoService.js.map +1 -0
  172. package/lib-esm/services/types.d.ts +13 -0
  173. package/lib-esm/services/types.d.ts.map +1 -0
  174. package/lib-esm/services/types.js +2 -0
  175. package/lib-esm/services/types.js.map +1 -0
  176. package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
  177. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
  178. package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
  179. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
  180. package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
  181. package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
  182. package/lib-esm/shader/FootprintShaderProgram.js +86 -0
  183. package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
  184. package/lib-esm/shader/GridShaderManager.d.ts +6 -0
  185. package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
  186. package/lib-esm/shader/GridShaderManager.js +29 -0
  187. package/lib-esm/shader/GridShaderManager.js.map +1 -0
  188. package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
  189. package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
  190. package/lib-esm/shader/HiPSShaderProgram.js +257 -0
  191. package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
  192. package/lib-esm/shader/ShaderManager.d.ts +12 -0
  193. package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
  194. package/lib-esm/shader/ShaderManager.js +344 -0
  195. package/lib-esm/shader/ShaderManager.js.map +1 -0
  196. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
  197. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
  198. package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
  199. package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
  200. package/lib-esm/utils/CoordsType.d.ts +10 -0
  201. package/lib-esm/utils/CoordsType.d.ts.map +1 -0
  202. package/lib-esm/utils/CoordsType.js +12 -0
  203. package/lib-esm/utils/CoordsType.js.map +1 -0
  204. package/lib-esm/utils/FoVUtils.d.ts +46 -0
  205. package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
  206. package/lib-esm/utils/FoVUtils.js +217 -0
  207. package/lib-esm/utils/FoVUtils.js.map +1 -0
  208. package/lib-esm/utils/GeomUtils.d.ts +36 -0
  209. package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
  210. package/lib-esm/utils/GeomUtils.js +267 -0
  211. package/lib-esm/utils/GeomUtils.js.map +1 -0
  212. package/lib-esm/utils/MouseHelper.d.ts +36 -0
  213. package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
  214. package/lib-esm/utils/MouseHelper.js +94 -0
  215. package/lib-esm/utils/MouseHelper.js.map +1 -0
  216. package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
  217. package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
  218. package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
  219. package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
  220. package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
  221. package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
  222. package/lib-esm/utils/RayPickingUtils.js +112 -0
  223. package/lib-esm/utils/RayPickingUtils.js.map +1 -0
  224. package/lib-esm/utils/STCSParser.d.ts +16 -0
  225. package/lib-esm/utils/STCSParser.d.ts.map +1 -0
  226. package/lib-esm/utils/STCSParser.js +96 -0
  227. package/lib-esm/utils/STCSParser.js.map +1 -0
  228. package/lib-esm/utils/ShaderUtility.d.ts +2 -0
  229. package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
  230. package/lib-esm/utils/ShaderUtility.js +23 -0
  231. package/lib-esm/utils/ShaderUtility.js.map +1 -0
  232. package/lib-esm/utils/Utils.d.ts +32 -0
  233. package/lib-esm/utils/Utils.d.ts.map +1 -0
  234. package/lib-esm/utils/Utils.js +77 -0
  235. package/lib-esm/utils/Utils.js.map +1 -0
  236. package/package.json +82 -0
@@ -0,0 +1,344 @@
1
+ // ShaderManager.ts
2
+ export default class ShaderManager {
3
+ static catalogueVS() {
4
+ return `#version 300 es
5
+ in vec4 aCatPosition;
6
+ in float a_selected;
7
+ in float a_pointsize;
8
+ in float a_brightness;
9
+
10
+ out float v_selected;
11
+ out float v_brightness;
12
+ out lowp vec4 vColor; // not used
13
+
14
+ uniform mat4 uPMatrix;
15
+ uniform mat4 uMVMatrix;
16
+
17
+ void main() {
18
+
19
+ gl_Position = (uPMatrix * uMVMatrix * aCatPosition);
20
+ gl_PointSize = a_pointsize;
21
+ v_selected = a_selected;
22
+ v_brightness = a_brightness;
23
+ }`;
24
+ }
25
+ static catalogueFS() {
26
+ return `#version 300 es
27
+ precision mediump float;
28
+
29
+ #ifdef GL_OES_standard_derivatives
30
+ #extension GL_OES_standard_derivatives : enable
31
+ #endif
32
+
33
+ // https://www.desultoryquest.com/blog/drawing-anti-aliased-circular-points-using-opengl-slash-webgl/
34
+
35
+ // precision mediump float;
36
+
37
+ in float v_selected;
38
+ in float v_brightness;
39
+
40
+ uniform vec4 u_fragcolor;
41
+
42
+ out vec4 fragColor;
43
+
44
+ // varying float v_selected;
45
+ // varying float v_brightness;
46
+
47
+ const float EPSILON = 1e-10;
48
+
49
+ vec3 RGBtoHCV(in vec3 rgb) {
50
+ // RGB [0..1] to Hue-Chroma-Value [0..1]
51
+ // Based on work by Sam Hocevar and Emil Persson
52
+ vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1., 2. / 3.) : vec4(rgb.gb, 0., -1. / 3.);
53
+ vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);
54
+ float c = q.x - min(q.w, q.y);
55
+ float h = abs((q.w - q.y) / (6. * c + EPSILON) + q.z);
56
+ return vec3(h, c, q.x);
57
+ }
58
+
59
+ vec3 RGBtoHSL(in vec3 rgb) {
60
+ // RGB [0..1] to Hue-Saturation-Lightness [0..1]
61
+ vec3 hcv = RGBtoHCV(rgb);
62
+ //vec3 hcv = vec3(1., 1., 1.);
63
+ float z = hcv.z - hcv.y * 0.5;
64
+ float s = hcv.y / (1. - abs(z * 2. - 1.) + EPSILON);
65
+ return vec3(hcv.x, s, z);
66
+ }
67
+
68
+ vec3 HUEtoRGB(in float hue){
69
+ // Hue [0..1] to RGB [0..1]
70
+ // See http://www.chilliant.com/rgb2hsv.html
71
+ vec3 rgb = abs(hue * 6. - vec3(3, 2, 4)) * vec3(1, -1, -1) + vec3(-1, 2, 2);
72
+ return clamp(rgb, 0., 1.);
73
+ }
74
+
75
+ vec3 HSLtoRGB(in vec3 hsl) {
76
+ // Hue-Saturation-Lightness [0..1] to RGB [0..1]
77
+ vec3 rgb = HUEtoRGB(hsl.x);
78
+ float c = (1. - abs(2. * hsl.z - 1.)) * hsl.y;
79
+ return (rgb - 0.5) * c + hsl.z;
80
+ }
81
+
82
+ void main() {
83
+
84
+ float r = 0.0, delta = 0.0, alpha = 1.0;
85
+ vec2 cxy = 2.0 * gl_PointCoord - 1.0;
86
+ r = dot(cxy, cxy);
87
+ if (r > 1.0) {
88
+ discard;
89
+ }
90
+
91
+ #ifdef GL_OES_standard_derivatives
92
+ delta = fwidth(r);
93
+ alpha = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
94
+ #endif
95
+
96
+ if (v_selected == 1.0){
97
+ // gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * (alpha);
98
+ fragColor = vec4(1.0, 0.0, 0.0, 1.0) * (alpha);
99
+ } else if (v_selected == 2.0){
100
+ // gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0) * (alpha);
101
+ fragColor = vec4(1.0, 1.0, 0.0, 1.0) * (alpha);
102
+ }else{
103
+ if (r < 0.4) {
104
+ discard;
105
+ }
106
+ if ( v_brightness >= -1.0 && v_brightness <= 1.0) {
107
+ // Round-trip RGB->HSL->RGB with time-dependent lightness
108
+ vec3 hsl = RGBtoHSL(vec3(u_fragcolor));
109
+ //hsl.z = pow(hsl.z, sin(iTime) + 1.5);
110
+ // hsl.z = pow(hsl.z, v_brightness + 1.5);
111
+ hsl.z = pow(hsl.z, v_brightness + 1.5);
112
+ vec3 hslcolor = HSLtoRGB(hsl);
113
+ // gl_FragColor = vec4(hslcolor, u_fragcolor[3]) * (alpha);
114
+ fragColor = vec4(hslcolor, u_fragcolor[3]) * (alpha);
115
+ } else {
116
+ // gl_FragColor = u_fragcolor * (alpha);
117
+ fragColor = u_fragcolor * (alpha);
118
+ }
119
+ }
120
+ }`;
121
+ }
122
+ static footprintVS() {
123
+ return `#version 300 es
124
+ precision highp float;
125
+
126
+ layout(location = 0) in vec4 aCatPosition;
127
+
128
+ uniform float u_pointsize;
129
+ uniform mat4 uMVMatrix;
130
+ uniform mat4 uPMatrix;
131
+
132
+ void main() {
133
+ gl_Position = uPMatrix * uMVMatrix * aCatPosition;
134
+ gl_PointSize = u_pointsize; // Works in WebGL2
135
+ }`;
136
+ }
137
+ static footprintFS() {
138
+ return `#version 300 es
139
+ precision mediump float;
140
+
141
+ uniform vec4 u_fragcolor;
142
+ out vec4 fragColor;
143
+
144
+ void main() {
145
+ fragColor = u_fragcolor;
146
+ }`;
147
+ }
148
+ static hipsVS() {
149
+ return `#version 300 es
150
+ in vec3 aVertexPosition;
151
+ in vec2 aTextureCoord;
152
+
153
+ uniform mat4 uMMatrix;
154
+ uniform mat4 uVMatrix;
155
+ uniform mat4 uPMatrix;
156
+
157
+ out vec2 vTextureCoord;
158
+
159
+ void main() {
160
+ gl_Position = uPMatrix * uVMatrix * uMMatrix * vec4(aVertexPosition, 1.0);
161
+ vTextureCoord = aTextureCoord;
162
+ }`;
163
+ }
164
+ static hipsNativeFS() {
165
+ return `#version 300 es
166
+ precision mediump float;
167
+
168
+ in vec2 vTextureCoord;
169
+
170
+ uniform sampler2D uSampler0;
171
+ uniform sampler2D uSampler1;
172
+ uniform sampler2D uSampler2;
173
+ uniform sampler2D uSampler3;
174
+ uniform sampler2D uSampler4;
175
+ uniform sampler2D uSampler5;
176
+ uniform sampler2D uSampler6;
177
+ uniform sampler2D uSampler7;
178
+
179
+ uniform float uFactor0;
180
+ uniform float uFactor1;
181
+ uniform float uFactor2;
182
+ uniform float uFactor3;
183
+ uniform float uFactor4;
184
+ uniform float uFactor5;
185
+ uniform float uFactor6;
186
+ uniform float uFactor7;
187
+
188
+ out vec4 fragColor;
189
+
190
+ void main() {
191
+ vec3 finalColor = vec3(0.0);
192
+
193
+ if (uFactor0 >= 0.0){
194
+ vec4 mycolor;
195
+ #if __VERSION__ > 120
196
+ vec4 color0 = texture(uSampler0, vTextureCoord);
197
+ #else
198
+ vec4 color0 = texture2D(uSampler0, vTextureCoord);
199
+ #endif
200
+ mycolor = color0;
201
+ finalColor += mycolor.rgb * uFactor0;
202
+ } else if (uFactor7 >= 0.0){
203
+ finalColor = vec3(1.0, 0.0, 0.0);
204
+ }
205
+ fragColor = vec4(finalColor, 1.0);
206
+ }`;
207
+ }
208
+ static hipsGrayscaleFS() {
209
+ return `#version 300 es
210
+ precision mediump float;
211
+
212
+ in vec2 vTextureCoord;
213
+
214
+ uniform sampler2D uSampler0;
215
+ uniform sampler2D uSampler1;
216
+ uniform sampler2D uSampler2;
217
+ uniform sampler2D uSampler3;
218
+ uniform sampler2D uSampler4;
219
+ uniform sampler2D uSampler5;
220
+ uniform sampler2D uSampler6;
221
+ uniform sampler2D uSampler7;
222
+
223
+ uniform float uFactor0;
224
+ uniform float uFactor1;
225
+ uniform float uFactor2;
226
+ uniform float uFactor3;
227
+ uniform float uFactor4;
228
+ uniform float uFactor5;
229
+ uniform float uFactor6;
230
+ uniform float uFactor7;
231
+
232
+ out vec4 fragColor;
233
+
234
+ void main() {
235
+ vec3 finalColor = vec3(0.0);
236
+
237
+ if (uFactor0 >= 0.0){
238
+ #if __VERSION__ > 120
239
+ vec4 color0 = texture(uSampler0, vTextureCoord);
240
+ #else
241
+ vec4 color0 = texture2D(uSampler0, vTextureCoord);
242
+ #endif
243
+ float gray = 0.21 * color0.r + 0.71 * color0.g + 0.07 * color0.b;
244
+ finalColor = color0.rgb * (1.0 - uFactor0) + vec3(gray) * uFactor0;
245
+ }
246
+ if (uFactor1 >= 0.0){
247
+ #if __VERSION__ > 120
248
+ vec4 color1 = texture(uSampler1, vTextureCoord);
249
+ #else
250
+ vec4 color1 = texture2D(uSampler1, vTextureCoord);
251
+ #endif
252
+ finalColor += color1.rgb * uFactor1;
253
+ }
254
+ if (uFactor2 >= 0.0){
255
+ #if __VERSION__ > 120
256
+ vec4 color2 = texture(uSampler2, vTextureCoord);
257
+ #else
258
+ vec4 color2 = texture2D(uSampler2, vTextureCoord);
259
+ #endif
260
+ finalColor += color2.rgb * uFactor2;
261
+ }
262
+ if (uFactor3 >= 0.0){
263
+ #if __VERSION__ > 120
264
+ vec4 color3 = texture(uSampler3, vTextureCoord);
265
+ #else
266
+ vec4 color3 = texture2D(uSampler3, vTextureCoord);
267
+ #endif
268
+ finalColor += color3.rgb * uFactor3;
269
+ }
270
+ if (uFactor4 >= 0.0){
271
+ #if __VERSION__ > 120
272
+ vec4 color4 = texture(uSampler4, vTextureCoord);
273
+ #else
274
+ vec4 color4 = texture2D(uSampler4, vTextureCoord);
275
+ #endif
276
+ finalColor += color4.rgb * uFactor4;
277
+ }
278
+ if (uFactor5 >= 0.0){
279
+ #if __VERSION__ > 120
280
+ vec4 color5 = texture(uSampler5, vTextureCoord);
281
+ #else
282
+ vec4 color5 = texture2D(uSampler5, vTextureCoord);
283
+ #endif
284
+ finalColor += color5.rgb * uFactor5;
285
+ }
286
+ if (uFactor6 >= 0.0){
287
+ #if __VERSION__ > 120
288
+ vec4 color6 = texture(uSampler6, vTextureCoord);
289
+ #else
290
+ vec4 color6 = texture2D(uSampler6, vTextureCoord);
291
+ #endif
292
+ finalColor += color6.rgb * uFactor6;
293
+ }
294
+ if (uFactor7 >= 0.0){
295
+ #if __VERSION__ > 120
296
+ vec4 color7 = texture(uSampler7, vTextureCoord);
297
+ #else
298
+ vec4 color7 = texture2D(uSampler7, vTextureCoord);
299
+ #endif
300
+ finalColor += color7.rgb * uFactor7;
301
+ }
302
+ fragColor = vec4(finalColor, 1.0);
303
+ }`;
304
+ }
305
+ static hipsColorMapFS() {
306
+ return `#version 300 es
307
+ precision mediump float;
308
+
309
+ in vec2 vTextureCoord;
310
+
311
+ // UBO
312
+ layout (std140) uniform colormap {
313
+ float r_palette[256];
314
+ float g_palette[256];
315
+ float b_palette[256];
316
+ };
317
+
318
+ uniform sampler2D uSampler0;
319
+ uniform float uFactor0;
320
+
321
+ out vec4 fragColor;
322
+
323
+ void main() {
324
+ #if __VERSION__ > 120
325
+ vec4 color0 = texture(uSampler0, vTextureCoord);
326
+ #else
327
+ vec4 color0 = texture2D(uSampler0, vTextureCoord);
328
+ #endif
329
+
330
+ int x = int(color0.r * 255.0);
331
+ float px = r_palette[x] / 256.0;
332
+
333
+ int y = int(color0.g * 255.0);
334
+ float py = g_palette[y] / 256.0;
335
+
336
+ int z = int(color0.b * 255.0);
337
+ float pz = b_palette[z] / 256.0;
338
+
339
+ // uFactor0 reserved for future blending if needed
340
+ fragColor = vec4(px, py, pz, 1.0);
341
+ }`;
342
+ }
343
+ }
344
+ //# sourceMappingURL=ShaderManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderManager.js","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAInB,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;MAmBL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8FL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;;;;;MAYL,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO;;;;;;;;MAQL,CAAC;IAEL,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO;;;;;;;;;;;;;MAaL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyCL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8FL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmCL,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ export type GLSLSource = string;
2
+ export default class ShaderManagerMultiHiPS {
3
+ static hipsVS(): GLSLSource;
4
+ static hipsNativeFS(): GLSLSource;
5
+ static hipsGrayscaleFS(): GLSLSource;
6
+ static hipsPlanckFS(): GLSLSource;
7
+ static hipsCmbFS(): GLSLSource;
8
+ static hipsRainbowFS(): GLSLSource;
9
+ static hipsEosbFS(): GLSLSource;
10
+ static hipsCubehelixFS(): GLSLSource;
11
+ }
12
+ //# sourceMappingURL=ShaderManagerMutliHiPS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderManagerMutliHiPS.d.ts","sourceRoot":"","sources":["../../src/shader/ShaderManagerMutliHiPS.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,MAAM,CAAC,MAAM,IAAI,UAAU;IAiB3B,MAAM,CAAC,YAAY,IAAI,UAAU;IA6CjC,MAAM,CAAC,eAAe,IAAI,UAAU;IAkGpC,MAAM,CAAC,YAAY,IAAI,UAAU;IAyIjC,MAAM,CAAC,SAAS,IAAI,UAAU;IAmH9B,MAAM,CAAC,aAAa,IAAI,UAAU;IAkHlC,MAAM,CAAC,UAAU,IAAI,UAAU;IAkH/B,MAAM,CAAC,eAAe,IAAI,UAAU;CAiHrC"}