declare const _default: "struct ConstantAttributes {\n  instanceNormals: vec3<f32>,\n  instanceColors: vec4<f32>,\n  instancePositions: vec3<f32>,\n  instancePositions64Low: vec3<f32>,\n  instancePickingColors: vec3<f32>\n};\n\nconst constants = ConstantAttributes(\n  vec3<f32>(1.0, 0.0, 0.0),\n  vec4<f32>(0.0, 0.0, 0.0, 1.0),\n  vec3<f32>(0.0),\n  vec3<f32>(0.0),\n  vec3<f32>(0.0)\n);\n\nstruct Attributes {\n  @builtin(instance_index) instanceIndex : u32,\n  @builtin(vertex_index) vertexIndex : u32,\n  @location(0) positions: vec3<f32>,\n  @location(1) instancePositions: vec3<f32>,\n  @location(2) instancePositions64Low: vec3<f32>,\n  @location(3) instanceNormals: vec3<f32>,\n  @location(4) instanceColors: vec4<f32>,\n  @location(5) instancePickingColors: vec3<f32>\n};\n\nstruct Varyings {\n  @builtin(position) position: vec4<f32>,\n  @location(0) vColor: vec4<f32>,\n  @location(1) unitPosition: vec2<f32>,\n};\n\n@vertex\nfn vertexMain(attributes: Attributes) -> Varyings {\n  var varyings: Varyings;\n  \n  // var geometry: Geometry;\n  // geometry.worldPosition = instancePositions;\n  // geometry.normal = project_normal(instanceNormals);\n\n  // position on the containing square in [-1, 1] space\n  varyings.unitPosition = attributes.positions.xy;\n  geometry.uv = varyings.unitPosition;\n  geometry.pickingColor = attributes.instancePickingColors;\n\n  // Find the center of the point and add the current vertex\n  let offset = vec3<f32>(attributes.positions.xy * project_unit_size_to_pixel(pointCloud.radiusPixels, pointCloud.sizeUnits), 0.0);\n  // DECKGL_FILTER_SIZE(offset, geometry);\n\n  varyings.position = project_position_to_clipspace(attributes.instancePositions, attributes.instancePositions64Low, vec3<f32>(0.0)); // TODO , geometry.position);\n  // DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n  let clipPixels = project_pixel_size_to_clipspace(offset.xy);\n  varyings.position.x += clipPixels.x;\n  varyings.position.y += clipPixels.y;\n\n  // Apply lighting\n  let lightColor = lighting_getLightColor2(attributes.instanceColors.rgb, project.cameraPosition, geometry.position.xyz, geometry.normal);\n\n  // Apply opacity to instance color, or return instance picking color\n  varyings.vColor = vec4(lightColor, attributes.instanceColors.a * color.opacity);\n  // DECKGL_FILTER_COLOR(vColor, geometry);\n\n  return varyings;\n}\n\n@fragment\nfn fragmentMain(varyings: Varyings) -> @location(0) vec4<f32> {\n  // var geometry: Geometry;\n  // geometry.uv = unitPosition.xy;\n\n  let distToCenter = length(varyings.unitPosition);\n  if (distToCenter > 1.0) {\n    discard;\n  }\n\n  var fragColor: vec4<f32>;\n\n  fragColor = varyings.vColor;\n  // DECKGL_FILTER_COLOR(fragColor, geometry);\n\n  // Apply premultiplied alpha as required by transparent canvas\n  fragColor = deckgl_premultiplied_alpha(fragColor);\n\n  return fragColor;\n}\n";
export default _default;
//# sourceMappingURL=point-cloud-layer.wgsl.d.ts.map