activate()
    {
        const gl = this.gl;
        let lastBuffer = null;

        for (let i = 0; i < this.attributes.length; ++i)
        {
            const attrib = this.attributes[i];

            if (lastBuffer !== attrib.buffer)
            {
                attrib.buffer.bind();
                lastBuffer = attrib.buffer;
            }

            attrib.attribute.setup(gl, attrib);
        }

        setVertexAttribArrays(gl, this.attributes, this.state);

        this.indexBuffer.bind();

        return this;
    }
/**
     * Uses this vao
     *
     * @return {GLVertexArrayObject} Returns self.
     */
Uses this vao
@return {GLVertexArrayObject} Returns self.
Uses this vao @return { GLVertexArrayObject } Returns self .
activate()
    {
        const gl = this.gl;
        let lastBuffer = null;
        for (let i = 0; i < this.attributes.length; ++i)
        {
            const attrib = this.attributes[i];
            if (lastBuffer !== attrib.buffer)
            {
                attrib.buffer.bind();
                lastBuffer = attrib.buffer;
            }
            attrib.attribute.setup(gl, attrib);
        }
        setVertexAttribArrays(gl, this.attributes, this.state);
        this.indexBuffer.bind();
        return this;
    }
activate ( ) { const gl = this . gl ; let lastBuffer = null ; for ( let i = 0 ; i < this . attributes . length ; ++ i ) { const attrib = this . attributes [ i ] ; if ( lastBuffer !== attrib . buffer ) { attrib . buffer . bind ( ) ; lastBuffer = attrib . buffer ; } attrib . attribute . setup ( gl , attrib ) ; } setVertexAttribArrays ( gl , this . attributes , this . state ) ; this . indexBuffer . bind ( ) ; return this ; }
Uses this vao
 @return {GLVertexArrayObject} Returns self.
Uses this vao @return { GLVertexArrayObject } Returns self .