declare const _default: "struct WeightAttributes {\n @builtin(vertex_index) vertexIndex: u32,\n @location(0) instancePositions: vec3,\n @location(1) instancePositions64Low: vec3,\n @location(2) instanceWeights: f32,\n};\n\nstruct WeightVaryings {\n @builtin(position) position: vec4,\n @location(0) pointCoordinates: vec2,\n @location(1) weights: vec4,\n};\n\nconst WEIGHT_QUAD_POSITIONS = array, 6>(\n vec2(-1.0, -1.0),\n vec2(1.0, -1.0),\n vec2(-1.0, 1.0),\n vec2(-1.0, 1.0),\n vec2(1.0, -1.0),\n vec2(1.0, 1.0)\n);\n\n@vertex\nfn vertexMain(attributes: WeightAttributes) -> WeightVaryings {\n var output: WeightVaryings;\n let commonPosition = project_position_vec3_f64(\n attributes.instancePositions,\n attributes.instancePositions64Low\n );\n let clipPosition =\n (commonPosition.xy - weight.commonBounds.xy) /\n (weight.commonBounds.zw - weight.commonBounds.xy) * 2.0 - vec2(1.0);\n let radiusTexels =\n project_pixel_size_float(weight.radiusPixels) * weight.textureWidth /\n (weight.commonBounds.z - weight.commonBounds.x);\n let offset = WEIGHT_QUAD_POSITIONS[attributes.vertexIndex];\n\n output.position = vec4(\n clipPosition + offset * radiusTexels * 2.0 / weight.textureWidth,\n 0.0,\n 1.0\n );\n output.pointCoordinates = (offset + vec2(1.0)) * 0.5;\n output.weights = vec4(attributes.instanceWeights * weight.weightsScale, 0.0, 0.0, 1.0);\n return output;\n}\n\n@fragment\nfn fragmentMain(varyings: WeightVaryings) -> @location(0) vec4 {\n let distanceFromCenter = length(varyings.pointCoordinates - vec2(0.5));\n if (distanceFromCenter > 0.5) {\n discard;\n }\n\n let gaussian = exp(-pow(2.0 * distanceFromCenter, 2.0) / 0.05555) /\n (1.77245385 * 0.166666);\n return varyings.weights * gaussian;\n}\n"; export default _default; //# sourceMappingURL=weights.wgsl.d.ts.map