 [ 0, 0, 1, 1, ],  // blue
    [ 1, 0, 1, 1, ],  // magenta
    [ 0, 1, 1, 1, ],  // cyan
  ];

  function render(time) {
    time *= 0.001; // seconds

    webglUtils.resizeCanvasToDisplaySize(gl.canvas);

    // Tell WebGL how to convert from clip space to pixels
    gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);

    gl.useProgram(program);

    // setup all attributes
    gl.bindVertexArray(vao);

    matrices.forEach((mat, ndx) => {
      m4.translation(-0.5 + ndx * 0.25, 0, 0, mat);
      m4.zR