declare const _default: "const HEXBIN_DISTANCE: vec2 = vec2(1.7320508, 1.5);\n\nstruct Attributes {\n @builtin(instance_index) instanceIndex: u32,\n @location(0) positions: vec3,\n @location(1) normals: vec3,\n @location(2) instancePositions: vec2,\n @location(3) instanceColorValues: f32,\n @location(4) instanceElevationValues: f32,\n};\n\nstruct Varyings {\n @builtin(position) position: vec4,\n @location(0) color: vec4,\n @location(1) pickingColor: vec3,\n};\n\nfn hexbinCentroid(binId: vec2, radius: f32) -> vec2 {\n var adjustedBinId = binId;\n adjustedBinId.x += fract(adjustedBinId.y * 0.5);\n return adjustedBinId * HEXBIN_DISTANCE * radius;\n}\n\nfn interpolate(value: f32, domain: vec2, range: vec2) -> f32 {\n let ratio = clamp((value - domain.x) / (domain.y - domain.x), 0.0, 1.0);\n return mix(range.x, range.y, ratio);\n}\n\nfn sampleColorRange(value: f32, domain: vec2) -> vec4 {\n let ratio = (value - domain.x) / (domain.y - domain.x);\n return textureSampleLevel(colorRange, colorRangeSampler, vec2(ratio, 0.5), 0.0);\n}\n\n@vertex\nfn vertexMain(attributes: Attributes) -> Varyings {\n var output: Varyings;\n geometry.pickingColor = picking_getPickingColorFromIndex(attributes.instanceIndex);\n output.pickingColor = geometry.pickingColor;\n\n if (\n attributes.instanceColorValues != attributes.instanceColorValues ||\n attributes.instanceColorValues < hexagon.colorDomain.z ||\n attributes.instanceColorValues > hexagon.colorDomain.w ||\n attributes.instanceElevationValues < hexagon.elevationDomain.z ||\n attributes.instanceElevationValues > hexagon.elevationDomain.w\n ) {\n output.position = vec4(0.0);\n output.color = vec4(0.0);\n return output;\n }\n\n var commonPosition =\n hexbinCentroid(attributes.instancePositions, column.radius) +\n (hexagon.originCommon - project.commonOrigin.xy);\n commonPosition += attributes.positions.xy * column.radius * column.coverage;\n geometry.position = vec4(commonPosition, 0.0, 1.0);\n geometry.normal = project_normal(attributes.normals);\n\n if (column.extruded > 0.5) {\n var elevation = interpolate(\n attributes.instanceElevationValues,\n hexagon.elevationDomain.xy,\n hexagon.elevationRange\n );\n elevation = project_size_float(elevation);\n geometry.position.z = (attributes.positions.z + 1.0) / 2.0 * elevation;\n }\n\n output.position = project_common_position_to_clipspace(geometry.position);\n var colorValue = sampleColorRange(attributes.instanceColorValues, hexagon.colorDomain.xy);\n if (column.extruded > 0.5) {\n colorValue = vec4(\n lighting_getLightColor2(\n colorValue.rgb,\n project.cameraPosition,\n geometry.position.xyz,\n geometry.normal\n ),\n colorValue.a\n );\n }\n output.color = vec4(colorValue.rgb, colorValue.a * layer.opacity);\n return output;\n}\n\n@fragment\nfn fragmentMain(varyings: Varyings) -> @location(0) vec4 {\n if (picking.isActive > 0.5) {\n if (!picking_isColorValid(varyings.pickingColor)) {\n discard;\n }\n return vec4(varyings.pickingColor, 1.0);\n }\n\n var color = varyings.color;\n if (picking.isHighlightActive > 0.5) {\n let highlightedObjectColor = picking_normalizeColor(picking.highlightedObjectColor);\n if (picking_isColorZero(abs(varyings.pickingColor - highlightedObjectColor))) {\n let highLightAlpha = picking.highlightColor.a;\n let blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n if (blendedAlpha > 0.0) {\n let highLightRatio = highLightAlpha / blendedAlpha;\n color = vec4(\n mix(color.rgb, picking.highlightColor.rgb, highLightRatio),\n blendedAlpha\n );\n } else {\n color = vec4(color.rgb, 0.0);\n }\n }\n }\n\n return deckgl_premultiplied_alpha(color);\n}\n"; export default _default; //# sourceMappingURL=hexagon-cell-layer.wgsl.d.ts.map