function AttributeBuffer(name, type, buffer, size, semantic) {
    this.name = name;
    this.type = type;
    this.buffer = buffer;
    this.size = size;
    this.semantic = semantic;

    // To be set in mesh
    // symbol in the shader
    this.symbol = '';

    // Needs remove flag
    this.needsRemove = false;
}
Initialize attribute with given array. Which can be 1 dimensional or 2 dimensional
@param {Array} array
@example
 geometry.getAttribute('position').fromArray(
     [-1, 0, 0, 1, 0, 0, 0, 1, 0]
 );
 geometry.getAttribute('position').fromArray(
     [ [-1, 0, 0], [1, 0, 0], [0, 1, 0] ]
 );