es,
      bindGroup,
    }, i) => {
      const angle = i / numFs * Math.PI * 2;
      const x = Math.cos(angle) * radius;
      const z = Math.sin(angle) * radius;

      mat4.translate(viewProjectionMatrix, [x, 0, z], matrixValue);

      // upload the uniform values to the uniform buffer
      device.queue.writeBuffer(uniformBuffer, 0, uniformValues);

      pass.setBindGroup(0, bindGroup);
      pass.draw(numVertices);
    });

    pass.end();

    const commandBuffer = encoder.finish();
    device.queu