code: function setAttributes(setters, attribs) {
      setters = setters.attribSetters || setters;
      Object.keys(attribs).forEach(function(name) {
        var setter = setters[name];
        if (setter) {
          setter(attribs[name]);
        }
      });
    }
docs: Sets attributes and binds buffers (deprecated... use {@link module:webgl-utils.setBuffersAndAttributes})
  
  Example:
  
  var program = createProgramFromScripts(
  gl, ["some-vs", "some-fs");
  
  var attribSetters = createAttributeSetters(program);
  
  var positionBuffer = gl.createBuffer();
  var texcoordBuffer = gl.createBuffer();
  
  var attribs = {
  a_position: {buffer: positionBuffer, numComponents: 3},
  a_texcoord: {buffer: texcoordBuffer, numComponents: 2},
  };
  
  gl.useProgram(program);
  
  This will automatically bind the buffers AND set the
  attributes.
  
  setAttributes(attribSetters, attribs);
  
  Properties of attribs. For each attrib you can add
  properties:
  
  *   type: the type of data in the buffer. Default = gl.FLOAT
  *   normalize: whether or not to normalize the data. Default = false
  *   stride: the stride. Default = 0
  *   offset: offset into the buffer. Default = 0
  
  For example if you had 3 value float positions, 2 value
  float texcoord and 4 value uint8 colors you'd setup your
  attribs like this
  
  var attribs = {
  a_position: {buffer: positionBuffer, numComponents: 3},
  a_texcoord: {buffer: texcoordBuffer, numComponents: 2},
  a_color: {
  buffer: colorBuffer,
  numComponents: 4,
  type: gl.UNSIGNED_BYTE,
  normalize: true,
  },
  };
  
  @param {Object.<string, function>|model:webgl-utils.ProgramInfo} setters Attribute setters as returned from createAttributeSetters or a ProgramInfo as returned {@link module:webgl-utils.createProgramInfo}
  @param {Object.<string, module:webgl-utils.AttribInfo>} attribs AttribInfos mapped by attribute name.
  @memberOf module:webgl-utils
  @deprecated use {@link module:webgl-utils.setBuffersAndAttributes}