@eva/plugin-renderer 1.3.0-alpha.1 → 2.0.0-beta.1
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/EVA.plugin.renderer.js +422 -998
- package/dist/EVA.plugin.renderer.min.js +1 -1
- package/dist/plugin-renderer.cjs.js +188 -475
- package/dist/plugin-renderer.cjs.prod.js +1 -1
- package/dist/plugin-renderer.d.ts +16 -6
- package/dist/plugin-renderer.esm.js +189 -477
- package/package.json +4 -5
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { OBSERVER_TYPE, decorators,
|
|
1
|
+
import { OBSERVER_TYPE, decorators, System, LOAD_SCENE_MODE, resource } from '@eva/eva.js';
|
|
2
2
|
import { Container, Application } from '@eva/renderer-adapter';
|
|
3
3
|
import isEqual from 'lodash-es/isEqual';
|
|
4
4
|
import EventEmitter from 'eventemitter3';
|
|
5
|
-
import {
|
|
5
|
+
import { Ticker, setKTXTranscoderPath, extensions, loadKTX2, resolveCompressedTextureUrl, detectCompressed } from 'pixi.js';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -51,6 +51,43 @@ function __decorate(decorators, target, key, desc) {
|
|
|
51
51
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
55
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
56
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
57
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
58
|
+
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
59
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function __generator(thisArg, body) {
|
|
64
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
65
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
66
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
67
|
+
function step(op) {
|
|
68
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
69
|
+
while (_) try {
|
|
70
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
71
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
72
|
+
switch (op[0]) {
|
|
73
|
+
case 0: case 1: t = op; break;
|
|
74
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
75
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
76
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
77
|
+
default:
|
|
78
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
79
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
80
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
81
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
82
|
+
if (t[2]) _.ops.pop();
|
|
83
|
+
_.trys.pop(); continue;
|
|
84
|
+
}
|
|
85
|
+
op = body.call(thisArg, _);
|
|
86
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
87
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
54
91
|
function __values(o) {
|
|
55
92
|
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
56
93
|
if (m) return m.call(o);
|
|
@@ -231,7 +268,7 @@ var ContainerManager = (function () {
|
|
|
231
268
|
ContainerManager.prototype.updateTransform = function (_a) {
|
|
232
269
|
var name = _a.name, transform = _a.transform;
|
|
233
270
|
var container = this.containerMap[name];
|
|
234
|
-
if (!container)
|
|
271
|
+
if (!container || !transform)
|
|
235
272
|
return;
|
|
236
273
|
var anchor = transform.anchor, origin = transform.origin, position = transform.position, rotation = transform.rotation, scale = transform.scale, size = transform.size, skew = transform.skew;
|
|
237
274
|
container.rotation = rotation;
|
|
@@ -320,13 +357,13 @@ var Transform = (function (_super) {
|
|
|
320
357
|
};
|
|
321
358
|
Transform.prototype.addContainer = function (changed) {
|
|
322
359
|
var container = new Container();
|
|
323
|
-
container.
|
|
360
|
+
container.label = changed.gameObject.name;
|
|
324
361
|
this.containerManager.addContainer({
|
|
325
362
|
name: changed.gameObject.id,
|
|
326
363
|
container: container,
|
|
327
364
|
});
|
|
328
365
|
var transform = changed.component;
|
|
329
|
-
transform.worldTransform = container.
|
|
366
|
+
transform.worldTransform = container.worldTransform;
|
|
330
367
|
};
|
|
331
368
|
Transform.prototype.change = function (changed) {
|
|
332
369
|
var transform = changed.component;
|
|
@@ -361,407 +398,6 @@ var Transform = (function (_super) {
|
|
|
361
398
|
}(EventEmitter));
|
|
362
399
|
var Transform$1 = Transform;
|
|
363
400
|
|
|
364
|
-
var result = undefined;
|
|
365
|
-
function getSuportCompressedTextureFormats(gl) {
|
|
366
|
-
if (result)
|
|
367
|
-
return result;
|
|
368
|
-
if (!gl) {
|
|
369
|
-
console.warn('WebGL not available for compressed textures. Silently failing.');
|
|
370
|
-
return {
|
|
371
|
-
s3tc: false,
|
|
372
|
-
etc: false,
|
|
373
|
-
etc1: false,
|
|
374
|
-
pvrtc: false,
|
|
375
|
-
atc: false,
|
|
376
|
-
astc: false,
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
result = {
|
|
380
|
-
s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
|
|
381
|
-
etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
|
|
382
|
-
etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
|
|
383
|
-
pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc')
|
|
384
|
-
|| !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
|
|
385
|
-
atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
|
|
386
|
-
astc: !!gl.getExtension('WEBGL_compressed_texture_astc')
|
|
387
|
-
};
|
|
388
|
-
try {
|
|
389
|
-
console.log('Eva.js Supported Compressed Texture Format List: ' + Object.keys(result).filter(function (type) { return result[type]; }).join(', '));
|
|
390
|
-
}
|
|
391
|
-
catch (e) { }
|
|
392
|
-
return result;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
var XLS = resourceLoader.XhrLoadStrategy;
|
|
396
|
-
var XhrLoadStrategy = XLS;
|
|
397
|
-
|
|
398
|
-
var _a$2, _b;
|
|
399
|
-
var INTERNAL_FORMATS;
|
|
400
|
-
(function (INTERNAL_FORMATS) {
|
|
401
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
|
|
402
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
|
|
403
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT3_EXT"] = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT";
|
|
404
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT5_EXT"] = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT";
|
|
405
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"] = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT";
|
|
406
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"] = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT";
|
|
407
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"] = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT";
|
|
408
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_S3TC_DXT1_EXT"] = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT";
|
|
409
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_R11_EAC"] = 37488] = "COMPRESSED_R11_EAC";
|
|
410
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_R11_EAC"] = 37489] = "COMPRESSED_SIGNED_R11_EAC";
|
|
411
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RG11_EAC"] = 37490] = "COMPRESSED_RG11_EAC";
|
|
412
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_RG11_EAC"] = 37491] = "COMPRESSED_SIGNED_RG11_EAC";
|
|
413
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_ETC2"] = 37492] = "COMPRESSED_RGB8_ETC2";
|
|
414
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA8_ETC2_EAC"] = 37496] = "COMPRESSED_RGBA8_ETC2_EAC";
|
|
415
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ETC2"] = 37493] = "COMPRESSED_SRGB8_ETC2";
|
|
416
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"] = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
|
|
417
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
|
|
418
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
|
|
419
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_4BPPV1_IMG"] = 35840] = "COMPRESSED_RGB_PVRTC_4BPPV1_IMG";
|
|
420
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"] = 35842] = "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG";
|
|
421
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_2BPPV1_IMG"] = 35841] = "COMPRESSED_RGB_PVRTC_2BPPV1_IMG";
|
|
422
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"] = 35843] = "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG";
|
|
423
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ETC1_WEBGL"] = 36196] = "COMPRESSED_RGB_ETC1_WEBGL";
|
|
424
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ATC_WEBGL"] = 35986] = "COMPRESSED_RGB_ATC_WEBGL";
|
|
425
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL"] = 35986] = "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL";
|
|
426
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL"] = 34798] = "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL";
|
|
427
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x10_KHR"] = 37819] = "COMPRESSED_RGBA_ASTC_10x10_KHR";
|
|
428
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x5_KHR"] = 37816] = "COMPRESSED_RGBA_ASTC_10x5_KHR";
|
|
429
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x6_KHR"] = 37817] = "COMPRESSED_RGBA_ASTC_10x6_KHR";
|
|
430
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x8_KHR"] = 37818] = "COMPRESSED_RGBA_ASTC_10x8_KHR";
|
|
431
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x10_KHR"] = 37820] = "COMPRESSED_RGBA_ASTC_12x10_KHR";
|
|
432
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x12_KHR"] = 37821] = "COMPRESSED_RGBA_ASTC_12x12_KHR";
|
|
433
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_4x4_KHR"] = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR";
|
|
434
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x4_KHR"] = 37809] = "COMPRESSED_RGBA_ASTC_5x4_KHR";
|
|
435
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x5_KHR"] = 37810] = "COMPRESSED_RGBA_ASTC_5x5_KHR";
|
|
436
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x5_KHR"] = 37811] = "COMPRESSED_RGBA_ASTC_6x5_KHR";
|
|
437
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x6_KHR"] = 37812] = "COMPRESSED_RGBA_ASTC_6x6_KHR";
|
|
438
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x5_KHR"] = 37813] = "COMPRESSED_RGBA_ASTC_8x5_KHR";
|
|
439
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x6_KHR"] = 37814] = "COMPRESSED_RGBA_ASTC_8x6_KHR";
|
|
440
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x8_KHR"] = 37815] = "COMPRESSED_RGBA_ASTC_8x8_KHR";
|
|
441
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 3781] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
|
|
442
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR";
|
|
443
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"] = 37849] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR";
|
|
444
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"] = 37850] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR";
|
|
445
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
|
446
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
|
|
447
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"] = 37840] = "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
|
|
448
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"] = 37841] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR";
|
|
449
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"] = 37842] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR";
|
|
450
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"] = 37843] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR";
|
|
451
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"] = 37844] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR";
|
|
452
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
|
|
453
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
|
|
454
|
-
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
|
|
455
|
-
})(INTERNAL_FORMATS || (INTERNAL_FORMATS = {}));
|
|
456
|
-
var INTERNAL_FORMAT_TO_BLOCK_SIZE = (_a$2 = {},
|
|
457
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = [4, 4],
|
|
458
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = [4, 4],
|
|
459
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = [4, 4],
|
|
460
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = [4, 4],
|
|
461
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = [4, 4],
|
|
462
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = [4, 4],
|
|
463
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = [4, 4],
|
|
464
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = [4, 4],
|
|
465
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = [4, 4],
|
|
466
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = [4, 4],
|
|
467
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = [4, 4],
|
|
468
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = [4, 4],
|
|
469
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = [4, 4],
|
|
470
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = [4, 4],
|
|
471
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = [4, 4],
|
|
472
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = [4, 4],
|
|
473
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
|
|
474
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
|
|
475
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = [4, 4],
|
|
476
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = [4, 4],
|
|
477
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = [8, 4],
|
|
478
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = [8, 4],
|
|
479
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = [4, 4],
|
|
480
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = [4, 4],
|
|
481
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = [4, 4],
|
|
482
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = [4, 4],
|
|
483
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = [4, 4],
|
|
484
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = [5, 5],
|
|
485
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = [6, 6],
|
|
486
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = [8, 8],
|
|
487
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = [10, 10],
|
|
488
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = [12, 12],
|
|
489
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x5_KHR] = [10, 5],
|
|
490
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x6_KHR] = [10, 6],
|
|
491
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x8_KHR] = [10, 8],
|
|
492
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x10_KHR] = [12, 10],
|
|
493
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x4_KHR] = [5, 4],
|
|
494
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x5_KHR] = [6, 5],
|
|
495
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x5_KHR] = [8, 5],
|
|
496
|
-
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x6_KHR] = [8, 6],
|
|
497
|
-
_a$2);
|
|
498
|
-
var INTERNAL_FORMATS_TO_EXTENSION_NAME = (_b = {},
|
|
499
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
500
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
501
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
502
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
503
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
504
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
505
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
506
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
507
|
-
_b[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
508
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
509
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
510
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
511
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
512
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
|
|
513
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
514
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
|
|
515
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
516
|
-
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
517
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
518
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
519
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
520
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
521
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 'WEBGL_compressed_texture_etc1',
|
|
522
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
523
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
524
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
525
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 'WEBGL_compressed_texture_astc',
|
|
526
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 'WEBGL_compressed_texture_astc',
|
|
527
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 'WEBGL_compressed_texture_astc',
|
|
528
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 'WEBGL_compressed_texture_astc',
|
|
529
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 'WEBGL_compressed_texture_astc',
|
|
530
|
-
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 'WEBGL_compressed_texture_astc',
|
|
531
|
-
_b);
|
|
532
|
-
|
|
533
|
-
var CompressedTextureResource = (function () {
|
|
534
|
-
function CompressedTextureResource() {
|
|
535
|
-
this.levelBuffers = [];
|
|
536
|
-
}
|
|
537
|
-
CompressedTextureResource.prototype.upload = function (gl) {
|
|
538
|
-
var levels = this.levels;
|
|
539
|
-
var name = INTERNAL_FORMATS_TO_EXTENSION_NAME[this.internalFormat];
|
|
540
|
-
if (!gl[name]) {
|
|
541
|
-
gl[name] = true;
|
|
542
|
-
if (name === 'WEBGL_compressed_texture_pvrtc') {
|
|
543
|
-
gl.getExtension(name) || gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc');
|
|
544
|
-
}
|
|
545
|
-
else {
|
|
546
|
-
gl.getExtension(name);
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
for (var i = 0; i < this.levels; ++i) {
|
|
550
|
-
var _a = this.levelBuffers[i], levelWidth = _a.levelWidth, levelHeight = _a.levelHeight, levelBuffer = _a.levelBuffer;
|
|
551
|
-
gl.compressedTexImage2D(gl.TEXTURE_2D, i, this.internalFormat, levelWidth, levelHeight, 0, levelBuffer);
|
|
552
|
-
}
|
|
553
|
-
if (levels > 1) {
|
|
554
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
555
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
|
|
556
|
-
}
|
|
557
|
-
else {
|
|
558
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
559
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
|
|
560
|
-
}
|
|
561
|
-
};
|
|
562
|
-
return CompressedTextureResource;
|
|
563
|
-
}());
|
|
564
|
-
|
|
565
|
-
var FILE_HEADER_SIZE = 64;
|
|
566
|
-
var KTX_FIELDS = {
|
|
567
|
-
FILE_IDENTIFIER: 0,
|
|
568
|
-
ENDIANNESS: 12,
|
|
569
|
-
GL_TYPE: 16,
|
|
570
|
-
GL_TYPE_SIZE: 20,
|
|
571
|
-
GL_FORMAT: 24,
|
|
572
|
-
GL_INTERNAL_FORMAT: 28,
|
|
573
|
-
GL_BASE_INTERNAL_FORMAT: 32,
|
|
574
|
-
PIXEL_WIDTH: 36,
|
|
575
|
-
PIXEL_HEIGHT: 40,
|
|
576
|
-
PIXEL_DEPTH: 44,
|
|
577
|
-
NUMBER_OF_ARRAY_ELEMENTS: 48,
|
|
578
|
-
NUMBER_OF_FACES: 52,
|
|
579
|
-
NUMBER_OF_MIPMAP_LEVELS: 56,
|
|
580
|
-
BYTES_OF_KEY_VALUE_DATA: 60
|
|
581
|
-
};
|
|
582
|
-
var FILE_IDENTIFIER = [0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A];
|
|
583
|
-
var ENDIANNESS = 0x04030201;
|
|
584
|
-
var KTXTextureResource = (function (_super) {
|
|
585
|
-
__extends(KTXTextureResource, _super);
|
|
586
|
-
function KTXTextureResource(source, config) {
|
|
587
|
-
var _a;
|
|
588
|
-
var _this = _super.call(this) || this;
|
|
589
|
-
_this.complete = true;
|
|
590
|
-
_this.src = config.url;
|
|
591
|
-
var dataView = new DataView(source);
|
|
592
|
-
if (!validateKTX(dataView)) {
|
|
593
|
-
throw new Error('Not a valid KTX Texture');
|
|
594
|
-
}
|
|
595
|
-
var littleEndian = dataView.getUint32(KTX_FIELDS.ENDIANNESS, true) === ENDIANNESS;
|
|
596
|
-
_this.internalFormat = dataView.getUint32(KTX_FIELDS.GL_INTERNAL_FORMAT, littleEndian);
|
|
597
|
-
var pixelWidth = _this.formerWidth = dataView.getUint32(KTX_FIELDS.PIXEL_WIDTH, littleEndian);
|
|
598
|
-
var pixelHeight = _this.formerHeight = dataView.getUint32(KTX_FIELDS.PIXEL_HEIGHT, littleEndian) || 1;
|
|
599
|
-
var size = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
|
|
600
|
-
_this.width = pixelWidth % size[0] === 0 ? pixelWidth : (pixelWidth + size[0] - (pixelWidth % size[0]));
|
|
601
|
-
_this.height = pixelHeight % size[1] === 0 ? pixelHeight : (pixelHeight + size[1] - (pixelHeight % size[1]));
|
|
602
|
-
var src = resource.resourcesMap[config.metadata.name].src[config.metadata.key];
|
|
603
|
-
var _b = (_a = src === null || src === void 0 ? void 0 : src.size) !== null && _a !== void 0 ? _a : {}, width = _b.width, height = _b.height;
|
|
604
|
-
if (width && height) {
|
|
605
|
-
_this.naturalWidth = width;
|
|
606
|
-
_this.naturalHeight = height;
|
|
607
|
-
}
|
|
608
|
-
var pixelDepth = dataView.getUint32(KTX_FIELDS.PIXEL_DEPTH, littleEndian) || 1;
|
|
609
|
-
var numberOfArrayElements = dataView.getUint32(KTX_FIELDS.NUMBER_OF_ARRAY_ELEMENTS, littleEndian) || 1;
|
|
610
|
-
var numberOfFaces = dataView.getUint32(KTX_FIELDS.NUMBER_OF_FACES, littleEndian);
|
|
611
|
-
var numberOfMipmapLevels = _this.levels = dataView.getUint32(KTX_FIELDS.NUMBER_OF_MIPMAP_LEVELS, littleEndian);
|
|
612
|
-
var bytesOfKeyValueData = dataView.getUint32(KTX_FIELDS.BYTES_OF_KEY_VALUE_DATA, littleEndian);
|
|
613
|
-
if (pixelHeight === 0 || pixelDepth !== 1) {
|
|
614
|
-
throw new Error('Only 2D textures are supported!');
|
|
615
|
-
}
|
|
616
|
-
if (numberOfFaces !== 1) {
|
|
617
|
-
throw new Error('CubeTextures are not supported!');
|
|
618
|
-
}
|
|
619
|
-
if (numberOfArrayElements !== 1) {
|
|
620
|
-
throw new Error('It does not support array textures!');
|
|
621
|
-
}
|
|
622
|
-
var mipWidth = pixelWidth;
|
|
623
|
-
var mipHeight = pixelHeight;
|
|
624
|
-
var imageOffset = FILE_HEADER_SIZE + bytesOfKeyValueData;
|
|
625
|
-
for (var mipmapLevel = 0; mipmapLevel < numberOfMipmapLevels; mipmapLevel++) {
|
|
626
|
-
var imageSize = dataView.getUint32(imageOffset, littleEndian);
|
|
627
|
-
imageOffset += 4;
|
|
628
|
-
var size_1 = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
|
|
629
|
-
var levelWidth = mipWidth % size_1[0] === 0 ? mipWidth : mipWidth + size_1[0] - (mipWidth % size_1[0]);
|
|
630
|
-
var levelHeight = mipHeight % size_1[1] === 0 ? mipHeight : mipHeight + size_1[1] - (mipHeight % size_1[1]);
|
|
631
|
-
var mip = {
|
|
632
|
-
levelID: mipmapLevel,
|
|
633
|
-
levelWidth: levelWidth,
|
|
634
|
-
levelHeight: levelHeight,
|
|
635
|
-
levelBuffer: new Uint8Array(source, imageOffset, imageSize)
|
|
636
|
-
};
|
|
637
|
-
_this.levelBuffers.push(mip);
|
|
638
|
-
imageOffset += imageSize;
|
|
639
|
-
imageOffset += 3 - ((imageOffset + 3) % 4);
|
|
640
|
-
mipWidth = (mipWidth >> 1) || 1;
|
|
641
|
-
mipHeight = (mipHeight >> 1) || 1;
|
|
642
|
-
}
|
|
643
|
-
return _this;
|
|
644
|
-
}
|
|
645
|
-
return KTXTextureResource;
|
|
646
|
-
}(CompressedTextureResource));
|
|
647
|
-
function validateKTX(dataView) {
|
|
648
|
-
for (var i = 0; i < FILE_IDENTIFIER.length; i++) {
|
|
649
|
-
if (dataView.getUint8(i) !== FILE_IDENTIFIER[i]) {
|
|
650
|
-
return false;
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
return true;
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
var KTXLoadStrategy = (function (_super) {
|
|
657
|
-
__extends(KTXLoadStrategy, _super);
|
|
658
|
-
function KTXLoadStrategy() {
|
|
659
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
660
|
-
}
|
|
661
|
-
KTXLoadStrategy.prototype._complete = function (type, data) {
|
|
662
|
-
_super.prototype._complete.call(this, type, new KTXTextureResource(data, this.config));
|
|
663
|
-
};
|
|
664
|
-
return KTXLoadStrategy;
|
|
665
|
-
}(XhrLoadStrategy));
|
|
666
|
-
var KTXLoadStrategy$1 = KTXLoadStrategy;
|
|
667
|
-
|
|
668
|
-
var XhrResponseType = resourceLoader.XhrResponseType;
|
|
669
|
-
function addPreProcessResourceHandler(resource, gl) {
|
|
670
|
-
resource.addPreProcessResourceHandler(function normalizeResource(resource) {
|
|
671
|
-
var _a, _b, _c;
|
|
672
|
-
var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
|
|
673
|
-
if (!textures)
|
|
674
|
-
return;
|
|
675
|
-
if (!Array.isArray(textures)) {
|
|
676
|
-
textures = [textures];
|
|
677
|
-
}
|
|
678
|
-
var formats = (_c = getSuportCompressedTextureFormats(gl)) !== null && _c !== void 0 ? _c : {};
|
|
679
|
-
var target = textures.find(function (texture) { return formats[texture.type]; });
|
|
680
|
-
if (target) {
|
|
681
|
-
Object.assign(resource.src.image, target);
|
|
682
|
-
}
|
|
683
|
-
});
|
|
684
|
-
}
|
|
685
|
-
function addKTXStragetyAndRegister() {
|
|
686
|
-
Object.assign(RESOURCE_TYPE_STRATEGY, {
|
|
687
|
-
astc: KTXLoadStrategy$1,
|
|
688
|
-
etc: KTXLoadStrategy$1,
|
|
689
|
-
pvrtc: KTXLoadStrategy$1,
|
|
690
|
-
s3tc: KTXLoadStrategy$1,
|
|
691
|
-
atc: KTXLoadStrategy$1,
|
|
692
|
-
});
|
|
693
|
-
KTXLoadStrategy$1.setExtensionXhrType('ktx', XhrResponseType.Buffer);
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
var GLTexture = glCore.GLTexture;
|
|
697
|
-
var GLTextureMixin = {
|
|
698
|
-
isCompressed: false,
|
|
699
|
-
uploadNotCompressed: GLTexture.prototype.upload,
|
|
700
|
-
upload: function (source) {
|
|
701
|
-
if (!(source instanceof CompressedTextureResource)) {
|
|
702
|
-
return this.uploadNotCompressed(source);
|
|
703
|
-
}
|
|
704
|
-
this.bind();
|
|
705
|
-
var gl = this.gl;
|
|
706
|
-
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
|
|
707
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_NEAREST);
|
|
708
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
709
|
-
this.isCompressed = true;
|
|
710
|
-
source.upload(gl);
|
|
711
|
-
},
|
|
712
|
-
enableMipmap: function () {
|
|
713
|
-
if (this.isCompressed) {
|
|
714
|
-
return;
|
|
715
|
-
}
|
|
716
|
-
var gl = this.gl;
|
|
717
|
-
this.bind();
|
|
718
|
-
this.mipmap = true;
|
|
719
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
720
|
-
}
|
|
721
|
-
};
|
|
722
|
-
|
|
723
|
-
var _a$1;
|
|
724
|
-
var oldFrom$1 = Symbol();
|
|
725
|
-
var TextureMixin = (_a$1 = {},
|
|
726
|
-
_a$1[oldFrom$1] = Texture.from,
|
|
727
|
-
_a$1.from = function (source) {
|
|
728
|
-
if (!(source instanceof CompressedTextureResource)) {
|
|
729
|
-
return this[oldFrom$1](source);
|
|
730
|
-
}
|
|
731
|
-
return new Texture(BaseTexture.from(source));
|
|
732
|
-
},
|
|
733
|
-
_a$1);
|
|
734
|
-
|
|
735
|
-
var _a;
|
|
736
|
-
var oldFrom = Symbol();
|
|
737
|
-
var BaseTextureMixin = (_a = {},
|
|
738
|
-
_a[oldFrom] = BaseTexture.from,
|
|
739
|
-
_a.from = function (source, scaleMode, sourceScale) {
|
|
740
|
-
if (!(source instanceof CompressedTextureResource)) {
|
|
741
|
-
return this[oldFrom](source, scaleMode, sourceScale);
|
|
742
|
-
}
|
|
743
|
-
var imageUrl = source.src;
|
|
744
|
-
var baseTexture = utils.BaseTextureCache[imageUrl];
|
|
745
|
-
if (!baseTexture) {
|
|
746
|
-
baseTexture = new BaseTexture(source, scaleMode);
|
|
747
|
-
baseTexture.imageUrl = imageUrl;
|
|
748
|
-
if (sourceScale) {
|
|
749
|
-
baseTexture.sourceScale = sourceScale;
|
|
750
|
-
}
|
|
751
|
-
BaseTexture.addToCache(baseTexture, imageUrl);
|
|
752
|
-
}
|
|
753
|
-
return baseTexture;
|
|
754
|
-
},
|
|
755
|
-
_a);
|
|
756
|
-
|
|
757
|
-
function registerCompressedTexture(gl) {
|
|
758
|
-
addPreProcessResourceHandler(resource, gl);
|
|
759
|
-
addKTXStragetyAndRegister();
|
|
760
|
-
Object.assign(glCore.GLTexture.prototype, GLTextureMixin);
|
|
761
|
-
Object.assign(Texture, TextureMixin);
|
|
762
|
-
Object.assign(BaseTexture, BaseTextureMixin);
|
|
763
|
-
}
|
|
764
|
-
|
|
765
401
|
var RENDERER_TYPE;
|
|
766
402
|
(function (RENDERER_TYPE) {
|
|
767
403
|
RENDERER_TYPE[RENDERER_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
|
|
@@ -769,12 +405,12 @@ var RENDERER_TYPE;
|
|
|
769
405
|
RENDERER_TYPE[RENDERER_TYPE["CANVAS"] = 2] = "CANVAS";
|
|
770
406
|
})(RENDERER_TYPE || (RENDERER_TYPE = {}));
|
|
771
407
|
var disableScroll = function (renderer) {
|
|
772
|
-
renderer.
|
|
773
|
-
renderer.
|
|
408
|
+
renderer.events.autoPreventDefault = true;
|
|
409
|
+
renderer.canvas.style.touchAction = 'none';
|
|
774
410
|
};
|
|
775
411
|
var enableScroll = function (renderer) {
|
|
776
|
-
renderer.
|
|
777
|
-
renderer.
|
|
412
|
+
renderer.events.autoPreventDefault = false;
|
|
413
|
+
renderer.canvas.style.touchAction = 'auto';
|
|
778
414
|
};
|
|
779
415
|
var Renderer$2 = (function (_super) {
|
|
780
416
|
__extends(Renderer, _super);
|
|
@@ -784,42 +420,49 @@ var Renderer$2 = (function (_super) {
|
|
|
784
420
|
return _this;
|
|
785
421
|
}
|
|
786
422
|
Renderer.prototype.init = function (params) {
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
423
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
424
|
+
var _a;
|
|
425
|
+
var _this = this;
|
|
426
|
+
return __generator(this, function (_b) {
|
|
427
|
+
switch (_b.label) {
|
|
428
|
+
case 0:
|
|
429
|
+
this.params = params;
|
|
430
|
+
_a = this;
|
|
431
|
+
return [4, this.createApplication(params)];
|
|
432
|
+
case 1:
|
|
433
|
+
_a.application = _b.sent();
|
|
434
|
+
this.containerManager = new ContainerManager$1();
|
|
435
|
+
this.rendererManager = new RendererManager$1({
|
|
436
|
+
game: this.game,
|
|
437
|
+
rendererSystem: this,
|
|
438
|
+
});
|
|
439
|
+
this.game.canvas = this.application.canvas;
|
|
440
|
+
this.transform = new Transform$1({
|
|
441
|
+
system: this,
|
|
442
|
+
containerManager: this.containerManager,
|
|
443
|
+
});
|
|
444
|
+
this.game.on('sceneChanged', function (_a) {
|
|
445
|
+
var scene = _a.scene, mode = _a.mode, params = _a.params;
|
|
446
|
+
var application;
|
|
447
|
+
switch (mode) {
|
|
448
|
+
case LOAD_SCENE_MODE.SINGLE:
|
|
449
|
+
application = _this.application;
|
|
450
|
+
break;
|
|
451
|
+
case LOAD_SCENE_MODE.MULTI_CANVAS:
|
|
452
|
+
application = _this.createMultiApplication({ params: params });
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
scene.canvas = application.canvas;
|
|
456
|
+
_this.transform.emit('changeScene', {
|
|
457
|
+
scene: scene,
|
|
458
|
+
mode: mode,
|
|
459
|
+
application: application,
|
|
460
|
+
});
|
|
461
|
+
});
|
|
462
|
+
return [2];
|
|
463
|
+
}
|
|
816
464
|
});
|
|
817
465
|
});
|
|
818
|
-
var gl = this.application.renderer.gl;
|
|
819
|
-
if (gl) {
|
|
820
|
-
this.suportedCompressedTextureFormats = getSuportCompressedTextureFormats(gl);
|
|
821
|
-
registerCompressedTexture(gl);
|
|
822
|
-
}
|
|
823
466
|
};
|
|
824
467
|
Renderer.prototype.registerObserver = function (observerInfo) {
|
|
825
468
|
var _a;
|
|
@@ -833,29 +476,41 @@ var Renderer$2 = (function (_super) {
|
|
|
833
476
|
};
|
|
834
477
|
Renderer.prototype.createMultiApplication = function (_a) {
|
|
835
478
|
var params = _a.params;
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
479
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
480
|
+
var app;
|
|
481
|
+
return __generator(this, function (_b) {
|
|
482
|
+
switch (_b.label) {
|
|
483
|
+
case 0: return [4, this.createApplication(params)];
|
|
484
|
+
case 1:
|
|
485
|
+
app = _b.sent();
|
|
486
|
+
this.multiApps.push(app);
|
|
487
|
+
return [2, app];
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
});
|
|
839
491
|
};
|
|
840
492
|
Renderer.prototype.createApplication = function (params) {
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
493
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
494
|
+
var app;
|
|
495
|
+
return __generator(this, function (_a) {
|
|
496
|
+
switch (_a.label) {
|
|
497
|
+
case 0:
|
|
498
|
+
app = new Application();
|
|
499
|
+
if (params.debugMode) {
|
|
500
|
+
globalThis.__PIXI_APP__ = app;
|
|
501
|
+
}
|
|
502
|
+
return [4, app.init(__assign(__assign({ sharedTicker: true }, params), { hello: true }))];
|
|
503
|
+
case 1:
|
|
504
|
+
_a.sent();
|
|
505
|
+
Ticker.shared.stop();
|
|
506
|
+
Ticker.shared.autoStart = false;
|
|
507
|
+
if (params.enableScroll !== undefined) {
|
|
508
|
+
params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
|
|
509
|
+
}
|
|
510
|
+
return [2, app];
|
|
511
|
+
}
|
|
512
|
+
});
|
|
513
|
+
});
|
|
859
514
|
};
|
|
860
515
|
Renderer.prototype.update = function () {
|
|
861
516
|
var e_1, _a, e_2, _b;
|
|
@@ -939,6 +594,7 @@ var Renderer = (function (_super) {
|
|
|
939
594
|
__extends(Renderer, _super);
|
|
940
595
|
function Renderer(params) {
|
|
941
596
|
var _this = _super.call(this, params) || this;
|
|
597
|
+
_this.asyncIdMap = {};
|
|
942
598
|
_this.observerInfo = _this.constructor.observerInfo;
|
|
943
599
|
return _this;
|
|
944
600
|
}
|
|
@@ -961,24 +617,80 @@ var Renderer = (function (_super) {
|
|
|
961
617
|
finally { if (e_1) throw e_1.error; }
|
|
962
618
|
}
|
|
963
619
|
};
|
|
620
|
+
Renderer.prototype.increaseAsyncId = function (id) {
|
|
621
|
+
this.asyncIdMap[id] = (this.asyncIdMap[id] || 0) + 1;
|
|
622
|
+
return this.asyncIdMap[id];
|
|
623
|
+
};
|
|
624
|
+
Renderer.prototype.validateAsyncId = function (id, asyncId) {
|
|
625
|
+
return this.asyncIdMap[id] === asyncId;
|
|
626
|
+
};
|
|
964
627
|
return Renderer;
|
|
965
628
|
}(System));
|
|
966
629
|
var Renderer$1 = Renderer;
|
|
967
630
|
|
|
968
631
|
var mixinPIXI = function () {
|
|
969
|
-
BaseTexture.prototype.destroy = function () {
|
|
970
|
-
if (this.imageUrl) {
|
|
971
|
-
delete utils.TextureCache[this.imageUrl];
|
|
972
|
-
this.imageUrl = null;
|
|
973
|
-
}
|
|
974
|
-
this.source = null;
|
|
975
|
-
this.dispose();
|
|
976
|
-
BaseTexture.removeFromCache(this);
|
|
977
|
-
this.textureCacheIds = null;
|
|
978
|
-
this._destroyed = true;
|
|
979
|
-
};
|
|
980
632
|
};
|
|
981
633
|
|
|
634
|
+
var result = undefined;
|
|
635
|
+
function getSuportCompressedTextureFormats() {
|
|
636
|
+
if (result)
|
|
637
|
+
return result;
|
|
638
|
+
var canvas = document.createElement('canvas');
|
|
639
|
+
var gl = canvas.getContext('webgl2') || canvas.getContext('webgl');
|
|
640
|
+
if (!gl) {
|
|
641
|
+
console.warn('WebGL not available for compressed textures. Silently failing.');
|
|
642
|
+
return {
|
|
643
|
+
s3tc: false,
|
|
644
|
+
etc: false,
|
|
645
|
+
etc1: false,
|
|
646
|
+
pvrtc: false,
|
|
647
|
+
atc: false,
|
|
648
|
+
astc: false,
|
|
649
|
+
};
|
|
650
|
+
}
|
|
651
|
+
result = {
|
|
652
|
+
s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
|
|
653
|
+
etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
|
|
654
|
+
etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
|
|
655
|
+
pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc') || !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
|
|
656
|
+
atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
|
|
657
|
+
astc: !!gl.getExtension('WEBGL_compressed_texture_astc'),
|
|
658
|
+
};
|
|
659
|
+
try {
|
|
660
|
+
console.log('Eva.js Supported Compressed Texture Format List: ' +
|
|
661
|
+
Object.keys(result)
|
|
662
|
+
.filter(function (type) { return result[type]; })
|
|
663
|
+
.join(', '));
|
|
664
|
+
}
|
|
665
|
+
catch (e) { }
|
|
666
|
+
return result;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
function addPreProcessResourceHandler(resource) {
|
|
670
|
+
resource.addPreProcessResourceHandler(function normalizeResource(resource) {
|
|
671
|
+
var _a, _b, _c;
|
|
672
|
+
var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
|
|
673
|
+
if (!textures)
|
|
674
|
+
return;
|
|
675
|
+
if (!Array.isArray(textures)) {
|
|
676
|
+
textures = [textures];
|
|
677
|
+
}
|
|
678
|
+
var formats = (_c = getSuportCompressedTextureFormats()) !== null && _c !== void 0 ? _c : {};
|
|
679
|
+
var target = textures.find(function (texture) { return formats[texture.type]; });
|
|
680
|
+
if (target) {
|
|
681
|
+
Object.assign(resource.src.image, target);
|
|
682
|
+
}
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
function registerKtx2CompressedTexture(params) {
|
|
687
|
+
setKTXTranscoderPath(params);
|
|
688
|
+
extensions.add(loadKTX2);
|
|
689
|
+
extensions.add(resolveCompressedTextureUrl);
|
|
690
|
+
extensions.add(detectCompressed);
|
|
691
|
+
addPreProcessResourceHandler(resource);
|
|
692
|
+
}
|
|
693
|
+
|
|
982
694
|
mixinPIXI();
|
|
983
695
|
|
|
984
|
-
export { ContainerManager$1 as ContainerManager, RENDERER_TYPE, Renderer$1 as Renderer, RendererManager$1 as RendererManager, Renderer$3 as RendererSystem };
|
|
696
|
+
export { ContainerManager$1 as ContainerManager, RENDERER_TYPE, Renderer$1 as Renderer, RendererManager$1 as RendererManager, Renderer$3 as RendererSystem, registerKtx2CompressedTexture };
|