_updateGlobalTexParameters() {
        // unpack alignment
        if(this.renderer.state.unpackAlignment !== this._globalParameters.unpackAlignment) {
            this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT, this._globalParameters.unpackAlignment);
            this.renderer.state.unpackAlignment = this._globalParameters.unpackAlignment;
        }

        // flip Y only if source is not empty
        if(this.renderer.state.flipY !== this._globalParameters.flipY) {
            this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL, this._globalParameters.flipY);
            this.renderer.state.flipY = this._globalParameters.flipY;
        }

        // premultiplied alpha only if source is not empty
        if(this.renderer.state.premultiplyAlpha !== this._globalParameters.premultiplyAlpha) {
            this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this._globalParameters.premultiplyAlpha);
            this.renderer.state.premultiplyAlpha = this._globalParameters.premultiplyAlpha;
        }

        // floating point textures
        if(this._globalParameters.floatingPoint === "half-float") {
            if(this.renderer._isWebGL2 && this.renderer.extensions['EXT_color_buffer_float']) {
                this._globalParameters.internalFormat = this.gl.RGBA16F;
                this._globalParameters.type = this.gl.HALF_FLOAT;
            }
            else if(this.renderer.extensions['OES_texture_half_float']) {
                this._globalParameters.type = this.renderer.extensions['OES_texture_half_float'].HALF_FLOAT_OES;
            }
            else if(!this.renderer.production) {
                throwWarning(this.type + ": could not use half-float textures because the extension is not available");
            }
        }
        else if(this._globalParameters.floatingPoint === "float") {
            if(this.renderer._isWebGL2 && this.renderer.extensions['EXT_color_buffer_float']) {
                this._globalParameters.internalFormat = this.gl.RGBA16F;
                this._globalParameters.type = this.gl.FLOAT;
            }
            else if(this.renderer.extensions['OES_texture_float']) {
                this._globalParameters.type = this.renderer.extensions['OES_texture_half_float'].FLOAT;
            }
            else if(!this.renderer.production) {
                throwWarning(this.type + ": could not use float textures because the extension is not available");
            }
        }
    }
Updates textures parameters that depends on global WebGL context state
     Typically unpacking, flipY and premultiplied alpha
     Usually called before uploading a texture to the GPU
*