UNPKG

@deck.gl/layers

Version:

deck.gl core layers

43 lines (35 loc) 1.06 kB
// deck.gl // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors export default `\ #version 300 es #define SHADER_NAME path-layer-fragment-shader precision highp float; in vec4 vColor; in vec2 vCornerOffset; in float vMiterLength; /* * vPathPosition represents the relative coordinates of the current fragment on the path segment. * vPathPosition.x - position along the width of the path, between [-1, 1]. 0 is the center line. * vPathPosition.y - position along the length of the path, between [0, L / width]. */ in vec2 vPathPosition; in float vPathLength; in float vJointType; out vec4 fragColor; void main(void) { geometry.uv = vPathPosition; if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) { // if joint is rounded, test distance from the corner if (vJointType > 0.5 && length(vCornerOffset) > 1.0) { discard; } // trim miter if (vJointType < 0.5 && vMiterLength > path.miterLimit + 1.0) { discard; } } fragColor = vColor; DECKGL_FILTER_COLOR(fragColor, geometry); } `;