_restoreFromTexture() {
        // init again if needed
        if(!this._copyOnInit) {
            this._initTexture();
        }

        // a texture shouldn't be restored if it does not have a parent
        // since it's always the parent that calls the _restoreContext() method
        if(this._parent) {
            // set uniforms again
            this._setTextureUniforms();

            // update the texture matrix uniform as well
            this._setSize();
        }

        // copy our texture again
        this.copy(this._copiedFrom);

        this._canDraw = true;
    }
Restore a WebGL texture that is a copy
     Depending on whether it's a copy from start or not, just reset its uniforms or run the full init
     And finally copy our original texture back again
*