kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
50 lines (48 loc) • 6.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.maskUint = exports.maskInt = exports.maskFloat = void 0;
// SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var inf = Math.pow(2, 62);
function getUniforms() {
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var imageMask = opts.imageMask,
maskKeepMin = opts.maskKeepMin,
maskKeepMax = opts.maskKeepMax;
if (!imageMask) {
return null;
}
return {
bitmapTextureMask: imageMask,
keepMin: Number.isFinite(maskKeepMin) ? maskKeepMin : -inf,
keepMax: Number.isFinite(maskKeepMax) ? maskKeepMax : inf
};
}
var maskUniformTypes = {
keepMin: 'f32',
keepMax: 'f32'
};
function makeMaskModule(name, samplerType) {
var blockDecl = "uniform ".concat(name, "Uniforms {\n float keepMin;\n float keepMax;\n} ").concat(name, ";\n");
var fs1 = "uniform sampler2D bitmapTextureMask;\n".concat(blockDecl, "\n");
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");
return {
name: name,
fs1: fs1,
fs2: fs2,
uniformTypes: maskUniformTypes,
getUniforms: getUniforms,
defines: {
SAMPLER_TYPE: samplerType
},
inject: {
'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 ")
}
};
}
var maskFloat = exports.maskFloat = makeMaskModule('mask_image_float', 'sampler2D');
var maskUint = exports.maskUint = makeMaskModule('mask_image_uint', 'usampler2D');
var maskInt = exports.maskInt = makeMaskModule('mask_image_int', 'isampler2D');
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmYiLCJNYXRoIiwicG93IiwiZ2V0VW5pZm9ybXMiLCJvcHRzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaW1hZ2VNYXNrIiwibWFza0tlZXBNaW4iLCJtYXNrS2VlcE1heCIsImJpdG1hcFRleHR1cmVNYXNrIiwia2VlcE1pbiIsIk51bWJlciIsImlzRmluaXRlIiwia2VlcE1heCIsIm1hc2tVbmlmb3JtVHlwZXMiLCJtYWtlTWFza01vZHVsZSIsIm5hbWUiLCJzYW1wbGVyVHlwZSIsImJsb2NrRGVjbCIsImNvbmNhdCIsImZzMSIsImZzMiIsInVuaWZvcm1UeXBlcyIsImRlZmluZXMiLCJTQU1QTEVSX1RZUEUiLCJpbmplY3QiLCJtYXNrRmxvYXQiLCJleHBvcnRzIiwibWFza1VpbnQiLCJtYXNrSW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC90ZXh0dXJlL21hc2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHR5cGUge1RleHR1cmV9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHtHZXRVbmlmb3Jtc091dHB1dCwgU2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGluZiA9IE1hdGgucG93KDIsIDYyKTtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtpbWFnZU1hc2s/OiBUZXh0dXJlOyBtYXNrS2VlcE1pbj86IG51bWJlcjsgbWFza0tlZXBNYXg/OiBudW1iZXJ9ID0ge31cbik6IEdldFVuaWZvcm1zT3V0cHV0IHtcbiAgY29uc3Qge2ltYWdlTWFzaywgbWFza0tlZXBNaW4sIG1hc2tLZWVwTWF4fSA9IG9wdHM7XG4gIGlmICghaW1hZ2VNYXNrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJpdG1hcFRleHR1cmVNYXNrOiBpbWFnZU1hc2ssXG4gICAga2VlcE1pbjogTnVtYmVyLmlzRmluaXRlKG1hc2tLZWVwTWluKSA/IG1hc2tLZWVwTWluIDogLWluZixcbiAgICBrZWVwTWF4OiBOdW1iZXIuaXNGaW5pdGUobWFza0tlZXBNYXgpID8gbWFza0tlZXBNYXggOiBpbmZcbiAgfTtcbn1cblxuY29uc3QgbWFza1VuaWZvcm1UeXBlcyA9IHtcbiAga2VlcE1pbjogJ2YzMicsXG4gIGtlZXBNYXg6ICdmMzInXG59O1xuXG5mdW5jdGlvbiBtYWtlTWFza01vZHVsZShuYW1lOiBzdHJpbmcsIHNhbXBsZXJUeXBlOiBzdHJpbmcpOiBTaGFkZXJNb2R1bGUge1xuICBjb25zdCBibG9ja0RlY2wgPSBgXFxcbnVuaWZvcm0gJHtuYW1lfVVuaWZvcm1zIHtcbiAgZmxvYXQga2VlcE1pbjtcbiAgZmxvYXQga2VlcE1heDtcbn0gJHtuYW1lfTtcbmA7XG5cbiAgY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlTWFzaztcbiR7YmxvY2tEZWNsfVxuYDtcblxuICBjb25zdCBmczIgPSBgXFxcbnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xucHJlY2lzaW9uIG1lZGl1bXAgaW50O1xucHJlY2lzaW9uIG1lZGl1bXAgdXNhbXBsZXIyRDtcblxuI2lmZGVmIFNBTVBMRVJfVFlQRVxuICB1bmlmb3JtIFNBTVBMRVJfVFlQRSBiaXRtYXBUZXh0dXJlTWFzaztcbiNlbHNlXG4gIHVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVNYXNrO1xuI2VuZGlmXG5cbiR7YmxvY2tEZWNsfVxuYDtcblxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgZnMxLFxuICAgIGZzMixcbiAgICB1bmlmb3JtVHlwZXM6IG1hc2tVbmlmb3JtVHlwZXMsXG4gICAgZ2V0VW5pZm9ybXMsXG4gICAgZGVmaW5lczoge1xuICAgICAgU0FNUExFUl9UWVBFOiBzYW1wbGVyVHlwZVxuICAgIH0sXG4gICAgaW5qZWN0OiB7XG4gICAgICAnZnM6REVDS0dMX0NSRUFURV9DT0xPUic6IGBcbiAgICBmbG9hdCBtYXNrX3ZhbHVlID0gZmxvYXQodGV4dHVyZShiaXRtYXBUZXh0dXJlTWFzaywgY29vcmQpLnIpO1xuICAgIGlmIChtYXNrX3ZhbHVlIDwgJHtuYW1lfS5rZWVwTWluKSBkaXNjYXJkO1xuICAgIGlmIChtYXNrX3ZhbHVlID4gJHtuYW1lfS5rZWVwTWF4KSBkaXNjYXJkO1xuICAgIGBcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBtYXNrRmxvYXQ6IFNoYWRlck1vZHVsZSA9IG1ha2VNYXNrTW9kdWxlKCdtYXNrX2ltYWdlX2Zsb2F0JywgJ3NhbXBsZXIyRCcpO1xuZXhwb3J0IGNvbnN0IG1hc2tVaW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV91aW50JywgJ3VzYW1wbGVyMkQnKTtcbmV4cG9ydCBjb25zdCBtYXNrSW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV9pbnQnLCAnaXNhbXBsZXIyRCcpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUtBLElBQU1BLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUUzQixTQUFTQyxXQUFXQSxDQUFBLEVBRUM7RUFBQSxJQURuQkMsSUFBdUUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBRTVFLElBQU9HLFNBQVMsR0FBOEJKLElBQUksQ0FBM0NJLFNBQVM7SUFBRUMsV0FBVyxHQUFpQkwsSUFBSSxDQUFoQ0ssV0FBVztJQUFFQyxXQUFXLEdBQUlOLElBQUksQ0FBbkJNLFdBQVc7RUFDMUMsSUFBSSxDQUFDRixTQUFTLEVBQUU7SUFDZCxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEcsaUJBQWlCLEVBQUVILFNBQVM7SUFDNUJJLE9BQU8sRUFBRUMsTUFBTSxDQUFDQyxRQUFRLENBQUNMLFdBQVcsQ0FBQyxHQUFHQSxXQUFXLEdBQUcsQ0FBQ1QsR0FBRztJQUMxRGUsT0FBTyxFQUFFRixNQUFNLENBQUNDLFFBQVEsQ0FBQ0osV0FBVyxDQUFDLEdBQUdBLFdBQVcsR0FBR1Y7RUFDeEQsQ0FBQztBQUNIO0FBRUEsSUFBTWdCLGdCQUFnQixHQUFHO0VBQ3ZCSixPQUFPLEVBQUUsS0FBSztFQUNkRyxPQUFPLEVBQUU7QUFDWCxDQUFDO0FBRUQsU0FBU0UsY0FBY0EsQ0FBQ0MsSUFBWSxFQUFFQyxXQUFtQixFQUFnQjtFQUN2RSxJQUFNQyxTQUFTLGNBQUFDLE1BQUEsQ0FDUEgsSUFBSSx3REFBQUcsTUFBQSxDQUdWSCxJQUFJLFFBQ1A7RUFFQyxJQUFNSSxHQUFHLDRDQUFBRCxNQUFBLENBRVRELFNBQVMsT0FDVjtFQUVDLElBQU1HLEdBQUcsa05BQUFGLE1BQUEsQ0FXVEQsU0FBUyxPQUNWO0VBRUMsT0FBTztJQUNMRixJQUFJLEVBQUpBLElBQUk7SUFDSkksR0FBRyxFQUFIQSxHQUFHO0lBQ0hDLEdBQUcsRUFBSEEsR0FBRztJQUNIQyxZQUFZLEVBQUVSLGdCQUFnQjtJQUM5QmIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hzQixPQUFPLEVBQUU7TUFDUEMsWUFBWSxFQUFFUDtJQUNoQixDQUFDO0lBQ0RRLE1BQU0sRUFBRTtNQUNOLHdCQUF3QixnR0FBQU4sTUFBQSxDQUVQSCxJQUFJLCtDQUFBRyxNQUFBLENBQ0pILElBQUk7SUFFdkI7RUFDRixDQUFDO0FBQ0g7QUFFTyxJQUFNVSxTQUF1QixHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBR1gsY0FBYyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztBQUMvRSxJQUFNYSxRQUFzQixHQUFBRCxPQUFBLENBQUFDLFFBQUEsR0FBR2IsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQztBQUM5RSxJQUFNYyxPQUFxQixHQUFBRixPQUFBLENBQUFFLE9BQUEsR0FBR2QsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==