vertexPosition, 1, 1);
      }
    `;

    const fragment = `
      #ifdef GL_ES
      precision highp float;
      #endif

      uniform vec4 u_color;
      
      void main() {
        gl_FragColor = u_color;
      }
    `;
    const program = renderer.compileSync(fragment, vertex);
    renderer.useProgram(program);

    function randomShape(x = 0, y = 0, edges = 3, rotation = 0.0, radius = 0.1) {
      const a0 = rotation;
      const delta = 2 * Math.PI / edges;
      const positions = [];
      const c