utput;;
  }
  
  @binding(0) @group(0) var depth: texture_depth_2d;
  @fragment
  fn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {
    var depthSize = textureDimensions(depth, 0);
    var coords = vec2<i32>(i32(f32(depthSize.x) * input.uv.x),
                           i32(f32(depthSize.y) * input.uv.y));
    var d = textureLoad(depth, coords, 0);
    return vec4<f32>(d, 0.0, 0.0, 1.0);
  }`;

  let depthToFloatPipeline = null;
  let depthToFloatBindGroupLayout = null;
  const