@kepler.gl/deckgl-layers 3.3.0-alpha.4 → 3.3.0-alpha.6
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/dist/cjs/3d-building-layer/3d-building-layer.js +66 -0
- package/dist/cjs/3d-building-layer/3d-building-utils.js +166 -0
- package/dist/cjs/3d-building-layer/types.js +6 -0
- package/dist/cjs/cluster-layer/cluster-layer.js +292 -0
- package/dist/cjs/column-layer/enhanced-column-layer.js +160 -0
- package/dist/{deckgl-extensions → cjs/deckgl-extensions}/filter-arrow-layer.js +1 -1
- package/dist/cjs/deckgl-extensions/filter-shader-module.js +26 -0
- package/dist/cjs/globe/atmosphere-layer.js +220 -0
- package/dist/cjs/globe/enhanced-multi-icon-layer.js +63 -0
- package/dist/cjs/globe/globe-depth-disk-layer.js +145 -0
- package/dist/cjs/globe/globe-layers.js +569 -0
- package/dist/cjs/globe/globe-stars-layer.js +69 -0
- package/dist/cjs/globe/globe-view.js +407 -0
- package/dist/{globe → cjs/globe}/index.js +1 -1
- package/dist/cjs/globe/mvt-label-layer.js +190 -0
- package/dist/cjs/grid-layer/enhanced-cpu-grid-layer.js +116 -0
- package/dist/cjs/hexagon-layer/enhanced-hexagon-layer.js +134 -0
- package/dist/{index.js → cjs/index.js} +1 -1
- package/dist/cjs/layer-utils/aggregation-utils.js +181 -0
- package/dist/cjs/layer-utils/cluster-utils.js +93 -0
- package/dist/cjs/layer-utils/cpu-aggregator.js +798 -0
- package/dist/cjs/layer-utils/globe-cell-utils.js +173 -0
- package/dist/cjs/layer-utils/shader-utils.js +38 -0
- package/dist/cjs/line-layer/line-layer.js +95 -0
- package/dist/cjs/raster/images.js +271 -0
- package/dist/cjs/raster/pipeline-validation-patch.js +101 -0
- package/dist/cjs/raster/raster-layer/raster-layer-shaders.js +163 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer.js +287 -0
- package/dist/cjs/raster/raster-mesh-layer/matrix.js +18 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +38 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer.js +321 -0
- package/dist/cjs/raster/raster-processing-uniforms.js +124 -0
- package/dist/cjs/raster/types.js +6 -0
- package/dist/cjs/raster/util.js +139 -0
- package/dist/cjs/raster/webgl/color/colormap.js +45 -0
- package/dist/cjs/raster/webgl/color/filter.js +58 -0
- package/dist/cjs/raster/webgl/color/gamma-contrast.js +68 -0
- package/dist/cjs/raster/webgl/color/linear-rescale.js +35 -0
- package/dist/cjs/raster/webgl/color/saturation.js +42 -0
- package/dist/cjs/raster/webgl/color/sigmoidal-contrast.js +68 -0
- package/dist/{raster → cjs/raster}/webgl/index.js +1 -1
- package/dist/cjs/raster/webgl/pansharpen/pansharpen-brovey.js +46 -0
- package/dist/cjs/raster/webgl/spectral-indices/evi.js +26 -0
- package/dist/cjs/raster/webgl/spectral-indices/msavi.js +25 -0
- package/dist/cjs/raster/webgl/spectral-indices/normalized-difference.js +19 -0
- package/dist/cjs/raster/webgl/spectral-indices/savi.js +21 -0
- package/dist/cjs/raster/webgl/texture/combine-bands.js +65 -0
- package/dist/cjs/raster/webgl/texture/mask.js +50 -0
- package/dist/cjs/raster/webgl/texture/reorder-bands.js +72 -0
- package/dist/cjs/raster/webgl/texture/rgba-image.js +34 -0
- package/dist/cjs/raster/webgl/types.js +6 -0
- package/dist/cjs/svg-icon-layer/scatterplot-icon-layer.js +88 -0
- package/dist/cjs/svg-icon-layer/svg-icon-layer.js +104 -0
- package/dist/cjs/wms/wms-layer.js +624 -0
- package/dist/esm/3d-building-layer/3d-building-layer.js +62 -0
- package/dist/esm/3d-building-layer/3d-building-utils.js +157 -0
- package/dist/esm/3d-building-layer/types.js +3 -0
- package/dist/esm/cluster-layer/cluster-layer.js +286 -0
- package/dist/esm/column-layer/enhanced-column-layer.js +156 -0
- package/dist/esm/deckgl-extensions/filter-arrow-layer.js +64 -0
- package/dist/esm/deckgl-extensions/filter-shader-module.js +20 -0
- package/dist/esm/globe/atmosphere-layer.js +214 -0
- package/dist/esm/globe/enhanced-multi-icon-layer.js +60 -0
- package/dist/esm/globe/globe-depth-disk-layer.js +140 -0
- package/dist/esm/globe/globe-layers.js +561 -0
- package/dist/esm/globe/globe-stars-layer.js +63 -0
- package/dist/esm/globe/globe-view.js +401 -0
- package/dist/esm/globe/index.js +26 -0
- package/dist/esm/globe/mvt-label-layer.js +187 -0
- package/dist/esm/grid-layer/enhanced-cpu-grid-layer.js +112 -0
- package/dist/esm/hexagon-layer/enhanced-hexagon-layer.js +130 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/layer-utils/aggregation-utils.js +172 -0
- package/dist/esm/layer-utils/cluster-utils.js +86 -0
- package/dist/esm/layer-utils/cpu-aggregator.js +788 -0
- package/dist/esm/layer-utils/globe-cell-utils.js +167 -0
- package/dist/esm/layer-utils/shader-utils.js +32 -0
- package/dist/esm/line-layer/line-layer.js +91 -0
- package/dist/esm/raster/images.js +267 -0
- package/dist/esm/raster/pipeline-validation-patch.js +94 -0
- package/dist/esm/raster/raster-layer/raster-layer-shaders.js +153 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer.js +283 -0
- package/dist/esm/raster/raster-mesh-layer/matrix.js +12 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +30 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer.js +318 -0
- package/dist/esm/raster/raster-processing-uniforms.js +118 -0
- package/dist/esm/raster/types.js +3 -0
- package/dist/esm/raster/util.js +134 -0
- package/dist/esm/raster/webgl/color/colormap.js +39 -0
- package/dist/esm/raster/webgl/color/filter.js +52 -0
- package/dist/esm/raster/webgl/color/gamma-contrast.js +62 -0
- package/dist/esm/raster/webgl/color/linear-rescale.js +29 -0
- package/dist/esm/raster/webgl/color/saturation.js +36 -0
- package/dist/esm/raster/webgl/color/sigmoidal-contrast.js +62 -0
- package/dist/esm/raster/webgl/index.js +26 -0
- package/dist/esm/raster/webgl/pansharpen/pansharpen-brovey.js +40 -0
- package/dist/esm/raster/webgl/spectral-indices/evi.js +20 -0
- package/dist/esm/raster/webgl/spectral-indices/msavi.js +19 -0
- package/dist/esm/raster/webgl/spectral-indices/normalized-difference.js +13 -0
- package/dist/esm/raster/webgl/spectral-indices/savi.js +15 -0
- package/dist/esm/raster/webgl/texture/combine-bands.js +58 -0
- package/dist/esm/raster/webgl/texture/mask.js +44 -0
- package/dist/esm/raster/webgl/texture/reorder-bands.js +65 -0
- package/dist/esm/raster/webgl/texture/rgba-image.js +28 -0
- package/dist/esm/raster/webgl/types.js +3 -0
- package/dist/esm/svg-icon-layer/scatterplot-icon-layer.js +84 -0
- package/dist/esm/svg-icon-layer/svg-icon-layer.js +101 -0
- package/dist/esm/wms/wms-layer.js +619 -0
- package/dist/globe/atmosphere-layer.d.ts +13 -2
- package/dist/globe/globe-depth-disk-layer.d.ts +1 -0
- package/dist/globe/globe-layers.d.ts +8 -2
- package/dist/raster/images.d.ts +10 -1
- package/dist/raster/raster-layer/raster-layer.d.ts +4 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.d.ts +4 -0
- package/dist/wms/wms-layer.d.ts +8 -0
- package/package.json +18 -11
- package/dist/3d-building-layer/3d-building-layer.js +0 -66
- package/dist/3d-building-layer/3d-building-utils.js +0 -166
- package/dist/3d-building-layer/types.js +0 -6
- package/dist/cluster-layer/cluster-layer.js +0 -292
- package/dist/column-layer/enhanced-column-layer.js +0 -160
- package/dist/deckgl-extensions/filter-shader-module.js +0 -26
- package/dist/globe/atmosphere-layer.js +0 -184
- package/dist/globe/enhanced-multi-icon-layer.js +0 -63
- package/dist/globe/globe-depth-disk-layer.js +0 -145
- package/dist/globe/globe-layers.js +0 -565
- package/dist/globe/globe-stars-layer.js +0 -69
- package/dist/globe/globe-view.js +0 -316
- package/dist/globe/mvt-label-layer.js +0 -190
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +0 -116
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +0 -134
- package/dist/layer-utils/aggregation-utils.js +0 -181
- package/dist/layer-utils/cluster-utils.js +0 -93
- package/dist/layer-utils/cpu-aggregator.js +0 -798
- package/dist/layer-utils/globe-cell-utils.js +0 -173
- package/dist/layer-utils/shader-utils.js +0 -38
- package/dist/line-layer/line-layer.js +0 -95
- package/dist/raster/images.js +0 -259
- package/dist/raster/pipeline-validation-patch.js +0 -101
- package/dist/raster/raster-layer/raster-layer-shaders.js +0 -163
- package/dist/raster/raster-layer/raster-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer.js +0 -237
- package/dist/raster/raster-mesh-layer/matrix.js +0 -18
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +0 -38
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.js +0 -271
- package/dist/raster/raster-processing-uniforms.js +0 -124
- package/dist/raster/types.js +0 -6
- package/dist/raster/util.js +0 -139
- package/dist/raster/webgl/color/colormap.js +0 -45
- package/dist/raster/webgl/color/filter.js +0 -58
- package/dist/raster/webgl/color/gamma-contrast.js +0 -68
- package/dist/raster/webgl/color/linear-rescale.js +0 -35
- package/dist/raster/webgl/color/saturation.js +0 -42
- package/dist/raster/webgl/color/sigmoidal-contrast.js +0 -68
- package/dist/raster/webgl/pansharpen/pansharpen-brovey.js +0 -46
- package/dist/raster/webgl/spectral-indices/evi.js +0 -26
- package/dist/raster/webgl/spectral-indices/msavi.js +0 -25
- package/dist/raster/webgl/spectral-indices/normalized-difference.js +0 -19
- package/dist/raster/webgl/spectral-indices/savi.js +0 -21
- package/dist/raster/webgl/texture/combine-bands.js +0 -65
- package/dist/raster/webgl/texture/mask.js +0 -50
- package/dist/raster/webgl/texture/reorder-bands.js +0 -72
- package/dist/raster/webgl/texture/rgba-image.js +0 -34
- package/dist/raster/webgl/types.js +0 -6
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +0 -88
- package/dist/svg-icon-layer/svg-icon-layer.js +0 -104
- package/dist/wms/wms-layer.js +0 -594
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sigmoidalContrast = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// From mapbox/rio-color under the MIT License
|
|
11
|
+
//
|
|
12
|
+
// Sigmoidal contrast is a type of contrast control that
|
|
13
|
+
// adjusts the contrast without saturating highlights or shadows.
|
|
14
|
+
// It allows control over two factors:
|
|
15
|
+
// the contrast range from light to dark, and where the middle value
|
|
16
|
+
// of the mid-tones falls. The result is a non-linear and smooth
|
|
17
|
+
// contrast change.
|
|
18
|
+
// Parameters
|
|
19
|
+
// ----------
|
|
20
|
+
// arr : ndarray, float, 0 .. 1
|
|
21
|
+
// Array of color values to adjust
|
|
22
|
+
// contrast : integer
|
|
23
|
+
// Enhances the intensity differences between the lighter and darker
|
|
24
|
+
// elements of the image. For example, 0 is none, 3 is typical and
|
|
25
|
+
// 20 is a lot.
|
|
26
|
+
// bias : float, between 0 and 1
|
|
27
|
+
// Threshold level for the contrast function to center on
|
|
28
|
+
// (typically centered at 0.5)
|
|
29
|
+
// Notes
|
|
30
|
+
// ----------
|
|
31
|
+
// Sigmoidal contrast is based on the sigmoidal transfer function:
|
|
32
|
+
// .. math:: g(u) = ( 1/(1 + e^{- \alpha * u + \beta)})
|
|
33
|
+
// This sigmoid function is scaled so that the output is bound by
|
|
34
|
+
// the interval [0, 1].
|
|
35
|
+
// .. math:: ( 1/(1 + e^(\beta * (\alpha - u))) - 1/(1 + e^(\beta * \alpha)))/
|
|
36
|
+
// ( 1/(1 + e^(\beta*(\alpha - 1))) - 1/(1 + e^(\beta * \alpha)) )
|
|
37
|
+
// Where :math: `\alpha` is the threshold level, and :math: `\beta` the
|
|
38
|
+
// contrast factor to be applied.
|
|
39
|
+
// References
|
|
40
|
+
// ----------
|
|
41
|
+
// .. [CT] Hany Farid "Fundamentals of Image Processing"
|
|
42
|
+
// http://www.cs.dartmouth.edu/farid/downloads/tutorials/fip.pdf
|
|
43
|
+
var fs = "#define epsilon 0.00000001\n\nuniform sigmoidalContrastUniforms {\n float contrast;\n float bias;\n} sigmoidalContrast;\n\n// NOTE: Input array must have float values between 0 and 1!\n// NOTE: bias must be a scalar float between 0 and 1!\nvec4 calculateSigmoidalContrast(vec4 arr, float contrast, float bias) {\n // We use the names alpha and beta to match documentation.\n float alpha = bias;\n float beta = contrast;\n\n // alpha must be >= 0\n alpha = clamp(alpha, epsilon, alpha);\n\n if (beta > 0.) {\n vec4 numerator = 1. / (1. + exp(beta * (alpha - arr))) - 1. / (\n 1. + exp(beta * alpha)\n );\n float denominator = 1. / (1. + exp(beta * (alpha - 1.))) - 1. / (\n 1. + exp(beta * alpha)\n );\n arr = numerator / denominator;\n } else if (beta < 0.) {\n arr = (\n (beta * alpha) - log(\n (\n 1.0 / (\n (arr / (1.0 + exp((beta * alpha) - beta))) -\n (arr / (1.0 + exp(beta * alpha))) +\n (1.0 / (1.0 + exp(beta * alpha)))\n )\n ) - 1.0)\n ) / beta;\n }\n\n return arr;\n}\n";
|
|
44
|
+
function getUniforms() {
|
|
45
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
46
|
+
var sigmoidalContrast = opts.sigmoidalContrast,
|
|
47
|
+
sigmoidalBias = opts.sigmoidalBias;
|
|
48
|
+
if (!(Number.isFinite(sigmoidalContrast) || Number.isFinite(sigmoidalBias))) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
contrast: Number.isFinite(sigmoidalContrast) ? sigmoidalContrast : 0,
|
|
53
|
+
bias: Number.isFinite(sigmoidalBias) ? sigmoidalBias : 0.5
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
var sigmoidalContrast = exports.sigmoidalContrast = {
|
|
57
|
+
name: 'sigmoidalContrast',
|
|
58
|
+
fs: fs,
|
|
59
|
+
uniformTypes: {
|
|
60
|
+
contrast: 'f32',
|
|
61
|
+
bias: 'f32'
|
|
62
|
+
},
|
|
63
|
+
getUniforms: getUniforms,
|
|
64
|
+
inject: {
|
|
65
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = calculateSigmoidalContrast(image, sigmoidalContrast.contrast, sigmoidalContrast.bias);\n "
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNpZ21vaWRhbENvbnRyYXN0Iiwic2lnbW9pZGFsQmlhcyIsIk51bWJlciIsImlzRmluaXRlIiwiY29udHJhc3QiLCJiaWFzIiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2NvbG9yL3NpZ21vaWRhbC1jb250cmFzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0dldFVuaWZvcm1zT3V0cHV0LCBTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gRnJvbSBtYXBib3gvcmlvLWNvbG9yIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuLy9cbi8vIFNpZ21vaWRhbCBjb250cmFzdCBpcyBhIHR5cGUgb2YgY29udHJhc3QgY29udHJvbCB0aGF0XG4vLyBhZGp1c3RzIHRoZSBjb250cmFzdCB3aXRob3V0IHNhdHVyYXRpbmcgaGlnaGxpZ2h0cyBvciBzaGFkb3dzLlxuLy8gSXQgYWxsb3dzIGNvbnRyb2wgb3ZlciB0d28gZmFjdG9yczpcbi8vIHRoZSBjb250cmFzdCByYW5nZSBmcm9tIGxpZ2h0IHRvIGRhcmssIGFuZCB3aGVyZSB0aGUgbWlkZGxlIHZhbHVlXG4vLyBvZiB0aGUgbWlkLXRvbmVzIGZhbGxzLiBUaGUgcmVzdWx0IGlzIGEgbm9uLWxpbmVhciBhbmQgc21vb3RoXG4vLyBjb250cmFzdCBjaGFuZ2UuXG4vLyBQYXJhbWV0ZXJzXG4vLyAtLS0tLS0tLS0tXG4vLyBhcnIgOiBuZGFycmF5LCBmbG9hdCwgMCAuLiAxXG4vLyAgICAgQXJyYXkgb2YgY29sb3IgdmFsdWVzIHRvIGFkanVzdFxuLy8gY29udHJhc3QgOiBpbnRlZ2VyXG4vLyAgICAgRW5oYW5jZXMgdGhlIGludGVuc2l0eSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBsaWdodGVyIGFuZCBkYXJrZXJcbi8vICAgICBlbGVtZW50cyBvZiB0aGUgaW1hZ2UuIEZvciBleGFtcGxlLCAwIGlzIG5vbmUsIDMgaXMgdHlwaWNhbCBhbmRcbi8vICAgICAyMCBpcyBhIGxvdC5cbi8vIGJpYXMgOiBmbG9hdCwgYmV0d2VlbiAwIGFuZCAxXG4vLyAgICAgVGhyZXNob2xkIGxldmVsIGZvciB0aGUgY29udHJhc3QgZnVuY3Rpb24gdG8gY2VudGVyIG9uXG4vLyAgICAgKHR5cGljYWxseSBjZW50ZXJlZCBhdCAwLjUpXG4vLyBOb3Rlc1xuLy8gLS0tLS0tLS0tLVxuLy8gU2lnbW9pZGFsIGNvbnRyYXN0IGlzIGJhc2VkIG9uIHRoZSBzaWdtb2lkYWwgdHJhbnNmZXIgZnVuY3Rpb246XG4vLyAuLiBtYXRoOjogZyh1KSA9ICggMS8oMSArIGVeey0gXFxhbHBoYSAqIHUgKyBcXGJldGEpfSlcbi8vIFRoaXMgc2lnbW9pZCBmdW5jdGlvbiBpcyBzY2FsZWQgc28gdGhhdCB0aGUgb3V0cHV0IGlzIGJvdW5kIGJ5XG4vLyB0aGUgaW50ZXJ2YWwgWzAsIDFdLlxuLy8gLi4gbWF0aDo6ICggMS8oMSArIGVeKFxcYmV0YSAqIChcXGFscGhhIC0gdSkpKSAtIDEvKDEgKyBlXihcXGJldGEgKiBcXGFscGhhKSkpL1xuLy8gICAgICggMS8oMSArIGVeKFxcYmV0YSooXFxhbHBoYSAtIDEpKSkgLSAxLygxICsgZV4oXFxiZXRhICogXFxhbHBoYSkpIClcbi8vIFdoZXJlIDptYXRoOiBgXFxhbHBoYWAgaXMgdGhlIHRocmVzaG9sZCBsZXZlbCwgYW5kIDptYXRoOiBgXFxiZXRhYCB0aGVcbi8vIGNvbnRyYXN0IGZhY3RvciB0byBiZSBhcHBsaWVkLlxuLy8gUmVmZXJlbmNlc1xuLy8gLS0tLS0tLS0tLVxuLy8gLi4gW0NUXSBIYW55IEZhcmlkIFwiRnVuZGFtZW50YWxzIG9mIEltYWdlIFByb2Nlc3NpbmdcIlxuLy8gICAgICAgICBodHRwOi8vd3d3LmNzLmRhcnRtb3V0aC5lZHUvZmFyaWQvZG93bmxvYWRzL3R1dG9yaWFscy9maXAucGRmXG5jb25zdCBmcyA9IGBcXFxuI2RlZmluZSBlcHNpbG9uIDAuMDAwMDAwMDFcblxudW5pZm9ybSBzaWdtb2lkYWxDb250cmFzdFVuaWZvcm1zIHtcbiAgZmxvYXQgY29udHJhc3Q7XG4gIGZsb2F0IGJpYXM7XG59IHNpZ21vaWRhbENvbnRyYXN0O1xuXG4vLyBOT1RFOiBJbnB1dCBhcnJheSBtdXN0IGhhdmUgZmxvYXQgdmFsdWVzIGJldHdlZW4gMCBhbmQgMSFcbi8vIE5PVEU6IGJpYXMgbXVzdCBiZSBhIHNjYWxhciBmbG9hdCBiZXR3ZWVuIDAgYW5kIDEhXG52ZWM0IGNhbGN1bGF0ZVNpZ21vaWRhbENvbnRyYXN0KHZlYzQgYXJyLCBmbG9hdCBjb250cmFzdCwgZmxvYXQgYmlhcykge1xuICAvLyBXZSB1c2UgdGhlIG5hbWVzIGFscGhhIGFuZCBiZXRhIHRvIG1hdGNoIGRvY3VtZW50YXRpb24uXG4gIGZsb2F0IGFscGhhID0gYmlhcztcbiAgZmxvYXQgYmV0YSA9IGNvbnRyYXN0O1xuXG4gIC8vIGFscGhhIG11c3QgYmUgPj0gMFxuICBhbHBoYSA9IGNsYW1wKGFscGhhLCBlcHNpbG9uLCBhbHBoYSk7XG5cbiAgaWYgKGJldGEgPiAwLikge1xuICAgIHZlYzQgbnVtZXJhdG9yID0gMS4gLyAoMS4gKyBleHAoYmV0YSAqIChhbHBoYSAtIGFycikpKSAtIDEuIC8gKFxuICAgICAgMS4gKyBleHAoYmV0YSAqIGFscGhhKVxuICAgICk7XG4gICAgZmxvYXQgZGVub21pbmF0b3IgPSAxLiAvICgxLiArIGV4cChiZXRhICogKGFscGhhIC0gMS4pKSkgLSAxLiAvIChcbiAgICAgIDEuICsgZXhwKGJldGEgKiBhbHBoYSlcbiAgICApO1xuICAgIGFyciA9IG51bWVyYXRvciAvIGRlbm9taW5hdG9yO1xuICB9IGVsc2UgaWYgKGJldGEgPCAwLikge1xuICAgIGFyciA9IChcbiAgICAgIChiZXRhICogYWxwaGEpIC0gbG9nKFxuICAgICAgICAoXG4gICAgICAgICAgMS4wIC8gKFxuICAgICAgICAgICAgKGFyciAvICgxLjAgKyBleHAoKGJldGEgKiBhbHBoYSkgLSBiZXRhKSkpIC1cbiAgICAgICAgICAgIChhcnIgLyAoMS4wICsgZXhwKGJldGEgKiBhbHBoYSkpKSArXG4gICAgICAgICAgICAoMS4wIC8gKDEuMCArIGV4cChiZXRhICogYWxwaGEpKSlcbiAgICAgICAgICApXG4gICAgICAgICkgLSAxLjApXG4gICAgKSAvIGJldGE7XG4gIH1cblxuICByZXR1cm4gYXJyO1xufVxuYDtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtzaWdtb2lkYWxDb250cmFzdD86IG51bWJlcjsgc2lnbW9pZGFsQmlhcz86IG51bWJlcn0gPSB7fVxuKTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7c2lnbW9pZGFsQ29udHJhc3QsIHNpZ21vaWRhbEJpYXN9ID0gb3B0cztcblxuICBpZiAoIShOdW1iZXIuaXNGaW5pdGUoc2lnbW9pZGFsQ29udHJhc3QpIHx8IE51bWJlci5pc0Zpbml0ZShzaWdtb2lkYWxCaWFzKSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY29udHJhc3Q6IE51bWJlci5pc0Zpbml0ZShzaWdtb2lkYWxDb250cmFzdCkgPyBzaWdtb2lkYWxDb250cmFzdCA6IDAsXG4gICAgYmlhczogTnVtYmVyLmlzRmluaXRlKHNpZ21vaWRhbEJpYXMpID8gc2lnbW9pZGFsQmlhcyA6IDAuNVxuICB9O1xufVxuXG5leHBvcnQgY29uc3Qgc2lnbW9pZGFsQ29udHJhc3Q6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3NpZ21vaWRhbENvbnRyYXN0JyxcbiAgZnMsXG4gIHVuaWZvcm1UeXBlczoge1xuICAgIGNvbnRyYXN0OiAnZjMyJyxcbiAgICBiaWFzOiAnZjMyJ1xuICB9LFxuICBnZXRVbmlmb3JtcyxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9NVVRBVEVfQ09MT1InOiBgXG4gICAgaW1hZ2UgPSBjYWxjdWxhdGVTaWdtb2lkYWxDb250cmFzdChpbWFnZSwgc2lnbW9pZGFsQ29udHJhc3QuY29udHJhc3QsIHNpZ21vaWRhbENvbnRyYXN0LmJpYXMpO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQSxFQUFFLHlrQ0F5Q1A7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBRUM7RUFBQSxJQURuQkMsSUFBMEQsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBRS9ELElBQU9HLGlCQUFpQixHQUFtQkosSUFBSSxDQUF4Q0ksaUJBQWlCO0lBQUVDLGFBQWEsR0FBSUwsSUFBSSxDQUFyQkssYUFBYTtFQUV2QyxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDSCxpQkFBaUIsQ0FBQyxJQUFJRSxNQUFNLENBQUNDLFFBQVEsQ0FBQ0YsYUFBYSxDQUFDLENBQUMsRUFBRTtJQUMzRSxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEcsUUFBUSxFQUFFRixNQUFNLENBQUNDLFFBQVEsQ0FBQ0gsaUJBQWlCLENBQUMsR0FBR0EsaUJBQWlCLEdBQUcsQ0FBQztJQUNwRUssSUFBSSxFQUFFSCxNQUFNLENBQUNDLFFBQVEsQ0FBQ0YsYUFBYSxDQUFDLEdBQUdBLGFBQWEsR0FBRztFQUN6RCxDQUFDO0FBQ0g7QUFFTyxJQUFNRCxpQkFBK0IsR0FBQU0sT0FBQSxDQUFBTixpQkFBQSxHQUFHO0VBQzdDTyxJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCYixFQUFFLEVBQUZBLEVBQUU7RUFDRmMsWUFBWSxFQUFFO0lBQ1pKLFFBQVEsRUFBRSxLQUFLO0lBQ2ZDLElBQUksRUFBRTtFQUNSLENBQUM7RUFDRFYsV0FBVyxFQUFYQSxXQUFXO0VBQ1hjLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -132,4 +132,4 @@ var _evi = require("./spectral-indices/evi");
|
|
|
132
132
|
var _msavi = require("./spectral-indices/msavi");
|
|
133
133
|
var _normalizedDifference = require("./spectral-indices/normalized-difference");
|
|
134
134
|
var _savi = require("./spectral-indices/savi");
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tYmluZUJhbmRzIiwicmVxdWlyZSIsIl9yZ2JhSW1hZ2UiLCJfbWFzayIsIl9yZW9yZGVyQmFuZHMiLCJfY29sb3JtYXAiLCJfbGluZWFyUmVzY2FsZSIsIl9zaWdtb2lkYWxDb250cmFzdCIsIl9nYW1tYUNvbnRyYXN0IiwiX3NhdHVyYXRpb24iLCJfZmlsdGVyIiwiX3BhbnNoYXJwZW5Ccm92ZXkiLCJfZXZpIiwiX21zYXZpIiwiX25vcm1hbGl6ZWREaWZmZXJlbmNlIiwiX3NhdmkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIENyZWF0ZSB0ZXh0dXJlXG5leHBvcnQge2NvbWJpbmVCYW5kc0Zsb2F0LCBjb21iaW5lQmFuZHNVaW50LCBjb21iaW5lQmFuZHNJbnR9IGZyb20gJy4vdGV4dHVyZS9jb21iaW5lLWJhbmRzJztcbmV4cG9ydCB7cmdiYUltYWdlfSBmcm9tICcuL3RleHR1cmUvcmdiYS1pbWFnZSc7XG5leHBvcnQge21hc2tGbG9hdCwgbWFza1VpbnQsIG1hc2tJbnR9IGZyb20gJy4vdGV4dHVyZS9tYXNrJztcbmV4cG9ydCB7cmVvcmRlckJhbmRzfSBmcm9tICcuL3RleHR1cmUvcmVvcmRlci1iYW5kcyc7XG5cbi8vIENvbG9yIG9wZXJhdGlvbnNcbmV4cG9ydCB7Y29sb3JtYXB9IGZyb20gJy4vY29sb3IvY29sb3JtYXAnO1xuZXhwb3J0IHtsaW5lYXJSZXNjYWxlfSBmcm9tICcuL2NvbG9yL2xpbmVhci1yZXNjYWxlJztcbmV4cG9ydCB7c2lnbW9pZGFsQ29udHJhc3R9IGZyb20gJy4vY29sb3Ivc2lnbW9pZGFsLWNvbnRyYXN0JztcbmV4cG9ydCB7Z2FtbWFDb250cmFzdH0gZnJvbSAnLi9jb2xvci9nYW1tYS1jb250cmFzdCc7XG5leHBvcnQge3NhdHVyYXRpb259IGZyb20gJy4vY29sb3Ivc2F0dXJhdGlvbic7XG5leHBvcnQge2ZpbHRlcn0gZnJvbSAnLi9jb2xvci9maWx0ZXInO1xuXG4vLyBQYW5zaGFycGVuaW5nXG5leHBvcnQge3BhbnNoYXJwZW5Ccm92ZXl9IGZyb20gJy4vcGFuc2hhcnBlbi9wYW5zaGFycGVuLWJyb3ZleSc7XG5cbi8vIFNwZWN0cmFsIGluZGljZXNcbmV4cG9ydCB7ZW5oYW5jZWRWZWdldGF0aW9uSW5kZXh9IGZyb20gJy4vc3BlY3RyYWwtaW5kaWNlcy9ldmknO1xuZXhwb3J0IHttb2RpZmllZFNvaWxBZGp1c3RlZFZlZ2V0YXRpb25JbmRleH0gZnJvbSAnLi9zcGVjdHJhbC1pbmRpY2VzL21zYXZpJztcbmV4cG9ydCB7bm9ybWFsaXplZERpZmZlcmVuY2V9IGZyb20gJy4vc3BlY3RyYWwtaW5kaWNlcy9ub3JtYWxpemVkLWRpZmZlcmVuY2UnO1xuZXhwb3J0IHtzb2lsQWRqdXN0ZWRWZWdldGF0aW9uSW5kZXh9IGZyb20gJy4vc3BlY3RyYWwtaW5kaWNlcy9zYXZpJztcblxuZXhwb3J0IHR5cGUge1NoYWRlck1vZHVsZX0gZnJvbSAnLi90eXBlcyc7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUdBLElBQUFVLGlCQUFBLEdBQUFWLE9BQUE7QUFHQSxJQUFBVyxJQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxNQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxxQkFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsS0FBQSxHQUFBZCxPQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pansharpenBrovey = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// Brovey Method: Each resampled, multispectral pixel is
|
|
11
|
+
// multiplied by the ratio of the corresponding
|
|
12
|
+
// panchromatic pixel intensity to the sum of all the
|
|
13
|
+
// multispectral intensities.
|
|
14
|
+
// Original code from https://github.com/mapbox/rio-pansharpen
|
|
15
|
+
//
|
|
16
|
+
var fs1 = "uniform sampler2D bitmapTexturePan;\n\nuniform pansharpen_broveyUniforms {\n float panWeight;\n} pansharpen_brovey;\n\nfloat pansharpen_brovey_ratio(vec4 rgb, float pan, float weight) {\n return pan / ((rgb.r + rgb.g + rgb.b * weight) / (2. + weight));\n}\n\nvec4 pansharpen_brovey_calc(vec4 rgb, float pan, float weight) {\n float ratio = pansharpen_brovey_ratio(rgb, pan, weight);\n return ratio * rgb;\n}\n";
|
|
17
|
+
var fs2 = "precision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTexturePan;\n#else\n uniform sampler2D bitmapTexturePan;\n#endif\n\nuniform pansharpen_broveyUniforms {\n float panWeight;\n} pansharpen_brovey;\n\nfloat pansharpen_brovey_ratio(vec4 rgb, float pan, float weight) {\n return pan / ((rgb.r + rgb.g + rgb.b * weight) / (2. + weight));\n}\n\nvec4 pansharpen_brovey_calc(vec4 rgb, float pan, float weight) {\n float ratio = pansharpen_brovey_ratio(rgb, pan, weight);\n return ratio * rgb;\n}\n";
|
|
18
|
+
function getUniforms() {
|
|
19
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
20
|
+
var imagePan = opts.imagePan,
|
|
21
|
+
_opts$panWeight = opts.panWeight,
|
|
22
|
+
panWeight = _opts$panWeight === void 0 ? 0.2 : _opts$panWeight;
|
|
23
|
+
if (!imagePan) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
bitmapTexturePan: imagePan,
|
|
28
|
+
panWeight: panWeight
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
var pansharpenBrovey = exports.pansharpenBrovey = {
|
|
32
|
+
name: 'pansharpen_brovey',
|
|
33
|
+
fs1: fs1,
|
|
34
|
+
fs2: fs2,
|
|
35
|
+
uniformTypes: {
|
|
36
|
+
panWeight: 'f32'
|
|
37
|
+
},
|
|
38
|
+
defines: {
|
|
39
|
+
SAMPLER_TYPE: 'sampler2D'
|
|
40
|
+
},
|
|
41
|
+
getUniforms: getUniforms,
|
|
42
|
+
inject: {
|
|
43
|
+
'fs:DECKGL_MUTATE_COLOR': "\n float pan_band = float(texture(bitmapTexturePan, coord).r);\n image = pansharpen_brovey_calc(image, pan_band, pansharpen_brovey.panWeight);\n "
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmczEiLCJmczIiLCJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZVBhbiIsIl9vcHRzJHBhbldlaWdodCIsInBhbldlaWdodCIsImJpdG1hcFRleHR1cmVQYW4iLCJwYW5zaGFycGVuQnJvdmV5IiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJkZWZpbmVzIiwiU0FNUExFUl9UWVBFIiwiaW5qZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC9wYW5zaGFycGVuL3BhbnNoYXJwZW4tYnJvdmV5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBCcm92ZXkgTWV0aG9kOiBFYWNoIHJlc2FtcGxlZCwgbXVsdGlzcGVjdHJhbCBwaXhlbCBpc1xuLy8gbXVsdGlwbGllZCBieSB0aGUgcmF0aW8gb2YgdGhlIGNvcnJlc3BvbmRpbmdcbi8vIHBhbmNocm9tYXRpYyBwaXhlbCBpbnRlbnNpdHkgdG8gdGhlIHN1bSBvZiBhbGwgdGhlXG4vLyBtdWx0aXNwZWN0cmFsIGludGVuc2l0aWVzLlxuLy8gT3JpZ2luYWwgY29kZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvcmlvLXBhbnNoYXJwZW5cbi8vXG5jb25zdCBmczEgPSBgXFxcbnVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVQYW47XG5cbnVuaWZvcm0gcGFuc2hhcnBlbl9icm92ZXlVbmlmb3JtcyB7XG4gIGZsb2F0IHBhbldlaWdodDtcbn0gcGFuc2hhcnBlbl9icm92ZXk7XG5cbmZsb2F0IHBhbnNoYXJwZW5fYnJvdmV5X3JhdGlvKHZlYzQgcmdiLCBmbG9hdCBwYW4sIGZsb2F0IHdlaWdodCkge1xuICByZXR1cm4gcGFuIC8gKChyZ2IuciArIHJnYi5nICsgcmdiLmIgKiB3ZWlnaHQpIC8gKDIuICsgd2VpZ2h0KSk7XG59XG5cbnZlYzQgcGFuc2hhcnBlbl9icm92ZXlfY2FsYyh2ZWM0IHJnYiwgZmxvYXQgcGFuLCBmbG9hdCB3ZWlnaHQpIHtcbiAgZmxvYXQgcmF0aW8gPSBwYW5zaGFycGVuX2Jyb3ZleV9yYXRpbyhyZ2IsIHBhbiwgd2VpZ2h0KTtcbiAgcmV0dXJuIHJhdGlvICogcmdiO1xufVxuYDtcblxuY29uc3QgZnMyID0gYFxcXG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVQYW47XG4jZWxzZVxuICB1bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUGFuO1xuI2VuZGlmXG5cbnVuaWZvcm0gcGFuc2hhcnBlbl9icm92ZXlVbmlmb3JtcyB7XG4gIGZsb2F0IHBhbldlaWdodDtcbn0gcGFuc2hhcnBlbl9icm92ZXk7XG5cbmZsb2F0IHBhbnNoYXJwZW5fYnJvdmV5X3JhdGlvKHZlYzQgcmdiLCBmbG9hdCBwYW4sIGZsb2F0IHdlaWdodCkge1xuICByZXR1cm4gcGFuIC8gKChyZ2IuciArIHJnYi5nICsgcmdiLmIgKiB3ZWlnaHQpIC8gKDIuICsgd2VpZ2h0KSk7XG59XG5cbnZlYzQgcGFuc2hhcnBlbl9icm92ZXlfY2FsYyh2ZWM0IHJnYiwgZmxvYXQgcGFuLCBmbG9hdCB3ZWlnaHQpIHtcbiAgZmxvYXQgcmF0aW8gPSBwYW5zaGFycGVuX2Jyb3ZleV9yYXRpbyhyZ2IsIHBhbiwgd2VpZ2h0KTtcbiAgcmV0dXJuIHJhdGlvICogcmdiO1xufVxuYDtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMob3B0czoge2ltYWdlUGFuPzogVGV4dHVyZTsgcGFuV2VpZ2h0PzogbnVtYmVyfSA9IHt9KTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7aW1hZ2VQYW4sIHBhbldlaWdodCA9IDAuMn0gPSBvcHRzO1xuXG4gIGlmICghaW1hZ2VQYW4pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYml0bWFwVGV4dHVyZVBhbjogaW1hZ2VQYW4sXG4gICAgcGFuV2VpZ2h0XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBwYW5zaGFycGVuQnJvdmV5OiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdwYW5zaGFycGVuX2Jyb3ZleScsXG4gIGZzMSxcbiAgZnMyLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBwYW5XZWlnaHQ6ICdmMzInXG4gIH0sXG4gIGRlZmluZXM6IHtcbiAgICBTQU1QTEVSX1RZUEU6ICdzYW1wbGVyMkQnXG4gIH0sXG4gIGdldFVuaWZvcm1zLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBmbG9hdCBwYW5fYmFuZCA9IGZsb2F0KHRleHR1cmUoYml0bWFwVGV4dHVyZVBhbiwgY29vcmQpLnIpO1xuICAgIGltYWdlID0gcGFuc2hhcnBlbl9icm92ZXlfY2FsYyhpbWFnZSwgcGFuX2JhbmQsIHBhbnNoYXJwZW5fYnJvdmV5LnBhbldlaWdodCk7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLEdBQUcsa2FBZVI7QUFFRCxJQUFNQyxHQUFHLG1oQkFxQlI7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBQXlFO0VBQUEsSUFBeEVDLElBQThDLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUN0RSxJQUFPRyxRQUFRLEdBQXFCSixJQUFJLENBQWpDSSxRQUFRO0lBQUFDLGVBQUEsR0FBcUJMLElBQUksQ0FBdkJNLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxlQUFBLGNBQUcsR0FBRyxHQUFBQSxlQUFBO0VBRWhDLElBQUksQ0FBQ0QsUUFBUSxFQUFFO0lBQ2IsT0FBTyxJQUFJO0VBQ2I7RUFFQSxPQUFPO0lBQ0xHLGdCQUFnQixFQUFFSCxRQUFRO0lBQzFCRSxTQUFTLEVBQVRBO0VBQ0YsQ0FBQztBQUNIO0FBRU8sSUFBTUUsZ0JBQThCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRztFQUM1Q0UsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QmIsR0FBRyxFQUFIQSxHQUFHO0VBQ0hDLEdBQUcsRUFBSEEsR0FBRztFQUNIYSxZQUFZLEVBQUU7SUFDWkwsU0FBUyxFQUFFO0VBQ2IsQ0FBQztFQUNETSxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCLENBQUM7RUFDRGQsV0FBVyxFQUFYQSxXQUFXO0VBQ1hlLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUkxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.enhancedVegetationIndex = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// Calculate enhanced vegetation index
|
|
11
|
+
// Expected to be ordered:
|
|
12
|
+
// red: Landsat 8 band 5
|
|
13
|
+
// green: Landsat 8 band 4
|
|
14
|
+
// blue: Landsat 8 band 2
|
|
15
|
+
//
|
|
16
|
+
// EVI = 2.5 * ((Band 5 – Band 4) / (Band 5 + 6 * Band 4 – 7.5 * Band 2 + 1))
|
|
17
|
+
// https://www.usgs.gov/land-resources/nli/landsat/landsat-enhanced-vegetation-index
|
|
18
|
+
var fs = "float enhanced_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n float band2 = image.b;\n\n float numerator = band5 - band4;\n float denominator = band5 + (6. * band4) - (7.5 * band2) + 1.;\n return 2.5 * (numerator / denominator);\n}\n";
|
|
19
|
+
var enhancedVegetationIndex = exports.enhancedVegetationIndex = {
|
|
20
|
+
name: 'enhanced_vegetation_index',
|
|
21
|
+
fs: fs,
|
|
22
|
+
inject: {
|
|
23
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(enhanced_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImVuaGFuY2VkVmVnZXRhdGlvbkluZGV4IiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvZXZpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIENhbGN1bGF0ZSBlbmhhbmNlZCB2ZWdldGF0aW9uIGluZGV4XG4vLyBFeHBlY3RlZCB0byBiZSBvcmRlcmVkOlxuLy8gcmVkOiBMYW5kc2F0IDggYmFuZCA1XG4vLyBncmVlbjogTGFuZHNhdCA4IGJhbmQgNFxuLy8gYmx1ZTogTGFuZHNhdCA4IGJhbmQgMlxuLy9cbi8vIEVWSSA9IDIuNSAqICgoQmFuZCA1IOKAkyBCYW5kIDQpIC8gKEJhbmQgNSArIDYgKiBCYW5kIDQg4oCTIDcuNSAqIEJhbmQgMiArIDEpKVxuLy8gaHR0cHM6Ly93d3cudXNncy5nb3YvbGFuZC1yZXNvdXJjZXMvbmxpL2xhbmRzYXQvbGFuZHNhdC1lbmhhbmNlZC12ZWdldGF0aW9uLWluZGV4XG5jb25zdCBmcyA9IGBcXFxuZmxvYXQgZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKHZlYzQgaW1hZ2UpIHtcbiAgZmxvYXQgYmFuZDUgPSBpbWFnZS5yO1xuICBmbG9hdCBiYW5kNCA9IGltYWdlLmc7XG4gIGZsb2F0IGJhbmQyID0gaW1hZ2UuYjtcblxuICBmbG9hdCBudW1lcmF0b3IgPSBiYW5kNSAtIGJhbmQ0O1xuICBmbG9hdCBkZW5vbWluYXRvciA9IGJhbmQ1ICsgKDYuICogYmFuZDQpIC0gKDcuNSAqIGJhbmQyKSArIDEuO1xuICByZXR1cm4gMi41ICogKG51bWVyYXRvciAvIGRlbm9taW5hdG9yKTtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBlbmhhbmNlZFZlZ2V0YXRpb25JbmRleDogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleCcsXG4gIGZzLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBpbWFnZSA9IHZlYzQoZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKGltYWdlKSwgMC4sIDAuLCAwLik7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQSxFQUFFLDZSQVVQO0FBRU0sSUFBTUMsdUJBQXFDLEdBQUFDLE9BQUEsQ0FBQUQsdUJBQUEsR0FBRztFQUNuREUsSUFBSSxFQUFFLDJCQUEyQjtFQUNqQ0gsRUFBRSxFQUFGQSxFQUFFO0VBQ0ZJLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.modifiedSoilAdjustedVegetationIndex = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// Calculate modified soil-adjusted vegetation index
|
|
11
|
+
// Expected to be ordered:
|
|
12
|
+
// red: Landsat 8 band 5
|
|
13
|
+
// green: Landsat 8 band 4
|
|
14
|
+
//
|
|
15
|
+
// MSAVI = (2 * Band 5 + 1 – sqrt ((2 * Band 5 + 1)^2 – 8 * (Band 5 – Band 4))) / 2
|
|
16
|
+
// https://www.usgs.gov/land-resources/nli/landsat/landsat-modified-soil-adjusted-vegetation-index
|
|
17
|
+
var fs = "float modified_soil_adjusted_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n\n float to_sqrt = ((2. * band5 + 1.) * (2. * band5 + 1.)) - (8. * (band5 - band4));\n return ((2. * band5) + 1. - sqrt(to_sqrt)) / 2.;\n}\n";
|
|
18
|
+
var modifiedSoilAdjustedVegetationIndex = exports.modifiedSoilAdjustedVegetationIndex = {
|
|
19
|
+
name: 'modified_soil_adjusted_vegetation_index',
|
|
20
|
+
fs: fs,
|
|
21
|
+
inject: {
|
|
22
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(modified_soil_adjusted_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIm1vZGlmaWVkU29pbEFkanVzdGVkVmVnZXRhdGlvbkluZGV4IiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvbXNhdmkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gQ2FsY3VsYXRlIG1vZGlmaWVkIHNvaWwtYWRqdXN0ZWQgdmVnZXRhdGlvbiBpbmRleFxuLy8gRXhwZWN0ZWQgdG8gYmUgb3JkZXJlZDpcbi8vIHJlZDogTGFuZHNhdCA4IGJhbmQgNVxuLy8gZ3JlZW46IExhbmRzYXQgOCBiYW5kIDRcbi8vXG4vLyBNU0FWSSA9ICgyICogQmFuZCA1ICsgMSDigJMgc3FydCAoKDIgKiBCYW5kIDUgKyAxKV4yIOKAkyA4ICogKEJhbmQgNSDigJMgQmFuZCA0KSkpIC8gMlxuLy8gaHR0cHM6Ly93d3cudXNncy5nb3YvbGFuZC1yZXNvdXJjZXMvbmxpL2xhbmRzYXQvbGFuZHNhdC1tb2RpZmllZC1zb2lsLWFkanVzdGVkLXZlZ2V0YXRpb24taW5kZXhcbmNvbnN0IGZzID0gYFxcXG5mbG9hdCBtb2RpZmllZF9zb2lsX2FkanVzdGVkX3ZlZ2V0YXRpb25faW5kZXhfY2FsYyh2ZWM0IGltYWdlKSB7XG4gIGZsb2F0IGJhbmQ1ID0gaW1hZ2UucjtcbiAgZmxvYXQgYmFuZDQgPSBpbWFnZS5nO1xuXG4gIGZsb2F0IHRvX3NxcnQgPSAoKDIuICogYmFuZDUgKyAxLikgKiAoMi4gKiBiYW5kNSArIDEuKSkgLSAoOC4gKiAoYmFuZDUgLSBiYW5kNCkpO1xuICByZXR1cm4gKCgyLiAqIGJhbmQ1KSArIDEuIC0gc3FydCh0b19zcXJ0KSkgLyAyLjtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBtb2RpZmllZFNvaWxBZGp1c3RlZFZlZ2V0YXRpb25JbmRleDogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnbW9kaWZpZWRfc29pbF9hZGp1c3RlZF92ZWdldGF0aW9uX2luZGV4JyxcbiAgZnMsXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfTVVUQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gdmVjNChtb2RpZmllZF9zb2lsX2FkanVzdGVkX3ZlZ2V0YXRpb25faW5kZXhfY2FsYyhpbWFnZSksIDAuLCAwLiwgMC4pO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLEVBQUUseVFBUVA7QUFFTSxJQUFNQyxtQ0FBaUQsR0FBQUMsT0FBQSxDQUFBRCxtQ0FBQSxHQUFHO0VBQy9ERSxJQUFJLEVBQUUseUNBQXlDO0VBQy9DSCxFQUFFLEVBQUZBLEVBQUU7RUFDRkksTUFBTSxFQUFFO0lBQ04sd0JBQXdCO0VBRzFCO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.normalizedDifference = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// Calculate standard normalized difference
|
|
11
|
+
var fs = "float normalized_difference_calc(vec4 image) {\n return ((image.r - image.g) / (image.r + image.g));\n}\n";
|
|
12
|
+
var normalizedDifference = exports.normalizedDifference = {
|
|
13
|
+
name: 'normalized_difference',
|
|
14
|
+
fs: fs,
|
|
15
|
+
inject: {
|
|
16
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(normalized_difference_calc(image), 0., 0., 0.);\n "
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIm5vcm1hbGl6ZWREaWZmZXJlbmNlIiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvbm9ybWFsaXplZC1kaWZmZXJlbmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIENhbGN1bGF0ZSBzdGFuZGFyZCBub3JtYWxpemVkIGRpZmZlcmVuY2VcbmNvbnN0IGZzID0gYFxcXG5mbG9hdCBub3JtYWxpemVkX2RpZmZlcmVuY2VfY2FsYyh2ZWM0IGltYWdlKSB7XG4gIHJldHVybiAoKGltYWdlLnIgLSBpbWFnZS5nKSAvIChpbWFnZS5yICsgaW1hZ2UuZykpO1xufVxuYDtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZWREaWZmZXJlbmNlOiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdub3JtYWxpemVkX2RpZmZlcmVuY2UnLFxuICBmcyxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9NVVRBVEVfQ09MT1InOiBgXG4gICAgaW1hZ2UgPSB2ZWM0KG5vcm1hbGl6ZWRfZGlmZmVyZW5jZV9jYWxjKGltYWdlKSwgMC4sIDAuLCAwLik7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUlBO0FBQ0EsSUFBTUEsRUFBRSwrR0FJUDtBQUVNLElBQU1DLG9CQUFrQyxHQUFBQyxPQUFBLENBQUFELG9CQUFBLEdBQUc7RUFDaERFLElBQUksRUFBRSx1QkFBdUI7RUFDN0JILEVBQUUsRUFBRkEsRUFBRTtFQUNGSSxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.soilAdjustedVegetationIndex = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
// Calculate soil-adjusted vegetation index
|
|
11
|
+
// SAVI = ((Band 5 – Band 4) / (Band 5 + Band 4 + 0.5)) * (1.5).
|
|
12
|
+
// https://www.usgs.gov/land-resources/nli/landsat/landsat-soil-adjusted-vegetation-index
|
|
13
|
+
var fs = "float soil_adjusted_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n\n float numerator = band5 - band4;\n float denominator = (band5 + band4 + 0.5) * 1.5;\n return numerator / denominator;\n}\n";
|
|
14
|
+
var soilAdjustedVegetationIndex = exports.soilAdjustedVegetationIndex = {
|
|
15
|
+
name: 'soil_adjusted_vegetation_index',
|
|
16
|
+
fs: fs,
|
|
17
|
+
inject: {
|
|
18
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(soil_adjusted_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsInNvaWxBZGp1c3RlZFZlZ2V0YXRpb25JbmRleCIsImV4cG9ydHMiLCJuYW1lIiwiaW5qZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC9zcGVjdHJhbC1pbmRpY2VzL3NhdmkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gQ2FsY3VsYXRlIHNvaWwtYWRqdXN0ZWQgdmVnZXRhdGlvbiBpbmRleFxuLy8gU0FWSSA9ICgoQmFuZCA1IOKAkyBCYW5kIDQpIC8gKEJhbmQgNSArIEJhbmQgNCArIDAuNSkpICogKDEuNSkuXG4vLyBodHRwczovL3d3dy51c2dzLmdvdi9sYW5kLXJlc291cmNlcy9ubGkvbGFuZHNhdC9sYW5kc2F0LXNvaWwtYWRqdXN0ZWQtdmVnZXRhdGlvbi1pbmRleFxuY29uc3QgZnMgPSBgXFxcbmZsb2F0IHNvaWxfYWRqdXN0ZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKHZlYzQgaW1hZ2UpIHtcbiAgZmxvYXQgYmFuZDUgPSBpbWFnZS5yO1xuICBmbG9hdCBiYW5kNCA9IGltYWdlLmc7XG5cbiAgZmxvYXQgbnVtZXJhdG9yID0gYmFuZDUgLSBiYW5kNDtcbiAgZmxvYXQgZGVub21pbmF0b3IgPSAoYmFuZDUgKyBiYW5kNCArIDAuNSkgKiAxLjU7XG4gIHJldHVybiBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBzb2lsQWRqdXN0ZWRWZWdldGF0aW9uSW5kZXg6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3NvaWxfYWRqdXN0ZWRfdmVnZXRhdGlvbl9pbmRleCcsXG4gIGZzLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBpbWFnZSA9IHZlYzQoc29pbF9hZGp1c3RlZF92ZWdldGF0aW9uX2luZGV4X2NhbGMoaW1hZ2UpLCAwLiwgMC4sIDAuKTtcbiAgICBgXG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsRUFBRSxrUEFTUDtBQUVNLElBQU1DLDJCQUF5QyxHQUFBQyxPQUFBLENBQUFELDJCQUFBLEdBQUc7RUFDdkRFLElBQUksRUFBRSxnQ0FBZ0M7RUFDdENILEVBQUUsRUFBRkEsRUFBRTtFQUNGSSxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.combineBandsUint = exports.combineBandsInt = exports.combineBandsFloat = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
// SPDX-License-Identifier: MIT
|
|
13
|
+
// Copyright contributors to the kepler.gl project
|
|
14
|
+
|
|
15
|
+
function getUniforms() {
|
|
16
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
+
var imageBands = opts.imageBands;
|
|
18
|
+
if (!imageBands || imageBands.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
var _imageBands = (0, _slicedToArray2["default"])(imageBands, 4),
|
|
22
|
+
bitmapTextureR = _imageBands[0],
|
|
23
|
+
bitmapTextureG = _imageBands[1],
|
|
24
|
+
bitmapTextureB = _imageBands[2],
|
|
25
|
+
bitmapTextureA = _imageBands[3];
|
|
26
|
+
|
|
27
|
+
// return default values to prevent deck.gl validation warnings.
|
|
28
|
+
// Note: all bands must be set for the shadow effect to work as expected.
|
|
29
|
+
return {
|
|
30
|
+
bitmapTextureR: bitmapTextureR || bitmapTextureR,
|
|
31
|
+
bitmapTextureG: bitmapTextureG || bitmapTextureR,
|
|
32
|
+
bitmapTextureB: bitmapTextureB || bitmapTextureR,
|
|
33
|
+
bitmapTextureA: bitmapTextureA || bitmapTextureR
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
var fs1 = "uniform sampler2D bitmapTextureR;\nuniform sampler2D bitmapTextureG;\nuniform sampler2D bitmapTextureB;\nuniform sampler2D bitmapTextureA;\n";
|
|
37
|
+
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureR;\n uniform SAMPLER_TYPE bitmapTextureG;\n uniform SAMPLER_TYPE bitmapTextureB;\n uniform SAMPLER_TYPE bitmapTextureA;\n#else\n uniform sampler2D bitmapTextureR;\n uniform sampler2D bitmapTextureG;\n uniform sampler2D bitmapTextureB;\n uniform sampler2D bitmapTextureA;\n#endif\n";
|
|
38
|
+
var combineBands = {
|
|
39
|
+
name: 'combine-bands',
|
|
40
|
+
fs1: fs1,
|
|
41
|
+
fs2: fs2,
|
|
42
|
+
getUniforms: getUniforms,
|
|
43
|
+
defines: {
|
|
44
|
+
SAMPLER_TYPE: 'sampler2D'
|
|
45
|
+
},
|
|
46
|
+
inject: {
|
|
47
|
+
'fs:DECKGL_CREATE_COLOR': "\n float channel1 = float(texture2D(bitmapTextureR, coord).r);\n float channel2 = float(texture2D(bitmapTextureG, coord).r);\n float channel3 = float(texture2D(bitmapTextureB, coord).r);\n float channel4 = float(texture2D(bitmapTextureA, coord).r);\n\n image = vec4(channel1, channel2, channel3, channel4);\n "
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var combineBandsFloat = exports.combineBandsFloat = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
51
|
+
name: 'combine-bands-float'
|
|
52
|
+
});
|
|
53
|
+
var combineBandsUint = exports.combineBandsUint = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
54
|
+
name: 'combine-bands-uint',
|
|
55
|
+
defines: {
|
|
56
|
+
SAMPLER_TYPE: 'usampler2D'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
var combineBandsInt = exports.combineBandsInt = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
60
|
+
name: 'combine-bands-int',
|
|
61
|
+
defines: {
|
|
62
|
+
SAMPLER_TYPE: 'isampler2D'
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZUJhbmRzIiwiX2ltYWdlQmFuZHMiLCJfc2xpY2VkVG9BcnJheTIiLCJiaXRtYXBUZXh0dXJlUiIsImJpdG1hcFRleHR1cmVHIiwiYml0bWFwVGV4dHVyZUIiLCJiaXRtYXBUZXh0dXJlQSIsImZzMSIsImZzMiIsImNvbWJpbmVCYW5kcyIsIm5hbWUiLCJkZWZpbmVzIiwiU0FNUExFUl9UWVBFIiwiaW5qZWN0IiwiY29tYmluZUJhbmRzRmxvYXQiLCJleHBvcnRzIiwiX29iamVjdFNwcmVhZCIsImNvbWJpbmVCYW5kc1VpbnQiLCJjb21iaW5lQmFuZHNJbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3RleHR1cmUvY29tYmluZS1iYW5kcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgdHlwZSB7VGV4dHVyZX0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5pbXBvcnQge0dldFVuaWZvcm1zT3V0cHV0LCBTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMob3B0czoge2ltYWdlQmFuZHM/OiBUZXh0dXJlW119ID0ge30pOiBHZXRVbmlmb3Jtc091dHB1dCB7XG4gIGNvbnN0IHtpbWFnZUJhbmRzfSA9IG9wdHM7XG5cbiAgaWYgKCFpbWFnZUJhbmRzIHx8IGltYWdlQmFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBbYml0bWFwVGV4dHVyZVIsIGJpdG1hcFRleHR1cmVHLCBiaXRtYXBUZXh0dXJlQiwgYml0bWFwVGV4dHVyZUFdID0gaW1hZ2VCYW5kcztcblxuICAvLyByZXR1cm4gZGVmYXVsdCB2YWx1ZXMgdG8gcHJldmVudCBkZWNrLmdsIHZhbGlkYXRpb24gd2FybmluZ3MuXG4gIC8vIE5vdGU6IGFsbCBiYW5kcyBtdXN0IGJlIHNldCBmb3IgdGhlIHNoYWRvdyBlZmZlY3QgdG8gd29yayBhcyBleHBlY3RlZC5cbiAgcmV0dXJuIHtcbiAgICBiaXRtYXBUZXh0dXJlUjogYml0bWFwVGV4dHVyZVIgfHwgYml0bWFwVGV4dHVyZVIsXG4gICAgYml0bWFwVGV4dHVyZUc6IGJpdG1hcFRleHR1cmVHIHx8IGJpdG1hcFRleHR1cmVSLFxuICAgIGJpdG1hcFRleHR1cmVCOiBiaXRtYXBUZXh0dXJlQiB8fCBiaXRtYXBUZXh0dXJlUixcbiAgICBiaXRtYXBUZXh0dXJlQTogYml0bWFwVGV4dHVyZUEgfHwgYml0bWFwVGV4dHVyZVJcbiAgfTtcbn1cblxuY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUjtcbnVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVHO1xudW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZUI7XG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlQTtcbmA7XG5cbmNvbnN0IGZzMiA9IGBcXFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5wcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVSO1xuICB1bmlmb3JtIFNBTVBMRVJfVFlQRSBiaXRtYXBUZXh0dXJlRztcbiAgdW5pZm9ybSBTQU1QTEVSX1RZUEUgYml0bWFwVGV4dHVyZUI7XG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVBO1xuI2Vsc2VcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZVI7XG4gIHVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVHO1xuICB1bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlQjtcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZUE7XG4jZW5kaWZcbmA7XG5cbmNvbnN0IGNvbWJpbmVCYW5kczogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnY29tYmluZS1iYW5kcycsXG4gIGZzMSxcbiAgZnMyLFxuICBnZXRVbmlmb3JtcyxcbiAgZGVmaW5lczoge1xuICAgIFNBTVBMRVJfVFlQRTogJ3NhbXBsZXIyRCdcbiAgfSxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9DUkVBVEVfQ09MT1InOiBgXG4gICAgZmxvYXQgY2hhbm5lbDEgPSBmbG9hdCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZVIsIGNvb3JkKS5yKTtcbiAgICBmbG9hdCBjaGFubmVsMiA9IGZsb2F0KHRleHR1cmUyRChiaXRtYXBUZXh0dXJlRywgY29vcmQpLnIpO1xuICAgIGZsb2F0IGNoYW5uZWwzID0gZmxvYXQodGV4dHVyZTJEKGJpdG1hcFRleHR1cmVCLCBjb29yZCkucik7XG4gICAgZmxvYXQgY2hhbm5lbDQgPSBmbG9hdCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZUEsIGNvb3JkKS5yKTtcblxuICAgIGltYWdlID0gdmVjNChjaGFubmVsMSwgY2hhbm5lbDIsIGNoYW5uZWwzLCBjaGFubmVsNCk7XG4gICAgYFxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZUJhbmRzRmxvYXQ6IFNoYWRlck1vZHVsZSA9IHtcbiAgLi4uY29tYmluZUJhbmRzLFxuICBuYW1lOiAnY29tYmluZS1iYW5kcy1mbG9hdCdcbn07XG5leHBvcnQgY29uc3QgY29tYmluZUJhbmRzVWludDogU2hhZGVyTW9kdWxlID0ge1xuICAuLi5jb21iaW5lQmFuZHMsXG4gIG5hbWU6ICdjb21iaW5lLWJhbmRzLXVpbnQnLFxuICBkZWZpbmVzOiB7XG4gICAgU0FNUExFUl9UWVBFOiAndXNhbXBsZXIyRCdcbiAgfVxufTtcbmV4cG9ydCBjb25zdCBjb21iaW5lQmFuZHNJbnQ6IFNoYWRlck1vZHVsZSA9IHtcbiAgLi4uY29tYmluZUJhbmRzLFxuICBuYW1lOiAnY29tYmluZS1iYW5kcy1pbnQnLFxuICBkZWZpbmVzOiB7XG4gICAgU0FNUExFUl9UWVBFOiAnaXNhbXBsZXIyRCdcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUtBLFNBQVNBLFdBQVdBLENBQUEsRUFBeUQ7RUFBQSxJQUF4REMsSUFBOEIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBQ3RELElBQU9HLFVBQVUsR0FBSUosSUFBSSxDQUFsQkksVUFBVTtFQUVqQixJQUFJLENBQUNBLFVBQVUsSUFBSUEsVUFBVSxDQUFDRixNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQzFDLE9BQU8sSUFBSTtFQUNiO0VBRUEsSUFBQUcsV0FBQSxPQUFBQyxlQUFBLGFBQXlFRixVQUFVO0lBQTVFRyxjQUFjLEdBQUFGLFdBQUE7SUFBRUcsY0FBYyxHQUFBSCxXQUFBO0lBQUVJLGNBQWMsR0FBQUosV0FBQTtJQUFFSyxjQUFjLEdBQUFMLFdBQUE7O0VBRXJFO0VBQ0E7RUFDQSxPQUFPO0lBQ0xFLGNBQWMsRUFBRUEsY0FBYyxJQUFJQSxjQUFjO0lBQ2hEQyxjQUFjLEVBQUVBLGNBQWMsSUFBSUQsY0FBYztJQUNoREUsY0FBYyxFQUFFQSxjQUFjLElBQUlGLGNBQWM7SUFDaERHLGNBQWMsRUFBRUEsY0FBYyxJQUFJSDtFQUNwQyxDQUFDO0FBQ0g7QUFFQSxJQUFNSSxHQUFHLGlKQUtSO0FBRUQsSUFBTUMsR0FBRyxnYkFnQlI7QUFFRCxJQUFNQyxZQUEwQixHQUFHO0VBQ2pDQyxJQUFJLEVBQUUsZUFBZTtFQUNyQkgsR0FBRyxFQUFIQSxHQUFHO0VBQ0hDLEdBQUcsRUFBSEEsR0FBRztFQUNIYixXQUFXLEVBQVhBLFdBQVc7RUFDWGdCLE9BQU8sRUFBRTtJQUNQQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQztFQUNEQyxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFRMUI7QUFDRixDQUFDO0FBRU0sSUFBTUMsaUJBQStCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBQ3ZDUCxZQUFZO0VBQ2ZDLElBQUksRUFBRTtBQUFxQixFQUM1QjtBQUNNLElBQU1PLGdCQUE4QixHQUFBRixPQUFBLENBQUFFLGdCQUFBLEdBQUFELGFBQUEsQ0FBQUEsYUFBQSxLQUN0Q1AsWUFBWTtFQUNmQyxJQUFJLEVBQUUsb0JBQW9CO0VBQzFCQyxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCO0FBQUMsRUFDRjtBQUNNLElBQU1NLGVBQTZCLEdBQUFILE9BQUEsQ0FBQUcsZUFBQSxHQUFBRixhQUFBLENBQUFBLGFBQUEsS0FDckNQLFlBQVk7RUFDZkMsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QkMsT0FBTyxFQUFFO0lBQ1BDLFlBQVksRUFBRTtFQUNoQjtBQUFDLEVBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.maskUint = exports.maskInt = exports.maskFloat = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
var inf = Math.pow(2, 62);
|
|
11
|
+
function getUniforms() {
|
|
12
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
+
var imageMask = opts.imageMask,
|
|
14
|
+
maskKeepMin = opts.maskKeepMin,
|
|
15
|
+
maskKeepMax = opts.maskKeepMax;
|
|
16
|
+
if (!imageMask) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
bitmapTextureMask: imageMask,
|
|
21
|
+
keepMin: Number.isFinite(maskKeepMin) ? maskKeepMin : -inf,
|
|
22
|
+
keepMax: Number.isFinite(maskKeepMax) ? maskKeepMax : inf
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
var maskUniformTypes = {
|
|
26
|
+
keepMin: 'f32',
|
|
27
|
+
keepMax: 'f32'
|
|
28
|
+
};
|
|
29
|
+
function makeMaskModule(name, samplerType) {
|
|
30
|
+
var blockDecl = "uniform ".concat(name, "Uniforms {\n float keepMin;\n float keepMax;\n} ").concat(name, ";\n");
|
|
31
|
+
var fs1 = "uniform sampler2D bitmapTextureMask;\n".concat(blockDecl, "\n");
|
|
32
|
+
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureMask;\n#else\n uniform sampler2D bitmapTextureMask;\n#endif\n\n".concat(blockDecl, "\n");
|
|
33
|
+
return {
|
|
34
|
+
name: name,
|
|
35
|
+
fs1: fs1,
|
|
36
|
+
fs2: fs2,
|
|
37
|
+
uniformTypes: maskUniformTypes,
|
|
38
|
+
getUniforms: getUniforms,
|
|
39
|
+
defines: {
|
|
40
|
+
SAMPLER_TYPE: samplerType
|
|
41
|
+
},
|
|
42
|
+
inject: {
|
|
43
|
+
'fs:DECKGL_CREATE_COLOR': "\n float mask_value = float(texture(bitmapTextureMask, coord).r);\n if (mask_value < ".concat(name, ".keepMin) discard;\n if (mask_value > ").concat(name, ".keepMax) discard;\n ")
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var maskFloat = exports.maskFloat = makeMaskModule('mask_image_float', 'sampler2D');
|
|
48
|
+
var maskUint = exports.maskUint = makeMaskModule('mask_image_uint', 'usampler2D');
|
|
49
|
+
var maskInt = exports.maskInt = makeMaskModule('mask_image_int', 'isampler2D');
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmYiLCJNYXRoIiwicG93IiwiZ2V0VW5pZm9ybXMiLCJvcHRzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaW1hZ2VNYXNrIiwibWFza0tlZXBNaW4iLCJtYXNrS2VlcE1heCIsImJpdG1hcFRleHR1cmVNYXNrIiwia2VlcE1pbiIsIk51bWJlciIsImlzRmluaXRlIiwia2VlcE1heCIsIm1hc2tVbmlmb3JtVHlwZXMiLCJtYWtlTWFza01vZHVsZSIsIm5hbWUiLCJzYW1wbGVyVHlwZSIsImJsb2NrRGVjbCIsImNvbmNhdCIsImZzMSIsImZzMiIsInVuaWZvcm1UeXBlcyIsImRlZmluZXMiLCJTQU1QTEVSX1RZUEUiLCJpbmplY3QiLCJtYXNrRmxvYXQiLCJleHBvcnRzIiwibWFza1VpbnQiLCJtYXNrSW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC90ZXh0dXJlL21hc2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHR5cGUge1RleHR1cmV9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHtHZXRVbmlmb3Jtc091dHB1dCwgU2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGluZiA9IE1hdGgucG93KDIsIDYyKTtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtpbWFnZU1hc2s/OiBUZXh0dXJlOyBtYXNrS2VlcE1pbj86IG51bWJlcjsgbWFza0tlZXBNYXg/OiBudW1iZXJ9ID0ge31cbik6IEdldFVuaWZvcm1zT3V0cHV0IHtcbiAgY29uc3Qge2ltYWdlTWFzaywgbWFza0tlZXBNaW4sIG1hc2tLZWVwTWF4fSA9IG9wdHM7XG4gIGlmICghaW1hZ2VNYXNrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJpdG1hcFRleHR1cmVNYXNrOiBpbWFnZU1hc2ssXG4gICAga2VlcE1pbjogTnVtYmVyLmlzRmluaXRlKG1hc2tLZWVwTWluKSA/IG1hc2tLZWVwTWluIDogLWluZixcbiAgICBrZWVwTWF4OiBOdW1iZXIuaXNGaW5pdGUobWFza0tlZXBNYXgpID8gbWFza0tlZXBNYXggOiBpbmZcbiAgfTtcbn1cblxuY29uc3QgbWFza1VuaWZvcm1UeXBlcyA9IHtcbiAga2VlcE1pbjogJ2YzMicsXG4gIGtlZXBNYXg6ICdmMzInXG59O1xuXG5mdW5jdGlvbiBtYWtlTWFza01vZHVsZShuYW1lOiBzdHJpbmcsIHNhbXBsZXJUeXBlOiBzdHJpbmcpOiBTaGFkZXJNb2R1bGUge1xuICBjb25zdCBibG9ja0RlY2wgPSBgXFxcbnVuaWZvcm0gJHtuYW1lfVVuaWZvcm1zIHtcbiAgZmxvYXQga2VlcE1pbjtcbiAgZmxvYXQga2VlcE1heDtcbn0gJHtuYW1lfTtcbmA7XG5cbiAgY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlTWFzaztcbiR7YmxvY2tEZWNsfVxuYDtcblxuICBjb25zdCBmczIgPSBgXFxcbnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xucHJlY2lzaW9uIG1lZGl1bXAgaW50O1xucHJlY2lzaW9uIG1lZGl1bXAgdXNhbXBsZXIyRDtcblxuI2lmZGVmIFNBTVBMRVJfVFlQRVxuICB1bmlmb3JtIFNBTVBMRVJfVFlQRSBiaXRtYXBUZXh0dXJlTWFzaztcbiNlbHNlXG4gIHVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVNYXNrO1xuI2VuZGlmXG5cbiR7YmxvY2tEZWNsfVxuYDtcblxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgZnMxLFxuICAgIGZzMixcbiAgICB1bmlmb3JtVHlwZXM6IG1hc2tVbmlmb3JtVHlwZXMsXG4gICAgZ2V0VW5pZm9ybXMsXG4gICAgZGVmaW5lczoge1xuICAgICAgU0FNUExFUl9UWVBFOiBzYW1wbGVyVHlwZVxuICAgIH0sXG4gICAgaW5qZWN0OiB7XG4gICAgICAnZnM6REVDS0dMX0NSRUFURV9DT0xPUic6IGBcbiAgICBmbG9hdCBtYXNrX3ZhbHVlID0gZmxvYXQodGV4dHVyZShiaXRtYXBUZXh0dXJlTWFzaywgY29vcmQpLnIpO1xuICAgIGlmIChtYXNrX3ZhbHVlIDwgJHtuYW1lfS5rZWVwTWluKSBkaXNjYXJkO1xuICAgIGlmIChtYXNrX3ZhbHVlID4gJHtuYW1lfS5rZWVwTWF4KSBkaXNjYXJkO1xuICAgIGBcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBtYXNrRmxvYXQ6IFNoYWRlck1vZHVsZSA9IG1ha2VNYXNrTW9kdWxlKCdtYXNrX2ltYWdlX2Zsb2F0JywgJ3NhbXBsZXIyRCcpO1xuZXhwb3J0IGNvbnN0IG1hc2tVaW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV91aW50JywgJ3VzYW1wbGVyMkQnKTtcbmV4cG9ydCBjb25zdCBtYXNrSW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV9pbnQnLCAnaXNhbXBsZXIyRCcpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUtBLElBQU1BLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUUzQixTQUFTQyxXQUFXQSxDQUFBLEVBRUM7RUFBQSxJQURuQkMsSUFBdUUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBRTVFLElBQU9HLFNBQVMsR0FBOEJKLElBQUksQ0FBM0NJLFNBQVM7SUFBRUMsV0FBVyxHQUFpQkwsSUFBSSxDQUFoQ0ssV0FBVztJQUFFQyxXQUFXLEdBQUlOLElBQUksQ0FBbkJNLFdBQVc7RUFDMUMsSUFBSSxDQUFDRixTQUFTLEVBQUU7SUFDZCxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEcsaUJBQWlCLEVBQUVILFNBQVM7SUFDNUJJLE9BQU8sRUFBRUMsTUFBTSxDQUFDQyxRQUFRLENBQUNMLFdBQVcsQ0FBQyxHQUFHQSxXQUFXLEdBQUcsQ0FBQ1QsR0FBRztJQUMxRGUsT0FBTyxFQUFFRixNQUFNLENBQUNDLFFBQVEsQ0FBQ0osV0FBVyxDQUFDLEdBQUdBLFdBQVcsR0FBR1Y7RUFDeEQsQ0FBQztBQUNIO0FBRUEsSUFBTWdCLGdCQUFnQixHQUFHO0VBQ3ZCSixPQUFPLEVBQUUsS0FBSztFQUNkRyxPQUFPLEVBQUU7QUFDWCxDQUFDO0FBRUQsU0FBU0UsY0FBY0EsQ0FBQ0MsSUFBWSxFQUFFQyxXQUFtQixFQUFnQjtFQUN2RSxJQUFNQyxTQUFTLGNBQUFDLE1BQUEsQ0FDUEgsSUFBSSx3REFBQUcsTUFBQSxDQUdWSCxJQUFJLFFBQ1A7RUFFQyxJQUFNSSxHQUFHLDRDQUFBRCxNQUFBLENBRVRELFNBQVMsT0FDVjtFQUVDLElBQU1HLEdBQUcsa05BQUFGLE1BQUEsQ0FXVEQsU0FBUyxPQUNWO0VBRUMsT0FBTztJQUNMRixJQUFJLEVBQUpBLElBQUk7SUFDSkksR0FBRyxFQUFIQSxHQUFHO0lBQ0hDLEdBQUcsRUFBSEEsR0FBRztJQUNIQyxZQUFZLEVBQUVSLGdCQUFnQjtJQUM5QmIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hzQixPQUFPLEVBQUU7TUFDUEMsWUFBWSxFQUFFUDtJQUNoQixDQUFDO0lBQ0RRLE1BQU0sRUFBRTtNQUNOLHdCQUF3QixnR0FBQU4sTUFBQSxDQUVQSCxJQUFJLCtDQUFBRyxNQUFBLENBQ0pILElBQUk7SUFFdkI7RUFDRixDQUFDO0FBQ0g7QUFFTyxJQUFNVSxTQUF1QixHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBR1gsY0FBYyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztBQUMvRSxJQUFNYSxRQUFzQixHQUFBRCxPQUFBLENBQUFDLFFBQUEsR0FBR2IsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQztBQUM5RSxJQUFNYyxPQUFxQixHQUFBRixPQUFBLENBQUFFLE9BQUEsR0FBR2QsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.constructPermutationMatrix = constructPermutationMatrix;
|
|
7
|
+
exports.reorderBands = void 0;
|
|
8
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
+
// SPDX-License-Identifier: MIT
|
|
12
|
+
// Copyright contributors to the kepler.gl project
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Reorder image bands on GPU
|
|
16
|
+
* Uses a permutation matrix to reorder a vec4
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
var fs = "uniform reorder_bandsUniforms {\n mat4 ordering;\n} reorder_bands;\n\nvec4 reorder_image(vec4 image, mat4 ordering) {\n return image.rgba * ordering;\n}\n";
|
|
20
|
+
function getUniforms() {
|
|
21
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
+
var ordering = opts.ordering;
|
|
23
|
+
if (!ordering) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
ordering: constructPermutationMatrix(ordering)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Construct permutation matrix from vector
|
|
33
|
+
*
|
|
34
|
+
* @param vector Vector describing how to reorder bands
|
|
35
|
+
*
|
|
36
|
+
* @return a mat4 permutation matrix representing how to reorder bands
|
|
37
|
+
*/
|
|
38
|
+
function constructPermutationMatrix(vector) {
|
|
39
|
+
var mat4 = Array(16).fill(0);
|
|
40
|
+
var row = 0;
|
|
41
|
+
var _iterator = _createForOfIteratorHelper(vector),
|
|
42
|
+
_step;
|
|
43
|
+
try {
|
|
44
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45
|
+
var index = _step.value;
|
|
46
|
+
mat4[row * 4 + index] = 1;
|
|
47
|
+
row += 1;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// If input vector wasn't of length 4, add identity in final places
|
|
51
|
+
} catch (err) {
|
|
52
|
+
_iterator.e(err);
|
|
53
|
+
} finally {
|
|
54
|
+
_iterator.f();
|
|
55
|
+
}
|
|
56
|
+
for (var r = row; r < 4; r++) {
|
|
57
|
+
mat4[r * 4 + r] = 1;
|
|
58
|
+
}
|
|
59
|
+
return mat4;
|
|
60
|
+
}
|
|
61
|
+
var reorderBands = exports.reorderBands = {
|
|
62
|
+
name: 'reorder_bands',
|
|
63
|
+
fs: fs,
|
|
64
|
+
uniformTypes: {
|
|
65
|
+
ordering: 'mat4x4<f32>'
|
|
66
|
+
},
|
|
67
|
+
getUniforms: getUniforms,
|
|
68
|
+
inject: {
|
|
69
|
+
'fs:DECKGL_MUTATE_COLOR': "\n image = reorder_image(image, reorder_bands.ordering);\n "
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm9yZGVyaW5nIiwiY29uc3RydWN0UGVybXV0YXRpb25NYXRyaXgiLCJ2ZWN0b3IiLCJtYXQ0IiwiQXJyYXkiLCJmaWxsIiwicm93IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImluZGV4IiwidmFsdWUiLCJlcnIiLCJlIiwiZiIsInIiLCJyZW9yZGVyQmFuZHMiLCJleHBvcnRzIiwibmFtZSIsInVuaWZvcm1UeXBlcyIsImluamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yYXN0ZXIvd2ViZ2wvdGV4dHVyZS9yZW9yZGVyLWJhbmRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlLCBHZXRVbmlmb3Jtc091dHB1dH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFJlb3JkZXIgaW1hZ2UgYmFuZHMgb24gR1BVXG4gKiBVc2VzIGEgcGVybXV0YXRpb24gbWF0cml4IHRvIHJlb3JkZXIgYSB2ZWM0XG4gKi9cblxuY29uc3QgZnMgPSBgXFxcbnVuaWZvcm0gcmVvcmRlcl9iYW5kc1VuaWZvcm1zIHtcbiAgbWF0NCBvcmRlcmluZztcbn0gcmVvcmRlcl9iYW5kcztcblxudmVjNCByZW9yZGVyX2ltYWdlKHZlYzQgaW1hZ2UsIG1hdDQgb3JkZXJpbmcpIHtcbiAgcmV0dXJuIGltYWdlLnJnYmEgKiBvcmRlcmluZztcbn1cbmA7XG5cbmZ1bmN0aW9uIGdldFVuaWZvcm1zKG9wdHM6IHtvcmRlcmluZz86IG51bWJlcltdfSA9IHt9KTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7b3JkZXJpbmd9ID0gb3B0cztcblxuICBpZiAoIW9yZGVyaW5nKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG9yZGVyaW5nOiBjb25zdHJ1Y3RQZXJtdXRhdGlvbk1hdHJpeChvcmRlcmluZylcbiAgfTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgcGVybXV0YXRpb24gbWF0cml4IGZyb20gdmVjdG9yXG4gKlxuICogQHBhcmFtIHZlY3RvciAgVmVjdG9yIGRlc2NyaWJpbmcgaG93IHRvIHJlb3JkZXIgYmFuZHNcbiAqXG4gKiBAcmV0dXJuIGEgbWF0NCBwZXJtdXRhdGlvbiBtYXRyaXggcmVwcmVzZW50aW5nIGhvdyB0byByZW9yZGVyIGJhbmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RQZXJtdXRhdGlvbk1hdHJpeCh2ZWN0b3I6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICBjb25zdCBtYXQ0ID0gQXJyYXkoMTYpLmZpbGwoMCk7XG4gIGxldCByb3cgPSAwO1xuICBmb3IgKGNvbnN0IGluZGV4IG9mIHZlY3Rvcikge1xuICAgIG1hdDRbcm93ICogNCArIGluZGV4XSA9IDE7XG4gICAgcm93ICs9IDE7XG4gIH1cblxuICAvLyBJZiBpbnB1dCB2ZWN0b3Igd2Fzbid0IG9mIGxlbmd0aCA0LCBhZGQgaWRlbnRpdHkgaW4gZmluYWwgcGxhY2VzXG4gIGZvciAobGV0IHIgPSByb3c7IHIgPCA0OyByKyspIHtcbiAgICBtYXQ0W3IgKiA0ICsgcl0gPSAxO1xuICB9XG5cbiAgcmV0dXJuIG1hdDQ7XG59XG5cbmV4cG9ydCBjb25zdCByZW9yZGVyQmFuZHM6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3Jlb3JkZXJfYmFuZHMnLFxuICBmcyxcbiAgdW5pZm9ybVR5cGVzOiB7XG4gICAgb3JkZXJpbmc6ICdtYXQ0eDQ8ZjMyPidcbiAgfSxcbiAgZ2V0VW5pZm9ybXMsXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfTVVUQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gcmVvcmRlcl9pbWFnZShpbWFnZSwgcmVvcmRlcl9iYW5kcy5vcmRlcmluZyk7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFNQSxFQUFFLGlLQVFQO0FBRUQsU0FBU0MsV0FBV0EsQ0FBQSxFQUFzRDtFQUFBLElBQXJEQyxJQUEyQixHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDLENBQUM7RUFDbkQsSUFBT0csUUFBUSxHQUFJSixJQUFJLENBQWhCSSxRQUFRO0VBRWYsSUFBSSxDQUFDQSxRQUFRLEVBQUU7SUFDYixPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEEsUUFBUSxFQUFFQywwQkFBMEIsQ0FBQ0QsUUFBUTtFQUMvQyxDQUFDO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQywwQkFBMEJBLENBQUNDLE1BQWdCLEVBQVk7RUFDckUsSUFBTUMsSUFBSSxHQUFHQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDOUIsSUFBSUMsR0FBRyxHQUFHLENBQUM7RUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBQ1FOLE1BQU07SUFBQU8sS0FBQTtFQUFBO0lBQTFCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBQyxJQUFBLEdBQTRCO01BQUEsSUFBakJDLEtBQUssR0FBQUosS0FBQSxDQUFBSyxLQUFBO01BQ2RYLElBQUksQ0FBQ0csR0FBRyxHQUFHLENBQUMsR0FBR08sS0FBSyxDQUFDLEdBQUcsQ0FBQztNQUN6QlAsR0FBRyxJQUFJLENBQUM7SUFDVjs7SUFFQTtFQUFBLFNBQUFTLEdBQUE7SUFBQVIsU0FBQSxDQUFBUyxDQUFBLENBQUFELEdBQUE7RUFBQTtJQUFBUixTQUFBLENBQUFVLENBQUE7RUFBQTtFQUNBLEtBQUssSUFBSUMsQ0FBQyxHQUFHWixHQUFHLEVBQUVZLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO0lBQzVCZixJQUFJLENBQUNlLENBQUMsR0FBRyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxHQUFHLENBQUM7RUFDckI7RUFFQSxPQUFPZixJQUFJO0FBQ2I7QUFFTyxJQUFNZ0IsWUFBMEIsR0FBQUMsT0FBQSxDQUFBRCxZQUFBLEdBQUc7RUFDeENFLElBQUksRUFBRSxlQUFlO0VBQ3JCM0IsRUFBRSxFQUFGQSxFQUFFO0VBQ0Y0QixZQUFZLEVBQUU7SUFDWnRCLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREwsV0FBVyxFQUFYQSxXQUFXO0VBQ1g0QixNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.rgbaImage = void 0;
|
|
7
|
+
// SPDX-License-Identifier: MIT
|
|
8
|
+
// Copyright contributors to the kepler.gl project
|
|
9
|
+
|
|
10
|
+
function getUniforms() {
|
|
11
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
+
var imageRgba = opts.imageRgba;
|
|
13
|
+
if (!imageRgba) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
bitmapTextureRgba: imageRgba
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var fs1 = "uniform sampler2D bitmapTextureRgba;\n";
|
|
21
|
+
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureRgba;\n#else\n uniform sampler2D bitmapTextureRgba;\n#endif\n";
|
|
22
|
+
var rgbaImage = exports.rgbaImage = {
|
|
23
|
+
name: 'rgba-image',
|
|
24
|
+
fs1: fs1,
|
|
25
|
+
fs2: fs2,
|
|
26
|
+
getUniforms: getUniforms,
|
|
27
|
+
defines: {
|
|
28
|
+
SAMPLER_TYPE: 'sampler2D'
|
|
29
|
+
},
|
|
30
|
+
inject: {
|
|
31
|
+
'fs:DECKGL_CREATE_COLOR': "\n image = vec4(texture2D(bitmapTextureRgba, coord));\n if (image.a < 0.5) {\n discard;\n }\n "
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZVJnYmEiLCJiaXRtYXBUZXh0dXJlUmdiYSIsImZzMSIsImZzMiIsInJnYmFJbWFnZSIsImV4cG9ydHMiLCJuYW1lIiwiZGVmaW5lcyIsIlNBTVBMRVJfVFlQRSIsImluamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yYXN0ZXIvd2ViZ2wvdGV4dHVyZS9yZ2JhLWltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5mdW5jdGlvbiBnZXRVbmlmb3JtcyhvcHRzOiB7aW1hZ2VSZ2JhPzogVGV4dHVyZX0gPSB7fSk6IEdldFVuaWZvcm1zT3V0cHV0IHtcbiAgY29uc3Qge2ltYWdlUmdiYX0gPSBvcHRzO1xuXG4gIGlmICghaW1hZ2VSZ2JhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJpdG1hcFRleHR1cmVSZ2JhOiBpbWFnZVJnYmFcbiAgfTtcbn1cblxuY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUmdiYTtcbmA7XG5cbmNvbnN0IGZzMiA9IGBcXFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5wcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVSZ2JhO1xuI2Vsc2VcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZVJnYmE7XG4jZW5kaWZcbmA7XG5cbmV4cG9ydCBjb25zdCByZ2JhSW1hZ2U6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3JnYmEtaW1hZ2UnLFxuICBmczEsXG4gIGZzMixcbiAgZ2V0VW5pZm9ybXMsXG4gIGRlZmluZXM6IHtcbiAgICBTQU1QTEVSX1RZUEU6ICdzYW1wbGVyMkQnXG4gIH0sXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfQ1JFQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gdmVjNCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZVJnYmEsIGNvb3JkKSk7XG4gICAgaWYgKGltYWdlLmEgPCAwLjUpIHtcbiAgICAgIGRpc2NhcmQ7XG4gICAgfVxuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFLQSxTQUFTQSxXQUFXQSxDQUFBLEVBQXNEO0VBQUEsSUFBckRDLElBQTJCLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUNuRCxJQUFPRyxTQUFTLEdBQUlKLElBQUksQ0FBakJJLFNBQVM7RUFFaEIsSUFBSSxDQUFDQSxTQUFTLEVBQUU7SUFDZCxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEMsaUJBQWlCLEVBQUVEO0VBQ3JCLENBQUM7QUFDSDtBQUVBLElBQU1FLEdBQUcsMkNBRVI7QUFFRCxJQUFNQyxHQUFHLCtNQVVSO0FBRU0sSUFBTUMsU0FBdUIsR0FBQUMsT0FBQSxDQUFBRCxTQUFBLEdBQUc7RUFDckNFLElBQUksRUFBRSxZQUFZO0VBQ2xCSixHQUFHLEVBQUhBLEdBQUc7RUFDSEMsR0FBRyxFQUFIQSxHQUFHO0VBQ0hSLFdBQVcsRUFBWEEsV0FBVztFQUNYWSxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCLENBQUM7RUFDREMsTUFBTSxFQUFFO0lBQ04sd0JBQXdCO0VBTTFCO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgdHlwZSB7VGV4dHVyZX0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhZGVyTW9kdWxlIHtcbiAgLyoqIEEgdW5pcXVlIG5hbWUgZm9yIHRoaXMgc2hhZGVyIG1vZHVsZSAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEEgZnJhZ21lbnQgc2hhZGVyIHRvIGJlIHVzZWQgaW4gYm90aCBXZWJHTDEgYW5kIFdlYkdMMiBlbnZpcm9ubWVudHMgKi9cbiAgZnM/OiBzdHJpbmc7XG5cbiAgLyoqIEEgZnJhZ21lbnQgc2hhZGVyIHRvIGJlIHVzZWQgb25seSBpbiBXZWJHTDEgZW52aXJvbm1lbnRzICovXG4gIGZzMT86IHN0cmluZztcblxuICAvKiogQSBmcmFnbWVudCBzaGFkZXIgdG8gYmUgdXNlZCBvbmx5IGluIFdlYkdMMiBlbnZpcm9ubWVudHMgKi9cbiAgZnMyPzogc3RyaW5nO1xuXG4gIC8qKiBBIHZlcnRleCBzaGFkZXIgdG8gaW5qZWN0ICovXG4gIHZzPzogc3RyaW5nO1xuICB1bmlmb3Jtcz86IFJlY29yZDxzdHJpbmcsIFVuaWZvcm1UeXBlPjtcbiAgZ2V0VW5pZm9ybXM/OiAob3B0czogb2JqZWN0KSA9PiBHZXRVbmlmb3Jtc091dHB1dDtcblxuICAvKiogbHVtYS5nbCA5IFVCTyB1bmlmb3JtIHR5cGUgZGVjbGFyYXRpb25zIChlLmcuIHsgb3BhY2l0eTogJ2YzMicgfSkgKi9cbiAgdW5pZm9ybVR5cGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKiogT3B0aW9uYWwgY29uc3RhbnRzIHRvIGRlZmluZSB3aGVuIGluamVjdGluZyAqL1xuICBkZWZpbmVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgaW5qZWN0PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZGVwZW5kZW5jaWVzPzogU2hhZGVyTW9kdWxlW107XG4gIGRlcHJlY2F0aW9ucz86IHt0eXBlOiBzdHJpbmc7IG9sZDogc3RyaW5nOyBuZXc6IHN0cmluZ31bXTtcbn1cblxuZXhwb3J0IHR5cGUgVW5pZm9ybVR5cGUgPSBudW1iZXIgfCBudW1iZXJbXSB8IFRleHR1cmUgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIEdldFVuaWZvcm1zT3V0cHV0ID0gUmVjb3JkPHN0cmluZywgVW5pZm9ybVR5cGU+IHwgbnVsbDtcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|