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.
- package/README.md +373 -0
- package/dist/astroviewer.cjs +13941 -0
- package/dist/astroviewer.cjs.map +1 -0
- package/dist/astroviewer.js +2 -0
- package/dist/astroviewer.js.map +1 -0
- package/dist/astroviewer.min.js +2 -0
- package/dist/astroviewer.min.js.map +1 -0
- package/lib-esm/AstroSphere.d.ts +114 -0
- package/lib-esm/AstroSphere.d.ts.map +1 -0
- package/lib-esm/AstroSphere.js +679 -0
- package/lib-esm/AstroSphere.js.map +1 -0
- package/lib-esm/AstroViewer.d.ts +81 -0
- package/lib-esm/AstroViewer.d.ts.map +1 -0
- package/lib-esm/AstroViewer.js +348 -0
- package/lib-esm/AstroViewer.js.map +1 -0
- package/lib-esm/Camera.d.ts +74 -0
- package/lib-esm/Camera.d.ts.map +1 -0
- package/lib-esm/Camera.js +334 -0
- package/lib-esm/Camera.js.map +1 -0
- package/lib-esm/Config.d.ts +20 -0
- package/lib-esm/Config.d.ts.map +1 -0
- package/lib-esm/Config.js +32 -0
- package/lib-esm/Config.js.map +1 -0
- package/lib-esm/Global.d.ts +27 -0
- package/lib-esm/Global.d.ts.map +1 -0
- package/lib-esm/Global.js +52 -0
- package/lib-esm/Global.js.map +1 -0
- package/lib-esm/index.d.ts +17 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js +16 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.js +153 -0
- package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
- package/lib-esm/model/AstroGL.d.ts +11 -0
- package/lib-esm/model/AstroGL.d.ts.map +1 -0
- package/lib-esm/model/AstroGL.js +2 -0
- package/lib-esm/model/AstroGL.js.map +1 -0
- package/lib-esm/model/ColorMaps.d.ts +17 -0
- package/lib-esm/model/ColorMaps.d.ts.map +1 -0
- package/lib-esm/model/ColorMaps.js +1288 -0
- package/lib-esm/model/ColorMaps.js.map +1 -0
- package/lib-esm/model/FoV.d.ts +63 -0
- package/lib-esm/model/FoV.d.ts.map +1 -0
- package/lib-esm/model/FoV.js +275 -0
- package/lib-esm/model/FoV.js.map +1 -0
- package/lib-esm/model/MetadataColumn.d.ts +50 -0
- package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
- package/lib-esm/model/MetadataColumn.js +95 -0
- package/lib-esm/model/MetadataColumn.js.map +1 -0
- package/lib-esm/model/MetadataManager.d.ts +43 -0
- package/lib-esm/model/MetadataManager.d.ts.map +1 -0
- package/lib-esm/model/MetadataManager.js +117 -0
- package/lib-esm/model/MetadataManager.js.map +1 -0
- package/lib-esm/model/Point.d.ts +53 -0
- package/lib-esm/model/Point.d.ts.map +1 -0
- package/lib-esm/model/Point.js +133 -0
- package/lib-esm/model/Point.js.map +1 -0
- package/lib-esm/model/Point2D.d.ts +9 -0
- package/lib-esm/model/Point2D.d.ts.map +1 -0
- package/lib-esm/model/Point2D.js +16 -0
- package/lib-esm/model/Point2D.js.map +1 -0
- package/lib-esm/model/Source.d.ts +34 -0
- package/lib-esm/model/Source.d.ts.map +1 -0
- package/lib-esm/model/Source.js +63 -0
- package/lib-esm/model/Source.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
- package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
- package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
- package/lib-esm/model/footprints/Footprint.d.ts +44 -0
- package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
- package/lib-esm/model/footprints/Footprint.js +104 -0
- package/lib-esm/model/footprints/Footprint.js.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.js +87 -0
- package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
- package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.js +302 -0
- package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.js +92 -0
- package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.js +306 -0
- package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
- package/lib-esm/model/hips/AllSky.d.ts +40 -0
- package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
- package/lib-esm/model/hips/AllSky.js +232 -0
- package/lib-esm/model/hips/AllSky.js.map +1 -0
- package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
- package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
- package/lib-esm/model/hips/AncestorTile.js +248 -0
- package/lib-esm/model/hips/AncestorTile.js.map +1 -0
- package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
- package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
- package/lib-esm/model/hips/FoVHelper.js +107 -0
- package/lib-esm/model/hips/FoVHelper.js.map +1 -0
- package/lib-esm/model/hips/HiPS.d.ts +47 -0
- package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPS.js +222 -0
- package/lib-esm/model/hips/HiPS.js.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
- package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
- package/lib-esm/model/hips/Tile.d.ts +51 -0
- package/lib-esm/model/hips/Tile.d.ts.map +1 -0
- package/lib-esm/model/hips/Tile.js +355 -0
- package/lib-esm/model/hips/Tile.js.map +1 -0
- package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
- package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
- package/lib-esm/model/hips/TileBuffer.js +148 -0
- package/lib-esm/model/hips/TileBuffer.js.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
- package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
- package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
- package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadata.js +55 -0
- package/lib-esm/model/tap/TapMetadata.js.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.js +58 -0
- package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
- package/lib-esm/model/tap/TapRepo.d.ts +27 -0
- package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
- package/lib-esm/model/tap/TapRepo.js +51 -0
- package/lib-esm/model/tap/TapRepo.js.map +1 -0
- package/lib-esm/services/SesameService.d.ts +14 -0
- package/lib-esm/services/SesameService.d.ts.map +1 -0
- package/lib-esm/services/SesameService.js +54 -0
- package/lib-esm/services/SesameService.js.map +1 -0
- package/lib-esm/services/helpers.d.ts +5 -0
- package/lib-esm/services/helpers.d.ts.map +1 -0
- package/lib-esm/services/helpers.js +16 -0
- package/lib-esm/services/helpers.js.map +1 -0
- package/lib-esm/services/hipsNodeService.d.ts +7 -0
- package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
- package/lib-esm/services/hipsNodeService.js +65 -0
- package/lib-esm/services/hipsNodeService.js.map +1 -0
- package/lib-esm/services/parse-hipslist.d.ts +3 -0
- package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
- package/lib-esm/services/parse-hipslist.js +25 -0
- package/lib-esm/services/parse-hipslist.js.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.js +56 -0
- package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.js +128 -0
- package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
- package/lib-esm/services/tapRepoService.d.ts +2 -0
- package/lib-esm/services/tapRepoService.d.ts.map +1 -0
- package/lib-esm/services/tapRepoService.js +190 -0
- package/lib-esm/services/tapRepoService.js.map +1 -0
- package/lib-esm/services/types.d.ts +13 -0
- package/lib-esm/services/types.d.ts.map +1 -0
- package/lib-esm/services/types.js +2 -0
- package/lib-esm/services/types.js.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
- package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.js +86 -0
- package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
- package/lib-esm/shader/GridShaderManager.d.ts +6 -0
- package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/GridShaderManager.js +29 -0
- package/lib-esm/shader/GridShaderManager.js.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.js +257 -0
- package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
- package/lib-esm/shader/ShaderManager.d.ts +12 -0
- package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManager.js +344 -0
- package/lib-esm/shader/ShaderManager.js.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
- package/lib-esm/utils/CoordsType.d.ts +10 -0
- package/lib-esm/utils/CoordsType.d.ts.map +1 -0
- package/lib-esm/utils/CoordsType.js +12 -0
- package/lib-esm/utils/CoordsType.js.map +1 -0
- package/lib-esm/utils/FoVUtils.d.ts +46 -0
- package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
- package/lib-esm/utils/FoVUtils.js +217 -0
- package/lib-esm/utils/FoVUtils.js.map +1 -0
- package/lib-esm/utils/GeomUtils.d.ts +36 -0
- package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
- package/lib-esm/utils/GeomUtils.js +267 -0
- package/lib-esm/utils/GeomUtils.js.map +1 -0
- package/lib-esm/utils/MouseHelper.d.ts +36 -0
- package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
- package/lib-esm/utils/MouseHelper.js +94 -0
- package/lib-esm/utils/MouseHelper.js.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
- package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
- package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
- package/lib-esm/utils/RayPickingUtils.js +112 -0
- package/lib-esm/utils/RayPickingUtils.js.map +1 -0
- package/lib-esm/utils/STCSParser.d.ts +16 -0
- package/lib-esm/utils/STCSParser.d.ts.map +1 -0
- package/lib-esm/utils/STCSParser.js +96 -0
- package/lib-esm/utils/STCSParser.js.map +1 -0
- package/lib-esm/utils/ShaderUtility.d.ts +2 -0
- package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
- package/lib-esm/utils/ShaderUtility.js +23 -0
- package/lib-esm/utils/ShaderUtility.js.map +1 -0
- package/lib-esm/utils/Utils.d.ts +32 -0
- package/lib-esm/utils/Utils.d.ts.map +1 -0
- package/lib-esm/utils/Utils.js +77 -0
- package/lib-esm/utils/Utils.js.map +1 -0
- 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"}
|