_dispose() {
        if(this.gl) {
            // dispose our geometry
            this._geometry && this._geometry.dispose();

            if(this.target && this.type === "ShaderPass") {
                this.renderer.removeRenderTarget(this.target);
                // remove the first texture since it has been deleted with the render target
                this.textures.shift();
            }

            // unbind and delete the textures
            for(let i = 0; i < this.textures.length; i++) {
                this.textures[i]._dispose();
            }
            this.textures = [];
        }
    }
This deletes all our mesh webgl bindings and its textures
*