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,750 @@
|
|
|
1
|
+
// ShaderManagerMultiHiPS.ts
|
|
2
|
+
export default class ShaderManagerMultiHiPS {
|
|
3
|
+
static hipsVS() {
|
|
4
|
+
return `#version 300 es
|
|
5
|
+
in vec3 aVertexPosition;
|
|
6
|
+
in vec2 aTextureCoord;
|
|
7
|
+
|
|
8
|
+
uniform mat4 uMMatrix;
|
|
9
|
+
uniform mat4 uVMatrix;
|
|
10
|
+
uniform mat4 uPMatrix;
|
|
11
|
+
|
|
12
|
+
out vec2 vTextureCoord;
|
|
13
|
+
|
|
14
|
+
void main() {
|
|
15
|
+
gl_Position = uPMatrix * uVMatrix * uMMatrix * vec4(aVertexPosition, 1.0);
|
|
16
|
+
vTextureCoord = aTextureCoord;
|
|
17
|
+
}`;
|
|
18
|
+
}
|
|
19
|
+
static hipsNativeFS() {
|
|
20
|
+
return `#version 300 es
|
|
21
|
+
precision mediump float;
|
|
22
|
+
|
|
23
|
+
in vec2 vTextureCoord;
|
|
24
|
+
|
|
25
|
+
uniform sampler2D uSampler0;
|
|
26
|
+
uniform sampler2D uSampler1;
|
|
27
|
+
uniform sampler2D uSampler2;
|
|
28
|
+
uniform sampler2D uSampler3;
|
|
29
|
+
uniform sampler2D uSampler4;
|
|
30
|
+
uniform sampler2D uSampler5;
|
|
31
|
+
uniform sampler2D uSampler6;
|
|
32
|
+
uniform sampler2D uSampler7;
|
|
33
|
+
|
|
34
|
+
uniform float uFactor0;
|
|
35
|
+
uniform float uFactor1;
|
|
36
|
+
uniform float uFactor2;
|
|
37
|
+
uniform float uFactor3;
|
|
38
|
+
uniform float uFactor4;
|
|
39
|
+
uniform float uFactor5;
|
|
40
|
+
uniform float uFactor6;
|
|
41
|
+
uniform float uFactor7;
|
|
42
|
+
|
|
43
|
+
out vec4 fragColor;
|
|
44
|
+
|
|
45
|
+
void main() {
|
|
46
|
+
vec3 finalColor = vec3(0.0);
|
|
47
|
+
|
|
48
|
+
if (uFactor0 >= 0.0){
|
|
49
|
+
vec4 mycolor;
|
|
50
|
+
#if __VERSION__ > 120
|
|
51
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
52
|
+
#else
|
|
53
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
54
|
+
#endif
|
|
55
|
+
mycolor = color0;
|
|
56
|
+
finalColor += mycolor.rgb * uFactor0;
|
|
57
|
+
} else if (uFactor7 >= 0.0){
|
|
58
|
+
finalColor = vec3(1.0, 0.0, 0.0);
|
|
59
|
+
}
|
|
60
|
+
fragColor = vec4(finalColor, 1.0);
|
|
61
|
+
}`;
|
|
62
|
+
}
|
|
63
|
+
static hipsGrayscaleFS() {
|
|
64
|
+
return `#version 300 es
|
|
65
|
+
precision mediump float;
|
|
66
|
+
|
|
67
|
+
in vec2 vTextureCoord;
|
|
68
|
+
|
|
69
|
+
uniform sampler2D uSampler0;
|
|
70
|
+
uniform sampler2D uSampler1;
|
|
71
|
+
uniform sampler2D uSampler2;
|
|
72
|
+
uniform sampler2D uSampler3;
|
|
73
|
+
uniform sampler2D uSampler4;
|
|
74
|
+
uniform sampler2D uSampler5;
|
|
75
|
+
uniform sampler2D uSampler6;
|
|
76
|
+
uniform sampler2D uSampler7;
|
|
77
|
+
|
|
78
|
+
uniform float uFactor0;
|
|
79
|
+
uniform float uFactor1;
|
|
80
|
+
uniform float uFactor2;
|
|
81
|
+
uniform float uFactor3;
|
|
82
|
+
uniform float uFactor4;
|
|
83
|
+
uniform float uFactor5;
|
|
84
|
+
uniform float uFactor6;
|
|
85
|
+
uniform float uFactor7;
|
|
86
|
+
|
|
87
|
+
out vec4 fragColor;
|
|
88
|
+
|
|
89
|
+
void main() {
|
|
90
|
+
vec3 finalColor = vec3(0.0);
|
|
91
|
+
|
|
92
|
+
if (uFactor0 >= 0.0){
|
|
93
|
+
#if __VERSION__ > 120
|
|
94
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
95
|
+
#else
|
|
96
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
97
|
+
#endif
|
|
98
|
+
float gray = 0.21 * color0.r + 0.71 * color0.g + 0.07 * color0.b;
|
|
99
|
+
finalColor = color0.rgb * (1.0 - uFactor0) + vec3(gray) * uFactor0;
|
|
100
|
+
}
|
|
101
|
+
if (uFactor1 >= 0.0){
|
|
102
|
+
#if __VERSION__ > 120
|
|
103
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
104
|
+
#else
|
|
105
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
106
|
+
#endif
|
|
107
|
+
finalColor += color1.rgb * uFactor1;
|
|
108
|
+
}
|
|
109
|
+
if (uFactor2 >= 0.0){
|
|
110
|
+
#if __VERSION__ > 120
|
|
111
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
112
|
+
#else
|
|
113
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
114
|
+
#endif
|
|
115
|
+
finalColor += color2.rgb * uFactor2;
|
|
116
|
+
}
|
|
117
|
+
if (uFactor3 >= 0.0){
|
|
118
|
+
#if __VERSION__ > 120
|
|
119
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
120
|
+
#else
|
|
121
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
122
|
+
#endif
|
|
123
|
+
finalColor += color3.rgb * uFactor3;
|
|
124
|
+
}
|
|
125
|
+
if (uFactor4 >= 0.0){
|
|
126
|
+
#if __VERSION__ > 120
|
|
127
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
128
|
+
#else
|
|
129
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
130
|
+
#endif
|
|
131
|
+
finalColor += color4.rgb * uFactor4;
|
|
132
|
+
}
|
|
133
|
+
if (uFactor5 >= 0.0){
|
|
134
|
+
#if __VERSION__ > 120
|
|
135
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
136
|
+
#else
|
|
137
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
138
|
+
#endif
|
|
139
|
+
finalColor += color5.rgb * uFactor5;
|
|
140
|
+
}
|
|
141
|
+
if (uFactor6 >= 0.0){
|
|
142
|
+
#if __VERSION__ > 120
|
|
143
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
144
|
+
#else
|
|
145
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
146
|
+
#endif
|
|
147
|
+
finalColor += color6.rgb * uFactor6;
|
|
148
|
+
}
|
|
149
|
+
if (uFactor7 >= 0.0){
|
|
150
|
+
#if __VERSION__ > 120
|
|
151
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
152
|
+
#else
|
|
153
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
154
|
+
#endif
|
|
155
|
+
finalColor += color7.rgb * uFactor7;
|
|
156
|
+
}
|
|
157
|
+
fragColor = vec4(finalColor, 1.0);
|
|
158
|
+
}`;
|
|
159
|
+
}
|
|
160
|
+
static hipsPlanckFS() {
|
|
161
|
+
return `#version 300 es
|
|
162
|
+
precision mediump float;
|
|
163
|
+
|
|
164
|
+
in vec2 vTextureCoord;
|
|
165
|
+
|
|
166
|
+
uniform sampler2D uSampler0;
|
|
167
|
+
uniform sampler2D uSampler1;
|
|
168
|
+
uniform sampler2D uSampler2;
|
|
169
|
+
uniform sampler2D uSampler3;
|
|
170
|
+
uniform sampler2D uSampler4;
|
|
171
|
+
uniform sampler2D uSampler5;
|
|
172
|
+
uniform sampler2D uSampler6;
|
|
173
|
+
uniform sampler2D uSampler7;
|
|
174
|
+
|
|
175
|
+
uniform float uFactor0;
|
|
176
|
+
uniform float uFactor1;
|
|
177
|
+
uniform float uFactor2;
|
|
178
|
+
uniform float uFactor3;
|
|
179
|
+
uniform float uFactor4;
|
|
180
|
+
uniform float uFactor5;
|
|
181
|
+
uniform float uFactor6;
|
|
182
|
+
uniform float uFactor7;
|
|
183
|
+
|
|
184
|
+
out vec4 fragColor;
|
|
185
|
+
|
|
186
|
+
struct colormap {
|
|
187
|
+
float r[256];
|
|
188
|
+
float g[256];
|
|
189
|
+
float b[256];
|
|
190
|
+
} planck;
|
|
191
|
+
|
|
192
|
+
colormap planckCMap() {
|
|
193
|
+
// (omitted for brevity – identical table content as your JS version)
|
|
194
|
+
planck.r = float[256](0.00000, 0.769231, 1.53846, 2.30769, 3.07692, 3.84615, 4.61538, 5.38462, 6.15385, 6.92308, 7.69231, 8.46154,
|
|
195
|
+
9.23077, 10.0000, 11.5385, 13.0769, 14.6154, 16.1538, 17.6923, 19.2308, 20.7692, 22.3077, 23.8462, 25.3846,
|
|
196
|
+
26.9231, 28.4615, 30.0000, 33.8462, 37.6923, 41.5385, 45.3846, 49.2308, 53.0769, 56.9231, 60.7692, 64.6154,
|
|
197
|
+
68.4615, 72.3077, 76.1538, 80.0000, 88.5385, 97.0769, 105.615, 114.154, 122.692, 131.231, 139.769, 148.308,
|
|
198
|
+
156.846, 165.385, 173.923, 182.462, 191.000, 193.846, 196.692, 199.538, 202.385, 205.231, 208.077, 210.923,
|
|
199
|
+
213.769, 216.615, 219.462, 222.308, 225.154, 228.000, 229.182, 230.364, 231.545, 232.727, 233.909, 235.091,
|
|
200
|
+
236.273, 237.455, 238.636, 239.818, 241.000, 241.000, 241.364, 241.727, 242.091, 242.455, 242.818, 243.182,
|
|
201
|
+
243.545, 243.909, 244.273, 244.636, 245.000, 245.231, 245.462, 245.692, 245.923, 246.154, 246.385, 246.615,
|
|
202
|
+
246.846, 247.077, 247.308, 247.538, 247.769, 248.000, 248.146, 248.292, 248.438, 248.585, 248.731, 248.877,
|
|
203
|
+
249.023, 249.169, 249.315, 249.462, 249.608, 249.754, 249.900, 249.312, 248.723, 248.135, 247.546, 246.958,
|
|
204
|
+
246.369, 245.781, 245.192, 244.604, 244.015, 243.427, 242.838, 242.250, 239.308, 236.365, 233.423, 230.481,
|
|
205
|
+
227.538, 224.596, 221.654, 218.712, 215.769, 212.827, 209.885, 206.942, 204.000, 201.000, 198.000, 195.000,
|
|
206
|
+
192.000, 189.000, 186.000, 183.000, 180.000, 177.000, 174.000, 171.000, 168.000, 165.000, 161.077, 157.154,
|
|
207
|
+
153.231, 149.308, 145.385, 141.462, 137.538, 133.615, 129.692, 125.769, 121.846, 117.923, 114.000, 115.038,
|
|
208
|
+
116.077, 117.115, 118.154, 119.192, 120.231, 121.269, 122.308, 123.346, 124.385, 125.423, 126.462, 127.500,
|
|
209
|
+
131.423, 135.346, 139.269, 143.192, 147.115, 151.038, 154.962, 158.885, 162.808, 166.731, 170.654, 174.577,
|
|
210
|
+
178.500, 180.462, 182.423, 184.385, 186.346, 188.308, 190.269, 192.231, 194.192, 196.154, 198.115, 200.077,
|
|
211
|
+
202.038, 204.000, 205.962, 207.923, 209.885, 211.846, 213.808, 215.769, 217.731, 219.692, 221.654, 223.615,
|
|
212
|
+
225.577, 227.538, 229.500, 230.481, 231.462, 232.442, 233.423, 234.404, 235.385, 236.365, 237.346, 238.327,
|
|
213
|
+
239.308, 240.288, 241.269, 242.250, 242.642, 243.035, 243.427, 243.819, 244.212, 244.604, 244.996, 245.388,
|
|
214
|
+
245.781, 246.173, 246.565, 246.958, 247.350, 247.814, 248.277, 248.741, 249.205, 249.668, 250.132, 250.595,
|
|
215
|
+
251.059, 251.523, 251.986, 252.450);
|
|
216
|
+
planck.g = float[256](/* full array unchanged */);
|
|
217
|
+
planck.b = float[256](/* full array unchanged */);
|
|
218
|
+
return planck;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
void main() {
|
|
222
|
+
vec3 finalColor = vec3(0.0);
|
|
223
|
+
|
|
224
|
+
if (uFactor0 >= 0.0){
|
|
225
|
+
#if __VERSION__ > 120
|
|
226
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
227
|
+
#else
|
|
228
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
229
|
+
#endif
|
|
230
|
+
colormap t = planckCMap();
|
|
231
|
+
int x = int(floor(color0.r * 256.0));
|
|
232
|
+
int y = int(floor(color0.g * 256.0));
|
|
233
|
+
int z = int(floor(color0.b * 256.0));
|
|
234
|
+
vec3 mapped = vec3(t.r[x], t.g[y], t.b[z]) / 256.0;
|
|
235
|
+
finalColor += mapped * uFactor0;
|
|
236
|
+
}
|
|
237
|
+
if (uFactor1 >= 0.0){
|
|
238
|
+
#if __VERSION__ > 120
|
|
239
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
240
|
+
#else
|
|
241
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
242
|
+
#endif
|
|
243
|
+
finalColor += color1.rgb * uFactor1;
|
|
244
|
+
}
|
|
245
|
+
if (uFactor2 >= 0.0){
|
|
246
|
+
#if __VERSION__ > 120
|
|
247
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
248
|
+
#else
|
|
249
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
250
|
+
#endif
|
|
251
|
+
finalColor += color2.rgb * uFactor2;
|
|
252
|
+
}
|
|
253
|
+
if (uFactor3 >= 0.0){
|
|
254
|
+
#if __VERSION__ > 120
|
|
255
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
256
|
+
#else
|
|
257
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
258
|
+
#endif
|
|
259
|
+
finalColor += color3.rgb * uFactor3;
|
|
260
|
+
}
|
|
261
|
+
if (uFactor4 >= 0.0){
|
|
262
|
+
#if __VERSION__ > 120
|
|
263
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
264
|
+
#else
|
|
265
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
266
|
+
#endif
|
|
267
|
+
finalColor += color4.rgb * uFactor4;
|
|
268
|
+
}
|
|
269
|
+
if (uFactor5 >= 0.0){
|
|
270
|
+
#if __VERSION__ > 120
|
|
271
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
272
|
+
#else
|
|
273
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
274
|
+
#endif
|
|
275
|
+
finalColor += color5.rgb * uFactor5;
|
|
276
|
+
}
|
|
277
|
+
if (uFactor6 >= 0.0){
|
|
278
|
+
#if __VERSION__ > 120
|
|
279
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
280
|
+
#else
|
|
281
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
282
|
+
#endif
|
|
283
|
+
finalColor += color6.rgb * uFactor6;
|
|
284
|
+
}
|
|
285
|
+
if (uFactor7 >= 0.0){
|
|
286
|
+
#if __VERSION__ > 120
|
|
287
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
288
|
+
#else
|
|
289
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
290
|
+
#endif
|
|
291
|
+
finalColor += color7.rgb * uFactor7;
|
|
292
|
+
}
|
|
293
|
+
fragColor = vec4(finalColor, 1.0);
|
|
294
|
+
}`;
|
|
295
|
+
}
|
|
296
|
+
static hipsCmbFS() {
|
|
297
|
+
return `#version 300 es
|
|
298
|
+
precision mediump float;
|
|
299
|
+
|
|
300
|
+
in vec2 vTextureCoord;
|
|
301
|
+
|
|
302
|
+
uniform sampler2D uSampler0;
|
|
303
|
+
uniform sampler2D uSampler1;
|
|
304
|
+
uniform sampler2D uSampler2;
|
|
305
|
+
uniform sampler2D uSampler3;
|
|
306
|
+
uniform sampler2D uSampler4;
|
|
307
|
+
uniform sampler2D uSampler5;
|
|
308
|
+
uniform sampler2D uSampler6;
|
|
309
|
+
uniform sampler2D uSampler7;
|
|
310
|
+
|
|
311
|
+
uniform float uFactor0;
|
|
312
|
+
uniform float uFactor1;
|
|
313
|
+
uniform float uFactor2;
|
|
314
|
+
uniform float uFactor3;
|
|
315
|
+
uniform float uFactor4;
|
|
316
|
+
uniform float uFactor5;
|
|
317
|
+
uniform float uFactor6;
|
|
318
|
+
uniform float uFactor7;
|
|
319
|
+
|
|
320
|
+
uniform int cmapIdx;
|
|
321
|
+
uniform float uSphericalGrid;
|
|
322
|
+
|
|
323
|
+
out vec4 fragColor;
|
|
324
|
+
|
|
325
|
+
struct colormap { float r[256]; float g[256]; float b[256]; } cmb;
|
|
326
|
+
|
|
327
|
+
colormap cmbCMap() {
|
|
328
|
+
// full tables identical to your JS version
|
|
329
|
+
cmb.r = float[256](/* ... */);
|
|
330
|
+
cmb.g = float[256](/* ... */);
|
|
331
|
+
cmb.b = float[256](/* ... */);
|
|
332
|
+
return cmb;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
void main() {
|
|
336
|
+
vec3 finalColor = vec3(0.0);
|
|
337
|
+
|
|
338
|
+
if (uFactor0 >= 0.0){
|
|
339
|
+
#if __VERSION__ > 120
|
|
340
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
341
|
+
#else
|
|
342
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
343
|
+
#endif
|
|
344
|
+
colormap t = cmbCMap();
|
|
345
|
+
int x = int(floor(color0.r * 256.0));
|
|
346
|
+
int y = int(floor(color0.g * 256.0));
|
|
347
|
+
int z = int(floor(color0.b * 256.0));
|
|
348
|
+
vec3 mapped = vec3(t.r[x], t.g[y], t.b[z]) / 256.0;
|
|
349
|
+
finalColor += mapped * uFactor0;
|
|
350
|
+
}
|
|
351
|
+
if (uFactor1 >= 0.0){
|
|
352
|
+
#if __VERSION__ > 120
|
|
353
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
354
|
+
#else
|
|
355
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
356
|
+
#endif
|
|
357
|
+
finalColor += color1.rgb * uFactor1;
|
|
358
|
+
}
|
|
359
|
+
if (uFactor2 >= 0.0){
|
|
360
|
+
#if __VERSION__ > 120
|
|
361
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
362
|
+
#else
|
|
363
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
364
|
+
#endif
|
|
365
|
+
finalColor += color2.rgb * uFactor2;
|
|
366
|
+
}
|
|
367
|
+
if (uFactor3 >= 0.0){
|
|
368
|
+
#if __VERSION__ > 120
|
|
369
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
370
|
+
#else
|
|
371
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
372
|
+
#endif
|
|
373
|
+
finalColor += color3.rgb * uFactor3;
|
|
374
|
+
}
|
|
375
|
+
if (uFactor4 >= 0.0){
|
|
376
|
+
#if __VERSION__ > 120
|
|
377
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
378
|
+
#else
|
|
379
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
380
|
+
#endif
|
|
381
|
+
finalColor += color4.rgb * uFactor4;
|
|
382
|
+
}
|
|
383
|
+
if (uFactor5 >= 0.0){
|
|
384
|
+
#if __VERSION__ > 120
|
|
385
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
386
|
+
#else
|
|
387
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
388
|
+
#endif
|
|
389
|
+
finalColor += color5.rgb * uFactor5;
|
|
390
|
+
}
|
|
391
|
+
if (uFactor6 >= 0.0){
|
|
392
|
+
#if __VERSION__ > 120
|
|
393
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
394
|
+
#else
|
|
395
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
396
|
+
#endif
|
|
397
|
+
finalColor += color6.rgb * uFactor6;
|
|
398
|
+
}
|
|
399
|
+
if (uFactor7 >= 0.0){
|
|
400
|
+
#if __VERSION__ > 120
|
|
401
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
402
|
+
#else
|
|
403
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
404
|
+
#endif
|
|
405
|
+
finalColor += color7.rgb * uFactor7;
|
|
406
|
+
}
|
|
407
|
+
fragColor = vec4(finalColor, 1.0);
|
|
408
|
+
}`;
|
|
409
|
+
}
|
|
410
|
+
static hipsRainbowFS() {
|
|
411
|
+
return `#version 300 es
|
|
412
|
+
precision mediump float;
|
|
413
|
+
|
|
414
|
+
in vec2 vTextureCoord;
|
|
415
|
+
|
|
416
|
+
uniform sampler2D uSampler0;
|
|
417
|
+
uniform sampler2D uSampler1;
|
|
418
|
+
uniform sampler2D uSampler2;
|
|
419
|
+
uniform sampler2D uSampler3;
|
|
420
|
+
uniform sampler2D uSampler4;
|
|
421
|
+
uniform sampler2D uSampler5;
|
|
422
|
+
uniform sampler2D uSampler6;
|
|
423
|
+
uniform sampler2D uSampler7;
|
|
424
|
+
|
|
425
|
+
uniform float uFactor0;
|
|
426
|
+
uniform float uFactor1;
|
|
427
|
+
uniform float uFactor2;
|
|
428
|
+
uniform float uFactor3;
|
|
429
|
+
uniform float uFactor4;
|
|
430
|
+
uniform float uFactor5;
|
|
431
|
+
uniform float uFactor6;
|
|
432
|
+
uniform float uFactor7;
|
|
433
|
+
|
|
434
|
+
uniform int cmapIdx;
|
|
435
|
+
uniform float uSphericalGrid;
|
|
436
|
+
|
|
437
|
+
out vec4 fragColor;
|
|
438
|
+
|
|
439
|
+
struct colormap { float r[256]; float g[256]; float b[256]; } rainbow;
|
|
440
|
+
|
|
441
|
+
colormap rainbowCMap() {
|
|
442
|
+
rainbow.r = float[256](/* full table unchanged */);
|
|
443
|
+
rainbow.g = float[256](/* full table unchanged */);
|
|
444
|
+
rainbow.b = float[256](/* full table unchanged */);
|
|
445
|
+
return rainbow;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
void main() {
|
|
449
|
+
vec3 finalColor = vec3(0.0);
|
|
450
|
+
|
|
451
|
+
if (uFactor0 >= 0.0){
|
|
452
|
+
#if __VERSION__ > 120
|
|
453
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
454
|
+
#else
|
|
455
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
456
|
+
#endif
|
|
457
|
+
colormap t = rainbowCMap();
|
|
458
|
+
int x = int(floor(color0.r * 256.0));
|
|
459
|
+
int y = int(floor(color0.g * 256.0));
|
|
460
|
+
int z = int(floor(color0.b * 256.0));
|
|
461
|
+
vec3 mapped = vec3(t.r[x], t.g[y], t.b[z]) / 256.0;
|
|
462
|
+
finalColor += mapped * uFactor0;
|
|
463
|
+
}
|
|
464
|
+
if (uFactor1 >= 0.0){
|
|
465
|
+
#if __VERSION__ > 120
|
|
466
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
467
|
+
#else
|
|
468
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
469
|
+
#endif
|
|
470
|
+
finalColor += color1.rgb * uFactor1;
|
|
471
|
+
}
|
|
472
|
+
if (uFactor2 >= 0.0){
|
|
473
|
+
#if __VERSION__ > 120
|
|
474
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
475
|
+
#else
|
|
476
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
477
|
+
#endif
|
|
478
|
+
finalColor += color2.rgb * uFactor2;
|
|
479
|
+
}
|
|
480
|
+
if (uFactor3 >= 0.0){
|
|
481
|
+
#if __VERSION__ > 120
|
|
482
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
483
|
+
#else
|
|
484
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
485
|
+
#endif
|
|
486
|
+
finalColor += color3.rgb * uFactor3;
|
|
487
|
+
}
|
|
488
|
+
if (uFactor4 >= 0.0){
|
|
489
|
+
#if __VERSION__ > 120
|
|
490
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
491
|
+
#else
|
|
492
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
493
|
+
#endif
|
|
494
|
+
finalColor += color4.rgb * uFactor4;
|
|
495
|
+
}
|
|
496
|
+
if (uFactor5 >= 0.0){
|
|
497
|
+
#if __VERSION__ > 120
|
|
498
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
499
|
+
#else
|
|
500
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
501
|
+
#endif
|
|
502
|
+
finalColor += color5.rgb * uFactor5;
|
|
503
|
+
}
|
|
504
|
+
if (uFactor6 >= 0.0){
|
|
505
|
+
#if __VERSION__ > 120
|
|
506
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
507
|
+
#else
|
|
508
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
509
|
+
#endif
|
|
510
|
+
finalColor += color6.rgb * uFactor6;
|
|
511
|
+
}
|
|
512
|
+
if (uFactor7 >= 0.0){
|
|
513
|
+
#if __VERSION__ > 120
|
|
514
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
515
|
+
#else
|
|
516
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
517
|
+
#endif
|
|
518
|
+
finalColor += color7.rgb * uFactor7;
|
|
519
|
+
}
|
|
520
|
+
fragColor = vec4(finalColor, 1.0);
|
|
521
|
+
}`;
|
|
522
|
+
}
|
|
523
|
+
static hipsEosbFS() {
|
|
524
|
+
return `#version 300 es
|
|
525
|
+
precision mediump float;
|
|
526
|
+
|
|
527
|
+
in vec2 vTextureCoord;
|
|
528
|
+
|
|
529
|
+
uniform sampler2D uSampler0;
|
|
530
|
+
uniform sampler2D uSampler1;
|
|
531
|
+
uniform sampler2D uSampler2;
|
|
532
|
+
uniform sampler2D uSampler3;
|
|
533
|
+
uniform sampler2D uSampler4;
|
|
534
|
+
uniform sampler2D uSampler5;
|
|
535
|
+
uniform sampler2D uSampler6;
|
|
536
|
+
uniform sampler2D uSampler7;
|
|
537
|
+
|
|
538
|
+
uniform float uFactor0;
|
|
539
|
+
uniform float uFactor1;
|
|
540
|
+
uniform float uFactor2;
|
|
541
|
+
uniform float uFactor3;
|
|
542
|
+
uniform float uFactor4;
|
|
543
|
+
uniform float uFactor5;
|
|
544
|
+
uniform float uFactor6;
|
|
545
|
+
uniform float uFactor7;
|
|
546
|
+
|
|
547
|
+
uniform int cmapIdx;
|
|
548
|
+
uniform float uSphericalGrid;
|
|
549
|
+
|
|
550
|
+
out vec4 fragColor;
|
|
551
|
+
|
|
552
|
+
struct colormap { float r[256]; float g[256]; float b[256]; } eosb;
|
|
553
|
+
|
|
554
|
+
colormap eosbCMap() {
|
|
555
|
+
eosb.r = float[256](/* full table unchanged */);
|
|
556
|
+
eosb.g = float[256](/* full table unchanged */);
|
|
557
|
+
eosb.b = float[256](/* full table unchanged */);
|
|
558
|
+
return eosb;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
void main() {
|
|
562
|
+
vec3 finalColor = vec3(0.0);
|
|
563
|
+
|
|
564
|
+
if (uFactor0 >= 0.0){
|
|
565
|
+
#if __VERSION__ > 120
|
|
566
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
567
|
+
#else
|
|
568
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
569
|
+
#endif
|
|
570
|
+
colormap t = eosbCMap();
|
|
571
|
+
int x = int(floor(color0.r * 256.0));
|
|
572
|
+
int y = int(floor(color0.g * 256.0));
|
|
573
|
+
int z = int(floor(color0.b * 256.0));
|
|
574
|
+
vec3 mapped = vec3(t.r[x], t.g[y], t.b[z]) / 256.0;
|
|
575
|
+
finalColor += mapped * uFactor0;
|
|
576
|
+
}
|
|
577
|
+
if (uFactor1 >= 0.0){
|
|
578
|
+
#if __VERSION__ > 120
|
|
579
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
580
|
+
#else
|
|
581
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
582
|
+
#endif
|
|
583
|
+
finalColor += color1.rgb * uFactor1;
|
|
584
|
+
}
|
|
585
|
+
if (uFactor2 >= 0.0){
|
|
586
|
+
#if __VERSION__ > 120
|
|
587
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
588
|
+
#else
|
|
589
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
590
|
+
#endif
|
|
591
|
+
finalColor += color2.rgb * uFactor2;
|
|
592
|
+
}
|
|
593
|
+
if (uFactor3 >= 0.0){
|
|
594
|
+
#if __VERSION__ > 120
|
|
595
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
596
|
+
#else
|
|
597
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
598
|
+
#endif
|
|
599
|
+
finalColor += color3.rgb * uFactor3;
|
|
600
|
+
}
|
|
601
|
+
if (uFactor4 >= 0.0){
|
|
602
|
+
#if __VERSION__ > 120
|
|
603
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
604
|
+
#else
|
|
605
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
606
|
+
#endif
|
|
607
|
+
finalColor += color4.rgb * uFactor4;
|
|
608
|
+
}
|
|
609
|
+
if (uFactor5 >= 0.0){
|
|
610
|
+
#if __VERSION__ > 120
|
|
611
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
612
|
+
#else
|
|
613
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
614
|
+
#endif
|
|
615
|
+
finalColor += color5.rgb * uFactor5;
|
|
616
|
+
}
|
|
617
|
+
if (uFactor6 >= 0.0){
|
|
618
|
+
#if __VERSION__ > 120
|
|
619
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
620
|
+
#else
|
|
621
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
622
|
+
#endif
|
|
623
|
+
finalColor += color6.rgb * uFactor6;
|
|
624
|
+
}
|
|
625
|
+
if (uFactor7 >= 0.0){
|
|
626
|
+
#if __VERSION__ > 120
|
|
627
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
628
|
+
#else
|
|
629
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
630
|
+
#endif
|
|
631
|
+
finalColor += color7.rgb * uFactor7;
|
|
632
|
+
}
|
|
633
|
+
fragColor = vec4(finalColor, 1.0);
|
|
634
|
+
}`;
|
|
635
|
+
}
|
|
636
|
+
static hipsCubehelixFS() {
|
|
637
|
+
return `#version 300 es
|
|
638
|
+
precision mediump float;
|
|
639
|
+
|
|
640
|
+
in vec2 vTextureCoord;
|
|
641
|
+
|
|
642
|
+
uniform sampler2D uSampler0;
|
|
643
|
+
uniform sampler2D uSampler1;
|
|
644
|
+
uniform sampler2D uSampler2;
|
|
645
|
+
uniform sampler2D uSampler3;
|
|
646
|
+
uniform sampler2D uSampler4;
|
|
647
|
+
uniform sampler2D uSampler5;
|
|
648
|
+
uniform sampler2D uSampler6;
|
|
649
|
+
uniform sampler2D uSampler7;
|
|
650
|
+
|
|
651
|
+
uniform float uFactor0;
|
|
652
|
+
uniform float uFactor1;
|
|
653
|
+
uniform float uFactor2;
|
|
654
|
+
uniform float uFactor3;
|
|
655
|
+
uniform float uFactor4;
|
|
656
|
+
uniform float uFactor5;
|
|
657
|
+
uniform float uFactor6;
|
|
658
|
+
uniform float uFactor7;
|
|
659
|
+
|
|
660
|
+
uniform int cmapIdx;
|
|
661
|
+
uniform float uSphericalGrid;
|
|
662
|
+
|
|
663
|
+
out vec4 fragColor;
|
|
664
|
+
|
|
665
|
+
struct colormap { float r[256]; float g[256]; float b[256]; } cubehelix;
|
|
666
|
+
|
|
667
|
+
colormap cubehelixCMap() {
|
|
668
|
+
cubehelix.r = float[256](/* full table unchanged */);
|
|
669
|
+
cubehelix.g = float[256](/* full table unchanged */);
|
|
670
|
+
cubehelix.b = float[256](/* full table unchanged */);
|
|
671
|
+
return cubehelix;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
void main() {
|
|
675
|
+
vec3 finalColor = vec3(0.0);
|
|
676
|
+
|
|
677
|
+
if (uFactor0 >= 0.0){
|
|
678
|
+
#if __VERSION__ > 120
|
|
679
|
+
vec4 color0 = texture(uSampler0, vTextureCoord);
|
|
680
|
+
#else
|
|
681
|
+
vec4 color0 = texture2D(uSampler0, vTextureCoord);
|
|
682
|
+
#endif
|
|
683
|
+
colormap t = cubehelixCMap();
|
|
684
|
+
int x = int(floor(color0.r * 256.0));
|
|
685
|
+
int y = int(floor(color0.g * 256.0));
|
|
686
|
+
int z = int(floor(color0.b * 256.0));
|
|
687
|
+
vec3 mapped = vec3(t.r[x], t.g[y], t.b[z]) / 256.0;
|
|
688
|
+
finalColor += mapped * uFactor0;
|
|
689
|
+
}
|
|
690
|
+
if (uFactor1 >= 0.0){
|
|
691
|
+
#if __VERSION__ > 120
|
|
692
|
+
vec4 color1 = texture(uSampler1, vTextureCoord);
|
|
693
|
+
#else
|
|
694
|
+
vec4 color1 = texture2D(uSampler1, vTextureCoord);
|
|
695
|
+
#endif
|
|
696
|
+
finalColor += color1.rgb * uFactor1;
|
|
697
|
+
}
|
|
698
|
+
if (uFactor2 >= 0.0){
|
|
699
|
+
#if __VERSION__ > 120
|
|
700
|
+
vec4 color2 = texture(uSampler2, vTextureCoord);
|
|
701
|
+
#else
|
|
702
|
+
vec4 color2 = texture2D(uSampler2, vTextureCoord);
|
|
703
|
+
#endif
|
|
704
|
+
finalColor += color2.rgb * uFactor2;
|
|
705
|
+
}
|
|
706
|
+
if (uFactor3 >= 0.0){
|
|
707
|
+
#if __VERSION__ > 120
|
|
708
|
+
vec4 color3 = texture(uSampler3, vTextureCoord);
|
|
709
|
+
#else
|
|
710
|
+
vec4 color3 = texture2D(uSampler3, vTextureCoord);
|
|
711
|
+
#endif
|
|
712
|
+
finalColor += color3.rgb * uFactor3;
|
|
713
|
+
}
|
|
714
|
+
if (uFactor4 >= 0.0){
|
|
715
|
+
#if __VERSION__ > 120
|
|
716
|
+
vec4 color4 = texture(uSampler4, vTextureCoord);
|
|
717
|
+
#else
|
|
718
|
+
vec4 color4 = texture2D(uSampler4, vTextureCoord);
|
|
719
|
+
#endif
|
|
720
|
+
finalColor += color4.rgb * uFactor4;
|
|
721
|
+
}
|
|
722
|
+
if (uFactor5 >= 0.0){
|
|
723
|
+
#if __VERSION__ > 120
|
|
724
|
+
vec4 color5 = texture(uSampler5, vTextureCoord);
|
|
725
|
+
#else
|
|
726
|
+
vec4 color5 = texture2D(uSampler5, vTextureCoord);
|
|
727
|
+
#endif
|
|
728
|
+
finalColor += color5.rgb * uFactor5;
|
|
729
|
+
}
|
|
730
|
+
if (uFactor6 >= 0.0){
|
|
731
|
+
#if __VERSION__ > 120
|
|
732
|
+
vec4 color6 = texture(uSampler6, vTextureCoord);
|
|
733
|
+
#else
|
|
734
|
+
vec4 color6 = texture2D(uSampler6, vTextureCoord);
|
|
735
|
+
#endif
|
|
736
|
+
finalColor += color6.rgb * uFactor6;
|
|
737
|
+
}
|
|
738
|
+
if (uFactor7 >= 0.0){
|
|
739
|
+
#if __VERSION__ > 120
|
|
740
|
+
vec4 color7 = texture(uSampler7, vTextureCoord);
|
|
741
|
+
#else
|
|
742
|
+
vec4 color7 = texture2D(uSampler7, vTextureCoord);
|
|
743
|
+
#endif
|
|
744
|
+
finalColor += color7.rgb * uFactor7;
|
|
745
|
+
}
|
|
746
|
+
fragColor = vec4(finalColor, 1.0);
|
|
747
|
+
}`;
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
//# sourceMappingURL=ShaderManagerMutliHiPS.js.map
|