code: function createDrawQuad () {
      return regl({
        // Pass down props from javascript
        uniforms: uniforms,
        // Fall back to a simple fragment shader
        frag: opt.frag || [
          'precision highp float;',
          '',
          'void main () {',
          '  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);',
          '}'
        ].join('\n'),
        // Fall back to a simple vertex shader
        vert: opt.vert || [
          'precision highp float;',
          'attribute vec3 position;',
          'varying vec2 vUv;',
          '',
          'void main () {',
          '  gl_Position = vec4(position.xyz, 1.0);',
          '  vUv = gl_Position.xy * 0.5 + 0.5;',
          '}'
        ].join('\n'),
        // Setup transparency blending
        blend: {
          enable: true,
          func: {
            srcRGB: 'src alpha',
            srcAlpha: 1,
            dstRGB: 'one minus src alpha',
            dstAlpha: 1
          }
        },
        // Send mesh vertex attributes to shader
        attributes: {
          position: quad.positions
        },
        // The indices for the quad mesh
        elements: quad.cells
      });
    }
docs: Draw command