code: function(name, x, y) {
          var a = this._attribute_table[name];
          var stride = this.stride,
              offset = a.offset + this.ent_offset * stride,
              w = a.width;
          var l = arguments.length - 1;
          var data = this._attributeArray;
  
          for (var r = 0; r < 4; r++)
              for (var c = 0; c < w; c++) {
                  data[offset + stride * r + c] =
                      arguments[((w * r + c) % l) + 1];
              }
      }
docs: Fill in the attribute with the given arguments, cycling through the data if necessary If the arguments provided match the width of the attribute, that means it'll fill the same values for each of the four vertices. TODO determine if this abstraction is a performance hit!