@deck.gl/layers
Advanced tools
Comparing version 9.0.0-alpha.6 to 9.0.0-alpha.7
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 uv;\nin float isValid;\n\nout vec4 fragColor;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n fragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=arc-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME arc-layer-vertex-shader\n\nin vec3 positions;\nin vec4 instanceSourceColors;\nin vec4 instanceTargetColors;\nin vec3 instanceSourcePositions;\nin vec3 instanceSourcePositions64Low;\nin vec3 instanceTargetPositions;\nin vec3 instanceTargetPositions64Low;\nin vec3 instancePickingColors;\nin float instanceWidths;\nin float instanceHeights;\nin float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nout vec4 vColor;\nout vec2 uv;\nout float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=arc-layer-vertex.glsl.js.map |
@@ -9,5 +9,5 @@ "use strict"; | ||
var _default = "\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\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;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat(packUVsIntoRGB, "\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n"); | ||
var _default = "#version 300 es\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nin vec2 vTexCoord;\nin vec2 vTexPos;\n\nout vec4 fragColor;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\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;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat(packUVsIntoRGB, "\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture(bitmapTexture, uv);\n\n fragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n\n if (bool(picking.isActive) && !bool(picking.isAttribute)) {\n // Since instance information is not used, we can use picking color for pixel index\n fragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n"); | ||
exports.default = _default; | ||
//# sourceMappingURL=bitmap-layer-fragment.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nattribute vec2 texCoords;\nattribute vec3 positions;\nattribute vec3 positions64Low;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy + project_uCommonOrigin.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nin vec2 texCoords;\nin vec3 positions;\nin vec3 positions64Low;\n\nout vec2 vTexCoord;\nout vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy + project_uCommonOrigin.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=bitmap-layer-vertex.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !bool(picking.isActive)) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=column-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nin float vColorMode;\nin vec4 vColor;\nin vec2 vTextureCoords;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n fragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=icon-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME icon-layer-vertex-shader\n\nin vec2 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin float instanceSizes;\nin float instanceAngles;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin vec4 instanceIconFrames;\nin float instanceColorModes;\nin vec2 instanceOffsets;\nin vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nout float vColorMode;\nout vec4 vColor;\nout vec2 vTextureCoords;\nout vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=icon-layer-vertex.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=line-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME line-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\n\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float useShortestPath;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nvec3 splitLine(vec3 a, vec3 b, float x) {\n float t = (x - a.x) / (b.x - a.x);\n return vec3(x, mix(a.yz, b.yz, t));\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n vec3 source_world_64low = instanceSourcePositions64Low;\n vec3 target_world_64low = instanceTargetPositions64Low;\n\n if (useShortestPath > 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n gl_Position = vec4(0.);\n return;\n }\n }\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(p, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME line-layer-vertex-shader\n\nin vec3 positions;\nin vec3 instanceSourcePositions;\nin vec3 instanceTargetPositions;\nin vec3 instanceSourcePositions64Low;\nin vec3 instanceTargetPositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin float instanceWidths;\n\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float useShortestPath;\nuniform int widthUnits;\n\nout vec4 vColor;\nout vec2 uv;\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nvec3 splitLine(vec3 a, vec3 b, float x) {\n float t = (x - a.x) / (b.x - a.x);\n return vec3(x, mix(a.yz, b.yz, t));\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n vec3 source_world_64low = instanceSourcePositions64Low;\n vec3 target_world_64low = instanceTargetPositions64Low;\n\n if (useShortestPath > 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n gl_Position = vec4(0.);\n return;\n }\n }\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(p, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=line-layer-vertex.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nin vec4 vColor;\nin vec2 vCornerOffset;\nin float vMiterLength;\nin vec2 vPathPosition;\nin float vPathLength;\nin float vJointType;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=path-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME path-layer-vertex-shader\n\nin vec2 positions;\n\nin float instanceTypes;\nin vec3 instanceStartPositions;\nin vec3 instanceEndPositions;\nin vec3 instanceLeftPositions;\nin vec3 instanceRightPositions;\nin vec3 instanceLeftPositions64Low;\nin vec3 instanceStartPositions64Low;\nin vec3 instanceEndPositions64Low;\nin vec3 instanceRightPositions64Low;\nin float instanceStrokeWidths;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nout vec4 vColor;\nout vec2 vCornerOffset;\nout float vMiterLength;\nout vec2 vPathPosition;\nout float vPathLength;\nout float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=path-layer-vertex.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 unitPosition;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n fragColor = vColor;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=point-cloud-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME point-cloud-layer-vertex-shader\n\nin vec3 positions;\nin vec3 instanceNormals;\nin vec4 instanceColors;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nout vec4 vColor;\nout vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=point-cloud-layer-vertex.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nin vec4 vFillColor;\nin vec4 vLineColor;\nin vec2 unitPosition;\nin float innerUnitRadius;\nin float outerRadiusPixels;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n fragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n fragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n fragColor = vFillColor;\n }\n\n fragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=scatterplot-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME scatterplot-layer-vertex-shader\n\nin vec3 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin float instanceRadius;\nin float instanceLineWidths;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\nin vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nout vec4 vFillColor;\nout vec4 vLineColor;\nout vec2 unitPosition;\nout float innerUnitRadius;\nout float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=scatterplot-layer-vertex.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=solid-polygon-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 positions64Low;\n vec3 pickingColors;\n vec3 normal;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n vec3 pos = props.positions;\n vec3 pos64Low = props.positions64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.pickingColor = props.pickingColors;\n\n if (extruded) {\n pos.z += props.elevations * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n geometry.normal = props.normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
var _default = "\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nout vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 positions64Low;\n vec3 pickingColors;\n vec3 normal;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n vec3 pos = props.positions;\n vec3 pos64Low = props.positions64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.pickingColor = props.pickingColors;\n\n if (extruded) {\n pos.z += props.elevations * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n geometry.normal = props.normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=solid-polygon-layer-vertex-main.glsl.js.map |
@@ -12,5 +12,5 @@ "use strict"; | ||
var _default = "#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instanceNextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instanceNextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\nattribute float instanceVertexValid;\n\n".concat(_solidPolygonLayerVertexMain.default, "\n\nvoid main(void) {\n if(instanceVertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n\n PolygonProps props;\n\n vec3 pos;\n vec3 pos64Low;\n vec3 nextPos;\n vec3 nextPos64Low;\n\n #if RING_WINDING_ORDER_CW == 1\n pos = instancePositions;\n pos64Low = instancePositions64Low;\n nextPos = instanceNextPositions;\n nextPos64Low = instanceNextPositions64Low;\n #else\n pos = instanceNextPositions;\n pos64Low = instanceNextPositions64Low;\n nextPos = instancePositions;\n nextPos64Low = instancePositions64Low;\n #endif\n\n props.positions = mix(pos, nextPos, positions.x);\n props.positions64Low = mix(pos64Low, nextPos64Low, positions.x);\n\n vec3 normal = vec3(\n pos.y - nextPos.y + (pos64Low.y - nextPos64Low.y),\n nextPos.x - pos.x + (nextPos64Low.x - pos64Low.x),\n 0.0);\n props.normal = project_offset_normal(normal);\n\n props.elevations = instanceElevations * positions.y;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n"); | ||
var _default = "#version 300 es\n#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n\nin vec2 positions;\n\nin vec3 instancePositions;\nin vec3 instanceNextPositions;\nin vec3 instancePositions64Low;\nin vec3 instanceNextPositions64Low;\nin float instanceElevations;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\nin vec3 instancePickingColors;\nin float instanceVertexValid;\n\n".concat(_solidPolygonLayerVertexMain.default, "\n\nvoid main(void) {\n if(instanceVertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n\n PolygonProps props;\n\n vec3 pos;\n vec3 pos64Low;\n vec3 nextPos;\n vec3 nextPos64Low;\n\n #if RING_WINDING_ORDER_CW == 1\n pos = instancePositions;\n pos64Low = instancePositions64Low;\n nextPos = instanceNextPositions;\n nextPos64Low = instanceNextPositions64Low;\n #else\n pos = instanceNextPositions;\n pos64Low = instanceNextPositions64Low;\n nextPos = instancePositions;\n nextPos64Low = instancePositions64Low;\n #endif\n\n props.positions = mix(pos, nextPos, positions.x);\n props.positions64Low = mix(pos64Low, nextPos64Low, positions.x);\n\n vec3 normal = vec3(\n pos.y - nextPos.y + (pos64Low.y - nextPos64Low.y),\n nextPos.x - pos.x + (nextPos64Low.x - pos64Low.x),\n 0.0);\n props.normal = project_offset_normal(normal);\n\n props.elevations = instanceElevations * positions.y;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n"); | ||
exports.default = _default; | ||
//# sourceMappingURL=solid-polygon-layer-vertex-side.glsl.js.map |
@@ -12,5 +12,5 @@ "use strict"; | ||
var _default = "#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 vertexPositions;\nattribute vec3 vertexPositions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n".concat(_solidPolygonLayerVertexMain.default, "\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = vertexPositions;\n props.positions64Low = vertexPositions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n props.normal = project_normal(vec3(0.0, 0.0, 1.0));\n\n calculatePosition(props);\n}\n"); | ||
var _default = "#version 300 es\n#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nin vec3 vertexPositions;\nin vec3 vertexPositions64Low;\nin float elevations;\nin vec4 fillColors;\nin vec4 lineColors;\nin vec3 pickingColors;\n\n".concat(_solidPolygonLayerVertexMain.default, "\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = vertexPositions;\n props.positions64Low = vertexPositions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n props.normal = project_normal(vec3(0.0, 0.0, 1.0));\n\n calculatePosition(props);\n}\n"); | ||
exports.default = _default; | ||
//# sourceMappingURL=solid-polygon-layer-vertex-top.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float sdfBuffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(sdfBuffer - gamma, sdfBuffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float sdfBuffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nin vec4 vColor;\nin vec2 vTextureCoords;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!bool(picking.isActive)) {\n float alpha = texture(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(sdfBuffer - gamma, sdfBuffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n fragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=multi-icon-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nin vec4 vFillColor;\nin vec4 vLineColor;\nin float vLineWidth;\nin vec2 uv;\nin vec2 dimensions;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n fragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n fragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=text-background-layer-fragment.glsl.js.map |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _default = "#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
var _default = "#version 300 es\n#define SHADER_NAME text-background-layer-vertex-shader\n\nin vec2 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceRects;\nin float instanceSizes;\nin float instanceAngles;\nin vec2 instancePixelOffsets;\nin float instanceLineWidths;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\nin vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nout vec4 vFillColor;\nout vec4 vLineColor;\nout float vLineWidth;\nout vec2 uv;\nout vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
exports.default = _default; | ||
//# sourceMappingURL=text-background-layer-vertex.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME arc-layer-fragment-shader | ||
@@ -6,6 +7,8 @@ | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
varying float isValid; | ||
in vec4 vColor; | ||
in vec2 uv; | ||
in float isValid; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -16,8 +19,8 @@ if (isValid == 0.0) { | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
geometry.uv = uv; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=arc-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME arc-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec4 instanceSourceColors; | ||
attribute vec4 instanceTargetColors; | ||
attribute vec3 instanceSourcePositions; | ||
attribute vec3 instanceSourcePositions64Low; | ||
attribute vec3 instanceTargetPositions; | ||
attribute vec3 instanceTargetPositions64Low; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceWidths; | ||
attribute float instanceHeights; | ||
attribute float instanceTilts; | ||
in vec3 positions; | ||
in vec4 instanceSourceColors; | ||
in vec4 instanceTargetColors; | ||
in vec3 instanceSourcePositions; | ||
in vec3 instanceSourcePositions64Low; | ||
in vec3 instanceTargetPositions; | ||
in vec3 instanceTargetPositions64Low; | ||
in vec3 instancePickingColors; | ||
in float instanceWidths; | ||
in float instanceHeights; | ||
in float instanceTilts; | ||
@@ -25,5 +26,5 @@ uniform bool greatCircle; | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
varying float isValid; | ||
out vec4 vColor; | ||
out vec2 uv; | ||
out float isValid; | ||
@@ -30,0 +31,0 @@ float paraboloid(float distance, float sourceZ, float targetZ, float ratio) { |
@@ -17,3 +17,4 @@ const packUVsIntoRGB = ` | ||
`; | ||
export default ` | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME bitmap-layer-fragment-shader | ||
@@ -27,5 +28,7 @@ | ||
varying vec2 vTexCoord; | ||
varying vec2 vTexPos; | ||
in vec2 vTexCoord; | ||
in vec2 vTexPos; | ||
out vec4 fragColor; | ||
uniform float desaturate; | ||
@@ -104,12 +107,12 @@ uniform vec4 transparentColor; | ||
} | ||
vec4 bitmapColor = texture2D(bitmapTexture, uv); | ||
vec4 bitmapColor = texture(bitmapTexture, uv); | ||
gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity); | ||
fragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity); | ||
geometry.uv = uv; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
if (picking_uActive && !picking_uAttribute) { | ||
if (bool(picking.isActive) && !bool(picking.isAttribute)) { | ||
// Since instance information is not used, we can use picking color for pixel index | ||
gl_FragColor.rgb = packUVsIntoRGB(uv); | ||
fragColor.rgb = packUVsIntoRGB(uv); | ||
} | ||
@@ -116,0 +119,0 @@ } |
@@ -1,10 +0,11 @@ | ||
export default ` | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME bitmap-layer-vertex-shader | ||
attribute vec2 texCoords; | ||
attribute vec3 positions; | ||
attribute vec3 positions64Low; | ||
in vec2 texCoords; | ||
in vec3 positions; | ||
in vec3 positions64Low; | ||
varying vec2 vTexCoord; | ||
varying vec2 vTexPos; | ||
out vec2 vTexCoord; | ||
out vec2 vTexPos; | ||
@@ -11,0 +12,0 @@ uniform float coordinateConversion; |
@@ -20,3 +20,3 @@ export default `#version 300 es | ||
#ifdef FLAT_SHADING | ||
if (extruded && !isStroke && !picking_uActive) { | ||
if (extruded && !isStroke && !bool(picking.isActive)) { | ||
vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz))); | ||
@@ -23,0 +23,0 @@ fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal); |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME icon-layer-fragment-shader | ||
@@ -10,11 +11,13 @@ | ||
varying float vColorMode; | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
in float vColorMode; | ||
in vec4 vColor; | ||
in vec2 vTextureCoords; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
vec4 texColor = texture2D(iconsTexture, vTextureCoords); | ||
vec4 texColor = texture(iconsTexture, vTextureCoords); | ||
@@ -31,6 +34,6 @@ // if colorMode == 0, use pixel color from the texture | ||
gl_FragColor = vec4(color, a); | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor = vec4(color, a); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=icon-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME icon-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute float instanceSizes; | ||
attribute float instanceAngles; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
attribute vec4 instanceIconFrames; | ||
attribute float instanceColorModes; | ||
attribute vec2 instanceOffsets; | ||
attribute vec2 instancePixelOffset; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in float instanceSizes; | ||
in float instanceAngles; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
in vec4 instanceIconFrames; | ||
in float instanceColorModes; | ||
in vec2 instanceOffsets; | ||
in vec2 instancePixelOffset; | ||
@@ -24,6 +25,6 @@ uniform float sizeScale; | ||
varying float vColorMode; | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
out float vColorMode; | ||
out vec4 vColor; | ||
out vec2 vTextureCoords; | ||
out vec2 uv; | ||
@@ -30,0 +31,0 @@ vec2 rotate_by_angle(vec2 vertex, float angle) { |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME line-layer-fragment-shader | ||
@@ -6,13 +7,15 @@ | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
in vec4 vColor; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=line-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME line-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec3 instanceSourcePositions; | ||
attribute vec3 instanceTargetPositions; | ||
attribute vec3 instanceSourcePositions64Low; | ||
attribute vec3 instanceTargetPositions64Low; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceWidths; | ||
in vec3 positions; | ||
in vec3 instanceSourcePositions; | ||
in vec3 instanceTargetPositions; | ||
in vec3 instanceSourcePositions64Low; | ||
in vec3 instanceTargetPositions64Low; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
in float instanceWidths; | ||
@@ -20,4 +21,4 @@ uniform float opacity; | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
out vec4 vColor; | ||
out vec2 uv; | ||
@@ -24,0 +25,0 @@ // offset vector by strokeWidth pixels |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME path-layer-fragment-shader | ||
@@ -8,5 +9,5 @@ | ||
varying vec4 vColor; | ||
varying vec2 vCornerOffset; | ||
varying float vMiterLength; | ||
in vec4 vColor; | ||
in vec2 vCornerOffset; | ||
in float vMiterLength; | ||
/* | ||
@@ -17,6 +18,8 @@ * vPathPosition represents the relative coordinates of the current fragment on the path segment. | ||
*/ | ||
varying vec2 vPathPosition; | ||
varying float vPathLength; | ||
varying float vJointType; | ||
in vec2 vPathPosition; | ||
in float vPathLength; | ||
in float vJointType; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -35,7 +38,7 @@ geometry.uv = vPathPosition; | ||
} | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=path-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME path-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute float instanceTypes; | ||
attribute vec3 instanceStartPositions; | ||
attribute vec3 instanceEndPositions; | ||
attribute vec3 instanceLeftPositions; | ||
attribute vec3 instanceRightPositions; | ||
attribute vec3 instanceLeftPositions64Low; | ||
attribute vec3 instanceStartPositions64Low; | ||
attribute vec3 instanceEndPositions64Low; | ||
attribute vec3 instanceRightPositions64Low; | ||
attribute float instanceStrokeWidths; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
in float instanceTypes; | ||
in vec3 instanceStartPositions; | ||
in vec3 instanceEndPositions; | ||
in vec3 instanceLeftPositions; | ||
in vec3 instanceRightPositions; | ||
in vec3 instanceLeftPositions64Low; | ||
in vec3 instanceStartPositions64Low; | ||
in vec3 instanceEndPositions64Low; | ||
in vec3 instanceRightPositions64Low; | ||
in float instanceStrokeWidths; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
@@ -30,8 +31,8 @@ uniform float widthScale; | ||
varying vec4 vColor; | ||
varying vec2 vCornerOffset; | ||
varying float vMiterLength; | ||
varying vec2 vPathPosition; | ||
varying float vPathLength; | ||
varying float vJointType; | ||
out vec4 vColor; | ||
out vec2 vCornerOffset; | ||
out float vMiterLength; | ||
out vec2 vPathPosition; | ||
out float vPathLength; | ||
out float vJointType; | ||
@@ -38,0 +39,0 @@ const float EPSILON = 0.001; |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME point-cloud-layer-fragment-shader | ||
@@ -6,5 +7,7 @@ | ||
varying vec4 vColor; | ||
varying vec2 unitPosition; | ||
in vec4 vColor; | ||
in vec2 unitPosition; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -19,6 +22,6 @@ geometry.uv = unitPosition; | ||
gl_FragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=point-cloud-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME point-cloud-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec3 instanceNormals; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec3 instancePickingColors; | ||
in vec3 positions; | ||
in vec3 instanceNormals; | ||
in vec4 instanceColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in vec3 instancePickingColors; | ||
@@ -15,4 +16,4 @@ uniform float opacity; | ||
varying vec4 vColor; | ||
varying vec2 unitPosition; | ||
out vec4 vColor; | ||
out vec2 unitPosition; | ||
@@ -19,0 +20,0 @@ void main(void) { |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME scatterplot-layer-fragment-shader | ||
@@ -10,8 +11,10 @@ | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying vec2 unitPosition; | ||
varying float innerUnitRadius; | ||
varying float outerRadiusPixels; | ||
in vec4 vFillColor; | ||
in vec4 vLineColor; | ||
in vec2 unitPosition; | ||
in float innerUnitRadius; | ||
in float outerRadiusPixels; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -35,3 +38,3 @@ geometry.uv = unitPosition; | ||
if (filled) { | ||
gl_FragColor = mix(vFillColor, vLineColor, isLine); | ||
fragColor = mix(vFillColor, vLineColor, isLine); | ||
} else { | ||
@@ -41,3 +44,3 @@ if (isLine == 0.0) { | ||
} | ||
gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine); | ||
fragColor = vec4(vLineColor.rgb, vLineColor.a * isLine); | ||
} | ||
@@ -47,9 +50,9 @@ } else if (!filled) { | ||
} else { | ||
gl_FragColor = vFillColor; | ||
fragColor = vFillColor; | ||
} | ||
gl_FragColor.a *= inCircle; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor.a *= inCircle; | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=scatterplot-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME scatterplot-layer-vertex-shader | ||
attribute vec3 positions; | ||
in vec3 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute float instanceRadius; | ||
attribute float instanceLineWidths; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in float instanceRadius; | ||
in float instanceLineWidths; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
@@ -28,7 +29,7 @@ uniform float opacity; | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying vec2 unitPosition; | ||
varying float innerUnitRadius; | ||
varying float outerRadiusPixels; | ||
out vec4 vFillColor; | ||
out vec4 vLineColor; | ||
out vec2 unitPosition; | ||
out float innerUnitRadius; | ||
out float outerRadiusPixels; | ||
@@ -35,0 +36,0 @@ |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-fragment-shader | ||
@@ -6,10 +7,12 @@ | ||
varying vec4 vColor; | ||
in vec4 vColor; | ||
out vec4 fragColor; | ||
void main(void) { | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=solid-polygon-layer-fragment.glsl.js.map |
@@ -8,3 +8,3 @@ export default `\ | ||
varying vec4 vColor; | ||
out vec4 vColor; | ||
@@ -11,0 +11,0 @@ struct PolygonProps { |
import main from './solid-polygon-layer-vertex-main.glsl'; | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-vertex-shader-side | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instanceNextPositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec3 instanceNextPositions64Low; | ||
attribute float instanceElevations; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceVertexValid; | ||
in vec3 instancePositions; | ||
in vec3 instanceNextPositions; | ||
in vec3 instancePositions64Low; | ||
in vec3 instanceNextPositions64Low; | ||
in float instanceElevations; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
in float instanceVertexValid; | ||
@@ -17,0 +18,0 @@ ${main} |
import main from './solid-polygon-layer-vertex-main.glsl'; | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-vertex-shader | ||
attribute vec3 vertexPositions; | ||
attribute vec3 vertexPositions64Low; | ||
attribute float elevations; | ||
attribute vec4 fillColors; | ||
attribute vec4 lineColors; | ||
attribute vec3 pickingColors; | ||
in vec3 vertexPositions; | ||
in vec3 vertexPositions64Low; | ||
in float elevations; | ||
in vec4 fillColors; | ||
in vec4 lineColors; | ||
in vec3 pickingColors; | ||
@@ -12,0 +13,0 @@ ${main} |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME multi-icon-layer-fragment-shader | ||
@@ -15,11 +16,13 @@ | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
in vec4 vColor; | ||
in vec2 vTextureCoords; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
if (!picking_uActive) { | ||
float alpha = texture2D(iconsTexture, vTextureCoords).a; | ||
if (!bool(picking.isActive)) { | ||
float alpha = texture(iconsTexture, vTextureCoords).a; | ||
vec4 color = vColor; | ||
@@ -47,8 +50,8 @@ | ||
gl_FragColor = vec4(color.rgb, a * opacity); | ||
fragColor = vec4(color.rgb, a * opacity); | ||
} | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=multi-icon-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME text-background-layer-fragment-shader | ||
@@ -8,8 +9,10 @@ | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying float vLineWidth; | ||
varying vec2 uv; | ||
varying vec2 dimensions; | ||
in vec4 vFillColor; | ||
in vec4 vLineColor; | ||
in float vLineWidth; | ||
in vec2 uv; | ||
in vec2 dimensions; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -25,10 +28,10 @@ geometry.uv = uv; | ||
float isBorder = smoothedge(distToEdge, vLineWidth); | ||
gl_FragColor = mix(vFillColor, vLineColor, isBorder); | ||
fragColor = mix(vFillColor, vLineColor, isBorder); | ||
} else { | ||
gl_FragColor = vFillColor; | ||
fragColor = vFillColor; | ||
} | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; | ||
//# sourceMappingURL=text-background-layer-fragment.glsl.js.map |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME text-background-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec4 instanceRects; | ||
attribute float instanceSizes; | ||
attribute float instanceAngles; | ||
attribute vec2 instancePixelOffsets; | ||
attribute float instanceLineWidths; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in vec4 instanceRects; | ||
in float instanceSizes; | ||
in float instanceAngles; | ||
in vec2 instancePixelOffsets; | ||
in float instanceLineWidths; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
@@ -25,7 +26,7 @@ uniform bool billboard; | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying float vLineWidth; | ||
varying vec2 uv; | ||
varying vec2 dimensions; | ||
out vec4 vFillColor; | ||
out vec4 vLineColor; | ||
out float vLineWidth; | ||
out vec2 uv; | ||
out vec2 dimensions; | ||
@@ -32,0 +33,0 @@ vec2 rotate_by_angle(vec2 vertex, float angle) { |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "9.0.0-alpha.6", | ||
"version": "9.0.0-alpha.7", | ||
"publishConfig": { | ||
@@ -35,8 +35,8 @@ "access": "public" | ||
"@babel/runtime": "^7.0.0", | ||
"@loaders.gl/images": "4.0.3", | ||
"@loaders.gl/schema": "4.0.3", | ||
"@luma.gl/constants": "9.0.0-alpha.42", | ||
"@luma.gl/core": "9.0.0-alpha.42", | ||
"@luma.gl/engine": "9.0.0-alpha.42", | ||
"@luma.gl/shadertools": "9.0.0-alpha.42", | ||
"@loaders.gl/images": "4.1.0-alpha.9", | ||
"@loaders.gl/schema": "4.1.0-alpha.9", | ||
"@luma.gl/constants": "9.0.0-alpha.53", | ||
"@luma.gl/core": "9.0.0-alpha.53", | ||
"@luma.gl/engine": "9.0.0-alpha.53", | ||
"@luma.gl/shadertools": "9.0.0-alpha.53", | ||
"@mapbox/tiny-sdf": "^2.0.5", | ||
@@ -50,8 +50,8 @@ "@math.gl/core": "^4.0.0", | ||
"@deck.gl/core": "^9.0.0-alpha", | ||
"@loaders.gl/core": "4.0.3", | ||
"@luma.gl/core": "9.0.0-alpha.42", | ||
"@luma.gl/engine": "9.0.0-alpha.42", | ||
"@luma.gl/shadertools": "9.0.0-alpha.42" | ||
"@loaders.gl/core": "4.1.0-alpha.9", | ||
"@luma.gl/core": "9.0.0-alpha.53", | ||
"@luma.gl/engine": "9.0.0-alpha.53", | ||
"@luma.gl/shadertools": "9.0.0-alpha.53" | ||
}, | ||
"gitHead": "dcb297a8b2b0fcfb3194f16f8df759afcd0e6cac" | ||
"gitHead": "de061268077ab74e163792162efbc07be95d10f5" | ||
} |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME arc-layer-fragment-shader | ||
@@ -27,6 +28,8 @@ | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
varying float isValid; | ||
in vec4 vColor; | ||
in vec2 uv; | ||
in float isValid; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -37,7 +40,7 @@ if (isValid == 0.0) { | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
geometry.uv = uv; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,15 +22,16 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME arc-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec4 instanceSourceColors; | ||
attribute vec4 instanceTargetColors; | ||
attribute vec3 instanceSourcePositions; | ||
attribute vec3 instanceSourcePositions64Low; | ||
attribute vec3 instanceTargetPositions; | ||
attribute vec3 instanceTargetPositions64Low; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceWidths; | ||
attribute float instanceHeights; | ||
attribute float instanceTilts; | ||
in vec3 positions; | ||
in vec4 instanceSourceColors; | ||
in vec4 instanceTargetColors; | ||
in vec3 instanceSourcePositions; | ||
in vec3 instanceSourcePositions64Low; | ||
in vec3 instanceTargetPositions; | ||
in vec3 instanceTargetPositions64Low; | ||
in vec3 instancePickingColors; | ||
in float instanceWidths; | ||
in float instanceHeights; | ||
in float instanceTilts; | ||
@@ -46,5 +47,5 @@ uniform bool greatCircle; | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
varying float isValid; | ||
out vec4 vColor; | ||
out vec2 uv; | ||
out float isValid; | ||
@@ -51,0 +52,0 @@ float paraboloid(float distance, float sourceZ, float targetZ, float ratio) { |
@@ -27,3 +27,4 @@ /** | ||
export default ` | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME bitmap-layer-fragment-shader | ||
@@ -37,5 +38,7 @@ | ||
varying vec2 vTexCoord; | ||
varying vec2 vTexPos; | ||
in vec2 vTexCoord; | ||
in vec2 vTexPos; | ||
out vec4 fragColor; | ||
uniform float desaturate; | ||
@@ -114,14 +117,14 @@ uniform vec4 transparentColor; | ||
} | ||
vec4 bitmapColor = texture2D(bitmapTexture, uv); | ||
vec4 bitmapColor = texture(bitmapTexture, uv); | ||
gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity); | ||
fragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity); | ||
geometry.uv = uv; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
if (picking_uActive && !picking_uAttribute) { | ||
if (bool(picking.isActive) && !bool(picking.isAttribute)) { | ||
// Since instance information is not used, we can use picking color for pixel index | ||
gl_FragColor.rgb = packUVsIntoRGB(uv); | ||
fragColor.rgb = packUVsIntoRGB(uv); | ||
} | ||
} | ||
`; |
@@ -1,10 +0,11 @@ | ||
export default ` | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME bitmap-layer-vertex-shader | ||
attribute vec2 texCoords; | ||
attribute vec3 positions; | ||
attribute vec3 positions64Low; | ||
in vec2 texCoords; | ||
in vec3 positions; | ||
in vec3 positions64Low; | ||
varying vec2 vTexCoord; | ||
varying vec2 vTexPos; | ||
out vec2 vTexCoord; | ||
out vec2 vTexPos; | ||
@@ -11,0 +12,0 @@ uniform float coordinateConversion; |
@@ -40,3 +40,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
#ifdef FLAT_SHADING | ||
if (extruded && !isStroke && !picking_uActive) { | ||
if (extruded && !isStroke && !bool(picking.isActive)) { | ||
vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz))); | ||
@@ -43,0 +43,0 @@ fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal); |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME icon-layer-fragment-shader | ||
@@ -31,11 +32,13 @@ | ||
varying float vColorMode; | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
in float vColorMode; | ||
in vec4 vColor; | ||
in vec2 vTextureCoords; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
vec4 texColor = texture2D(iconsTexture, vTextureCoords); | ||
vec4 texColor = texture(iconsTexture, vTextureCoords); | ||
@@ -52,5 +55,5 @@ // if colorMode == 0, use pixel color from the texture | ||
gl_FragColor = vec4(color, a); | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor = vec4(color, a); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,16 +22,17 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME icon-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute float instanceSizes; | ||
attribute float instanceAngles; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
attribute vec4 instanceIconFrames; | ||
attribute float instanceColorModes; | ||
attribute vec2 instanceOffsets; | ||
attribute vec2 instancePixelOffset; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in float instanceSizes; | ||
in float instanceAngles; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
in vec4 instanceIconFrames; | ||
in float instanceColorModes; | ||
in vec2 instanceOffsets; | ||
in vec2 instancePixelOffset; | ||
@@ -45,6 +46,6 @@ uniform float sizeScale; | ||
varying float vColorMode; | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
out float vColorMode; | ||
out vec4 vColor; | ||
out vec2 vTextureCoords; | ||
out vec2 uv; | ||
@@ -51,0 +52,0 @@ vec2 rotate_by_angle(vec2 vertex, float angle) { |
@@ -300,3 +300,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
// The icon-layer vertex shader uses 2d positions | ||
// specifed via: attribute vec2 positions; | ||
// specifed via: in vec2 positions; | ||
const positions = [-1, -1, 1, -1, -1, 1, 1, 1]; | ||
@@ -303,0 +303,0 @@ |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME line-layer-fragment-shader | ||
@@ -27,12 +28,14 @@ | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
in vec4 vColor; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,12 +22,13 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME line-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec3 instanceSourcePositions; | ||
attribute vec3 instanceTargetPositions; | ||
attribute vec3 instanceSourcePositions64Low; | ||
attribute vec3 instanceTargetPositions64Low; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceWidths; | ||
in vec3 positions; | ||
in vec3 instanceSourcePositions; | ||
in vec3 instanceTargetPositions; | ||
in vec3 instanceSourcePositions64Low; | ||
in vec3 instanceTargetPositions64Low; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
in float instanceWidths; | ||
@@ -41,4 +42,4 @@ uniform float opacity; | ||
varying vec4 vColor; | ||
varying vec2 uv; | ||
out vec4 vColor; | ||
out vec2 uv; | ||
@@ -45,0 +46,0 @@ // offset vector by strokeWidth pixels |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME path-layer-fragment-shader | ||
@@ -29,5 +30,5 @@ | ||
varying vec4 vColor; | ||
varying vec2 vCornerOffset; | ||
varying float vMiterLength; | ||
in vec4 vColor; | ||
in vec2 vCornerOffset; | ||
in float vMiterLength; | ||
/* | ||
@@ -38,6 +39,8 @@ * vPathPosition represents the relative coordinates of the current fragment on the path segment. | ||
*/ | ||
varying vec2 vPathPosition; | ||
varying float vPathLength; | ||
varying float vJointType; | ||
in vec2 vPathPosition; | ||
in float vPathLength; | ||
in float vJointType; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -56,6 +59,6 @@ geometry.uv = vPathPosition; | ||
} | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,18 +22,19 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME path-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute float instanceTypes; | ||
attribute vec3 instanceStartPositions; | ||
attribute vec3 instanceEndPositions; | ||
attribute vec3 instanceLeftPositions; | ||
attribute vec3 instanceRightPositions; | ||
attribute vec3 instanceLeftPositions64Low; | ||
attribute vec3 instanceStartPositions64Low; | ||
attribute vec3 instanceEndPositions64Low; | ||
attribute vec3 instanceRightPositions64Low; | ||
attribute float instanceStrokeWidths; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePickingColors; | ||
in float instanceTypes; | ||
in vec3 instanceStartPositions; | ||
in vec3 instanceEndPositions; | ||
in vec3 instanceLeftPositions; | ||
in vec3 instanceRightPositions; | ||
in vec3 instanceLeftPositions64Low; | ||
in vec3 instanceStartPositions64Low; | ||
in vec3 instanceEndPositions64Low; | ||
in vec3 instanceRightPositions64Low; | ||
in float instanceStrokeWidths; | ||
in vec4 instanceColors; | ||
in vec3 instancePickingColors; | ||
@@ -51,8 +52,8 @@ uniform float widthScale; | ||
varying vec4 vColor; | ||
varying vec2 vCornerOffset; | ||
varying float vMiterLength; | ||
varying vec2 vPathPosition; | ||
varying float vPathLength; | ||
varying float vJointType; | ||
out vec4 vColor; | ||
out vec2 vCornerOffset; | ||
out float vMiterLength; | ||
out vec2 vPathPosition; | ||
out float vPathLength; | ||
out float vJointType; | ||
@@ -59,0 +60,0 @@ const float EPSILON = 0.001; |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME point-cloud-layer-fragment-shader | ||
@@ -27,5 +28,7 @@ | ||
varying vec4 vColor; | ||
varying vec2 unitPosition; | ||
in vec4 vColor; | ||
in vec2 unitPosition; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -40,5 +43,5 @@ geometry.uv = unitPosition; | ||
gl_FragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,10 +22,11 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME point-cloud-layer-vertex-shader | ||
attribute vec3 positions; | ||
attribute vec3 instanceNormals; | ||
attribute vec4 instanceColors; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec3 instancePickingColors; | ||
in vec3 positions; | ||
in vec3 instanceNormals; | ||
in vec4 instanceColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in vec3 instancePickingColors; | ||
@@ -36,4 +37,4 @@ uniform float opacity; | ||
varying vec4 vColor; | ||
varying vec2 unitPosition; | ||
out vec4 vColor; | ||
out vec2 unitPosition; | ||
@@ -40,0 +41,0 @@ void main(void) { |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME scatterplot-layer-fragment-shader | ||
@@ -31,8 +32,10 @@ | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying vec2 unitPosition; | ||
varying float innerUnitRadius; | ||
varying float outerRadiusPixels; | ||
in vec4 vFillColor; | ||
in vec4 vLineColor; | ||
in vec2 unitPosition; | ||
in float innerUnitRadius; | ||
in float outerRadiusPixels; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -56,3 +59,3 @@ geometry.uv = unitPosition; | ||
if (filled) { | ||
gl_FragColor = mix(vFillColor, vLineColor, isLine); | ||
fragColor = mix(vFillColor, vLineColor, isLine); | ||
} else { | ||
@@ -62,3 +65,3 @@ if (isLine == 0.0) { | ||
} | ||
gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine); | ||
fragColor = vec4(vLineColor.rgb, vLineColor.a * isLine); | ||
} | ||
@@ -68,8 +71,8 @@ } else if (!filled) { | ||
} else { | ||
gl_FragColor = vFillColor; | ||
fragColor = vFillColor; | ||
} | ||
gl_FragColor.a *= inCircle; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
fragColor.a *= inCircle; | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -22,13 +22,14 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME scatterplot-layer-vertex-shader | ||
attribute vec3 positions; | ||
in vec3 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute float instanceRadius; | ||
attribute float instanceLineWidths; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in float instanceRadius; | ||
in float instanceLineWidths; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
@@ -49,7 +50,7 @@ uniform float opacity; | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying vec2 unitPosition; | ||
varying float innerUnitRadius; | ||
varying float outerRadiusPixels; | ||
out vec4 vFillColor; | ||
out vec4 vLineColor; | ||
out vec2 unitPosition; | ||
out float innerUnitRadius; | ||
out float outerRadiusPixels; | ||
@@ -56,0 +57,0 @@ |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-fragment-shader | ||
@@ -27,9 +28,11 @@ | ||
varying vec4 vColor; | ||
in vec4 vColor; | ||
out vec4 fragColor; | ||
void main(void) { | ||
gl_FragColor = vColor; | ||
fragColor = vColor; | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
@@ -28,3 +28,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
varying vec4 vColor; | ||
out vec4 vColor; | ||
@@ -31,0 +31,0 @@ struct PolygonProps { |
@@ -24,15 +24,16 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-vertex-shader-side | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instanceNextPositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec3 instanceNextPositions64Low; | ||
attribute float instanceElevations; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
attribute float instanceVertexValid; | ||
in vec3 instancePositions; | ||
in vec3 instanceNextPositions; | ||
in vec3 instancePositions64Low; | ||
in vec3 instanceNextPositions64Low; | ||
in float instanceElevations; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
in float instanceVertexValid; | ||
@@ -39,0 +40,0 @@ ${main} |
@@ -24,10 +24,11 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME solid-polygon-layer-vertex-shader | ||
attribute vec3 vertexPositions; | ||
attribute vec3 vertexPositions64Low; | ||
attribute float elevations; | ||
attribute vec4 fillColors; | ||
attribute vec4 lineColors; | ||
attribute vec3 pickingColors; | ||
in vec3 vertexPositions; | ||
in vec3 vertexPositions64Low; | ||
in float elevations; | ||
in vec4 fillColors; | ||
in vec4 lineColors; | ||
in vec3 pickingColors; | ||
@@ -34,0 +35,0 @@ ${main} |
@@ -22,2 +22,3 @@ // Copyright (c) 2015 - 2017 Uber Technologies, Inc. | ||
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME multi-icon-layer-fragment-shader | ||
@@ -36,11 +37,13 @@ | ||
varying vec4 vColor; | ||
varying vec2 vTextureCoords; | ||
varying vec2 uv; | ||
in vec4 vColor; | ||
in vec2 vTextureCoords; | ||
in vec2 uv; | ||
out vec4 fragColor; | ||
void main(void) { | ||
geometry.uv = uv; | ||
if (!picking_uActive) { | ||
float alpha = texture2D(iconsTexture, vTextureCoords).a; | ||
if (!bool(picking.isActive)) { | ||
float alpha = texture(iconsTexture, vTextureCoords).a; | ||
vec4 color = vColor; | ||
@@ -68,7 +71,7 @@ | ||
gl_FragColor = vec4(color.rgb, a * opacity); | ||
fragColor = vec4(color.rgb, a * opacity); | ||
} | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME text-background-layer-fragment-shader | ||
@@ -8,8 +9,10 @@ | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying float vLineWidth; | ||
varying vec2 uv; | ||
varying vec2 dimensions; | ||
in vec4 vFillColor; | ||
in vec4 vLineColor; | ||
in float vLineWidth; | ||
in vec2 uv; | ||
in vec2 dimensions; | ||
out vec4 fragColor; | ||
void main(void) { | ||
@@ -25,9 +28,9 @@ geometry.uv = uv; | ||
float isBorder = smoothedge(distToEdge, vLineWidth); | ||
gl_FragColor = mix(vFillColor, vLineColor, isBorder); | ||
fragColor = mix(vFillColor, vLineColor, isBorder); | ||
} else { | ||
gl_FragColor = vFillColor; | ||
fragColor = vFillColor; | ||
} | ||
DECKGL_FILTER_COLOR(gl_FragColor, geometry); | ||
DECKGL_FILTER_COLOR(fragColor, geometry); | ||
} | ||
`; |
export default `\ | ||
#version 300 es | ||
#define SHADER_NAME text-background-layer-vertex-shader | ||
attribute vec2 positions; | ||
in vec2 positions; | ||
attribute vec3 instancePositions; | ||
attribute vec3 instancePositions64Low; | ||
attribute vec4 instanceRects; | ||
attribute float instanceSizes; | ||
attribute float instanceAngles; | ||
attribute vec2 instancePixelOffsets; | ||
attribute float instanceLineWidths; | ||
attribute vec4 instanceFillColors; | ||
attribute vec4 instanceLineColors; | ||
attribute vec3 instancePickingColors; | ||
in vec3 instancePositions; | ||
in vec3 instancePositions64Low; | ||
in vec4 instanceRects; | ||
in float instanceSizes; | ||
in float instanceAngles; | ||
in vec2 instancePixelOffsets; | ||
in float instanceLineWidths; | ||
in vec4 instanceFillColors; | ||
in vec4 instanceLineColors; | ||
in vec3 instancePickingColors; | ||
@@ -25,7 +26,7 @@ uniform bool billboard; | ||
varying vec4 vFillColor; | ||
varying vec4 vLineColor; | ||
varying float vLineWidth; | ||
varying vec2 uv; | ||
varying vec2 dimensions; | ||
out vec4 vFillColor; | ||
out vec4 vLineColor; | ||
out float vLineWidth; | ||
out vec2 uv; | ||
out vec2 dimensions; | ||
@@ -32,0 +33,0 @@ vec2 rotate_by_angle(vec2 vertex, float angle) { |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 uv;\nin float isValid;\n\nout vec4 fragColor;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n fragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=arc-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n // d: distance on the xy plane\n // r: ratio of the current point\n // p: ratio of the peak of the arc\n // h: height multiplier\n // z = f(r) = sqrt(r * (p * 2 - r)) * d * h\n // f(0) = 0\n // f(1) = dz\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n\n // sqrt does not deal with negative values, manually flip source and target if delta.z < 0\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\n\n// offset vector by strokeWidth pixels\n// offset_direction is -1 (left) or 1 (right)\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n // normalized direction of the line\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n // rotate by 90 degrees\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\n\n/* Great circle interpolation\n * http://www.movable-type.co.uk/scripts/latlong.html\n */\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n\n // if the angularDist is PI, linear interpolation is applied. otherwise, use spherical interpolation\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\n/* END GREAT CIRCLE */\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n\n // if it's the first point, use next - current as direction\n // otherwise use current - prev\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n // split at the 180th meridian\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n\n // common x at longitude=-180\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n\n // Multiply out width and clamp to limits\n // mercator pixels are interpreted as screen pixels\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n\n // extrude\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME arc-layer-vertex-shader\n\nin vec3 positions;\nin vec4 instanceSourceColors;\nin vec4 instanceTargetColors;\nin vec3 instanceSourcePositions;\nin vec3 instanceSourcePositions64Low;\nin vec3 instanceTargetPositions;\nin vec3 instanceTargetPositions64Low;\nin vec3 instancePickingColors;\nin float instanceWidths;\nin float instanceHeights;\nin float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nout vec4 vColor;\nout vec2 uv;\nout float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n // d: distance on the xy plane\n // r: ratio of the current point\n // p: ratio of the peak of the arc\n // h: height multiplier\n // z = f(r) = sqrt(r * (p * 2 - r)) * d * h\n // f(0) = 0\n // f(1) = dz\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n\n // sqrt does not deal with negative values, manually flip source and target if delta.z < 0\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\n\n// offset vector by strokeWidth pixels\n// offset_direction is -1 (left) or 1 (right)\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n // normalized direction of the line\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n // rotate by 90 degrees\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\n\n/* Great circle interpolation\n * http://www.movable-type.co.uk/scripts/latlong.html\n */\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n\n // if the angularDist is PI, linear interpolation is applied. otherwise, use spherical interpolation\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\n/* END GREAT CIRCLE */\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n\n // if it's the first point, use next - current as direction\n // otherwise use current - prev\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n // split at the 180th meridian\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n\n // common x at longitude=-180\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n\n // Multiply out width and clamp to limits\n // mercator pixels are interpreted as screen pixels\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n\n // extrude\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=arc-layer-vertex.glsl.d.ts.map |
import { Layer, UpdateParameters, LayerProps, LayerDataSource, Unit, AccessorFunction, Position, Accessor, Color, DefaultProps } from '@deck.gl/core'; | ||
import { Model } from '@luma.gl/engine'; | ||
/** All properties supported by ArcLayer. */ | ||
export declare type ArcLayerProps<DataT = unknown> = _ArcLayerProps<DataT> & LayerProps; | ||
export type ArcLayerProps<DataT = unknown> = _ArcLayerProps<DataT> & LayerProps; | ||
/** Properties added by ArcLayer. */ | ||
declare type _ArcLayerProps<DataT> = { | ||
type _ArcLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -8,0 +8,0 @@ /** |
@@ -1,3 +0,3 @@ | ||
declare const _default: string; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nin vec2 vTexCoord;\nin vec2 vTexPos;\n\nout vec4 fragColor;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\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;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture(bitmapTexture, uv);\n\n fragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n\n if (bool(picking.isActive) && !bool(picking.isAttribute)) {\n // Since instance information is not used, we can use picking color for pixel index\n fragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=bitmap-layer-fragment.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nattribute vec2 texCoords;\nattribute vec3 positions;\nattribute vec3 positions64Low;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy + project_uCommonOrigin.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nin vec2 texCoords;\nin vec3 positions;\nin vec3 positions64Low;\n\nout vec2 vTexCoord;\nout vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy + project_uCommonOrigin.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=bitmap-layer-vertex.d.ts.map |
import { Layer, CoordinateSystem, LayerProps, PickingInfo, GetPickingInfoParams, UpdateParameters, Color, TextureSource, Position, DefaultProps } from '@deck.gl/core'; | ||
import { Model } from '@luma.gl/engine'; | ||
/** All properties supported by BitmapLayer. */ | ||
export declare type BitmapLayerProps = _BitmapLayerProps & LayerProps; | ||
export declare type BitmapBoundingBox = [left: number, bottom: number, right: number, top: number] | [Position, Position, Position, Position]; | ||
export type BitmapLayerProps = _BitmapLayerProps & LayerProps; | ||
export type BitmapBoundingBox = [left: number, bottom: number, right: number, top: number] | [Position, Position, Position, Position]; | ||
/** Properties added by BitmapLayer. */ | ||
declare type _BitmapLayerProps = { | ||
type _BitmapLayerProps = { | ||
data: never; | ||
@@ -9,0 +9,0 @@ /** |
import { Geometry } from '@luma.gl/engine'; | ||
declare type ColumnGeometryProps = { | ||
type ColumnGeometryProps = { | ||
id?: string; | ||
@@ -4,0 +4,0 @@ radius: number; |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !bool(picking.isActive)) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=column-layer-fragment.glsl.d.ts.map |
@@ -5,5 +5,5 @@ import { Layer, LayerProps, LayerDataSource, UpdateParameters, Unit, AccessorFunction, Position, Accessor, Color, Material, DefaultProps } from '@deck.gl/core'; | ||
/** All properties supported by ColumnLayer. */ | ||
export declare type ColumnLayerProps<DataT = unknown> = _ColumnLayerProps<DataT> & LayerProps; | ||
export type ColumnLayerProps<DataT = unknown> = _ColumnLayerProps<DataT> & LayerProps; | ||
/** Properties added by ColumnLayer. */ | ||
declare type _ColumnLayerProps<DataT> = { | ||
type _ColumnLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -10,0 +10,0 @@ /** |
import type { DefaultProps } from '@deck.gl/core'; | ||
import ColumnLayer, { ColumnLayerProps } from './column-layer'; | ||
/** All properties supported by GridCellLayer. */ | ||
export declare type GridCellLayerProps<DataT = unknown> = _GridCellLayerProps & ColumnLayerProps<DataT>; | ||
export type GridCellLayerProps<DataT = unknown> = _GridCellLayerProps & ColumnLayerProps<DataT>; | ||
/** Properties added by GridCellLayer. */ | ||
declare type _GridCellLayerProps = { | ||
type _GridCellLayerProps = { | ||
/** | ||
@@ -8,0 +8,0 @@ * @default 1000 |
import { BinaryAttribute } from '@deck.gl/core'; | ||
import { BinaryFeatureCollection, BinaryLineFeature, BinaryPointFeature, BinaryPolygonFeature, Feature } from '@loaders.gl/schema'; | ||
export declare type BinaryFeatureTypes = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature; | ||
export declare type ExtendedBinaryFeatureCollection = { | ||
export type BinaryFeatureTypes = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature; | ||
export type ExtendedBinaryFeatureCollection = { | ||
[P in keyof Omit<BinaryFeatureCollection, 'shape'>]: BinaryFeatureCollection[P] & { | ||
@@ -9,3 +9,3 @@ attributes?: Record<string, BinaryAttribute>; | ||
}; | ||
declare type FeaureOnlyProperties = Pick<Feature, 'properties'>; | ||
type FeaureOnlyProperties = Pick<Feature, 'properties'>; | ||
/** | ||
@@ -12,0 +12,0 @@ * Return the feature for an accesor |
@@ -5,4 +5,4 @@ import { LayerProps } from '@deck.gl/core'; | ||
import { SeparatedGeometries } from './geojson'; | ||
declare type PathLayerProps = LayerProps & Record<string, any>; | ||
export declare type SubLayersProps = { | ||
type PathLayerProps = LayerProps & Record<string, any>; | ||
export type SubLayersProps = { | ||
points: Partial<ScatterplotLayerProps>; | ||
@@ -9,0 +9,0 @@ lines: Partial<PathLayerProps>; |
@@ -7,5 +7,5 @@ import { Accessor, Color, CompositeLayer, CompositeLayerProps, Layer, PickingInfo, Unit, Material, UpdateParameters, DefaultProps } from '@deck.gl/core'; | ||
/** All properties supported by GeoJsonLayer */ | ||
export declare type GeoJsonLayerProps = _GeoJsonLayerProps & CompositeLayerProps; | ||
export type GeoJsonLayerProps = _GeoJsonLayerProps & CompositeLayerProps; | ||
/** Properties added by GeoJsonLayer */ | ||
export declare type _GeoJsonLayerProps = { | ||
export type _GeoJsonLayerProps = { | ||
data: string | GeoJSON | BinaryFeatureCollection | Promise<GeoJSON | BinaryFeatureCollection>; | ||
@@ -25,3 +25,3 @@ /** | ||
/** GeoJsonLayer fill options. */ | ||
declare type _GeoJsonLayerFillProps = { | ||
type _GeoJsonLayerFillProps = { | ||
/** | ||
@@ -43,3 +43,3 @@ * Whether to draw a filled polygon (solid fill). | ||
/** GeoJsonLayer stroke options. */ | ||
declare type _GeoJsonLayerStrokeProps = { | ||
type _GeoJsonLayerStrokeProps = { | ||
/** | ||
@@ -121,3 +121,3 @@ * Whether to draw an outline around the polygon (solid fill). | ||
/** GeoJsonLayer 3D options. */ | ||
declare type _GeoJsonLayer3DProps = { | ||
type _GeoJsonLayer3DProps = { | ||
/** | ||
@@ -169,3 +169,3 @@ * Extrude Polygon and MultiPolygon features along the z-axis if set to true | ||
/** GeoJsonLayer Properties forwarded to `ScatterPlotLayer` if `pointType` is `'circle'` */ | ||
export declare type _GeoJsonLayerPointCircleProps = { | ||
export type _GeoJsonLayerPointCircleProps = { | ||
getPointRadius?: Accessor<Feature, number>; | ||
@@ -182,3 +182,3 @@ pointRadiusUnits?: Unit; | ||
/** GeoJsonLayer properties forwarded to `IconLayer` if `pointType` is `'icon'` */ | ||
declare type _GeojsonLayerIconPointProps = { | ||
type _GeojsonLayerIconPointProps = { | ||
iconAtlas?: any; | ||
@@ -199,3 +199,3 @@ iconMapping?: any; | ||
/** GeoJsonLayer properties forwarded to `TextLayer` if `pointType` is `'text'` */ | ||
declare type _GeojsonLayerTextPointProps = { | ||
type _GeojsonLayerTextPointProps = { | ||
getText?: Accessor<Feature, any>; | ||
@@ -228,3 +228,3 @@ getTextColor?: Accessor<Feature, Color>; | ||
}; | ||
declare type GeoJsonPickingInfo = PickingInfo & { | ||
type GeoJsonPickingInfo = PickingInfo & { | ||
featureType?: string | null; | ||
@@ -231,0 +231,0 @@ info?: any; |
import type { Feature, GeoJSON, GeoJsonGeometryTypes, LineString, Point, Polygon } from 'geojson'; | ||
export declare type SeparatedGeometries = { | ||
export type SeparatedGeometries = { | ||
pointFeatures: { | ||
@@ -4,0 +4,0 @@ geometry: Point; |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n\n // if colorMode == 0, use pixel color from the texture\n // if colorMode == 1 or rendering picking buffer, use texture as transparency mask\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n // Take the global opacity and the alpha from vColor into account for the alpha component\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nin float vColorMode;\nin vec4 vColor;\nin vec2 vTextureCoords;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture(iconsTexture, vTextureCoords);\n\n // if colorMode == 0, use pixel color from the texture\n // if colorMode == 1 or rendering picking buffer, use texture as transparency mask\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n // Take the global opacity and the alpha from vColor into account for the alpha component\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n fragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=icon-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n // convert size in meters to pixels, then scaled and clamp\n \n // project meters to pixels and clamp to limits \n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n\n // scale icon height to match instanceSize\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n\n // scale and rotate vertex in \"pixel\" value and convert back to fraction in clipspace\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME icon-layer-vertex-shader\n\nin vec2 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin float instanceSizes;\nin float instanceAngles;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin vec4 instanceIconFrames;\nin float instanceColorModes;\nin vec2 instanceOffsets;\nin vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nout float vColorMode;\nout vec4 vColor;\nout vec2 vTextureCoords;\nout vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n // convert size in meters to pixels, then scaled and clamp\n \n // project meters to pixels and clamp to limits \n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n\n // scale icon height to match instanceSize\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n\n // scale and rotate vertex in \"pixel\" value and convert back to fraction in clipspace\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=icon-layer-vertex.glsl.d.ts.map |
@@ -7,3 +7,3 @@ import { Layer } from '@deck.gl/core'; | ||
import type { UnpackedIcon, IconMapping, LoadIconErrorContext } from './icon-manager'; | ||
declare type _IconLayerProps<DataT> = { | ||
type _IconLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -73,3 +73,3 @@ /** A prepacked image that contains all icons. */ | ||
}; | ||
export declare type IconLayerProps<DataT = unknown> = _IconLayerProps<DataT> & LayerProps; | ||
export type IconLayerProps<DataT = unknown> = _IconLayerProps<DataT> & LayerProps; | ||
/** Render raster icons at given coordinates. */ | ||
@@ -76,0 +76,0 @@ export default class IconLayer<DataT = any, ExtraPropsT extends {} = {}> extends Layer<ExtraPropsT & Required<_IconLayerProps<DataT>>> { |
import { Device, Texture } from '@luma.gl/core'; | ||
import type { AccessorFunction } from '@deck.gl/core'; | ||
declare type IconDef = { | ||
type IconDef = { | ||
/** Width of the icon */ | ||
@@ -20,3 +20,3 @@ width: number; | ||
}; | ||
export declare type UnpackedIcon = { | ||
export type UnpackedIcon = { | ||
/** Url to fetch the icon */ | ||
@@ -27,3 +27,3 @@ url: string; | ||
} & IconDef; | ||
declare type PrepackedIcon = { | ||
type PrepackedIcon = { | ||
/** Left position of the icon on the atlas */ | ||
@@ -34,4 +34,4 @@ x: number; | ||
} & IconDef; | ||
export declare type IconMapping = Record<string, PrepackedIcon>; | ||
export declare type LoadIconErrorContext = { | ||
export type IconMapping = Record<string, PrepackedIcon>; | ||
export type LoadIconErrorContext = { | ||
error: Error; | ||
@@ -38,0 +38,0 @@ /** The URL that was trying to fetch */ |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME line-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=line-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME line-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\n\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float useShortestPath;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\n\n// offset vector by strokeWidth pixels\n// offset_direction is -1 (left) or 1 (right)\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n // normalized direction of the line\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n // rotate by 90 degrees\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nvec3 splitLine(vec3 a, vec3 b, float x) {\n float t = (x - a.x) / (b.x - a.x);\n return vec3(x, mix(a.yz, b.yz, t));\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n vec3 source_world_64low = instanceSourcePositions64Low;\n vec3 target_world_64low = instanceTargetPositions64Low;\n\n if (useShortestPath > 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n // Line is not split, abort\n gl_Position = vec4(0.);\n return;\n }\n }\n\n // Position\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n \n // linear interpolation of source & target to pick right coord\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n // Multiply out width and clamp to limits\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n\n // extrude\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(p, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n // Color\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME line-layer-vertex-shader\n\nin vec3 positions;\nin vec3 instanceSourcePositions;\nin vec3 instanceTargetPositions;\nin vec3 instanceSourcePositions64Low;\nin vec3 instanceTargetPositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin float instanceWidths;\n\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float useShortestPath;\nuniform int widthUnits;\n\nout vec4 vColor;\nout vec2 uv;\n\n// offset vector by strokeWidth pixels\n// offset_direction is -1 (left) or 1 (right)\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n // normalized direction of the line\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n // rotate by 90 degrees\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nvec3 splitLine(vec3 a, vec3 b, float x) {\n float t = (x - a.x) / (b.x - a.x);\n return vec3(x, mix(a.yz, b.yz, t));\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n vec3 source_world_64low = instanceSourcePositions64Low;\n vec3 target_world_64low = instanceTargetPositions64Low;\n\n if (useShortestPath > 0.5 || useShortestPath < -0.5) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n float deltaLng = target_world.x - source_world.x;\n\n if (deltaLng * useShortestPath > 180.) {\n source_world.x += 360. * useShortestPath;\n source_world = splitLine(source_world, target_world, 180. * useShortestPath);\n source_world_64low = vec3(0.0);\n } else if (deltaLng * useShortestPath < -180.) {\n target_world.x += 360. * useShortestPath;\n target_world = splitLine(source_world, target_world, 180. * useShortestPath);\n target_world_64low = vec3(0.0);\n } else if (useShortestPath < 0.) {\n // Line is not split, abort\n gl_Position = vec4(0.);\n return;\n }\n }\n\n // Position\n vec4 source_commonspace;\n vec4 target_commonspace;\n vec4 source = project_position_to_clipspace(source_world, source_world_64low, vec3(0.), source_commonspace);\n vec4 target = project_position_to_clipspace(target_world, target_world_64low, vec3(0.), target_commonspace);\n \n // linear interpolation of source & target to pick right coord\n float segmentIndex = positions.x;\n vec4 p = mix(source, target, segmentIndex);\n geometry.position = mix(source_commonspace, target_commonspace, segmentIndex);\n uv = positions.xy;\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n // Multiply out width and clamp to limits\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n\n // extrude\n vec3 offset = vec3(\n getExtrusionOffset(target.xy - source.xy, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(p, geometry);\n gl_Position = p + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n // Color\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=line-layer-vertex.glsl.d.ts.map |
import { Layer, LayerProps, LayerDataSource, Unit, Position, Accessor, Color, UpdateParameters, DefaultProps } from '@deck.gl/core'; | ||
import { Model } from '@luma.gl/engine'; | ||
/** All properties supported by LineLayer. */ | ||
export declare type LineLayerProps<DataT = unknown> = _LineLayerProps<DataT> & LayerProps; | ||
export type LineLayerProps<DataT = unknown> = _LineLayerProps<DataT> & LayerProps; | ||
/** Properties added by LineLayer. */ | ||
declare type _LineLayerProps<DataT> = { | ||
type _LineLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -8,0 +8,0 @@ /** |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\n/*\n * vPathPosition represents the relative coordinates of the current fragment on the path segment.\n * vPathPosition.x - position along the width of the path, between [-1, 1]. 0 is the center line.\n * vPathPosition.y - position along the length of the path, between [0, L / width].\n */\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n // if joint is rounded, test distance from the corner\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n // trim miter\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nin vec4 vColor;\nin vec2 vCornerOffset;\nin float vMiterLength;\n/*\n * vPathPosition represents the relative coordinates of the current fragment on the path segment.\n * vPathPosition.x - position along the width of the path, between [-1, 1]. 0 is the center line.\n * vPathPosition.y - position along the length of the path, between [0, L / width].\n */\nin vec2 vPathPosition;\nin float vPathLength;\nin float vJointType;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n // if joint is rounded, test distance from the corner\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n // trim miter\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=path-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\n\n// calculate line join positions\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n // side of the segment - -1: left, 0: center, 1: right\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n\n // tangent of the corner\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n // direction of the corner\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n // direction of the segment\n vec2 dir = isEnd ? dirA : dirB;\n // direction of the extrusion\n vec2 perp = isEnd ? perpA : perpB;\n // length of the segment\n float L = isEnd ? lenA : lenB;\n\n // A = angle of the corner\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n\n // -1: right, 1: left\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n\n // relative position to the corner:\n // -1: inside (smaller side of the angle)\n // 0: center\n // 1: outside (bigger side of the angle)\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n // trim if inside corner extends further than the line segment\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n\n // special treatment for start cap and end cap\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n\n // extend out a triangle to envelope the round cap\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n\n // Generate variables for fragment shader\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\n\n// In clipspace extrusion, if a line extends behind the camera, clip it to avoid visual artifacts\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n // Extrude in clipspace\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n // Extrude in commonspace\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME path-layer-vertex-shader\n\nin vec2 positions;\n\nin float instanceTypes;\nin vec3 instanceStartPositions;\nin vec3 instanceEndPositions;\nin vec3 instanceLeftPositions;\nin vec3 instanceRightPositions;\nin vec3 instanceLeftPositions64Low;\nin vec3 instanceStartPositions64Low;\nin vec3 instanceEndPositions64Low;\nin vec3 instanceRightPositions64Low;\nin float instanceStrokeWidths;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nout vec4 vColor;\nout vec2 vCornerOffset;\nout float vMiterLength;\nout vec2 vPathPosition;\nout float vPathLength;\nout float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\n\n// calculate line join positions\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n // side of the segment - -1: left, 0: center, 1: right\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n\n // tangent of the corner\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n // direction of the corner\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n // direction of the segment\n vec2 dir = isEnd ? dirA : dirB;\n // direction of the extrusion\n vec2 perp = isEnd ? perpA : perpB;\n // length of the segment\n float L = isEnd ? lenA : lenB;\n\n // A = angle of the corner\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n\n // -1: right, 1: left\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n\n // relative position to the corner:\n // -1: inside (smaller side of the angle)\n // 0: center\n // 1: outside (bigger side of the angle)\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n // trim if inside corner extends further than the line segment\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n\n // special treatment for start cap and end cap\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n\n // extend out a triangle to envelope the round cap\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n\n // Generate variables for fragment shader\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\n\n// In clipspace extrusion, if a line extends behind the camera, clip it to avoid visual artifacts\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n // Extrude in clipspace\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n // Extrude in commonspace\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=path-layer-vertex.glsl.d.ts.map |
@@ -6,3 +6,3 @@ import { Layer } from '@deck.gl/core'; | ||
import type { PathGeometry } from './path'; | ||
declare type _PathLayerProps<DataT> = { | ||
type _PathLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -74,3 +74,3 @@ /** The units of the line width, one of `'meters'`, `'common'`, and `'pixels'` | ||
}; | ||
export declare type PathLayerProps<DataT = unknown> = _PathLayerProps<DataT> & LayerProps; | ||
export type PathLayerProps<DataT = unknown> = _PathLayerProps<DataT> & LayerProps; | ||
/** Render lists of coordinate points as extruded polylines with mitering. */ | ||
@@ -77,0 +77,0 @@ export default class PathLayer<DataT = any, ExtraPropsT extends {} = {}> extends Layer<ExtraPropsT & Required<_PathLayerProps<DataT>>> { |
import type { NumericArray } from '@math.gl/core'; | ||
import type { Position } from '@deck.gl/core'; | ||
export declare type NestedPathGeometry = Position[]; | ||
export declare type FlatPathGeometry = NumericArray; | ||
export declare type PathGeometry = NestedPathGeometry | FlatPathGeometry; | ||
export declare type NormalizedPathGeometry = FlatPathGeometry[] | FlatPathGeometry; | ||
export type NestedPathGeometry = Position[]; | ||
export type FlatPathGeometry = NumericArray; | ||
export type PathGeometry = NestedPathGeometry | FlatPathGeometry; | ||
export type NormalizedPathGeometry = FlatPathGeometry[] | FlatPathGeometry; | ||
/** | ||
@@ -8,0 +8,0 @@ * Flattens a nested path object |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\nin vec2 unitPosition;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n fragColor = vColor;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=point-cloud-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n\n // position on the containing square in [-1, 1] space\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n // Find the center of the point and add the current vertex\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n // Apply lighting\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n\n // Apply opacity to instance color, or return instance picking color\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME point-cloud-layer-vertex-shader\n\nin vec3 positions;\nin vec3 instanceNormals;\nin vec4 instanceColors;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nout vec4 vColor;\nout vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n\n // position on the containing square in [-1, 1] space\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n // Find the center of the point and add the current vertex\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n // Apply lighting\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n\n // Apply opacity to instance color, or return instance picking color\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=point-cloud-layer-vertex.glsl.d.ts.map |
import { Layer, LayerProps, LayerDataSource, UpdateParameters, Unit, AccessorFunction, Position, Accessor, Color, Material, DefaultProps } from '@deck.gl/core'; | ||
import { Model } from '@luma.gl/engine'; | ||
/** All properties supported by PointCloudLayer. */ | ||
export declare type PointCloudLayerProps<DataT = unknown> = _PointCloudLayerProps<DataT> & LayerProps; | ||
export type PointCloudLayerProps<DataT = unknown> = _PointCloudLayerProps<DataT> & LayerProps; | ||
/** Properties added by PointCloudLayer. */ | ||
declare type _PointCloudLayerProps<DataT> = { | ||
type _PointCloudLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -8,0 +8,0 @@ /** |
@@ -5,7 +5,7 @@ import { Accessor, AccessorFunction, Color, CompositeLayer, CompositeLayerProps, Layer, LayerDataSource, LayersList, Unit, Material, UpdateParameters, DefaultProps } from '@deck.gl/core'; | ||
*/ | ||
export declare type PolygonLayerProps<DataT = unknown> = _PolygonLayerProps<DataT> & CompositeLayerProps; | ||
export type PolygonLayerProps<DataT = unknown> = _PolygonLayerProps<DataT> & CompositeLayerProps; | ||
/** | ||
* Properties added by `PolygonLayer`. | ||
*/ | ||
declare type _PolygonLayerProps<DataT = unknown> = { | ||
type _PolygonLayerProps<DataT = unknown> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -12,0 +12,0 @@ /** |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nin vec4 vFillColor;\nin vec4 vLineColor;\nin vec2 unitPosition;\nin float innerUnitRadius;\nin float outerRadiusPixels;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n fragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n fragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n fragColor = vFillColor;\n }\n\n fragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=scatterplot-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n\n // Multiply out radius and clamp to limits\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n \n // Multiply out line width and clamp to limits\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n\n // outer radius needs to offset by half stroke width\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n\n // Expand geometry to accomodate edge smoothing\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n\n // position on the containing square in [-1, 1] space\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n // Apply opacity to instance color, or return instance picking color\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME scatterplot-layer-vertex-shader\n\nin vec3 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin float instanceRadius;\nin float instanceLineWidths;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\nin vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nout vec4 vFillColor;\nout vec4 vLineColor;\nout vec2 unitPosition;\nout float innerUnitRadius;\nout float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n\n // Multiply out radius and clamp to limits\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n \n // Multiply out line width and clamp to limits\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n\n // outer radius needs to offset by half stroke width\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n\n // Expand geometry to accomodate edge smoothing\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n\n // position on the containing square in [-1, 1] space\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n // Apply opacity to instance color, or return instance picking color\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=scatterplot-layer-vertex.glsl.d.ts.map |
@@ -5,5 +5,5 @@ import { Layer } from '@deck.gl/core'; | ||
/** All props supported by the ScatterplotLayer */ | ||
export declare type ScatterplotLayerProps<DataT = unknown> = _ScatterplotLayerProps<DataT> & LayerProps; | ||
export type ScatterplotLayerProps<DataT = unknown> = _ScatterplotLayerProps<DataT> & LayerProps; | ||
/** Props added by the ScatterplotLayer */ | ||
declare type _ScatterplotLayerProps<DataT> = { | ||
type _ScatterplotLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -10,0 +10,0 @@ /** |
@@ -5,3 +5,3 @@ import * as Polygon from './polygon'; | ||
import type { TypedArray } from '@math.gl/core'; | ||
declare type GeometryUpdateContext = { | ||
type GeometryUpdateContext = { | ||
vertexStart: number; | ||
@@ -12,3 +12,3 @@ indexStart: number; | ||
}; | ||
declare type CutPolygon = FlatComplexPolygonGeometry & { | ||
type CutPolygon = FlatComplexPolygonGeometry & { | ||
edgeTypes: number[]; | ||
@@ -15,0 +15,0 @@ }; |
import type { Position } from '@deck.gl/core'; | ||
import type { NumericArray } from '@math.gl/core'; | ||
/** Simple Polygon: an array of points */ | ||
export declare type NestedSimplePolygonGeometry = Position[]; | ||
export type NestedSimplePolygonGeometry = Position[]; | ||
/** Complex Polygon: an array of array of points (array of rings) | ||
* with the first ring representing the outer hull and other rings representing holes | ||
*/ | ||
export declare type NestedComplexPolygonGeometry = Position[][]; | ||
export type NestedComplexPolygonGeometry = Position[][]; | ||
/** An array of numbers (flattened "simple polygon") */ | ||
export declare type FlatSimplePolygonGeometry = NumericArray; | ||
export type FlatSimplePolygonGeometry = NumericArray; | ||
/** Flattened "complex polygon" */ | ||
export declare type FlatComplexPolygonGeometry = { | ||
export type FlatComplexPolygonGeometry = { | ||
positions: NumericArray; | ||
holeIndices: NumericArray; | ||
}; | ||
export declare type PolygonGeometry = NestedSimplePolygonGeometry | NestedComplexPolygonGeometry | FlatSimplePolygonGeometry | FlatComplexPolygonGeometry; | ||
export declare type NormalizedPolygonGeometry = FlatSimplePolygonGeometry | FlatComplexPolygonGeometry; | ||
export type PolygonGeometry = NestedSimplePolygonGeometry | NestedComplexPolygonGeometry | FlatSimplePolygonGeometry | FlatComplexPolygonGeometry; | ||
export type NormalizedPolygonGeometry = FlatSimplePolygonGeometry | FlatComplexPolygonGeometry; | ||
/** Get the positions from a normalized polygon */ | ||
@@ -19,0 +19,0 @@ export declare function getPositions(polygon: NormalizedPolygonGeometry): NumericArray; |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=solid-polygon-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 positions64Low;\n vec3 pickingColors;\n vec3 normal;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n // normals generated by the polygon tesselator are in lnglat offsets instead of meters\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n vec3 pos = props.positions;\n vec3 pos64Low = props.positions64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.pickingColor = props.pickingColors;\n\n if (extruded) {\n pos.z += props.elevations * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n geometry.normal = props.normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
declare const _default: "\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nout vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 positions64Low;\n vec3 pickingColors;\n vec3 normal;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n // normals generated by the polygon tesselator are in lnglat offsets instead of meters\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n vec3 pos = props.positions;\n vec3 pos64Low = props.positions64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.pickingColor = props.pickingColors;\n\n if (extruded) {\n pos.z += props.elevations * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n geometry.normal = props.normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=solid-polygon-layer-vertex-main.glsl.d.ts.map |
@@ -6,3 +6,3 @@ import { Layer } from '@deck.gl/core'; | ||
import type { PolygonGeometry } from './polygon'; | ||
declare type _SolidPolygonLayerProps<DataT> = { | ||
type _SolidPolygonLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -64,3 +64,3 @@ /** Whether to fill the polygons | ||
/** Render filled and/or extruded polygons. */ | ||
export declare type SolidPolygonLayerProps<DataT = unknown> = _SolidPolygonLayerProps<DataT> & LayerProps; | ||
export type SolidPolygonLayerProps<DataT = unknown> = _SolidPolygonLayerProps<DataT> & LayerProps; | ||
export default class SolidPolygonLayer<DataT = any, ExtraPropsT extends {} = {}> extends Layer<ExtraPropsT & Required<_SolidPolygonLayerProps<DataT>>> { | ||
@@ -67,0 +67,0 @@ static defaultProps: DefaultProps<SolidPolygonLayerProps<unknown>>; |
import { CharacterMapping } from './utils'; | ||
export declare type FontSettings = { | ||
export type FontSettings = { | ||
/** CSS font family | ||
@@ -41,3 +41,3 @@ * @default 'Monaco, monospace' | ||
export declare const DEFAULT_FONT_SETTINGS: Required<FontSettings>; | ||
declare type FontAtlas = { | ||
type FontAtlas = { | ||
/** x position of last character in mapping */ | ||
@@ -44,0 +44,0 @@ xOffset: number; |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float sdfBuffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n\n // if enable sdf (signed distance fields)\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(sdfBuffer - gamma, sdfBuffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n\n // Take the global opacity and the alpha from color into account for the alpha component\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float sdfBuffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nin vec4 vColor;\nin vec2 vTextureCoords;\nin vec2 uv;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!bool(picking.isActive)) {\n float alpha = texture(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n\n // if enable sdf (signed distance fields)\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(sdfBuffer - gamma, sdfBuffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n\n // Take the global opacity and the alpha from color into account for the alpha component\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n fragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=multi-icon-layer-fragment.glsl.d.ts.map |
import IconLayer from '../../icon-layer/icon-layer'; | ||
import type { IconLayerProps } from '../../icon-layer/icon-layer'; | ||
import type { Accessor, Color, UpdateParameters, DefaultProps } from '@deck.gl/core'; | ||
declare type _MultiIconLayerProps<DataT> = { | ||
type _MultiIconLayerProps<DataT> = { | ||
getIconOffsets?: Accessor<DataT, number[]>; | ||
@@ -11,3 +11,3 @@ sdf?: boolean; | ||
}; | ||
export declare type MultiIconLayerProps<DataT = unknown> = _MultiIconLayerProps<DataT> & IconLayerProps<DataT>; | ||
export type MultiIconLayerProps<DataT = unknown> = _MultiIconLayerProps<DataT> & IconLayerProps<DataT>; | ||
export default class MultiIconLayer<DataT, ExtraPropsT extends {} = {}> extends IconLayer<DataT, ExtraPropsT & Required<_MultiIconLayerProps<DataT>>> { | ||
@@ -14,0 +14,0 @@ static defaultProps: DefaultProps<MultiIconLayerProps<unknown>>; |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nin vec4 vFillColor;\nin vec4 vLineColor;\nin float vLineWidth;\nin vec2 uv;\nin vec2 dimensions;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n fragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n fragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=text-background-layer-fragment.glsl.d.ts.map |
@@ -1,3 +0,3 @@ | ||
declare const _default: "#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n\n // convert size in meters to pixels, then scaled and clamp\n\n // project meters to pixels and clamp to limits\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n // Apply opacity to instance color, or return instance picking color\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
declare const _default: "#version 300 es\n#define SHADER_NAME text-background-layer-vertex-shader\n\nin vec2 positions;\n\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceRects;\nin float instanceSizes;\nin float instanceAngles;\nin vec2 instancePixelOffsets;\nin float instanceLineWidths;\nin vec4 instanceFillColors;\nin vec4 instanceLineColors;\nin vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nout vec4 vFillColor;\nout vec4 vLineColor;\nout float vLineWidth;\nout vec2 uv;\nout vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n\n // convert size in meters to pixels, then scaled and clamp\n\n // project meters to pixels and clamp to limits\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n // Apply opacity to instance color, or return instance picking color\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=text-background-layer-vertex.glsl.d.ts.map |
import { Layer } from '@deck.gl/core'; | ||
import { Model } from '@luma.gl/engine'; | ||
import type { LayerProps, LayerDataSource, Accessor, Unit, Position, Color, UpdateParameters, DefaultProps } from '@deck.gl/core'; | ||
declare type _TextBackgroundLayerProps<DataT> = { | ||
type _TextBackgroundLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -21,3 +21,3 @@ billboard?: boolean; | ||
}; | ||
export declare type TextBackgroundLayerProps<DataT = unknown> = _TextBackgroundLayerProps<DataT> & LayerProps; | ||
export type TextBackgroundLayerProps<DataT = unknown> = _TextBackgroundLayerProps<DataT> & LayerProps; | ||
export default class TextBackgroundLayer<DataT = any, ExtraPropsT extends {} = {}> extends Layer<ExtraPropsT & Required<_TextBackgroundLayerProps<DataT>>> { | ||
@@ -24,0 +24,0 @@ static defaultProps: DefaultProps<TextBackgroundLayerProps<unknown>>; |
@@ -7,3 +7,3 @@ import { CompositeLayer } from '@deck.gl/core'; | ||
import type { LayerProps, LayerDataSource, Accessor, AccessorFunction, Unit, Position, Color, UpdateParameters, GetPickingInfoParams, PickingInfo, DefaultProps } from '@deck.gl/core'; | ||
declare type _TextLayerProps<DataT> = { | ||
type _TextLayerProps<DataT> = { | ||
data: LayerDataSource<DataT>; | ||
@@ -143,3 +143,3 @@ /** If `true`, the text always faces camera. Otherwise the text faces up (z). | ||
}; | ||
export declare type TextLayerProps<DataT = unknown> = _TextLayerProps<DataT> & LayerProps; | ||
export type TextLayerProps<DataT = unknown> = _TextLayerProps<DataT> & LayerProps; | ||
/** Render text labels at given coordinates. */ | ||
@@ -146,0 +146,0 @@ export default class TextLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<ExtraPropsT & Required<_TextLayerProps<DataT>>> { |
import type { NumericArray } from '@math.gl/core'; | ||
export declare type Character = { | ||
export type Character = { | ||
x: number; | ||
@@ -11,3 +11,3 @@ y: number; | ||
}; | ||
export declare type CharacterMapping = Record<string, Character>; | ||
export type CharacterMapping = Record<string, Character>; | ||
export declare function nextPowOfTwo(number: number): number; | ||
@@ -14,0 +14,0 @@ /** |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2548155
384
35980
1
+ Added@loaders.gl/core@4.1.0-alpha.9(transitive)
+ Added@loaders.gl/images@4.1.0-alpha.9(transitive)
+ Added@loaders.gl/loader-utils@4.1.0-alpha.9(transitive)
+ Added@loaders.gl/schema@4.1.0-alpha.9(transitive)
+ Added@loaders.gl/worker-utils@4.1.0-alpha.9(transitive)
+ Added@luma.gl/constants@9.0.0-alpha.53(transitive)
+ Added@luma.gl/core@9.0.0-alpha.53(transitive)
+ Added@luma.gl/engine@9.0.0-alpha.53(transitive)
+ Added@luma.gl/shadertools@9.0.0-alpha.53(transitive)
- Removed@loaders.gl/core@4.0.3(transitive)
- Removed@loaders.gl/images@4.0.3(transitive)
- Removed@loaders.gl/loader-utils@4.0.3(transitive)
- Removed@loaders.gl/schema@4.0.3(transitive)
- Removed@loaders.gl/worker-utils@4.0.3(transitive)
- Removed@luma.gl/constants@9.0.0-alpha.42(transitive)
- Removed@luma.gl/core@9.0.0-alpha.42(transitive)
- Removed@luma.gl/engine@9.0.0-alpha.42(transitive)
- Removed@luma.gl/shadertools@9.0.0-alpha.42(transitive)
Updated@luma.gl/core@9.0.0-alpha.53