@eva/plugin-renderer 1.2.0-alpha.5 → 1.2.0
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.
|
@@ -370,6 +370,407 @@ var Transform = (function (_super) {
|
|
|
370
370
|
}(EventEmitter__default));
|
|
371
371
|
var Transform$1 = Transform;
|
|
372
372
|
|
|
373
|
+
var result = undefined;
|
|
374
|
+
function getSuportCompressedTextureFormats(gl) {
|
|
375
|
+
if (result)
|
|
376
|
+
return result;
|
|
377
|
+
if (!gl) {
|
|
378
|
+
console.warn('WebGL not available for compressed textures. Silently failing.');
|
|
379
|
+
return {
|
|
380
|
+
s3tc: false,
|
|
381
|
+
etc: false,
|
|
382
|
+
etc1: false,
|
|
383
|
+
pvrtc: false,
|
|
384
|
+
atc: false,
|
|
385
|
+
astc: false,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
result = {
|
|
389
|
+
s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
|
|
390
|
+
etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
|
|
391
|
+
etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
|
|
392
|
+
pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc')
|
|
393
|
+
|| !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
|
|
394
|
+
atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
|
|
395
|
+
astc: !!gl.getExtension('WEBGL_compressed_texture_astc')
|
|
396
|
+
};
|
|
397
|
+
try {
|
|
398
|
+
console.log('Eva.js Supported Compressed Texture Format List: ' + Object.keys(result).filter(function (type) { return result[type]; }).join(', '));
|
|
399
|
+
}
|
|
400
|
+
catch (e) { }
|
|
401
|
+
return result;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
var XLS = eva_js.resourceLoader.XhrLoadStrategy;
|
|
405
|
+
var XhrLoadStrategy = XLS;
|
|
406
|
+
|
|
407
|
+
var _a$2, _b;
|
|
408
|
+
var INTERNAL_FORMATS;
|
|
409
|
+
(function (INTERNAL_FORMATS) {
|
|
410
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
|
|
411
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
|
|
412
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT3_EXT"] = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT";
|
|
413
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT5_EXT"] = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT";
|
|
414
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"] = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT";
|
|
415
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"] = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT";
|
|
416
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"] = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT";
|
|
417
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_S3TC_DXT1_EXT"] = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT";
|
|
418
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_R11_EAC"] = 37488] = "COMPRESSED_R11_EAC";
|
|
419
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_R11_EAC"] = 37489] = "COMPRESSED_SIGNED_R11_EAC";
|
|
420
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RG11_EAC"] = 37490] = "COMPRESSED_RG11_EAC";
|
|
421
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_RG11_EAC"] = 37491] = "COMPRESSED_SIGNED_RG11_EAC";
|
|
422
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_ETC2"] = 37492] = "COMPRESSED_RGB8_ETC2";
|
|
423
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA8_ETC2_EAC"] = 37496] = "COMPRESSED_RGBA8_ETC2_EAC";
|
|
424
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ETC2"] = 37493] = "COMPRESSED_SRGB8_ETC2";
|
|
425
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"] = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
|
|
426
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
|
|
427
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
|
|
428
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_4BPPV1_IMG"] = 35840] = "COMPRESSED_RGB_PVRTC_4BPPV1_IMG";
|
|
429
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"] = 35842] = "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG";
|
|
430
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_2BPPV1_IMG"] = 35841] = "COMPRESSED_RGB_PVRTC_2BPPV1_IMG";
|
|
431
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"] = 35843] = "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG";
|
|
432
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ETC1_WEBGL"] = 36196] = "COMPRESSED_RGB_ETC1_WEBGL";
|
|
433
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ATC_WEBGL"] = 35986] = "COMPRESSED_RGB_ATC_WEBGL";
|
|
434
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL"] = 35986] = "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL";
|
|
435
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL"] = 34798] = "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL";
|
|
436
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x10_KHR"] = 37819] = "COMPRESSED_RGBA_ASTC_10x10_KHR";
|
|
437
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x5_KHR"] = 37816] = "COMPRESSED_RGBA_ASTC_10x5_KHR";
|
|
438
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x6_KHR"] = 37817] = "COMPRESSED_RGBA_ASTC_10x6_KHR";
|
|
439
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x8_KHR"] = 37818] = "COMPRESSED_RGBA_ASTC_10x8_KHR";
|
|
440
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x10_KHR"] = 37820] = "COMPRESSED_RGBA_ASTC_12x10_KHR";
|
|
441
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x12_KHR"] = 37821] = "COMPRESSED_RGBA_ASTC_12x12_KHR";
|
|
442
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_4x4_KHR"] = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR";
|
|
443
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x4_KHR"] = 37809] = "COMPRESSED_RGBA_ASTC_5x4_KHR";
|
|
444
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x5_KHR"] = 37810] = "COMPRESSED_RGBA_ASTC_5x5_KHR";
|
|
445
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x5_KHR"] = 37811] = "COMPRESSED_RGBA_ASTC_6x5_KHR";
|
|
446
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x6_KHR"] = 37812] = "COMPRESSED_RGBA_ASTC_6x6_KHR";
|
|
447
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x5_KHR"] = 37813] = "COMPRESSED_RGBA_ASTC_8x5_KHR";
|
|
448
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x6_KHR"] = 37814] = "COMPRESSED_RGBA_ASTC_8x6_KHR";
|
|
449
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x8_KHR"] = 37815] = "COMPRESSED_RGBA_ASTC_8x8_KHR";
|
|
450
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 3781] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
|
|
451
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR";
|
|
452
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"] = 37849] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR";
|
|
453
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"] = 37850] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR";
|
|
454
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
|
|
455
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
|
|
456
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"] = 37840] = "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
|
|
457
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"] = 37841] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR";
|
|
458
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"] = 37842] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR";
|
|
459
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"] = 37843] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR";
|
|
460
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"] = 37844] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR";
|
|
461
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
|
|
462
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
|
|
463
|
+
INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
|
|
464
|
+
})(INTERNAL_FORMATS || (INTERNAL_FORMATS = {}));
|
|
465
|
+
var INTERNAL_FORMAT_TO_BLOCK_SIZE = (_a$2 = {},
|
|
466
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = [4, 4],
|
|
467
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = [4, 4],
|
|
468
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = [4, 4],
|
|
469
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = [4, 4],
|
|
470
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = [4, 4],
|
|
471
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = [4, 4],
|
|
472
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = [4, 4],
|
|
473
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = [4, 4],
|
|
474
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = [4, 4],
|
|
475
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = [4, 4],
|
|
476
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = [4, 4],
|
|
477
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = [4, 4],
|
|
478
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = [4, 4],
|
|
479
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = [4, 4],
|
|
480
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = [4, 4],
|
|
481
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = [4, 4],
|
|
482
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
|
|
483
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
|
|
484
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = [4, 4],
|
|
485
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = [4, 4],
|
|
486
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = [8, 4],
|
|
487
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = [8, 4],
|
|
488
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = [4, 4],
|
|
489
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = [4, 4],
|
|
490
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = [4, 4],
|
|
491
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = [4, 4],
|
|
492
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = [4, 4],
|
|
493
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = [5, 5],
|
|
494
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = [6, 6],
|
|
495
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = [8, 8],
|
|
496
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = [10, 10],
|
|
497
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = [12, 12],
|
|
498
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x5_KHR] = [10, 5],
|
|
499
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x6_KHR] = [10, 6],
|
|
500
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x8_KHR] = [10, 8],
|
|
501
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x10_KHR] = [12, 10],
|
|
502
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x4_KHR] = [5, 4],
|
|
503
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x5_KHR] = [6, 5],
|
|
504
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x5_KHR] = [8, 5],
|
|
505
|
+
_a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x6_KHR] = [8, 6],
|
|
506
|
+
_a$2);
|
|
507
|
+
var INTERNAL_FORMATS_TO_EXTENSION_NAME = (_b = {},
|
|
508
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
509
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
510
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
511
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc',
|
|
512
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
513
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
514
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
515
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
|
|
516
|
+
_b[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
517
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
518
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
519
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
|
|
520
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
521
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
|
|
522
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
523
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
|
|
524
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
525
|
+
_b[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
|
|
526
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
527
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
528
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
529
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
|
|
530
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 'WEBGL_compressed_texture_etc1',
|
|
531
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
532
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
533
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
|
|
534
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 'WEBGL_compressed_texture_astc',
|
|
535
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 'WEBGL_compressed_texture_astc',
|
|
536
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 'WEBGL_compressed_texture_astc',
|
|
537
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 'WEBGL_compressed_texture_astc',
|
|
538
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 'WEBGL_compressed_texture_astc',
|
|
539
|
+
_b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 'WEBGL_compressed_texture_astc',
|
|
540
|
+
_b);
|
|
541
|
+
|
|
542
|
+
var CompressedTextureResource = (function () {
|
|
543
|
+
function CompressedTextureResource() {
|
|
544
|
+
this.levelBuffers = [];
|
|
545
|
+
}
|
|
546
|
+
CompressedTextureResource.prototype.upload = function (gl) {
|
|
547
|
+
var levels = this.levels;
|
|
548
|
+
var name = INTERNAL_FORMATS_TO_EXTENSION_NAME[this.internalFormat];
|
|
549
|
+
if (!gl[name]) {
|
|
550
|
+
gl[name] = true;
|
|
551
|
+
if (name === 'WEBGL_compressed_texture_pvrtc') {
|
|
552
|
+
gl.getExtension(name) || gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc');
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
gl.getExtension(name);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
for (var i = 0; i < this.levels; ++i) {
|
|
559
|
+
var _a = this.levelBuffers[i], levelWidth = _a.levelWidth, levelHeight = _a.levelHeight, levelBuffer = _a.levelBuffer;
|
|
560
|
+
gl.compressedTexImage2D(gl.TEXTURE_2D, i, this.internalFormat, levelWidth, levelHeight, 0, levelBuffer);
|
|
561
|
+
}
|
|
562
|
+
if (levels > 1) {
|
|
563
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
564
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
|
|
565
|
+
}
|
|
566
|
+
else {
|
|
567
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
568
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
|
|
569
|
+
}
|
|
570
|
+
};
|
|
571
|
+
return CompressedTextureResource;
|
|
572
|
+
}());
|
|
573
|
+
|
|
574
|
+
var FILE_HEADER_SIZE = 64;
|
|
575
|
+
var KTX_FIELDS = {
|
|
576
|
+
FILE_IDENTIFIER: 0,
|
|
577
|
+
ENDIANNESS: 12,
|
|
578
|
+
GL_TYPE: 16,
|
|
579
|
+
GL_TYPE_SIZE: 20,
|
|
580
|
+
GL_FORMAT: 24,
|
|
581
|
+
GL_INTERNAL_FORMAT: 28,
|
|
582
|
+
GL_BASE_INTERNAL_FORMAT: 32,
|
|
583
|
+
PIXEL_WIDTH: 36,
|
|
584
|
+
PIXEL_HEIGHT: 40,
|
|
585
|
+
PIXEL_DEPTH: 44,
|
|
586
|
+
NUMBER_OF_ARRAY_ELEMENTS: 48,
|
|
587
|
+
NUMBER_OF_FACES: 52,
|
|
588
|
+
NUMBER_OF_MIPMAP_LEVELS: 56,
|
|
589
|
+
BYTES_OF_KEY_VALUE_DATA: 60
|
|
590
|
+
};
|
|
591
|
+
var FILE_IDENTIFIER = [0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A];
|
|
592
|
+
var ENDIANNESS = 0x04030201;
|
|
593
|
+
var KTXTextureResource = (function (_super) {
|
|
594
|
+
__extends(KTXTextureResource, _super);
|
|
595
|
+
function KTXTextureResource(source, config) {
|
|
596
|
+
var _a;
|
|
597
|
+
var _this = _super.call(this) || this;
|
|
598
|
+
_this.complete = true;
|
|
599
|
+
_this.src = config.url;
|
|
600
|
+
var dataView = new DataView(source);
|
|
601
|
+
if (!validateKTX(dataView)) {
|
|
602
|
+
throw new Error('Not a valid KTX Texture');
|
|
603
|
+
}
|
|
604
|
+
var littleEndian = dataView.getUint32(KTX_FIELDS.ENDIANNESS, true) === ENDIANNESS;
|
|
605
|
+
_this.internalFormat = dataView.getUint32(KTX_FIELDS.GL_INTERNAL_FORMAT, littleEndian);
|
|
606
|
+
var pixelWidth = _this.formerWidth = dataView.getUint32(KTX_FIELDS.PIXEL_WIDTH, littleEndian);
|
|
607
|
+
var pixelHeight = _this.formerHeight = dataView.getUint32(KTX_FIELDS.PIXEL_HEIGHT, littleEndian) || 1;
|
|
608
|
+
var size = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
|
|
609
|
+
_this.width = pixelWidth % size[0] === 0 ? pixelWidth : (pixelWidth + size[0] - (pixelWidth % size[0]));
|
|
610
|
+
_this.height = pixelHeight % size[1] === 0 ? pixelHeight : (pixelHeight + size[1] - (pixelHeight % size[1]));
|
|
611
|
+
var src = eva_js.resource.resourcesMap[config.metadata.name].src[config.metadata.key];
|
|
612
|
+
var _b = (_a = src === null || src === void 0 ? void 0 : src.size) !== null && _a !== void 0 ? _a : {}, width = _b.width, height = _b.height;
|
|
613
|
+
if (width && height) {
|
|
614
|
+
_this.naturalWidth = width;
|
|
615
|
+
_this.naturalHeight = height;
|
|
616
|
+
}
|
|
617
|
+
var pixelDepth = dataView.getUint32(KTX_FIELDS.PIXEL_DEPTH, littleEndian) || 1;
|
|
618
|
+
var numberOfArrayElements = dataView.getUint32(KTX_FIELDS.NUMBER_OF_ARRAY_ELEMENTS, littleEndian) || 1;
|
|
619
|
+
var numberOfFaces = dataView.getUint32(KTX_FIELDS.NUMBER_OF_FACES, littleEndian);
|
|
620
|
+
var numberOfMipmapLevels = _this.levels = dataView.getUint32(KTX_FIELDS.NUMBER_OF_MIPMAP_LEVELS, littleEndian);
|
|
621
|
+
var bytesOfKeyValueData = dataView.getUint32(KTX_FIELDS.BYTES_OF_KEY_VALUE_DATA, littleEndian);
|
|
622
|
+
if (pixelHeight === 0 || pixelDepth !== 1) {
|
|
623
|
+
throw new Error('Only 2D textures are supported!');
|
|
624
|
+
}
|
|
625
|
+
if (numberOfFaces !== 1) {
|
|
626
|
+
throw new Error('CubeTextures are not supported!');
|
|
627
|
+
}
|
|
628
|
+
if (numberOfArrayElements !== 1) {
|
|
629
|
+
throw new Error('It does not support array textures!');
|
|
630
|
+
}
|
|
631
|
+
var mipWidth = pixelWidth;
|
|
632
|
+
var mipHeight = pixelHeight;
|
|
633
|
+
var imageOffset = FILE_HEADER_SIZE + bytesOfKeyValueData;
|
|
634
|
+
for (var mipmapLevel = 0; mipmapLevel < numberOfMipmapLevels; mipmapLevel++) {
|
|
635
|
+
var imageSize = dataView.getUint32(imageOffset, littleEndian);
|
|
636
|
+
imageOffset += 4;
|
|
637
|
+
var size_1 = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
|
|
638
|
+
var levelWidth = mipWidth % size_1[0] === 0 ? mipWidth : mipWidth + size_1[0] - (mipWidth % size_1[0]);
|
|
639
|
+
var levelHeight = mipHeight % size_1[1] === 0 ? mipHeight : mipHeight + size_1[1] - (mipHeight % size_1[1]);
|
|
640
|
+
var mip = {
|
|
641
|
+
levelID: mipmapLevel,
|
|
642
|
+
levelWidth: levelWidth,
|
|
643
|
+
levelHeight: levelHeight,
|
|
644
|
+
levelBuffer: new Uint8Array(source, imageOffset, imageSize)
|
|
645
|
+
};
|
|
646
|
+
_this.levelBuffers.push(mip);
|
|
647
|
+
imageOffset += imageSize;
|
|
648
|
+
imageOffset += 3 - ((imageOffset + 3) % 4);
|
|
649
|
+
mipWidth = (mipWidth >> 1) || 1;
|
|
650
|
+
mipHeight = (mipHeight >> 1) || 1;
|
|
651
|
+
}
|
|
652
|
+
return _this;
|
|
653
|
+
}
|
|
654
|
+
return KTXTextureResource;
|
|
655
|
+
}(CompressedTextureResource));
|
|
656
|
+
function validateKTX(dataView) {
|
|
657
|
+
for (var i = 0; i < FILE_IDENTIFIER.length; i++) {
|
|
658
|
+
if (dataView.getUint8(i) !== FILE_IDENTIFIER[i]) {
|
|
659
|
+
return false;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
return true;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
var KTXLoadStrategy = (function (_super) {
|
|
666
|
+
__extends(KTXLoadStrategy, _super);
|
|
667
|
+
function KTXLoadStrategy() {
|
|
668
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
669
|
+
}
|
|
670
|
+
KTXLoadStrategy.prototype._complete = function (type, data) {
|
|
671
|
+
_super.prototype._complete.call(this, type, new KTXTextureResource(data, this.config));
|
|
672
|
+
};
|
|
673
|
+
return KTXLoadStrategy;
|
|
674
|
+
}(XhrLoadStrategy));
|
|
675
|
+
var KTXLoadStrategy$1 = KTXLoadStrategy;
|
|
676
|
+
|
|
677
|
+
var XhrResponseType = eva_js.resourceLoader.XhrResponseType;
|
|
678
|
+
function addPreProcessResourceHandler(resource, gl) {
|
|
679
|
+
resource.addPreProcessResourceHandler(function normalizeResource(resource) {
|
|
680
|
+
var _a, _b, _c;
|
|
681
|
+
var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
|
|
682
|
+
if (!textures)
|
|
683
|
+
return;
|
|
684
|
+
if (!Array.isArray(textures)) {
|
|
685
|
+
textures = [textures];
|
|
686
|
+
}
|
|
687
|
+
var formats = (_c = getSuportCompressedTextureFormats(gl)) !== null && _c !== void 0 ? _c : {};
|
|
688
|
+
var target = textures.find(function (texture) { return formats[texture.type]; });
|
|
689
|
+
if (target) {
|
|
690
|
+
Object.assign(resource.src.image, target);
|
|
691
|
+
}
|
|
692
|
+
});
|
|
693
|
+
}
|
|
694
|
+
function addKTXStragetyAndRegister() {
|
|
695
|
+
Object.assign(eva_js.RESOURCE_TYPE_STRATEGY, {
|
|
696
|
+
astc: KTXLoadStrategy$1,
|
|
697
|
+
etc: KTXLoadStrategy$1,
|
|
698
|
+
pvrtc: KTXLoadStrategy$1,
|
|
699
|
+
s3tc: KTXLoadStrategy$1,
|
|
700
|
+
atc: KTXLoadStrategy$1,
|
|
701
|
+
});
|
|
702
|
+
KTXLoadStrategy$1.setExtensionXhrType('ktx', XhrResponseType.Buffer);
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
var GLTexture = pixi_js.glCore.GLTexture;
|
|
706
|
+
var GLTextureMixin = {
|
|
707
|
+
isCompressed: false,
|
|
708
|
+
uploadNotCompressed: GLTexture.prototype.upload,
|
|
709
|
+
upload: function (source) {
|
|
710
|
+
if (!(source instanceof CompressedTextureResource)) {
|
|
711
|
+
return this.uploadNotCompressed(source);
|
|
712
|
+
}
|
|
713
|
+
this.bind();
|
|
714
|
+
var gl = this.gl;
|
|
715
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
|
|
716
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_NEAREST);
|
|
717
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
718
|
+
this.isCompressed = true;
|
|
719
|
+
source.upload(gl);
|
|
720
|
+
},
|
|
721
|
+
enableMipmap: function () {
|
|
722
|
+
if (this.isCompressed) {
|
|
723
|
+
return;
|
|
724
|
+
}
|
|
725
|
+
var gl = this.gl;
|
|
726
|
+
this.bind();
|
|
727
|
+
this.mipmap = true;
|
|
728
|
+
gl.generateMipmap(gl.TEXTURE_2D);
|
|
729
|
+
}
|
|
730
|
+
};
|
|
731
|
+
|
|
732
|
+
var _a$1;
|
|
733
|
+
var oldFrom$1 = Symbol();
|
|
734
|
+
var TextureMixin = (_a$1 = {},
|
|
735
|
+
_a$1[oldFrom$1] = pixi_js.Texture.from,
|
|
736
|
+
_a$1.from = function (source) {
|
|
737
|
+
if (!(source instanceof CompressedTextureResource)) {
|
|
738
|
+
return this[oldFrom$1](source);
|
|
739
|
+
}
|
|
740
|
+
return new pixi_js.Texture(pixi_js.BaseTexture.from(source));
|
|
741
|
+
},
|
|
742
|
+
_a$1);
|
|
743
|
+
|
|
744
|
+
var _a;
|
|
745
|
+
var oldFrom = Symbol();
|
|
746
|
+
var BaseTextureMixin = (_a = {},
|
|
747
|
+
_a[oldFrom] = pixi_js.BaseTexture.from,
|
|
748
|
+
_a.from = function (source, scaleMode, sourceScale) {
|
|
749
|
+
if (!(source instanceof CompressedTextureResource)) {
|
|
750
|
+
return this[oldFrom](source, scaleMode, sourceScale);
|
|
751
|
+
}
|
|
752
|
+
var imageUrl = source.src;
|
|
753
|
+
var baseTexture = pixi_js.utils.BaseTextureCache[imageUrl];
|
|
754
|
+
if (!baseTexture) {
|
|
755
|
+
baseTexture = new pixi_js.BaseTexture(source, scaleMode);
|
|
756
|
+
baseTexture.imageUrl = imageUrl;
|
|
757
|
+
if (sourceScale) {
|
|
758
|
+
baseTexture.sourceScale = sourceScale;
|
|
759
|
+
}
|
|
760
|
+
pixi_js.BaseTexture.addToCache(baseTexture, imageUrl);
|
|
761
|
+
}
|
|
762
|
+
return baseTexture;
|
|
763
|
+
},
|
|
764
|
+
_a);
|
|
765
|
+
|
|
766
|
+
function registerCompressedTexture(gl) {
|
|
767
|
+
addPreProcessResourceHandler(eva_js.resource, gl);
|
|
768
|
+
addKTXStragetyAndRegister();
|
|
769
|
+
Object.assign(pixi_js.glCore.GLTexture.prototype, GLTextureMixin);
|
|
770
|
+
Object.assign(pixi_js.Texture, TextureMixin);
|
|
771
|
+
Object.assign(pixi_js.BaseTexture, BaseTextureMixin);
|
|
772
|
+
}
|
|
773
|
+
|
|
373
774
|
exports.RENDERER_TYPE = void 0;
|
|
374
775
|
(function (RENDERER_TYPE) {
|
|
375
776
|
RENDERER_TYPE[RENDERER_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
|
|
@@ -423,6 +824,11 @@ var Renderer$2 = (function (_super) {
|
|
|
423
824
|
application: application,
|
|
424
825
|
});
|
|
425
826
|
});
|
|
827
|
+
var gl = this.application.renderer.gl;
|
|
828
|
+
if (gl) {
|
|
829
|
+
this.suportedCompressedTextureFormats = getSuportCompressedTextureFormats(gl);
|
|
830
|
+
registerCompressedTexture(gl);
|
|
831
|
+
}
|
|
426
832
|
};
|
|
427
833
|
Renderer.prototype.registerObserver = function (observerInfo) {
|
|
428
834
|
var _a;
|
|
@@ -568,6 +974,22 @@ var Renderer = (function (_super) {
|
|
|
568
974
|
}(eva_js.System));
|
|
569
975
|
var Renderer$1 = Renderer;
|
|
570
976
|
|
|
977
|
+
var mixinPIXI = function () {
|
|
978
|
+
pixi_js.BaseTexture.prototype.destroy = function () {
|
|
979
|
+
if (this.imageUrl) {
|
|
980
|
+
delete pixi_js.utils.TextureCache[this.imageUrl];
|
|
981
|
+
this.imageUrl = null;
|
|
982
|
+
}
|
|
983
|
+
this.source = null;
|
|
984
|
+
this.dispose();
|
|
985
|
+
pixi_js.BaseTexture.removeFromCache(this);
|
|
986
|
+
this.textureCacheIds = null;
|
|
987
|
+
this._destroyed = true;
|
|
988
|
+
};
|
|
989
|
+
};
|
|
990
|
+
|
|
991
|
+
mixinPIXI();
|
|
992
|
+
|
|
571
993
|
exports.ContainerManager = ContainerManager$1;
|
|
572
994
|
exports.Renderer = Renderer$1;
|
|
573
995
|
exports.RendererManager = RendererManager$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),r=require("@eva/renderer-adapter"),t=require("lodash-es/isEqual"),n=require("eventemitter3"),a=require("pixi.js");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var i=o(t),c=o(n),s=function(e,r){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)};function l(e,r){function t(){this.constructor=e}s(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}var p=function(){return(p=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var a in r=arguments[t])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e}).apply(this,arguments)};function h(e,r,t,n){var a,o=arguments.length,i=o<3?r:null===n?n=Object.getOwnPropertyDescriptor(r,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,r,t,n);else for(var c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o<3?a(i):o>3?a(r,t,i):a(r,t))||i);return o>3&&i&&Object.defineProperty(r,t,i),i}function u(e){var r="function"==typeof Symbol&&e[Symbol.iterator],t=0;return r?r.call(e):{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}}}function f(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,a,o=t.call(e),i=[];try{for(;(void 0===r||r-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(a)throw a.error}}return i}function d(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(f(arguments[r]));return e}var v,y=function(){function r(e){var r=e.game,t=e.rendererSystem;this.renderers=[],this.game=r,this.rendererSystem=t}return r.prototype.register=function(){for(var e,r,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];try{for(var a=u(t),o=a.next();!o.done;o=a.next()){var i=o.value;i.game=this.game,i.rendererManager=this.rendererSystem.rendererManager,i.containerManager=this.rendererSystem.containerManager,this.renderers.push(i)}}catch(r){e={error:r}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}},r.prototype.componentChanged=function(r){var t,n,a=function(r){var t,n;try{for(var a=(t=void 0,u(o.renderers)),c=a.next();!c.done;c=a.next()){var s=c.value,l=s.observerInfo[r.componentName];if(l){if([e.OBSERVER_TYPE.ADD,e.OBSERVER_TYPE.REMOVE].indexOf(r.type)>-1){try{s.componentChanged&&s.componentChanged(r)}catch(e){console.error("gameObject: "+r.gameObject.name+", "+r.componentName+" is error.",r,e)}continue}if(l.findIndex((function(e){return i(e,r.prop)}))>-1)try{s.componentChanged&&s.componentChanged(r)}catch(e){console.error("gameObject: "+(r.gameObject&&r.gameObject.name)+", "+r.componentName+" is componentChanged error.",r,e)}}}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}},o=this;try{for(var c=u(r),s=c.next();!s.done;s=c.next()){a(s.value)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}},r.prototype.update=function(e){var r,t,n,a;try{for(var o=u(e.components),i=o.next();!i.done;i=o.next()){var c=i.value;try{for(var s=(n=void 0,u(this.renderers)),l=s.next();!l.done;l=s.next()){var p=l.value,h=[];if(p.observerInfo[c.name]&&-1===h.indexOf(e)){h.push(e);try{p.rendererUpdate&&p.rendererUpdate(e)}catch(r){console.info("gameObject: "+e.name+", "+c.name+" is update error",r)}}}}catch(e){n={error:e}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(n)throw n.error}}}}catch(e){r={error:e}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}},r}(),m=function(){function e(){this.containerMap={}}return e.prototype.addContainer=function(e){var r=e.name,t=e.container;this.containerMap[r]=t},e.prototype.getContainer=function(e){return this.containerMap[e]},e.prototype.removeContainer=function(e){var r;null===(r=this.containerMap[e])||void 0===r||r.destroy({children:!0}),delete this.containerMap[e]},e.prototype.updateTransform=function(e){var r=e.name,t=e.transform,n=this.containerMap[r];if(n){var a=t.anchor,o=t.origin,i=t.position,c=t.rotation,s=t.scale,l=t.size,p=t.skew;n.rotation=c,n.scale=s,n.pivot.x=l.width*o.x,n.pivot.y=l.height*o.y,n.skew=p;var h=i.x,u=i.y;if(t.parent){var f=t.parent;h+=f.size.width*a.x,u+=f.size.height*a.y}n.position={x:h,y:u}}},e}(),g=function(t){function n(e){var r=e.system,n=e.containerManager,a=t.call(this)||this;return a.name="Transform",a.waitRemoveIds=[],a.waitChangeScenes=[],a.containerManager=n,a.init(r),a}return l(n,t),n.prototype.init=function(e){var r=this;this.system=e,this.on("changeScene",(function(e){var t=e.scene,n=e.mode,a=e.application;r.waitChangeScenes.push({scene:t,mode:n,application:a})}))},n.prototype.update=function(){var e,r,t,n;try{for(var a=u(this.waitRemoveIds),o=a.next();!o.done;o=a.next()){var i=o.value;this.containerManager.removeContainer(i)}}catch(r){e={error:r}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}this.waitRemoveIds=[];try{for(var c=u(this.waitChangeScenes),s=c.next();!s.done;s=c.next()){var l=s.value,p=this.containerManager.getContainer(l.scene.id);p&&(l.application.stage.removeChildren(),l.application.stage.addChild(p))}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}this.waitChangeScenes=[]},n.prototype.componentChanged=function(r){r.type===e.OBSERVER_TYPE.ADD?this.addContainer(r):r.type===e.OBSERVER_TYPE.CHANGE?this.change(r):r.type===e.OBSERVER_TYPE.REMOVE&&this.waitRemoveIds.push(r.gameObject.id)},n.prototype.addContainer=function(e){var t=new r.Container;t.name=e.gameObject.name,this.containerManager.addContainer({name:e.gameObject.id,container:t}),e.component.worldTransform=t.transform.worldTransform},n.prototype.change=function(e){var r=e.component;if(r.parent){this.containerManager.getContainer(r.parent.gameObject.id).addChild(this.containerManager.getContainer(e.gameObject.id));var t=e.gameObject.transform.parent&&e.gameObject.transform.parent.gameObject.getComponent("Render");t&&(t.sortDirty=!0)}else{var n=this.containerManager.getContainer(e.gameObject.id);delete r.worldTransform,n.parent&&n.parent.removeChild(n)}},n.prototype.destroy=function(){this.removeAllListeners(),this.waitRemoveIds=null,this.waitChangeScenes=null,this.system=null,this.containerManager=null},n=h([e.decorators.componentObserver({Transform:["_parent"]})],n)}(c);exports.RENDERER_TYPE=void 0,(v=exports.RENDERER_TYPE||(exports.RENDERER_TYPE={}))[v.UNKNOWN=0]="UNKNOWN",v[v.WEBGL=1]="WEBGL",v[v.CANVAS=2]="CANVAS";var w=function(e){e.plugins.interaction.autoPreventDefault=!0,e.view.style.touchAction="none"},E=function(e){e.plugins.interaction.autoPreventDefault=!1,e.view.style.touchAction="auto"},O=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.multiApps=[],e}return l(n,t),n.prototype.init=function(r){var t=this;this.params=r,this.application=this.createApplication(r),this.containerManager=new m,this.rendererManager=new y({game:this.game,rendererSystem:this}),this.game.canvas=this.application.view,this.transform=new g({system:this,containerManager:this.containerManager}),this.game.on("sceneChanged",(function(r){var n,a=r.scene,o=r.mode,i=r.params;switch(o){case e.LOAD_SCENE_MODE.SINGLE:n=t.application;break;case e.LOAD_SCENE_MODE.MULTI_CANVAS:n=t.createMultiApplication({params:i})}a.canvas=n.view,t.transform.emit("changeScene",{scene:a,mode:o,application:n})}))},n.prototype.registerObserver=function(e){var r,t=this.constructor.observerInfo;for(var n in e)t[n]||(t[n]=[]),(r=t[n]).push.apply(r,d(e[n]))},n.prototype.createMultiApplication=function(e){var r=e.params,t=this.createApplication(r);return this.multiApps.push(t),t},n.prototype.createApplication=function(e){e.view=e.canvas,e.renderType===exports.RENDERER_TYPE.CANVAS&&(e.forceCanvas=!0),a.ticker.shared.autoStart=!1,a.ticker.shared.stop();var t=new r.Application(p({sharedTicker:!0},e));return void 0!==e.preventScroll&&(console.warn("PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game"),e.preventScroll?E(t.renderer):w(t.renderer)),void 0!==e.enableScroll&&(e.enableScroll?E(t.renderer):w(t.renderer)),void 0===e.preventScroll&&void 0===e.enableScroll&&E(t.renderer),t},n.prototype.update=function(){var e,r,t,n,a=this.componentObserver.clear();try{for(var o=u(a),i=o.next();!i.done;i=o.next()){var c=i.value;this.transform.componentChanged(c)}}catch(r){e={error:r}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}try{for(var s=u(this.game.gameObjects),l=s.next();!l.done;l=s.next()){var p=l.value;this.containerManager.updateTransform({name:p.id,transform:p.transform}),this.rendererManager.update(p)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},n.prototype.lateUpdate=function(e){this.transform.update(),this.application.ticker.update(e.time)},n.prototype.onDestroy=function(){var e,r;this.application.destroy();try{for(var t=u(this.multiApps),n=t.next();!n.done;n=t.next()){var a=n.value;a&&a.destroy()}}catch(r){e={error:r}}finally{try{n&&!n.done&&(r=t.return)&&r.call(t)}finally{if(e)throw e.error}}this.transform.destroy(),this.transform=null,this.params=null,this.rendererManager=null,this.containerManager=null,this.application=null,this.game=null,this.multiApps=null},n.prototype.resize=function(e,r){this.params.width=e,this.params.height=r,this.application.renderer.resize(e,r)},n.systemName="Renderer",n=h([e.decorators.componentObserver({Transform:["_parent"]})],n)}(e.System),b=function(e){function r(r){var t=e.call(this,r)||this;return t.observerInfo=t.constructor.observerInfo,t}return l(r,e),r.prototype.componentChanged=function(e){},r.prototype.rendererUpdate=function(e){},r.prototype.update=function(e){var r,t,n=this.componentObserver.clear();try{for(var a=u(n),o=a.next();!o.done;o=a.next()){var i=o.value;this.componentChanged(i)}}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=a.return)&&t.call(a)}finally{if(r)throw r.error}}},r}(e.System);exports.ContainerManager=m,exports.Renderer=b,exports.RendererManager=y,exports.RendererSystem=O;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/renderer-adapter"),r=require("lodash-es/isEqual"),_=require("eventemitter3"),n=require("pixi.js");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var E=o(r),a=o(_),S=function(e,t){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function i(e,t){function r(){this.constructor=e}S(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var R=function(){return(R=Object.assign||function(e){for(var t,r=1,_=arguments.length;r<_;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function s(e,t,r,_){var n,o=arguments.length,E=o<3?t:null===_?_=Object.getOwnPropertyDescriptor(t,r):_;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)E=Reflect.decorate(e,t,r,_);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(E=(o<3?n(E):o>3?n(t,r,E):n(t,r))||E);return o>3&&E&&Object.defineProperty(t,r,E),E}function C(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function c(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var _,n,o=r.call(e),E=[];try{for(;(void 0===t||t-- >0)&&!(_=o.next()).done;)E.push(_.value)}catch(e){n={error:e}}finally{try{_&&!_.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return E}function A(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(c(arguments[t]));return e}var P=function(){function t(e){var t=e.game,r=e.rendererSystem;this.renderers=[],this.game=t,this.rendererSystem=r}return t.prototype.register=function(){for(var e,t,r=[],_=0;_<arguments.length;_++)r[_]=arguments[_];try{for(var n=C(r),o=n.next();!o.done;o=n.next()){var E=o.value;E.game=this.game,E.rendererManager=this.rendererSystem.rendererManager,E.containerManager=this.rendererSystem.containerManager,this.renderers.push(E)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}},t.prototype.componentChanged=function(t){var r,_,n=function(t){var r,_;try{for(var n=(r=void 0,C(o.renderers)),a=n.next();!a.done;a=n.next()){var S=a.value,i=S.observerInfo[t.componentName];if(i){if([e.OBSERVER_TYPE.ADD,e.OBSERVER_TYPE.REMOVE].indexOf(t.type)>-1){try{S.componentChanged&&S.componentChanged(t)}catch(e){console.error("gameObject: "+t.gameObject.name+", "+t.componentName+" is error.",t,e)}continue}if(i.findIndex((function(e){return E(e,t.prop)}))>-1)try{S.componentChanged&&S.componentChanged(t)}catch(e){console.error("gameObject: "+(t.gameObject&&t.gameObject.name)+", "+t.componentName+" is componentChanged error.",t,e)}}}}catch(e){r={error:e}}finally{try{a&&!a.done&&(_=n.return)&&_.call(n)}finally{if(r)throw r.error}}},o=this;try{for(var a=C(t),S=a.next();!S.done;S=a.next()){n(S.value)}}catch(e){r={error:e}}finally{try{S&&!S.done&&(_=a.return)&&_.call(a)}finally{if(r)throw r.error}}},t.prototype.update=function(e){var t,r,_,n;try{for(var o=C(e.components),E=o.next();!E.done;E=o.next()){var a=E.value;try{for(var S=(_=void 0,C(this.renderers)),i=S.next();!i.done;i=S.next()){var R=i.value,s=[];if(R.observerInfo[a.name]&&-1===s.indexOf(e)){s.push(e);try{R.rendererUpdate&&R.rendererUpdate(e)}catch(t){console.info("gameObject: "+e.name+", "+a.name+" is update error",t)}}}}catch(e){_={error:e}}finally{try{i&&!i.done&&(n=S.return)&&n.call(S)}finally{if(_)throw _.error}}}}catch(e){t={error:e}}finally{try{E&&!E.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}},t}(),T=function(){function e(){this.containerMap={}}return e.prototype.addContainer=function(e){var t=e.name,r=e.container;this.containerMap[t]=r},e.prototype.getContainer=function(e){return this.containerMap[e]},e.prototype.removeContainer=function(e){var t;null===(t=this.containerMap[e])||void 0===t||t.destroy({children:!0}),delete this.containerMap[e]},e.prototype.updateTransform=function(e){var t=e.name,r=e.transform,_=this.containerMap[t];if(_){var n=r.anchor,o=r.origin,E=r.position,a=r.rotation,S=r.scale,i=r.size,R=r.skew;_.rotation=a,_.scale=S,_.pivot.x=i.width*o.x,_.pivot.y=i.height*o.y,_.skew=R;var s=E.x,C=E.y;if(r.parent){var c=r.parent;s+=c.size.width*n.x,C+=c.size.height*n.y}_.position={x:s,y:C}}},e}(),p=function(r){function _(e){var t=e.system,_=e.containerManager,n=r.call(this)||this;return n.name="Transform",n.waitRemoveIds=[],n.waitChangeScenes=[],n.containerManager=_,n.init(t),n}return i(_,r),_.prototype.init=function(e){var t=this;this.system=e,this.on("changeScene",(function(e){var r=e.scene,_=e.mode,n=e.application;t.waitChangeScenes.push({scene:r,mode:_,application:n})}))},_.prototype.update=function(){var e,t,r,_;try{for(var n=C(this.waitRemoveIds),o=n.next();!o.done;o=n.next()){var E=o.value;this.containerManager.removeContainer(E)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this.waitRemoveIds=[];try{for(var a=C(this.waitChangeScenes),S=a.next();!S.done;S=a.next()){var i=S.value,R=this.containerManager.getContainer(i.scene.id);R&&(i.application.stage.removeChildren(),i.application.stage.addChild(R))}}catch(e){r={error:e}}finally{try{S&&!S.done&&(_=a.return)&&_.call(a)}finally{if(r)throw r.error}}this.waitChangeScenes=[]},_.prototype.componentChanged=function(t){t.type===e.OBSERVER_TYPE.ADD?this.addContainer(t):t.type===e.OBSERVER_TYPE.CHANGE?this.change(t):t.type===e.OBSERVER_TYPE.REMOVE&&this.waitRemoveIds.push(t.gameObject.id)},_.prototype.addContainer=function(e){var r=new t.Container;r.name=e.gameObject.name,this.containerManager.addContainer({name:e.gameObject.id,container:r}),e.component.worldTransform=r.transform.worldTransform},_.prototype.change=function(e){var t=e.component;if(t.parent){this.containerManager.getContainer(t.parent.gameObject.id).addChild(this.containerManager.getContainer(e.gameObject.id));var r=e.gameObject.transform.parent&&e.gameObject.transform.parent.gameObject.getComponent("Render");r&&(r.sortDirty=!0)}else{var _=this.containerManager.getContainer(e.gameObject.id);delete t.worldTransform,_.parent&&_.parent.removeChild(_)}},_.prototype.destroy=function(){this.removeAllListeners(),this.waitRemoveIds=null,this.waitChangeScenes=null,this.system=null,this.containerManager=null},_=s([e.decorators.componentObserver({Transform:["_parent"]})],_)}(a),l=void 0;function u(e){if(l)return l;if(!e)return console.warn("WebGL not available for compressed textures. Silently failing."),{s3tc:!1,etc:!1,etc1:!1,pvrtc:!1,atc:!1,astc:!1};l={s3tc:!!e.getExtension("WEBGL_compressed_texture_s3tc"),etc:!!e.getExtension("WEBGL_compressed_texture_etc"),etc1:!!e.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:!!e.getExtension("WEBGL_compressed_texture_pvrtc")||!!e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:!!e.getExtension("WEBGL_compressed_texture_atc"),astc:!!e.getExtension("WEBGL_compressed_texture_astc")};try{console.log("Eva.js Supported Compressed Texture Format List: "+Object.keys(l).filter((function(e){return l[e]})).join(", "))}catch(e){}return l}var G,B,D,d=e.resourceLoader.XhrLoadStrategy;!function(e){e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=3781]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"}(D||(D={}));var M=((G={})[D.COMPRESSED_RGB_S3TC_DXT1_EXT]=[4,4],G[D.COMPRESSED_RGBA_S3TC_DXT1_EXT]=[4,4],G[D.COMPRESSED_RGBA_S3TC_DXT3_EXT]=[4,4],G[D.COMPRESSED_RGBA_S3TC_DXT5_EXT]=[4,4],G[D.COMPRESSED_SRGB_S3TC_DXT1_EXT]=[4,4],G[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]=[4,4],G[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]=[4,4],G[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]=[4,4],G[D.COMPRESSED_R11_EAC]=[4,4],G[D.COMPRESSED_SIGNED_R11_EAC]=[4,4],G[D.COMPRESSED_RG11_EAC]=[4,4],G[D.COMPRESSED_SIGNED_RG11_EAC]=[4,4],G[D.COMPRESSED_RGB8_ETC2]=[4,4],G[D.COMPRESSED_RGBA8_ETC2_EAC]=[4,4],G[D.COMPRESSED_SRGB8_ETC2]=[4,4],G[D.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]=[4,4],G[D.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]=[4,4],G[D.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]=[4,4],G[D.COMPRESSED_RGB_PVRTC_4BPPV1_IMG]=[4,4],G[D.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]=[4,4],G[D.COMPRESSED_RGB_PVRTC_2BPPV1_IMG]=[8,4],G[D.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]=[8,4],G[D.COMPRESSED_RGB_ETC1_WEBGL]=[4,4],G[D.COMPRESSED_RGB_ATC_WEBGL]=[4,4],G[D.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]=[4,4],G[D.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]=[4,4],G[D.COMPRESSED_RGBA_ASTC_4x4_KHR]=[4,4],G[D.COMPRESSED_RGBA_ASTC_5x5_KHR]=[5,5],G[D.COMPRESSED_RGBA_ASTC_6x6_KHR]=[6,6],G[D.COMPRESSED_RGBA_ASTC_8x8_KHR]=[8,8],G[D.COMPRESSED_RGBA_ASTC_10x10_KHR]=[10,10],G[D.COMPRESSED_RGBA_ASTC_12x12_KHR]=[12,12],G[D.COMPRESSED_RGBA_ASTC_10x5_KHR]=[10,5],G[D.COMPRESSED_RGBA_ASTC_10x6_KHR]=[10,6],G[D.COMPRESSED_RGBA_ASTC_10x8_KHR]=[10,8],G[D.COMPRESSED_RGBA_ASTC_12x10_KHR]=[12,10],G[D.COMPRESSED_RGBA_ASTC_5x4_KHR]=[5,4],G[D.COMPRESSED_RGBA_ASTC_6x5_KHR]=[6,5],G[D.COMPRESSED_RGBA_ASTC_8x5_KHR]=[8,5],G[D.COMPRESSED_RGBA_ASTC_8x6_KHR]=[8,6],G),O=((B={})[D.COMPRESSED_RGB_S3TC_DXT1_EXT]="WEBGL_compressed_texture_s3tc",B[D.COMPRESSED_RGBA_S3TC_DXT1_EXT]="WEBGL_compressed_texture_s3tc",B[D.COMPRESSED_RGBA_S3TC_DXT3_EXT]="WEBGL_compressed_texture_s3tc",B[D.COMPRESSED_RGBA_S3TC_DXT5_EXT]="WEBGL_compressed_texture_s3tc",B[D.COMPRESSED_SRGB_S3TC_DXT1_EXT]="WEBGL_compressed_texture_s3tc_srgb",B[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]="WEBGL_compressed_texture_s3tc_srgb",B[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]="WEBGL_compressed_texture_s3tc_srgb",B[D.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]="WEBGL_compressed_texture_s3tc_srgb",B[D.COMPRESSED_R11_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_SIGNED_R11_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_RG11_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_SIGNED_RG11_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_RGB8_ETC2]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_RGBA8_ETC2_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_SRGB8_ETC2]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]="WEBGL_compressed_texture_etc",B[D.COMPRESSED_RGB_PVRTC_4BPPV1_IMG]="WEBGL_compressed_texture_pvrtc",B[D.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]="WEBGL_compressed_texture_pvrtc",B[D.COMPRESSED_RGB_PVRTC_2BPPV1_IMG]="WEBGL_compressed_texture_pvrtc",B[D.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]="WEBGL_compressed_texture_pvrtc",B[D.COMPRESSED_RGB_ETC1_WEBGL]="WEBGL_compressed_texture_etc1",B[D.COMPRESSED_RGB_ATC_WEBGL]="WEBGL_compressed_texture_atc",B[D.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]="WEBGL_compressed_texture_atc",B[D.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]="WEBGL_compressed_texture_atc",B[D.COMPRESSED_RGBA_ASTC_4x4_KHR]="WEBGL_compressed_texture_astc",B[D.COMPRESSED_RGBA_ASTC_5x5_KHR]="WEBGL_compressed_texture_astc",B[D.COMPRESSED_RGBA_ASTC_6x6_KHR]="WEBGL_compressed_texture_astc",B[D.COMPRESSED_RGBA_ASTC_8x8_KHR]="WEBGL_compressed_texture_astc",B[D.COMPRESSED_RGBA_ASTC_10x10_KHR]="WEBGL_compressed_texture_astc",B[D.COMPRESSED_RGBA_ASTC_12x12_KHR]="WEBGL_compressed_texture_astc",B),h=function(){function e(){this.levelBuffers=[]}return e.prototype.upload=function(e){var t=this.levels,r=O[this.internalFormat];e[r]||(e[r]=!0,"WEBGL_compressed_texture_pvrtc"===r?e.getExtension(r)||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"):e.getExtension(r));for(var _=0;_<this.levels;++_){var n=this.levelBuffers[_],o=n.levelWidth,E=n.levelHeight,a=n.levelBuffer;e.compressedTexImage2D(e.TEXTURE_2D,_,this.internalFormat,o,E,0,a)}t>1?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_NEAREST)):(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR))},e}(),f=12,m=28,x=36,v=40,H=44,y=48,L=52,g=56,X=60,K=[171,75,84,88,32,49,49,187,13,10,26,10],I=function(t){function r(r,_){var n,o=t.call(this)||this;o.complete=!0,o.src=_.url;var E=new DataView(r);if(!function(e){for(var t=0;t<K.length;t++)if(e.getUint8(t)!==K[t])return!1;return!0}(E))throw new Error("Not a valid KTX Texture");var a=67305985===E.getUint32(f,!0);o.internalFormat=E.getUint32(m,a);var S=o.formerWidth=E.getUint32(x,a),i=o.formerHeight=E.getUint32(v,a)||1,R=M[o.internalFormat];o.width=S%R[0]==0?S:S+R[0]-S%R[0],o.height=i%R[1]==0?i:i+R[1]-i%R[1];var s=e.resource.resourcesMap[_.metadata.name].src[_.metadata.key],C=null!==(n=null==s?void 0:s.size)&&void 0!==n?n:{},c=C.width,A=C.height;c&&A&&(o.naturalWidth=c,o.naturalHeight=A);var P=E.getUint32(H,a)||1,T=E.getUint32(y,a)||1,p=E.getUint32(L,a),l=o.levels=E.getUint32(g,a),u=E.getUint32(X,a);if(0===i||1!==P)throw new Error("Only 2D textures are supported!");if(1!==p)throw new Error("CubeTextures are not supported!");if(1!==T)throw new Error("It does not support array textures!");for(var G=S,B=i,D=64+u,d=0;d<l;d++){var O=E.getUint32(D,a);D+=4;var h=M[o.internalFormat],I={levelID:d,levelWidth:G%h[0]==0?G:G+h[0]-G%h[0],levelHeight:B%h[1]==0?B:B+h[1]-B%h[1],levelBuffer:new Uint8Array(r,D,O)};o.levelBuffers.push(I),D+=O,D+=3-(D+3)%4,G=G>>1||1,B=B>>1||1}return o}return i(r,t),r}(h);var W=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype._complete=function(t,r){e.prototype._complete.call(this,t,new I(r,this.config))},t}(d),w=e.resourceLoader.XhrResponseType;var b,N,U,V={isCompressed:!1,uploadNotCompressed:n.glCore.GLTexture.prototype.upload,upload:function(e){if(!(e instanceof h))return this.uploadNotCompressed(e);this.bind();var t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST_MIPMAP_NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),this.isCompressed=!0,e.upload(t)},enableMipmap:function(){if(!this.isCompressed){var e=this.gl;this.bind(),this.mipmap=!0,e.generateMipmap(e.TEXTURE_2D)}}},j=Symbol(),F=((b={})[j]=n.Texture.from,b.from=function(e){return e instanceof h?new n.Texture(n.BaseTexture.from(e)):this[j](e)},b),Y=Symbol(),k=((N={})[Y]=n.BaseTexture.from,N.from=function(e,t,r){if(!(e instanceof h))return this[Y](e,t,r);var _=e.src,o=n.utils.BaseTextureCache[_];return o||((o=new n.BaseTexture(e,t)).imageUrl=_,r&&(o.sourceScale=r),n.BaseTexture.addToCache(o,_)),o},N);function q(t){!function(e,t){e.addPreProcessResourceHandler((function(e){var r,_,n,o=null===(_=null===(r=e.src)||void 0===r?void 0:r.image)||void 0===_?void 0:_.texture;if(o){Array.isArray(o)||(o=[o]);var E=null!==(n=u(t))&&void 0!==n?n:{},a=o.find((function(e){return E[e.type]}));a&&Object.assign(e.src.image,a)}}))}(e.resource,t),Object.assign(e.RESOURCE_TYPE_STRATEGY,{astc:W,etc:W,pvrtc:W,s3tc:W,atc:W}),W.setExtensionXhrType("ktx",w.Buffer),Object.assign(n.glCore.GLTexture.prototype,V),Object.assign(n.Texture,F),Object.assign(n.BaseTexture,k)}exports.RENDERER_TYPE=void 0,(U=exports.RENDERER_TYPE||(exports.RENDERER_TYPE={}))[U.UNKNOWN=0]="UNKNOWN",U[U.WEBGL=1]="WEBGL",U[U.CANVAS=2]="CANVAS";var z=function(e){e.plugins.interaction.autoPreventDefault=!0,e.view.style.touchAction="none"},J=function(e){e.plugins.interaction.autoPreventDefault=!1,e.view.style.touchAction="auto"},Q=function(r){function _(){var e=null!==r&&r.apply(this,arguments)||this;return e.multiApps=[],e}return i(_,r),_.prototype.init=function(t){var r=this;this.params=t,this.application=this.createApplication(t),this.containerManager=new T,this.rendererManager=new P({game:this.game,rendererSystem:this}),this.game.canvas=this.application.view,this.transform=new p({system:this,containerManager:this.containerManager}),this.game.on("sceneChanged",(function(t){var _,n=t.scene,o=t.mode,E=t.params;switch(o){case e.LOAD_SCENE_MODE.SINGLE:_=r.application;break;case e.LOAD_SCENE_MODE.MULTI_CANVAS:_=r.createMultiApplication({params:E})}n.canvas=_.view,r.transform.emit("changeScene",{scene:n,mode:o,application:_})}));var _=this.application.renderer.gl;_&&(this.suportedCompressedTextureFormats=u(_),q(_))},_.prototype.registerObserver=function(e){var t,r=this.constructor.observerInfo;for(var _ in e)r[_]||(r[_]=[]),(t=r[_]).push.apply(t,A(e[_]))},_.prototype.createMultiApplication=function(e){var t=e.params,r=this.createApplication(t);return this.multiApps.push(r),r},_.prototype.createApplication=function(e){e.view=e.canvas,e.renderType===exports.RENDERER_TYPE.CANVAS&&(e.forceCanvas=!0),n.ticker.shared.autoStart=!1,n.ticker.shared.stop();var r=new t.Application(R({sharedTicker:!0},e));return void 0!==e.preventScroll&&(console.warn("PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game"),e.preventScroll?J(r.renderer):z(r.renderer)),void 0!==e.enableScroll&&(e.enableScroll?J(r.renderer):z(r.renderer)),void 0===e.preventScroll&&void 0===e.enableScroll&&J(r.renderer),r},_.prototype.update=function(){var e,t,r,_,n=this.componentObserver.clear();try{for(var o=C(n),E=o.next();!E.done;E=o.next()){var a=E.value;this.transform.componentChanged(a)}}catch(t){e={error:t}}finally{try{E&&!E.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}try{for(var S=C(this.game.gameObjects),i=S.next();!i.done;i=S.next()){var R=i.value;this.containerManager.updateTransform({name:R.id,transform:R.transform}),this.rendererManager.update(R)}}catch(e){r={error:e}}finally{try{i&&!i.done&&(_=S.return)&&_.call(S)}finally{if(r)throw r.error}}},_.prototype.lateUpdate=function(e){this.transform.update(),this.application.ticker.update(e.time)},_.prototype.onDestroy=function(){var e,t;this.application.destroy();try{for(var r=C(this.multiApps),_=r.next();!_.done;_=r.next()){var n=_.value;n&&n.destroy()}}catch(t){e={error:t}}finally{try{_&&!_.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.transform.destroy(),this.transform=null,this.params=null,this.rendererManager=null,this.containerManager=null,this.application=null,this.game=null,this.multiApps=null},_.prototype.resize=function(e,t){this.params.width=e,this.params.height=t,this.application.renderer.resize(e,t)},_.systemName="Renderer",_=s([e.decorators.componentObserver({Transform:["_parent"]})],_)}(e.System),Z=function(e){function t(t){var r=e.call(this,t)||this;return r.observerInfo=r.constructor.observerInfo,r}return i(t,e),t.prototype.componentChanged=function(e){},t.prototype.rendererUpdate=function(e){},t.prototype.update=function(e){var t,r,_=this.componentObserver.clear();try{for(var n=C(_),o=n.next();!o.done;o=n.next()){var E=o.value;this.componentChanged(E)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},t}(e.System);n.BaseTexture.prototype.destroy=function(){this.imageUrl&&(delete n.utils.TextureCache[this.imageUrl],this.imageUrl=null),this.source=null,this.dispose(),n.BaseTexture.removeFromCache(this),this.textureCacheIds=null,this._destroyed=!0},exports.ContainerManager=T,exports.Renderer=Z,exports.RendererManager=P,exports.RendererSystem=Q;
|
|
@@ -69,6 +69,7 @@ export declare class RendererSystem extends System<RendererSystemParams> {
|
|
|
69
69
|
game: Game;
|
|
70
70
|
transform: Transform_2;
|
|
71
71
|
multiApps: Application[];
|
|
72
|
+
suportedCompressedTextureFormats: SuportedCompressedTexture;
|
|
72
73
|
init(params: RendererSystemParams): void;
|
|
73
74
|
registerObserver(observerInfo: any): void;
|
|
74
75
|
createMultiApplication({ params }: {
|
|
@@ -88,6 +89,15 @@ export declare interface RendererSystemParams extends ApplicationOptions {
|
|
|
88
89
|
enableScroll?: boolean;
|
|
89
90
|
}
|
|
90
91
|
|
|
92
|
+
declare interface SuportedCompressedTexture {
|
|
93
|
+
s3tc: boolean;
|
|
94
|
+
etc: boolean;
|
|
95
|
+
etc1: boolean;
|
|
96
|
+
pvrtc: boolean;
|
|
97
|
+
atc: boolean;
|
|
98
|
+
astc: boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
91
101
|
declare class Transform_2 extends EventEmitter {
|
|
92
102
|
name: string;
|
|
93
103
|
waitRemoveIds: number[];
|