 g: 0, b: 0, a: 0 }
      }]
    });

    passEncoder.setPipeline(depthToFloatPipeline);
    passEncoder.setBindGroup(0, bindGroup);
    passEncoder.draw(3);
    passEncoder.end();

    if (doSubmit) {
      device.queue.submit([commandEncoder.finish()]);
    }
  }

  function frame() {
    const commandEncoder = device.createCommandEncoder();

    const canvasTextureView = context.getCurrentTexture().createView();

    const passEncoder = commandEncoder.beginRenderPass({
      colorAtta