mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-22 02:06:03 +08:00
[ts][webgl] Validate magnification filters before setting them in GLTexture. Closes #1508.
This commit is contained in:
parent
fe0b105fd1
commit
f68ac18a82
1
spine-ts/build/spine-all.d.ts
vendored
1
spine-ts/build/spine-all.d.ts
vendored
@ -1394,6 +1394,7 @@ declare module spine.webgl {
|
|||||||
private useMipMaps;
|
private useMipMaps;
|
||||||
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
||||||
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
||||||
|
static validateMagFilter(magFilter: TextureFilter): TextureFilter.Nearest | TextureFilter.Linear | TextureFilter.Linear;
|
||||||
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
||||||
update(useMipMaps: boolean): void;
|
update(useMipMaps: boolean): void;
|
||||||
restore(): void;
|
restore(): void;
|
||||||
|
|||||||
@ -8495,7 +8495,19 @@ var spine;
|
|||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
this.bind();
|
this.bind();
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, GLTexture.validateMagFilter(magFilter));
|
||||||
|
};
|
||||||
|
GLTexture.validateMagFilter = function (magFilter) {
|
||||||
|
switch (magFilter) {
|
||||||
|
case spine.TextureFilter.MipMap:
|
||||||
|
case spine.TextureFilter.MipMapLinearLinear:
|
||||||
|
case spine.TextureFilter.MipMapLinearNearest:
|
||||||
|
case spine.TextureFilter.MipMapNearestLinear:
|
||||||
|
case spine.TextureFilter.MipMapNearestNearest:
|
||||||
|
return spine.TextureFilter.Linear;
|
||||||
|
default:
|
||||||
|
return magFilter;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-player.d.ts
vendored
1
spine-ts/build/spine-player.d.ts
vendored
@ -1363,6 +1363,7 @@ declare module spine.webgl {
|
|||||||
private useMipMaps;
|
private useMipMaps;
|
||||||
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
||||||
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
||||||
|
static validateMagFilter(magFilter: TextureFilter): TextureFilter.Nearest | TextureFilter.Linear | TextureFilter.Linear;
|
||||||
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
||||||
update(useMipMaps: boolean): void;
|
update(useMipMaps: boolean): void;
|
||||||
restore(): void;
|
restore(): void;
|
||||||
|
|||||||
@ -8227,7 +8227,19 @@ var spine;
|
|||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
this.bind();
|
this.bind();
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, GLTexture.validateMagFilter(magFilter));
|
||||||
|
};
|
||||||
|
GLTexture.validateMagFilter = function (magFilter) {
|
||||||
|
switch (magFilter) {
|
||||||
|
case spine.TextureFilter.MipMap:
|
||||||
|
case spine.TextureFilter.MipMapLinearLinear:
|
||||||
|
case spine.TextureFilter.MipMapLinearNearest:
|
||||||
|
case spine.TextureFilter.MipMapNearestLinear:
|
||||||
|
case spine.TextureFilter.MipMapNearestNearest:
|
||||||
|
return spine.TextureFilter.Linear;
|
||||||
|
default:
|
||||||
|
return magFilter;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-webgl.d.ts
vendored
1
spine-ts/build/spine-webgl.d.ts
vendored
@ -1363,6 +1363,7 @@ declare module spine.webgl {
|
|||||||
private useMipMaps;
|
private useMipMaps;
|
||||||
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement, useMipMaps?: boolean);
|
||||||
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
||||||
|
static validateMagFilter(magFilter: TextureFilter): TextureFilter.Nearest | TextureFilter.Linear | TextureFilter.Linear;
|
||||||
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
||||||
update(useMipMaps: boolean): void;
|
update(useMipMaps: boolean): void;
|
||||||
restore(): void;
|
restore(): void;
|
||||||
|
|||||||
@ -8227,7 +8227,19 @@ var spine;
|
|||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
this.bind();
|
this.bind();
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, GLTexture.validateMagFilter(magFilter));
|
||||||
|
};
|
||||||
|
GLTexture.validateMagFilter = function (magFilter) {
|
||||||
|
switch (magFilter) {
|
||||||
|
case spine.TextureFilter.MipMap:
|
||||||
|
case spine.TextureFilter.MipMapLinearLinear:
|
||||||
|
case spine.TextureFilter.MipMapLinearNearest:
|
||||||
|
case spine.TextureFilter.MipMapNearestLinear:
|
||||||
|
case spine.TextureFilter.MipMapNearestNearest:
|
||||||
|
return spine.TextureFilter.Linear;
|
||||||
|
default:
|
||||||
|
return magFilter;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
GLTexture.prototype.setWraps = function (uWrap, vWrap) {
|
||||||
var gl = this.context.gl;
|
var gl = this.context.gl;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -46,7 +46,20 @@ module spine.webgl {
|
|||||||
let gl = this.context.gl;
|
let gl = this.context.gl;
|
||||||
this.bind();
|
this.bind();
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
||||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter);
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, GLTexture.validateMagFilter(magFilter));
|
||||||
|
}
|
||||||
|
|
||||||
|
static validateMagFilter (magFilter: TextureFilter) {
|
||||||
|
switch(magFilter) {
|
||||||
|
case TextureFilter.MipMap:
|
||||||
|
case TextureFilter.MipMapLinearLinear:
|
||||||
|
case TextureFilter.MipMapLinearNearest:
|
||||||
|
case TextureFilter.MipMapNearestLinear:
|
||||||
|
case TextureFilter.MipMapNearestNearest:
|
||||||
|
return TextureFilter.Linear;
|
||||||
|
default:
|
||||||
|
return magFilter;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setWraps (uWrap: TextureWrap, vWrap: TextureWrap) {
|
setWraps (uWrap: TextureWrap, vWrap: TextureWrap) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user