UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

10 lines (9 loc) 4.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project var _default = exports["default"] = "#define SHADER_NAME raster-mesh-layer-vs\n\n// Scale the model\nuniform float sizeScale;\nuniform bool composeModelMatrix;\n\n// Primitive attributes\nattribute vec3 positions;\nattribute vec3 normals;\nattribute vec3 colors;\nattribute vec2 texCoords;\n\n// Instance attributes\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute mat3 instanceModelMatrix;\nattribute vec3 instanceTranslation;\n\n// Outputs to fragment shader\nvarying vec2 vTexCoord;\nvarying vec3 cameraPosition;\nvarying vec3 normals_commonspace;\nvarying vec4 position_commonspace;\nvarying vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFzdGVyL3Jhc3Rlci1tZXNoLWxheWVyL3Jhc3Rlci1tZXNoLWxheWVyLXdlYmdsMS52cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5leHBvcnQgZGVmYXVsdCBgXFxcbiNkZWZpbmUgU0hBREVSX05BTUUgcmFzdGVyLW1lc2gtbGF5ZXItdnNcblxuLy8gU2NhbGUgdGhlIG1vZGVsXG51bmlmb3JtIGZsb2F0IHNpemVTY2FsZTtcbnVuaWZvcm0gYm9vbCBjb21wb3NlTW9kZWxNYXRyaXg7XG5cbi8vIFByaW1pdGl2ZSBhdHRyaWJ1dGVzXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbnM7XG5hdHRyaWJ1dGUgdmVjMyBub3JtYWxzO1xuYXR0cmlidXRlIHZlYzMgY29sb3JzO1xuYXR0cmlidXRlIHZlYzIgdGV4Q29vcmRzO1xuXG4vLyBJbnN0YW5jZSBhdHRyaWJ1dGVzXG5hdHRyaWJ1dGUgdmVjMyBpbnN0YW5jZVBvc2l0aW9ucztcbmF0dHJpYnV0ZSB2ZWMzIGluc3RhbmNlUG9zaXRpb25zNjRMb3c7XG5hdHRyaWJ1dGUgdmVjNCBpbnN0YW5jZUNvbG9ycztcbmF0dHJpYnV0ZSB2ZWMzIGluc3RhbmNlUGlja2luZ0NvbG9ycztcbmF0dHJpYnV0ZSBtYXQzIGluc3RhbmNlTW9kZWxNYXRyaXg7XG5hdHRyaWJ1dGUgdmVjMyBpbnN0YW5jZVRyYW5zbGF0aW9uO1xuXG4vLyBPdXRwdXRzIHRvIGZyYWdtZW50IHNoYWRlclxudmFyeWluZyB2ZWMyIHZUZXhDb29yZDtcbnZhcnlpbmcgdmVjMyBjYW1lcmFQb3NpdGlvbjtcbnZhcnlpbmcgdmVjMyBub3JtYWxzX2NvbW1vbnNwYWNlO1xudmFyeWluZyB2ZWM0IHBvc2l0aW9uX2NvbW1vbnNwYWNlO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgZ2VvbWV0cnkud29ybGRQb3NpdGlvbiA9IGluc3RhbmNlUG9zaXRpb25zO1xuICBnZW9tZXRyeS51diA9IHRleENvb3JkcztcbiAgZ2VvbWV0cnkucGlja2luZ0NvbG9yID0gaW5zdGFuY2VQaWNraW5nQ29sb3JzO1xuXG4gIHZUZXhDb29yZCA9IHRleENvb3JkcztcbiAgY2FtZXJhUG9zaXRpb24gPSBwcm9qZWN0X3VDYW1lcmFQb3NpdGlvbjtcbiAgbm9ybWFsc19jb21tb25zcGFjZSA9IHByb2plY3Rfbm9ybWFsKGluc3RhbmNlTW9kZWxNYXRyaXggKiBub3JtYWxzKTtcbiAgdkNvbG9yID0gdmVjNChjb2xvcnMgKiBpbnN0YW5jZUNvbG9ycy5yZ2IsIGluc3RhbmNlQ29sb3JzLmEpO1xuICBnZW9tZXRyeS5ub3JtYWwgPSBub3JtYWxzX2NvbW1vbnNwYWNlO1xuXG4gIHZlYzMgcG9zID0gKGluc3RhbmNlTW9kZWxNYXRyaXggKiBwb3NpdGlvbnMpICogc2l6ZVNjYWxlICsgaW5zdGFuY2VUcmFuc2xhdGlvbjtcblxuICBpZiAoY29tcG9zZU1vZGVsTWF0cml4KSB7XG4gICAgREVDS0dMX0ZJTFRFUl9TSVpFKHBvcywgZ2VvbWV0cnkpO1xuICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdF9wb3NpdGlvbl90b19jbGlwc3BhY2UocG9zICsgaW5zdGFuY2VQb3NpdGlvbnMsIGluc3RhbmNlUG9zaXRpb25zNjRMb3csIHZlYzMoMC4wKSwgcG9zaXRpb25fY29tbW9uc3BhY2UpO1xuICB9XG4gIGVsc2Uge1xuICAgIHBvcyA9IHByb2plY3Rfc2l6ZShwb3MpO1xuICAgIERFQ0tHTF9GSUxURVJfU0laRShwb3MsIGdlb21ldHJ5KTtcbiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3RfcG9zaXRpb25fdG9fY2xpcHNwYWNlKGluc3RhbmNlUG9zaXRpb25zLCBpbnN0YW5jZVBvc2l0aW9uczY0TG93LCBwb3MsIHBvc2l0aW9uX2NvbW1vbnNwYWNlKTtcbiAgfVxuXG4gIGdlb21ldHJ5LnBvc2l0aW9uID0gcG9zaXRpb25fY29tbW9uc3BhY2U7XG4gIERFQ0tHTF9GSUxURVJfR0xfUE9TSVRJT04oZ2xfUG9zaXRpb24sIGdlb21ldHJ5KTtcblxuICBERUNLR0xfRklMVEVSX0NPTE9SKHZDb2xvciwgZ2VvbWV0cnkpO1xufVxuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQSIsImlnbm9yZUxpc3QiOltdfQ==