addParent(parent) {
        if(!parent || (parent.type !== "Plane" && parent.type !== "PingPongPlane" && parent.type !== "ShaderPass" && parent.type !== "RenderTarget")) {
            if(!this.renderer.production) {
                throwWarning(this.type + ": cannot add texture as a child of ", parent, " because it is not a valid parent");
            }

            return;
        }

        // add parent property
        this._parent = parent;
        // update parent textures array
        this.index = this._parent.textures.length;
        this._parent.textures.push(this);

        // now set its parent for real
        this._setParent();
    }
Adds a parent to a texture
     Sets its index, its parent and add it to the parent textures array as well
     Then runs _setParent() to set the size and uniforms if needed
*