src/graphics/webgl-layer.js
function(attributes) {
        this.attributes = attributes;
        this._attribute_table = {};
        var offset = 0;
        for (var i = 0; i < attributes.length; i++) {
            var a = attributes[i];
            this._attribute_table[a.name] = a;

            a.bytes = a.bytes || Float32Array.BYTES_PER_ELEMENT;
            a.type = a.type || this.context.FLOAT;
            a.offset = offset;
            a.location = this.context.getAttribLocation(this.shader, a.name);

            this.context.enableVertexAttribArray(a.location);

            offset += a.width;
        }

        // Stride is the full width including the last set
        this.stride = offset;

        // Create attribute array of correct size to hold max elements
        this._attributeArray = new Float32Array(
            this.array_size * 4 * this.stride
        );
        this._attributeBuffer = this.context.createBuffer();
        this._registryHoles = [];
        this._registrySize = 0;
    }
function(attributes) {
        this.attributes = attributes;
        this._attribute_table = {};
        var offset = 0;
        for (var i = 0; i < attributes.length; i++) {
            var a = attributes[i];
            this._attribute_table[a.name] = a;

            a.bytes = a.bytes || Float32Array.BYTES_PER_ELEMENT;
            a.type = a.type || this.context.FLOAT;
            a.offset = offset;
            a.location = this.context.getAttribLocation(this.shader, a.name);

            this.context.enableVertexAttribArray(a.location);

            offset += a.width;
        }

        // Stride is the full width including the last set
        this.stride = offset;

        // Create attribute array of correct size to hold max elements
        this._attributeArray = new Float32Array(
            this.array_size * 4 * this.stride
        );
        this._attributeBuffer = this.context.createBuffer();
        this._registryHoles = [];
        this._registrySize = 0;
    }
function ( attributes ) { this . attributes = attributes ; this . _attribute_table = { } ; var offset = 0 ; for ( var i = 0 ; i < attributes . length ; i ++ ) { var a = attributes [ i ] ; this . _attribute_table [ a . name ] = a ; a . bytes = a . bytes || Float32Array . BYTES_PER_ELEMENT ; a . type = a . type || this . context . FLOAT ; a . offset = offset ; a . location = this . context . getAttribLocation ( this . shader , a . name ) ; this . context . enableVertexAttribArray ( a . location ) ; offset += a . width ; } // Stride is the full width including the last set this . stride = offset ; // Create attribute array of correct size to hold max elements this . _attributeArray = new Float32Array ( this . array_size * 4 * this . stride ) ; this . _attributeBuffer = this . context . createBuffer ( ) ; this . _registryHoles = [ ] ; this . _registrySize = 0 ; }
Takes an array of attributes; see WebGLLayer's getProgramWrapper method
Takes an array of attributes ; see WebGLLayer s getProgramWrapper method