@esotericsoftware/spine-webgl 4.2.6 → 4.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GLTexture.d.ts +1 -0
- package/dist/GLTexture.js +16 -1
- package/dist/iife/spine-webgl.js +79 -14
- package/dist/iife/spine-webgl.js.map +2 -2
- package/dist/iife/spine-webgl.min.js +3 -3
- package/package.json +2 -2
package/dist/GLTexture.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export declare class GLTexture extends Texture implements Disposable, Restorable
|
|
|
37
37
|
constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, image: HTMLImageElement | ImageBitmap, useMipMaps?: boolean);
|
|
38
38
|
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
|
39
39
|
static validateMagFilter(magFilter: TextureFilter): TextureFilter.Nearest | TextureFilter.Linear;
|
|
40
|
+
static usesMipMaps(filter: TextureFilter): boolean;
|
|
40
41
|
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
|
41
42
|
update(useMipMaps: boolean): void;
|
|
42
43
|
restore(): void;
|
package/dist/GLTexture.js
CHANGED
|
@@ -44,6 +44,9 @@ export class GLTexture extends Texture {
|
|
|
44
44
|
this.bind();
|
|
45
45
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
|
46
46
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, GLTexture.validateMagFilter(magFilter));
|
|
47
|
+
this.useMipMaps = GLTexture.usesMipMaps(minFilter);
|
|
48
|
+
if (this.useMipMaps)
|
|
49
|
+
gl.generateMipmap(gl.TEXTURE_2D);
|
|
47
50
|
}
|
|
48
51
|
static validateMagFilter(magFilter) {
|
|
49
52
|
switch (magFilter) {
|
|
@@ -57,6 +60,18 @@ export class GLTexture extends Texture {
|
|
|
57
60
|
return magFilter;
|
|
58
61
|
}
|
|
59
62
|
}
|
|
63
|
+
static usesMipMaps(filter) {
|
|
64
|
+
switch (filter) {
|
|
65
|
+
case TextureFilter.MipMap:
|
|
66
|
+
case TextureFilter.MipMapLinearLinear:
|
|
67
|
+
case TextureFilter.MipMapLinearNearest:
|
|
68
|
+
case TextureFilter.MipMapNearestLinear:
|
|
69
|
+
case TextureFilter.MipMapNearestNearest:
|
|
70
|
+
return true;
|
|
71
|
+
default:
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
60
75
|
setWraps(uWrap, vWrap) {
|
|
61
76
|
let gl = this.context.gl;
|
|
62
77
|
this.bind();
|
|
@@ -100,4 +115,4 @@ export class GLTexture extends Texture {
|
|
|
100
115
|
}
|
|
101
116
|
}
|
|
102
117
|
GLTexture.DISABLE_UNPACK_PREMULTIPLIED_ALPHA_WEBGL = false;
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR0xUZXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0dMVGV4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFFL0UsT0FBTyxFQUFFLE9BQU8sRUFBMEIsYUFBYSxFQUFlLE1BQU0sOEJBQThCLENBQUM7QUFDM0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZELE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBTztJQVFyQyxZQUFhLE9BQTZELEVBQUUsS0FBcUMsRUFBRSxhQUFzQixLQUFLO1FBQzdJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVBOLFlBQU8sR0FBd0IsSUFBSSxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBTTFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxZQUFZLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBRSxTQUF3QixFQUFFLFNBQXdCO1FBQzdELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFB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
|
package/dist/iife/spine-webgl.js
CHANGED
|
@@ -3916,6 +3916,18 @@ var spine = (() => {
|
|
|
3916
3916
|
if (!this.region)
|
|
3917
3917
|
throw new Error("Region not set.");
|
|
3918
3918
|
let region = this.region;
|
|
3919
|
+
let uvs = this.uvs;
|
|
3920
|
+
if (region == null) {
|
|
3921
|
+
uvs[0] = 0;
|
|
3922
|
+
uvs[1] = 0;
|
|
3923
|
+
uvs[2] = 0;
|
|
3924
|
+
uvs[3] = 1;
|
|
3925
|
+
uvs[4] = 1;
|
|
3926
|
+
uvs[5] = 1;
|
|
3927
|
+
uvs[6] = 1;
|
|
3928
|
+
uvs[7] = 0;
|
|
3929
|
+
return;
|
|
3930
|
+
}
|
|
3919
3931
|
let regionScaleX = this.width / this.region.originalWidth * this.scaleX;
|
|
3920
3932
|
let regionScaleY = this.height / this.region.originalHeight * this.scaleY;
|
|
3921
3933
|
let localX = -this.width / 2 * this.scaleX + this.region.offsetX * regionScaleX;
|
|
@@ -3943,16 +3955,15 @@ var spine = (() => {
|
|
|
3943
3955
|
offset[5] = localY2Cos + localX2Sin;
|
|
3944
3956
|
offset[6] = localX2Cos - localYSin;
|
|
3945
3957
|
offset[7] = localYCos + localX2Sin;
|
|
3946
|
-
let uvs = this.uvs;
|
|
3947
3958
|
if (region.degrees == 90) {
|
|
3959
|
+
uvs[0] = region.u2;
|
|
3960
|
+
uvs[1] = region.v2;
|
|
3948
3961
|
uvs[2] = region.u;
|
|
3949
3962
|
uvs[3] = region.v2;
|
|
3950
3963
|
uvs[4] = region.u;
|
|
3951
3964
|
uvs[5] = region.v;
|
|
3952
3965
|
uvs[6] = region.u2;
|
|
3953
3966
|
uvs[7] = region.v;
|
|
3954
|
-
uvs[0] = region.u2;
|
|
3955
|
-
uvs[1] = region.v2;
|
|
3956
3967
|
} else {
|
|
3957
3968
|
uvs[0] = region.u;
|
|
3958
3969
|
uvs[1] = region.v2;
|
|
@@ -4321,23 +4332,62 @@ var spine = (() => {
|
|
|
4321
4332
|
}
|
|
4322
4333
|
let pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d;
|
|
4323
4334
|
let pid = 1 / (pa * pd - pb * pc);
|
|
4335
|
+
let ia = pd * pid, ib = pb * pid, ic = pc * pid, id = pa * pid;
|
|
4324
4336
|
let dx = this.worldX - parent.worldX, dy = this.worldY - parent.worldY;
|
|
4325
|
-
this.ax = dx *
|
|
4326
|
-
this.ay = dy *
|
|
4327
|
-
let
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4337
|
+
this.ax = dx * ia - dy * ib;
|
|
4338
|
+
this.ay = dy * id - dx * ic;
|
|
4339
|
+
let ra, rb, rc, rd;
|
|
4340
|
+
if (this.data.transformMode == TransformMode.OnlyTranslation) {
|
|
4341
|
+
ra = this.a;
|
|
4342
|
+
rb = this.b;
|
|
4343
|
+
rc = this.c;
|
|
4344
|
+
rd = this.d;
|
|
4345
|
+
} else {
|
|
4346
|
+
switch (this.data.transformMode) {
|
|
4347
|
+
case TransformMode.NoRotationOrReflection: {
|
|
4348
|
+
let s2 = Math.abs(pa * pd - pb * pc) / (pa * pa + pc * pc);
|
|
4349
|
+
let sa = pa / this.skeleton.scaleX;
|
|
4350
|
+
let sc = pc / this.skeleton.scaleY;
|
|
4351
|
+
pb = -sc * s2 * this.skeleton.scaleX;
|
|
4352
|
+
pd = sa * s2 * this.skeleton.scaleY;
|
|
4353
|
+
pid = 1 / (pa * pd - pb * pc);
|
|
4354
|
+
ia = pd * pid;
|
|
4355
|
+
ib = pb * pid;
|
|
4356
|
+
break;
|
|
4357
|
+
}
|
|
4358
|
+
case TransformMode.NoScale:
|
|
4359
|
+
case TransformMode.NoScaleOrReflection:
|
|
4360
|
+
let cos = MathUtils.cosDeg(this.rotation), sin = MathUtils.sinDeg(this.rotation);
|
|
4361
|
+
pa = (pa * cos + pb * sin) / this.skeleton.scaleX;
|
|
4362
|
+
pc = (pc * cos + pd * sin) / this.skeleton.scaleY;
|
|
4363
|
+
let s = Math.sqrt(pa * pa + pc * pc);
|
|
4364
|
+
if (s > 1e-5)
|
|
4365
|
+
s = 1 / s;
|
|
4366
|
+
pa *= s;
|
|
4367
|
+
pc *= s;
|
|
4368
|
+
s = Math.sqrt(pa * pa + pc * pc);
|
|
4369
|
+
if (this.data.transformMode == TransformMode.NoScale && pid < 0 != (this.skeleton.scaleX < 0 != this.skeleton.scaleY < 0))
|
|
4370
|
+
s = -s;
|
|
4371
|
+
let r = MathUtils.PI / 2 + Math.atan2(pc, pa);
|
|
4372
|
+
pb = Math.cos(r) * s;
|
|
4373
|
+
pd = Math.sin(r) * s;
|
|
4374
|
+
pid = 1 / (pa * pd - pb * pc);
|
|
4375
|
+
ia = pd * pid;
|
|
4376
|
+
ib = pb * pid;
|
|
4377
|
+
ic = pc * pid;
|
|
4378
|
+
id = pa * pid;
|
|
4379
|
+
}
|
|
4380
|
+
ra = ia * this.a - ib * this.c;
|
|
4381
|
+
rb = ia * this.b - ib * this.d;
|
|
4382
|
+
rc = id * this.c - ic * this.a;
|
|
4383
|
+
rd = id * this.d - ic * this.b;
|
|
4384
|
+
}
|
|
4335
4385
|
this.ashearX = 0;
|
|
4336
4386
|
this.ascaleX = Math.sqrt(ra * ra + rc * rc);
|
|
4337
4387
|
if (this.ascaleX > 1e-4) {
|
|
4338
4388
|
let det = ra * rd - rb * rc;
|
|
4339
4389
|
this.ascaleY = det / this.ascaleX;
|
|
4340
|
-
this.ashearY = Math.atan2(ra * rb + rc * rd, det) * MathUtils.radDeg;
|
|
4390
|
+
this.ashearY = -Math.atan2(ra * rb + rc * rd, det) * MathUtils.radDeg;
|
|
4341
4391
|
this.arotation = Math.atan2(rc, ra) * MathUtils.radDeg;
|
|
4342
4392
|
} else {
|
|
4343
4393
|
this.ascaleX = 0;
|
|
@@ -9319,6 +9369,9 @@ var spine = (() => {
|
|
|
9319
9369
|
this.bind();
|
|
9320
9370
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);
|
|
9321
9371
|
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, _GLTexture.validateMagFilter(magFilter));
|
|
9372
|
+
this.useMipMaps = _GLTexture.usesMipMaps(minFilter);
|
|
9373
|
+
if (this.useMipMaps)
|
|
9374
|
+
gl.generateMipmap(gl.TEXTURE_2D);
|
|
9322
9375
|
}
|
|
9323
9376
|
static validateMagFilter(magFilter) {
|
|
9324
9377
|
switch (magFilter) {
|
|
@@ -9332,6 +9385,18 @@ var spine = (() => {
|
|
|
9332
9385
|
return magFilter;
|
|
9333
9386
|
}
|
|
9334
9387
|
}
|
|
9388
|
+
static usesMipMaps(filter) {
|
|
9389
|
+
switch (filter) {
|
|
9390
|
+
case TextureFilter.MipMap:
|
|
9391
|
+
case TextureFilter.MipMapLinearLinear:
|
|
9392
|
+
case TextureFilter.MipMapLinearNearest:
|
|
9393
|
+
case TextureFilter.MipMapNearestLinear:
|
|
9394
|
+
case TextureFilter.MipMapNearestNearest:
|
|
9395
|
+
return true;
|
|
9396
|
+
default:
|
|
9397
|
+
return false;
|
|
9398
|
+
}
|
|
9399
|
+
}
|
|
9335
9400
|
setWraps(uWrap, vWrap) {
|
|
9336
9401
|
let gl = this.context.gl;
|
|
9337
9402
|
this.bind();
|