@deck.gl/experimental-layers
Version:
Experimental layers for deck.gl
9 lines (8 loc) • 2.48 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = "\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D uBitmap0;\nuniform sampler2D uBitmap1;\nuniform sampler2D uBitmap2;\nuniform sampler2D uBitmap3;\nuniform sampler2D uBitmap4;\nuniform sampler2D uBitmap5;\nuniform sampler2D uBitmap6;\nuniform sampler2D uBitmap7;\nuniform sampler2D uBitmap8;\nuniform sampler2D uBitmap9;\nuniform sampler2D uBitmap10;\n\nvarying vec2 vTexCoord;\nvarying float vBitmapIndex;\nvarying vec4 vPickingColor;\nvarying vec4 vInstanceColor;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor / 255.0;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor / 255.0, vec4(color, 1.0), alpha);\n}\n\nvoid main(void) {\n vec4 bitmapColor;\n\n if (vBitmapIndex == float(1)) {\n bitmapColor = texture2D(uBitmap1, vTexCoord);\n } else if (vBitmapIndex == float(2)) {\n bitmapColor = texture2D(uBitmap2, vTexCoord);\n } else if (vBitmapIndex == float(3)) {\n bitmapColor = texture2D(uBitmap3, vTexCoord);\n } else if (vBitmapIndex == float(4)) {\n bitmapColor = texture2D(uBitmap4, vTexCoord);\n } else if (vBitmapIndex == float(5)) {\n bitmapColor = texture2D(uBitmap5, vTexCoord);\n } else if (vBitmapIndex == float(6)) {\n bitmapColor = texture2D(uBitmap6, vTexCoord);\n } else if (vBitmapIndex == float(7)) {\n bitmapColor = texture2D(uBitmap7, vTexCoord);\n } else if (vBitmapIndex == float(8)) {\n bitmapColor = texture2D(uBitmap8, vTexCoord);\n } else if (vBitmapIndex == float(9)) {\n bitmapColor = texture2D(uBitmap9, vTexCoord);\n } else if (vBitmapIndex == float(10)) {\n bitmapColor = texture2D(uBitmap10, vTexCoord);\n } else {\n bitmapColor = texture2D(uBitmap0, vTexCoord);\n }\n\n if (bitmapColor == vec4(0., 0., 0., 1.)) {\n discard;\n }\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n}\n";
exports.default = _default;
//# sourceMappingURL=bitmap-layer-fragment.js.map