docs: function createProgramInfo(
        gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback) {
      shaderSources = shaderSources.map(function(source) {
        var script = document.getElementById(source);
        return script ? script.text : source;
      });
      var program = webglUtils.createProgramFromSources(gl, shaderSources, opt_attribs, opt_locations, opt_errorCallback);
      if (!program) {
        return null;
      }
      var uniformSetters = createUniformSetters(gl, program);
      var attribSetters = createAttributeSetters(gl, program);
      return {
        program: program,
        uniformSetters: uniformSetters,
        attribSetters: attribSetters,
      };
    }