@galacean/engine-loader 1.4.14 → 1.5.0-alpha.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.
- package/dist/main.js +447 -344
- package/dist/main.js.map +1 -1
- package/dist/module.js +448 -345
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/Texture2DLoader.d.ts +2 -0
- package/types/gltf/GLTFUtils.d.ts +4 -4
- package/types/gltf/extensions/GLTFExtensionParser.d.ts +3 -3
- package/types/gltf/parser/GLTFAnimationParser.d.ts +3 -3
- package/types/gltf/parser/GLTFAnimatorControllerParser.d.ts +2 -2
- package/types/gltf/parser/GLTFBufferParser.d.ts +2 -1
- package/types/gltf/parser/GLTFBufferViewParser.d.ts +3 -2
- package/types/gltf/parser/GLTFMaterialParser.d.ts +2 -2
- package/types/gltf/parser/GLTFMeshParser.d.ts +4 -4
- package/types/gltf/parser/GLTFParser.d.ts +2 -2
- package/types/gltf/parser/GLTFParserContext.d.ts +10 -9
- package/types/gltf/parser/GLTFSceneParser.d.ts +2 -2
- package/types/gltf/parser/GLTFSkinParser.d.ts +2 -2
- package/types/gltf/parser/GLTFTextureParser.d.ts +4 -3
- package/types/gltf/parser/GLTFValidator.d.ts +2 -1
- package/types/ktx2/KTX2Container.d.ts +4 -0
- package/types/ktx2/KTX2Loader.d.ts +4 -2
- package/types/resource-deserialize/index.d.ts +2 -2
- package/types/resource-deserialize/resources/animationClip/AnimationClipDecoder.d.ts +2 -2
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +2 -2
- package/types/resource-deserialize/resources/texture2D/TextureDecoder.d.ts +2 -2
- package/types/resource-deserialize/utils/Decorator.d.ts +2 -2
package/dist/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader,
|
|
1
|
+
import { Utils, AssetPromise, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, request, ContentRestorer, Font, SystemInfo, Animator, Logger, IndexFormat, VertexElementFormat, GLCapabilityType, TextureFormat, InterpolationType, SkinnedMeshRenderer, PBRMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, TextureUtils, AudioClip, AudioManager, ShaderFactory, ShaderLib, PhysicsMaterial, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
|
|
2
2
|
import { Color, Vector4, Vector3, Vector2, Quaternion, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
4
|
|
|
@@ -288,7 +288,7 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
288
288
|
var MeshDecoder = /*#__PURE__*/ function() {
|
|
289
289
|
function MeshDecoder() {}
|
|
290
290
|
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
291
|
-
return new
|
|
291
|
+
return new AssetPromise(function(resolve) {
|
|
292
292
|
var modelMesh = new ModelMesh(engine);
|
|
293
293
|
var jsonDataString = bufferReader.nextStr();
|
|
294
294
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
@@ -422,7 +422,7 @@ function float32ArrayToVector2(float32Array, vertexCount) {
|
|
|
422
422
|
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
423
423
|
function Texture2DDecoder() {}
|
|
424
424
|
Texture2DDecoder.decode = function decode(engine, bufferReader) {
|
|
425
|
-
return new
|
|
425
|
+
return new AssetPromise(function(resolve, reject) {
|
|
426
426
|
var objectId = bufferReader.nextStr();
|
|
427
427
|
var mipmap = !!bufferReader.nextUint8();
|
|
428
428
|
var filterMode = bufferReader.nextUint8();
|
|
@@ -433,9 +433,10 @@ var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
|
433
433
|
var width = bufferReader.nextUint16();
|
|
434
434
|
var height = bufferReader.nextUint16();
|
|
435
435
|
var isPixelBuffer = bufferReader.nextUint8();
|
|
436
|
+
var isSRGBColorSpace = !!bufferReader.nextUint8();
|
|
436
437
|
var mipCount = bufferReader.nextUint8();
|
|
437
438
|
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
438
|
-
var texture2D = new Texture2D(engine, width, height, format, mipmap);
|
|
439
|
+
var texture2D = new Texture2D(engine, width, height, format, mipmap, isSRGBColorSpace);
|
|
439
440
|
texture2D.filterMode = filterMode;
|
|
440
441
|
texture2D.anisoLevel = anisoLevel;
|
|
441
442
|
texture2D.wrapModeU = wrapModeU;
|
|
@@ -794,7 +795,7 @@ var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
|
|
|
794
795
|
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
795
796
|
function AnimationClipDecoder() {}
|
|
796
797
|
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
797
|
-
return new
|
|
798
|
+
return new AssetPromise(function(resolve) {
|
|
798
799
|
var name = bufferReader.nextStr();
|
|
799
800
|
var clip = new AnimationClip(name);
|
|
800
801
|
var eventsLen = bufferReader.nextUint16();
|
|
@@ -1686,7 +1687,7 @@ var EnvLoader = /*#__PURE__*/ function(Loader) {
|
|
|
1686
1687
|
var _this;
|
|
1687
1688
|
var shByteLength = 27 * 4;
|
|
1688
1689
|
var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
|
|
1689
|
-
texture || (texture = new TextureCube(engine, size));
|
|
1690
|
+
texture || (texture = new TextureCube(engine, size, undefined, undefined, false));
|
|
1690
1691
|
texture.filterMode = TextureFilterMode.Trilinear;
|
|
1691
1692
|
var mipmapCount = texture.mipmapCount;
|
|
1692
1693
|
var offset = shByteLength + 2;
|
|
@@ -1820,6 +1821,203 @@ FontLoader = __decorate([
|
|
|
1820
1821
|
], false)
|
|
1821
1822
|
], FontLoader);
|
|
1822
1823
|
|
|
1824
|
+
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
1825
|
+
var ready;
|
|
1826
|
+
function getMeshoptDecoder() {
|
|
1827
|
+
if (ready) return ready;
|
|
1828
|
+
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
1829
|
+
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
1830
|
+
var wasmpack = new Uint8Array([
|
|
1831
|
+
32,
|
|
1832
|
+
0,
|
|
1833
|
+
65,
|
|
1834
|
+
2,
|
|
1835
|
+
1,
|
|
1836
|
+
106,
|
|
1837
|
+
34,
|
|
1838
|
+
33,
|
|
1839
|
+
3,
|
|
1840
|
+
128,
|
|
1841
|
+
11,
|
|
1842
|
+
4,
|
|
1843
|
+
13,
|
|
1844
|
+
64,
|
|
1845
|
+
6,
|
|
1846
|
+
253,
|
|
1847
|
+
10,
|
|
1848
|
+
7,
|
|
1849
|
+
15,
|
|
1850
|
+
116,
|
|
1851
|
+
127,
|
|
1852
|
+
5,
|
|
1853
|
+
8,
|
|
1854
|
+
12,
|
|
1855
|
+
40,
|
|
1856
|
+
16,
|
|
1857
|
+
19,
|
|
1858
|
+
54,
|
|
1859
|
+
20,
|
|
1860
|
+
9,
|
|
1861
|
+
27,
|
|
1862
|
+
255,
|
|
1863
|
+
113,
|
|
1864
|
+
17,
|
|
1865
|
+
42,
|
|
1866
|
+
67,
|
|
1867
|
+
24,
|
|
1868
|
+
23,
|
|
1869
|
+
146,
|
|
1870
|
+
148,
|
|
1871
|
+
18,
|
|
1872
|
+
14,
|
|
1873
|
+
22,
|
|
1874
|
+
45,
|
|
1875
|
+
70,
|
|
1876
|
+
69,
|
|
1877
|
+
56,
|
|
1878
|
+
114,
|
|
1879
|
+
101,
|
|
1880
|
+
21,
|
|
1881
|
+
25,
|
|
1882
|
+
63,
|
|
1883
|
+
75,
|
|
1884
|
+
136,
|
|
1885
|
+
108,
|
|
1886
|
+
28,
|
|
1887
|
+
118,
|
|
1888
|
+
29,
|
|
1889
|
+
73,
|
|
1890
|
+
115
|
|
1891
|
+
]);
|
|
1892
|
+
// @ts-ignore
|
|
1893
|
+
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
1894
|
+
var instance;
|
|
1895
|
+
ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
|
|
1896
|
+
instance = result.instance;
|
|
1897
|
+
instance.exports.__wasm_call_ctors();
|
|
1898
|
+
}).then(function() {
|
|
1899
|
+
return {
|
|
1900
|
+
workerCount: 4,
|
|
1901
|
+
ready: ready,
|
|
1902
|
+
useWorkers: function useWorkers(workerCount) {
|
|
1903
|
+
this.workerCount = workerCount != null ? workerCount : this.workerCount;
|
|
1904
|
+
initWorkers(this.workerCount);
|
|
1905
|
+
},
|
|
1906
|
+
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
1907
|
+
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
1908
|
+
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
1909
|
+
return ready.then(function() {
|
|
1910
|
+
var target = new Uint8Array(count * stride);
|
|
1911
|
+
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
1912
|
+
return target;
|
|
1913
|
+
});
|
|
1914
|
+
},
|
|
1915
|
+
release: function release() {
|
|
1916
|
+
for(var i = 0; i < workers.length; i++){
|
|
1917
|
+
workers[i].object.terminate();
|
|
1918
|
+
}
|
|
1919
|
+
}
|
|
1920
|
+
};
|
|
1921
|
+
});
|
|
1922
|
+
function unpack(data) {
|
|
1923
|
+
var result = new Uint8Array(data.length);
|
|
1924
|
+
for(var i = 0; i < data.length; ++i){
|
|
1925
|
+
var ch = data.charCodeAt(i);
|
|
1926
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
1927
|
+
}
|
|
1928
|
+
var write = 0;
|
|
1929
|
+
for(var i1 = 0; i1 < data.length; ++i1){
|
|
1930
|
+
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
1931
|
+
}
|
|
1932
|
+
return result.buffer.slice(0, write);
|
|
1933
|
+
}
|
|
1934
|
+
function decode(fun, target, count, size, source, filter) {
|
|
1935
|
+
var sbrk = instance.exports.sbrk;
|
|
1936
|
+
var count4 = count + 3 & ~3;
|
|
1937
|
+
var tp = sbrk(count4 * size);
|
|
1938
|
+
var sp = sbrk(source.length);
|
|
1939
|
+
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
1940
|
+
heap.set(source, sp);
|
|
1941
|
+
var res = fun(tp, count, size, sp, source.length);
|
|
1942
|
+
if (res == 0 && filter) {
|
|
1943
|
+
filter(tp, count4, size);
|
|
1944
|
+
}
|
|
1945
|
+
target.set(heap.subarray(tp, tp + count * size));
|
|
1946
|
+
sbrk(tp - sbrk(0));
|
|
1947
|
+
if (res != 0) {
|
|
1948
|
+
throw new Error("Malformed buffer data: " + res);
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
var filters = {
|
|
1952
|
+
NONE: "",
|
|
1953
|
+
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
1954
|
+
QUATERNION: "meshopt_decodeFilterQuat",
|
|
1955
|
+
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
1956
|
+
};
|
|
1957
|
+
var decoders = {
|
|
1958
|
+
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
1959
|
+
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
1960
|
+
INDICES: "meshopt_decodeIndexSequence"
|
|
1961
|
+
};
|
|
1962
|
+
var workers = [];
|
|
1963
|
+
var requestId = 0;
|
|
1964
|
+
function createWorker(url) {
|
|
1965
|
+
var worker = {
|
|
1966
|
+
object: new Worker(url),
|
|
1967
|
+
pending: 0,
|
|
1968
|
+
requests: {}
|
|
1969
|
+
};
|
|
1970
|
+
worker.object.onmessage = function(event) {
|
|
1971
|
+
var data = event.data;
|
|
1972
|
+
worker.pending -= data.count;
|
|
1973
|
+
worker.requests[data.id][data.action](data.value);
|
|
1974
|
+
delete worker.requests[data.id];
|
|
1975
|
+
};
|
|
1976
|
+
return worker;
|
|
1977
|
+
}
|
|
1978
|
+
function initWorkers(count) {
|
|
1979
|
+
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
|
|
1980
|
+
var blob = new Blob([
|
|
1981
|
+
source
|
|
1982
|
+
], {
|
|
1983
|
+
type: "text/javascript"
|
|
1984
|
+
});
|
|
1985
|
+
var url = URL.createObjectURL(blob);
|
|
1986
|
+
for(var i = 0; i < count; ++i){
|
|
1987
|
+
workers[i] = createWorker(url);
|
|
1988
|
+
}
|
|
1989
|
+
URL.revokeObjectURL(url);
|
|
1990
|
+
}
|
|
1991
|
+
function decodeWorker(count, size, source, mode, filter) {
|
|
1992
|
+
var worker = workers[0];
|
|
1993
|
+
for(var i = 1; i < workers.length; ++i){
|
|
1994
|
+
if (workers[i].pending < worker.pending) {
|
|
1995
|
+
worker = workers[i];
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
return new Promise(function(resolve, reject) {
|
|
1999
|
+
var data = new Uint8Array(source);
|
|
2000
|
+
var id = requestId++;
|
|
2001
|
+
worker.pending += count;
|
|
2002
|
+
worker.requests[id] = {
|
|
2003
|
+
resolve: resolve,
|
|
2004
|
+
reject: reject
|
|
2005
|
+
};
|
|
2006
|
+
worker.object.postMessage({
|
|
2007
|
+
id: id,
|
|
2008
|
+
count: count,
|
|
2009
|
+
size: size,
|
|
2010
|
+
source: data,
|
|
2011
|
+
mode: mode,
|
|
2012
|
+
filter: filter
|
|
2013
|
+
}, [
|
|
2014
|
+
data.buffer
|
|
2015
|
+
]);
|
|
2016
|
+
});
|
|
2017
|
+
}
|
|
2018
|
+
return ready;
|
|
2019
|
+
}
|
|
2020
|
+
|
|
1823
2021
|
/**
|
|
1824
2022
|
* The glTF resource.
|
|
1825
2023
|
*/ var GLTFResource = /*#__PURE__*/ function(ReferResource) {
|
|
@@ -1846,14 +2044,16 @@ FontLoader = __decorate([
|
|
|
1846
2044
|
materials && this._disassociationSuperResource(materials);
|
|
1847
2045
|
if (meshes) {
|
|
1848
2046
|
for(var i = 0, n = meshes.length; i < n; i++){
|
|
1849
|
-
|
|
2047
|
+
var meshArr = meshes[i];
|
|
2048
|
+
meshArr && this._disassociationSuperResource(meshArr);
|
|
1850
2049
|
}
|
|
1851
2050
|
}
|
|
1852
2051
|
};
|
|
1853
2052
|
_proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
|
|
1854
2053
|
for(var i = 0, n = resources.length; i < n; i++){
|
|
1855
|
-
// @ts-ignore
|
|
1856
|
-
|
|
2054
|
+
var // @ts-ignore
|
|
2055
|
+
_resources_i;
|
|
2056
|
+
(_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
|
|
1857
2057
|
}
|
|
1858
2058
|
};
|
|
1859
2059
|
_create_class(GLTFResource, [
|
|
@@ -2053,6 +2253,7 @@ FontLoader = __decorate([
|
|
|
2053
2253
|
this.params = params;
|
|
2054
2254
|
this.accessorBufferCache = {};
|
|
2055
2255
|
this.needAnimatorController = false;
|
|
2256
|
+
this./** @internal */ _getPromises = [];
|
|
2056
2257
|
this._resourceCache = new Map();
|
|
2057
2258
|
this._progress = {
|
|
2058
2259
|
taskDetail: {},
|
|
@@ -2077,7 +2278,7 @@ FontLoader = __decorate([
|
|
|
2077
2278
|
var _this = this;
|
|
2078
2279
|
var parser = GLTFParserContext._parsers[type];
|
|
2079
2280
|
if (!parser) {
|
|
2080
|
-
return
|
|
2281
|
+
return AssetPromise.resolve(null);
|
|
2081
2282
|
}
|
|
2082
2283
|
var cache = this._resourceCache;
|
|
2083
2284
|
var cacheKey = index === undefined ? "" + type : type + ":" + index;
|
|
@@ -2093,7 +2294,7 @@ FontLoader = __decorate([
|
|
|
2093
2294
|
if (index === undefined) {
|
|
2094
2295
|
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
2095
2296
|
return _this.get(type, index);
|
|
2096
|
-
}) :
|
|
2297
|
+
}) : AssetPromise.all(glTFItems.map(function(_, index) {
|
|
2097
2298
|
return _this.get(type, index);
|
|
2098
2299
|
}));
|
|
2099
2300
|
} else {
|
|
@@ -2101,12 +2302,15 @@ FontLoader = __decorate([
|
|
|
2101
2302
|
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
2102
2303
|
}
|
|
2103
2304
|
} else {
|
|
2104
|
-
resource =
|
|
2305
|
+
resource = AssetPromise.resolve(null);
|
|
2105
2306
|
}
|
|
2106
2307
|
} else {
|
|
2107
2308
|
resource = parser.parse(this, index);
|
|
2108
2309
|
isSubAsset && this._handleSubAsset(resource, type, index);
|
|
2109
2310
|
}
|
|
2311
|
+
if (_instanceof(resource, AssetPromise)) {
|
|
2312
|
+
this._getPromises.push(resource);
|
|
2313
|
+
}
|
|
2110
2314
|
cache.set(cacheKey, resource);
|
|
2111
2315
|
return resource;
|
|
2112
2316
|
};
|
|
@@ -2115,7 +2319,7 @@ FontLoader = __decorate([
|
|
|
2115
2319
|
var promise = this.get(0).then(function(json) {
|
|
2116
2320
|
_this.glTF = json;
|
|
2117
2321
|
_this.needAnimatorController = !!(json.skins || json.animations);
|
|
2118
|
-
return
|
|
2322
|
+
return AssetPromise.all([
|
|
2119
2323
|
_this.get(1),
|
|
2120
2324
|
_this.get(5),
|
|
2121
2325
|
_this.get(6),
|
|
@@ -2178,6 +2382,8 @@ FontLoader = __decorate([
|
|
|
2178
2382
|
_this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
|
|
2179
2383
|
}
|
|
2180
2384
|
}
|
|
2385
|
+
}).catch(function(e) {
|
|
2386
|
+
Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
|
|
2181
2387
|
});
|
|
2182
2388
|
}
|
|
2183
2389
|
};
|
|
@@ -2212,8 +2418,8 @@ var GLTFParserType = /*#__PURE__*/ function(GLTFParserType) {
|
|
|
2212
2418
|
}({});
|
|
2213
2419
|
var _obj$3;
|
|
2214
2420
|
var glTFSchemaMap = (_obj$3 = {}, _obj$3[2] = "scenes", _obj$3[3] = "buffers", _obj$3[5] = "textures", _obj$3[6] = "materials", _obj$3[7] = "meshes", _obj$3[8] = "nodes", _obj$3[9] = "skins", _obj$3[10] = "animations", _obj$3[4] = "bufferViews", _obj$3);
|
|
2215
|
-
var _obj1;
|
|
2216
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1[11] = "animatorController", _obj1);
|
|
2421
|
+
var _obj1$1;
|
|
2422
|
+
var glTFResourceMap = (_obj1$1 = {}, _obj1$1[2] = "_sceneRoots", _obj1$1[5] = "textures", _obj1$1[6] = "materials", _obj1$1[7] = "meshes", _obj1$1[8] = "entities", _obj1$1[9] = "skins", _obj1$1[10] = "animations", _obj1$1[11] = "animatorController", _obj1$1);
|
|
2217
2423
|
function registerGLTFParser(pipeline) {
|
|
2218
2424
|
return function(Parser) {
|
|
2219
2425
|
var parser = new Parser();
|
|
@@ -2356,13 +2562,15 @@ function registerGLTFParser(pipeline) {
|
|
|
2356
2562
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
2357
2563
|
}
|
|
2358
2564
|
return bufferInfo;
|
|
2565
|
+
}).catch(function(e) {
|
|
2566
|
+
Logger.error("GLTFUtil getAccessorBuffer error", e);
|
|
2359
2567
|
});
|
|
2360
2568
|
} else {
|
|
2361
2569
|
var count = accessorCount * dataElementSize;
|
|
2362
2570
|
var data = new TypedArray(count);
|
|
2363
2571
|
var bufferInfo = new BufferInfo(data, false, elementStride);
|
|
2364
2572
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
|
|
2365
|
-
promise =
|
|
2573
|
+
promise = AssetPromise.resolve(bufferInfo);
|
|
2366
2574
|
}
|
|
2367
2575
|
return accessor.sparse ? promise.then(function(bufferInfo) {
|
|
2368
2576
|
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
@@ -2397,7 +2605,7 @@ function registerGLTFParser(pipeline) {
|
|
|
2397
2605
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
2398
2606
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
2399
2607
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
2400
|
-
return
|
|
2608
|
+
return AssetPromise.all([
|
|
2401
2609
|
context.get(GLTFParserType.BufferView, indices.bufferView),
|
|
2402
2610
|
context.get(GLTFParserType.BufferView, values.bufferView)
|
|
2403
2611
|
]).then(function(param) {
|
|
@@ -2424,6 +2632,8 @@ function registerGLTFParser(pipeline) {
|
|
|
2424
2632
|
}
|
|
2425
2633
|
}
|
|
2426
2634
|
bufferInfo.data = data;
|
|
2635
|
+
}).catch(function(e) {
|
|
2636
|
+
Logger.error("GLTFUtil processingSparseData error", e);
|
|
2427
2637
|
});
|
|
2428
2638
|
};
|
|
2429
2639
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
@@ -2604,6 +2814,11 @@ function registerGLTFParser(pipeline) {
|
|
|
2604
2814
|
return GLTFUtils;
|
|
2605
2815
|
}();
|
|
2606
2816
|
|
|
2817
|
+
var DFDTransferFunction = /*#__PURE__*/ function(DFDTransferFunction) {
|
|
2818
|
+
DFDTransferFunction[DFDTransferFunction["linear"] = 1] = "linear";
|
|
2819
|
+
DFDTransferFunction[DFDTransferFunction["sRGB"] = 2] = "sRGB";
|
|
2820
|
+
return DFDTransferFunction;
|
|
2821
|
+
}({});
|
|
2607
2822
|
var SupercompressionScheme = /*#__PURE__*/ function(SupercompressionScheme) {
|
|
2608
2823
|
SupercompressionScheme[SupercompressionScheme["None"] = 0] = "None";
|
|
2609
2824
|
SupercompressionScheme[SupercompressionScheme["BasisLZ"] = 1] = "BasisLZ";
|
|
@@ -3398,8 +3613,8 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3398
3613
|
type: "arraybuffer"
|
|
3399
3614
|
}).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
|
|
3400
3615
|
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3401
|
-
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3402
|
-
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
3616
|
+
var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3617
|
+
return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
|
|
3403
3618
|
});
|
|
3404
3619
|
}).then(resolve).catch(reject);
|
|
3405
3620
|
});
|
|
@@ -3433,6 +3648,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3433
3648
|
}
|
|
3434
3649
|
return transcodeResultPromise.then(function(result) {
|
|
3435
3650
|
return {
|
|
3651
|
+
ktx2Container: ktx2Container,
|
|
3436
3652
|
engine: engine,
|
|
3437
3653
|
result: result,
|
|
3438
3654
|
targetFormat: targetFormat,
|
|
@@ -3440,7 +3656,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3440
3656
|
};
|
|
3441
3657
|
});
|
|
3442
3658
|
};
|
|
3443
|
-
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
|
|
3659
|
+
/** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, isSRGB, transcodeResult, targetFormat, params) {
|
|
3444
3660
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
3445
3661
|
var faceCount = faces.length;
|
|
3446
3662
|
var mipmaps = faces[0];
|
|
@@ -3448,13 +3664,13 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3448
3664
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
3449
3665
|
var texture;
|
|
3450
3666
|
if (faceCount !== 6) {
|
|
3451
|
-
texture = new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3667
|
+
texture = new Texture2D(engine, width, height, engineFormat, mipmap, isSRGB);
|
|
3452
3668
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
3453
3669
|
var data = mipmaps[mipLevel].data;
|
|
3454
3670
|
texture.setPixelBuffer(data, mipLevel);
|
|
3455
3671
|
}
|
|
3456
3672
|
} else {
|
|
3457
|
-
texture = new TextureCube(engine, height, engineFormat, mipmap);
|
|
3673
|
+
texture = new TextureCube(engine, height, engineFormat, mipmap, isSRGB);
|
|
3458
3674
|
for(var i = 0; i < faces.length; i++){
|
|
3459
3675
|
var faceData = faces[i];
|
|
3460
3676
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -3472,8 +3688,9 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3472
3688
|
};
|
|
3473
3689
|
KTX2Loader._decideTargetFormat = function _decideTargetFormat(engine, ktx2Container, priorityFormats) {
|
|
3474
3690
|
var renderer = engine._hardwareRenderer;
|
|
3475
|
-
var
|
|
3476
|
-
|
|
3691
|
+
var isSRGB = ktx2Container.isSRGB, pixelWidth = ktx2Container.pixelWidth, pixelHeight = ktx2Container.pixelHeight;
|
|
3692
|
+
var targetFormat = this._detectSupportedFormat(renderer, priorityFormats, isSRGB);
|
|
3693
|
+
if (targetFormat === KTX2TargetFormat.PVRTC && (!MathUtil.isPowerOf2(pixelWidth) || !MathUtil.isPowerOf2(pixelHeight) || pixelWidth !== pixelHeight)) {
|
|
3477
3694
|
Logger.warn("PVRTC image need power of 2 and width===height, downgrade to RGBA8");
|
|
3478
3695
|
return KTX2TargetFormat.R8G8B8A8;
|
|
3479
3696
|
}
|
|
@@ -3483,10 +3700,11 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
|
|
|
3483
3700
|
}
|
|
3484
3701
|
return targetFormat;
|
|
3485
3702
|
};
|
|
3486
|
-
KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
3703
|
+
KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats, isSRGB) {
|
|
3487
3704
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3705
|
+
var _this__capabilityMap_format;
|
|
3488
3706
|
var format = priorityFormats[i];
|
|
3489
|
-
var capabilities = this.
|
|
3707
|
+
var capabilities = (_this__capabilityMap_format = this._capabilityMap[format]) == null ? void 0 : _this__capabilityMap_format[isSRGB ? DFDTransferFunction.sRGB : DFDTransferFunction.linear];
|
|
3490
3708
|
if (capabilities) {
|
|
3491
3709
|
for(var j = 0; j < capabilities.length; j++){
|
|
3492
3710
|
if (renderer.canIUse(capabilities[j])) {
|
|
@@ -3552,19 +3770,31 @@ KTX2Loader._priorityFormats = {
|
|
|
3552
3770
|
KTX2TargetFormat.PVRTC
|
|
3553
3771
|
]
|
|
3554
3772
|
};
|
|
3555
|
-
var _obj$1;
|
|
3556
|
-
KTX2Loader.
|
|
3557
|
-
GLCapabilityType.astc
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3773
|
+
var _obj$1, _obj1, _obj2, _obj3, _obj4, _obj5;
|
|
3774
|
+
KTX2Loader._capabilityMap = (_obj5 = {}, _obj5[KTX2TargetFormat.ASTC] = (_obj$1 = {}, _obj$1[DFDTransferFunction.linear] = [
|
|
3775
|
+
GLCapabilityType.astc,
|
|
3776
|
+
GLCapabilityType.astc_webkit
|
|
3777
|
+
], _obj$1[DFDTransferFunction.sRGB] = [
|
|
3778
|
+
GLCapabilityType.astc,
|
|
3779
|
+
GLCapabilityType.astc_webkit
|
|
3780
|
+
], _obj$1), _obj5[KTX2TargetFormat.ETC] = (_obj1 = {}, _obj1[DFDTransferFunction.linear] = [
|
|
3781
|
+
GLCapabilityType.etc,
|
|
3782
|
+
GLCapabilityType.etc_webkit
|
|
3783
|
+
], _obj1[DFDTransferFunction.sRGB] = [
|
|
3784
|
+
GLCapabilityType.etc,
|
|
3785
|
+
GLCapabilityType.etc_webkit
|
|
3786
|
+
], _obj1), _obj5[KTX2TargetFormat.BC7] = (_obj2 = {}, _obj2[DFDTransferFunction.linear] = [
|
|
3561
3787
|
GLCapabilityType.bptc
|
|
3562
|
-
],
|
|
3788
|
+
], _obj2[DFDTransferFunction.sRGB] = [
|
|
3789
|
+
GLCapabilityType.bptc
|
|
3790
|
+
], _obj2), _obj5[KTX2TargetFormat.BC1_BC3] = (_obj3 = {}, _obj3[DFDTransferFunction.linear] = [
|
|
3563
3791
|
GLCapabilityType.s3tc
|
|
3564
|
-
],
|
|
3792
|
+
], _obj3[DFDTransferFunction.sRGB] = [
|
|
3793
|
+
GLCapabilityType.s3tc_srgb
|
|
3794
|
+
], _obj3), _obj5[KTX2TargetFormat.PVRTC] = (_obj4 = {}, _obj4[DFDTransferFunction.linear] = [
|
|
3565
3795
|
GLCapabilityType.pvrtc,
|
|
3566
3796
|
GLCapabilityType.pvrtc_webkit
|
|
3567
|
-
],
|
|
3797
|
+
], _obj4), _obj5);
|
|
3568
3798
|
KTX2Loader = __decorate([
|
|
3569
3799
|
resourceLoader(AssetType.KTX2, [
|
|
3570
3800
|
"ktx2"
|
|
@@ -3906,16 +4136,14 @@ KTX2Loader = __decorate([
|
|
|
3906
4136
|
for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
|
|
3907
4137
|
extra[_key - 5] = arguments[_key];
|
|
3908
4138
|
}
|
|
4139
|
+
var _parser;
|
|
3909
4140
|
var parser = GLTFParser.getExtensionParser(extensionName, GLTFExtensionMode.AdditiveParse);
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
ownerSchema
|
|
3917
|
-
], extra));
|
|
3918
|
-
}
|
|
4141
|
+
parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
|
|
4142
|
+
context,
|
|
4143
|
+
parseResource,
|
|
4144
|
+
extensionSchema,
|
|
4145
|
+
ownerSchema
|
|
4146
|
+
], extra));
|
|
3919
4147
|
};
|
|
3920
4148
|
return GLTFParser;
|
|
3921
4149
|
}();
|
|
@@ -3981,7 +4209,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3981
4209
|
var animationInfo = context.glTF.animations[index];
|
|
3982
4210
|
var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
|
|
3983
4211
|
var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
|
|
3984
|
-
return
|
|
4212
|
+
return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
|
|
3985
4213
|
GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
|
|
3986
4214
|
return animationClip;
|
|
3987
4215
|
});
|
|
@@ -3993,7 +4221,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3993
4221
|
var glTFSampler = samplers[j];
|
|
3994
4222
|
var inputAccessor = accessors[glTFSampler.input];
|
|
3995
4223
|
var outputAccessor = accessors[glTFSampler.output];
|
|
3996
|
-
var promise =
|
|
4224
|
+
var promise = AssetPromise.all([
|
|
3997
4225
|
GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
|
|
3998
4226
|
GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
|
|
3999
4227
|
]).then(function(bufferInfos) {
|
|
@@ -4044,7 +4272,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4044
4272
|
// parse samplers
|
|
4045
4273
|
for(var j = 0, m = len; j < m; j++)_loop(j);
|
|
4046
4274
|
promises.push(context.get(GLTFParserType.Scene));
|
|
4047
|
-
return
|
|
4275
|
+
return AssetPromise.all(promises).then(function() {
|
|
4048
4276
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
4049
4277
|
var glTFChannel = channels[j];
|
|
4050
4278
|
var target = glTFChannel.target;
|
|
@@ -4174,7 +4402,7 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
4174
4402
|
var _proto = GLTFBufferParser.prototype;
|
|
4175
4403
|
_proto.parse = function parse(context, index) {
|
|
4176
4404
|
var buffers = context.glTF.buffers;
|
|
4177
|
-
return context.buffers ?
|
|
4405
|
+
return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
|
|
4178
4406
|
};
|
|
4179
4407
|
_proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
|
|
4180
4408
|
var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
|
|
@@ -4261,7 +4489,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4261
4489
|
material.name = materialInfo.name;
|
|
4262
4490
|
GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
|
|
4263
4491
|
}
|
|
4264
|
-
return
|
|
4492
|
+
return AssetPromise.resolve(material).then(function(material) {
|
|
4265
4493
|
// @ts-ignore
|
|
4266
4494
|
material || (material = engine._basicResources._getBlinnPhongMaterial());
|
|
4267
4495
|
GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
|
|
@@ -4285,12 +4513,14 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4285
4513
|
if (pbrMetallicRoughness) {
|
|
4286
4514
|
var baseColorFactor = pbrMetallicRoughness.baseColorFactor, baseColorTexture = pbrMetallicRoughness.baseColorTexture, metallicFactor = pbrMetallicRoughness.metallicFactor, roughnessFactor = pbrMetallicRoughness.roughnessFactor, metallicRoughnessTexture = pbrMetallicRoughness.metallicRoughnessTexture;
|
|
4287
4515
|
if (baseColorFactor) {
|
|
4288
|
-
material.baseColor = new Color(Color.
|
|
4516
|
+
material.baseColor = new Color(Color.linearToSRGBSpace(baseColorFactor[0]), Color.linearToSRGBSpace(baseColorFactor[1]), Color.linearToSRGBSpace(baseColorFactor[2]), baseColorFactor[3]);
|
|
4289
4517
|
}
|
|
4290
4518
|
if (baseColorTexture) {
|
|
4291
4519
|
context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
|
|
4292
4520
|
material.baseTexture = texture;
|
|
4293
4521
|
GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
|
|
4522
|
+
}).catch(function(e) {
|
|
4523
|
+
Logger.error("GLTFMaterialParser: baseColorTexture error", e);
|
|
4294
4524
|
});
|
|
4295
4525
|
}
|
|
4296
4526
|
if (material.constructor === PBRMaterial) {
|
|
@@ -4300,6 +4530,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4300
4530
|
GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
|
|
4301
4531
|
context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
|
|
4302
4532
|
material.roughnessMetallicTexture = texture;
|
|
4533
|
+
}).catch(function(e) {
|
|
4534
|
+
Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
|
|
4303
4535
|
});
|
|
4304
4536
|
}
|
|
4305
4537
|
}
|
|
@@ -4309,16 +4541,20 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4309
4541
|
GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
|
|
4310
4542
|
context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
|
|
4311
4543
|
material.emissiveTexture = texture;
|
|
4544
|
+
}).catch(function(e) {
|
|
4545
|
+
Logger.error("GLTFMaterialParser: emissiveTexture error", e);
|
|
4312
4546
|
});
|
|
4313
4547
|
}
|
|
4314
4548
|
if (emissiveFactor) {
|
|
4315
|
-
material.emissiveColor = new Color(Color.
|
|
4549
|
+
material.emissiveColor = new Color(Color.linearToSRGBSpace(emissiveFactor[0]), Color.linearToSRGBSpace(emissiveFactor[1]), Color.linearToSRGBSpace(emissiveFactor[2]));
|
|
4316
4550
|
}
|
|
4317
4551
|
if (normalTexture) {
|
|
4318
4552
|
var index = normalTexture.index, scale = normalTexture.scale;
|
|
4319
4553
|
GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
|
|
4320
4554
|
context.get(GLTFParserType.Texture, index).then(function(texture) {
|
|
4321
4555
|
material.normalTexture = texture;
|
|
4556
|
+
}).catch(function(e) {
|
|
4557
|
+
Logger.error("GLTFMaterialParser: emissiveTexture error", e);
|
|
4322
4558
|
});
|
|
4323
4559
|
if (scale !== undefined) {
|
|
4324
4560
|
material.normalTextureIntensity = scale;
|
|
@@ -4329,6 +4565,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4329
4565
|
GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
|
|
4330
4566
|
context.get(GLTFParserType.Texture, index1).then(function(texture) {
|
|
4331
4567
|
material.occlusionTexture = texture;
|
|
4568
|
+
}).catch(function(e) {
|
|
4569
|
+
Logger.error("GLTFMaterialParser: occlusionTexture error", e);
|
|
4332
4570
|
});
|
|
4333
4571
|
if (strength !== undefined) {
|
|
4334
4572
|
material.occlusionTextureIntensity = strength;
|
|
@@ -4372,7 +4610,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4372
4610
|
_proto.parse = function parse(context, index) {
|
|
4373
4611
|
var _loop = function(i, length) {
|
|
4374
4612
|
var gltfPrimitive = meshInfo.primitives[i];
|
|
4375
|
-
primitivePromises[i] = new
|
|
4613
|
+
primitivePromises[i] = new AssetPromise(function(resolve, reject) {
|
|
4376
4614
|
var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
|
|
4377
4615
|
if (mesh) {
|
|
4378
4616
|
if (_instanceof(mesh, ModelMesh)) {
|
|
@@ -4393,7 +4631,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4393
4631
|
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
4394
4632
|
meshRestoreInfo.mesh = mesh1;
|
|
4395
4633
|
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
4396
|
-
GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
|
|
4634
|
+
GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
|
|
4397
4635
|
}
|
|
4398
4636
|
});
|
|
4399
4637
|
};
|
|
@@ -4402,7 +4640,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4402
4640
|
var engine = glTFResource.engine;
|
|
4403
4641
|
var primitivePromises = new Array();
|
|
4404
4642
|
for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
|
|
4405
|
-
return
|
|
4643
|
+
return AssetPromise.all(primitivePromises);
|
|
4406
4644
|
};
|
|
4407
4645
|
/**
|
|
4408
4646
|
* @internal
|
|
@@ -4485,7 +4723,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4485
4723
|
var bufferBindIndex = 0;
|
|
4486
4724
|
var promises = new Array();
|
|
4487
4725
|
for(var attribute in attributes)_loop(attribute);
|
|
4488
|
-
return
|
|
4726
|
+
return AssetPromise.all(promises).then(function() {
|
|
4489
4727
|
mesh.setVertexElements(vertexElements);
|
|
4490
4728
|
// Indices
|
|
4491
4729
|
if (indices !== undefined) {
|
|
@@ -4535,7 +4773,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4535
4773
|
var tangentTarget = targets["TANGENT"];
|
|
4536
4774
|
var hasNormal = normalTarget !== undefined;
|
|
4537
4775
|
var hasTangent = tangentTarget !== undefined;
|
|
4538
|
-
var promise =
|
|
4776
|
+
var promise = AssetPromise.all([
|
|
4539
4777
|
_this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
|
|
4540
4778
|
hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
|
|
4541
4779
|
hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
|
|
@@ -4555,7 +4793,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4555
4793
|
var blendShapeCount = glTFTargets.length;
|
|
4556
4794
|
var blendShapeCollection = new Array(blendShapeCount);
|
|
4557
4795
|
for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
|
|
4558
|
-
return
|
|
4796
|
+
return AssetPromise.all(promises).then(function() {
|
|
4559
4797
|
for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
|
|
4560
4798
|
var blendShape = _step.value;
|
|
4561
4799
|
mesh.addBlendShape(blendShape.blendShape);
|
|
@@ -4602,7 +4840,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4602
4840
|
for(var i1 = 0; i1 < sceneNodes.length; i1++){
|
|
4603
4841
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4604
4842
|
}
|
|
4605
|
-
return
|
|
4843
|
+
return AssetPromise.all(promises).then(function() {
|
|
4606
4844
|
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4607
4845
|
return sceneRoot;
|
|
4608
4846
|
});
|
|
@@ -4620,7 +4858,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4620
4858
|
if (meshID !== undefined) {
|
|
4621
4859
|
promise = this._createRenderer(context, entityInfo, entity);
|
|
4622
4860
|
}
|
|
4623
|
-
return
|
|
4861
|
+
return AssetPromise.resolve(promise).then(function() {
|
|
4624
4862
|
var promises = [];
|
|
4625
4863
|
var children = entityInfo.children;
|
|
4626
4864
|
if (children) {
|
|
@@ -4628,7 +4866,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4628
4866
|
promises.push(_this._parseEntityComponent(context, children[i]));
|
|
4629
4867
|
}
|
|
4630
4868
|
}
|
|
4631
|
-
return
|
|
4869
|
+
return AssetPromise.all(promises);
|
|
4632
4870
|
});
|
|
4633
4871
|
};
|
|
4634
4872
|
_proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
|
|
@@ -4677,10 +4915,10 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4677
4915
|
var _glTFMeshPrimitives_i_material;
|
|
4678
4916
|
materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
|
|
4679
4917
|
}
|
|
4680
|
-
return
|
|
4918
|
+
return AssetPromise.all([
|
|
4681
4919
|
context.get(GLTFParserType.Mesh, meshID),
|
|
4682
4920
|
skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
|
|
4683
|
-
|
|
4921
|
+
AssetPromise.all(materialPromises)
|
|
4684
4922
|
]).then(function(param) {
|
|
4685
4923
|
var _loop = function(i) {
|
|
4686
4924
|
var material = materials[i] || basicResources._getBlinnPhongMaterial();
|
|
@@ -4715,6 +4953,8 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4715
4953
|
// @ts-ignore
|
|
4716
4954
|
var basicResources = context.glTFResource.engine._basicResources;
|
|
4717
4955
|
for(var i = 0; i < rendererCount; i++)_loop(i);
|
|
4956
|
+
}).catch(function(e) {
|
|
4957
|
+
Logger.error("GLTFSceneParser: create renderer error", e);
|
|
4718
4958
|
});
|
|
4719
4959
|
};
|
|
4720
4960
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
@@ -4799,7 +5039,7 @@ var GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
4799
5039
|
}
|
|
4800
5040
|
return skin;
|
|
4801
5041
|
});
|
|
4802
|
-
return
|
|
5042
|
+
return AssetPromise.resolve(skinPromise);
|
|
4803
5043
|
};
|
|
4804
5044
|
_proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
|
|
4805
5045
|
var paths = {};
|
|
@@ -4845,18 +5085,39 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4845
5085
|
var textureInfo = context.glTF.textures[textureIndex];
|
|
4846
5086
|
var glTFResource = context.glTFResource;
|
|
4847
5087
|
var sampler = textureInfo.sampler, tmp = textureInfo.source, imageIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name, extensions = textureInfo.extensions;
|
|
4848
|
-
var
|
|
5088
|
+
var isSRGBColorSpace = this._isSRGBColorSpace(textureIndex, context.glTF.materials);
|
|
5089
|
+
var texture = GLTFParser.executeExtensionsCreateAndParse(extensions, context, textureInfo, textureIndex, isSRGBColorSpace);
|
|
4849
5090
|
if (!texture) {
|
|
4850
|
-
texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
|
|
5091
|
+
texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
|
|
4851
5092
|
}
|
|
4852
|
-
return
|
|
5093
|
+
return AssetPromise.resolve(texture).then(function(texture) {
|
|
4853
5094
|
GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
|
|
4854
5095
|
// @ts-ignore
|
|
4855
5096
|
texture._associationSuperResource(glTFResource);
|
|
4856
5097
|
return texture;
|
|
4857
5098
|
});
|
|
4858
5099
|
};
|
|
4859
|
-
|
|
5100
|
+
_proto._isSRGBColorSpace = function _isSRGBColorSpace(textureIndex, materials) {
|
|
5101
|
+
return materials == null ? void 0 : materials.some(function(material) {
|
|
5102
|
+
var _material_emissiveTexture, _material_pbrMetallicRoughness_baseColorTexture, _material_pbrMetallicRoughness, _material_extensions_KHR_materials_sheen_sheenColorTexture, _material_extensions_KHR_materials_sheen, _material_extensions, _material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture, _material_extensions_KHR_materials_pbrSpecularGlossiness, _material_extensions1, _material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture, _material_extensions_KHR_materials_pbrSpecularGlossiness1, _material_extensions2;
|
|
5103
|
+
if (((_material_emissiveTexture = material.emissiveTexture) == null ? void 0 : _material_emissiveTexture.index) === textureIndex) {
|
|
5104
|
+
return true;
|
|
5105
|
+
}
|
|
5106
|
+
if (((_material_pbrMetallicRoughness = material.pbrMetallicRoughness) == null ? void 0 : (_material_pbrMetallicRoughness_baseColorTexture = _material_pbrMetallicRoughness.baseColorTexture) == null ? void 0 : _material_pbrMetallicRoughness_baseColorTexture.index) === textureIndex) {
|
|
5107
|
+
return true;
|
|
5108
|
+
}
|
|
5109
|
+
if (((_material_extensions = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_sheen = _material_extensions.KHR_materials_sheen) == null ? void 0 : (_material_extensions_KHR_materials_sheen_sheenColorTexture = _material_extensions_KHR_materials_sheen.sheenColorTexture) == null ? void 0 : _material_extensions_KHR_materials_sheen_sheenColorTexture.index) === textureIndex) {
|
|
5110
|
+
return true;
|
|
5111
|
+
}
|
|
5112
|
+
if (((_material_extensions1 = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness = _material_extensions1.KHR_materials_pbrSpecularGlossiness) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture = _material_extensions_KHR_materials_pbrSpecularGlossiness.diffuseTexture) == null ? void 0 : _material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture.index) === textureIndex) {
|
|
5113
|
+
return true;
|
|
5114
|
+
}
|
|
5115
|
+
if (((_material_extensions2 = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness1 = _material_extensions2.KHR_materials_pbrSpecularGlossiness) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture = _material_extensions_KHR_materials_pbrSpecularGlossiness1.specularGlossinessTexture) == null ? void 0 : _material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture.index) === textureIndex) {
|
|
5116
|
+
return true;
|
|
5117
|
+
}
|
|
5118
|
+
});
|
|
5119
|
+
};
|
|
5120
|
+
/** @internal */ GLTFTextureParser._parseTexture = function _parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace) {
|
|
4860
5121
|
var glTFResource = context.glTFResource, glTF = context.glTF;
|
|
4861
5122
|
var engine = glTFResource.engine, url = glTFResource.url;
|
|
4862
5123
|
var _glTF_images_imageIndex = glTF.images[imageIndex], uri = _glTF_images_imageIndex.uri, bufferViewIndex = _glTF_images_imageIndex.bufferView, mimeType = _glTF_images_imageIndex.mimeType, imageName = _glTF_images_imageIndex.name;
|
|
@@ -4871,7 +5132,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4871
5132
|
url: Utils.resolveAbsoluteUrl(url, uri),
|
|
4872
5133
|
type: type,
|
|
4873
5134
|
params: {
|
|
4874
|
-
mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap
|
|
5135
|
+
mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap,
|
|
5136
|
+
isSRGBColorSpace: isSRGBColorSpace
|
|
4875
5137
|
}
|
|
4876
5138
|
}).onProgress(undefined, context._onTaskDetail).then(function(texture) {
|
|
4877
5139
|
texture.name = textureName || imageName || texture.name || "texture_" + textureIndex;
|
|
@@ -4885,7 +5147,7 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4885
5147
|
var buffer = buffers[bufferView.buffer];
|
|
4886
5148
|
var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
|
|
4887
5149
|
return GLTFUtils.loadImageBuffer(imageBuffer, mimeType).then(function(image) {
|
|
4888
|
-
var texture = new Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap);
|
|
5150
|
+
var texture = new Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap, isSRGBColorSpace);
|
|
4889
5151
|
texture.setImageSource(image);
|
|
4890
5152
|
texture.generateMipmaps();
|
|
4891
5153
|
texture.name = textureName || imageName || "texture_" + textureIndex;
|
|
@@ -4894,6 +5156,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4894
5156
|
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
4895
5157
|
return texture;
|
|
4896
5158
|
});
|
|
5159
|
+
}).catch(function(e) {
|
|
5160
|
+
Logger.error("GLTFTextureParser: image buffer error", e);
|
|
4897
5161
|
});
|
|
4898
5162
|
}
|
|
4899
5163
|
return texture;
|
|
@@ -4936,7 +5200,7 @@ var GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4936
5200
|
}
|
|
4937
5201
|
}
|
|
4938
5202
|
}
|
|
4939
|
-
return
|
|
5203
|
+
return AssetPromise.resolve(null);
|
|
4940
5204
|
};
|
|
4941
5205
|
return GLTFValidator;
|
|
4942
5206
|
}(GLTFParser);
|
|
@@ -4955,6 +5219,8 @@ var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4955
5219
|
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
4956
5220
|
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
4957
5221
|
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
5222
|
+
}).catch(function(e) {
|
|
5223
|
+
Logger.error("GLTFBufferViewParser: buffer error", e);
|
|
4958
5224
|
});
|
|
4959
5225
|
};
|
|
4960
5226
|
return GLTFBufferViewParser;
|
|
@@ -4972,11 +5238,13 @@ var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
|
|
|
4972
5238
|
_proto.parse = function parse(context) {
|
|
4973
5239
|
var _this = this;
|
|
4974
5240
|
if (!context.needAnimatorController) {
|
|
4975
|
-
return
|
|
5241
|
+
return AssetPromise.resolve(null);
|
|
4976
5242
|
}
|
|
4977
5243
|
return context.get(GLTFParserType.Animation).then(function(animations) {
|
|
4978
5244
|
var animatorController = _this._createAnimatorController(context, animations);
|
|
4979
|
-
return
|
|
5245
|
+
return AssetPromise.resolve(animatorController);
|
|
5246
|
+
}).catch(function(e) {
|
|
5247
|
+
Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
|
|
4980
5248
|
});
|
|
4981
5249
|
};
|
|
4982
5250
|
_proto._createAnimatorController = function _createAnimatorController(context, animations) {
|
|
@@ -5007,203 +5275,6 @@ GLTFAnimatorControllerParser = __decorate([
|
|
|
5007
5275
|
registerGLTFParser(GLTFParserType.AnimatorController)
|
|
5008
5276
|
], GLTFAnimatorControllerParser);
|
|
5009
5277
|
|
|
5010
|
-
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
5011
|
-
var ready;
|
|
5012
|
-
function getMeshoptDecoder() {
|
|
5013
|
-
if (ready) return ready;
|
|
5014
|
-
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
5015
|
-
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
5016
|
-
var wasmpack = new Uint8Array([
|
|
5017
|
-
32,
|
|
5018
|
-
0,
|
|
5019
|
-
65,
|
|
5020
|
-
2,
|
|
5021
|
-
1,
|
|
5022
|
-
106,
|
|
5023
|
-
34,
|
|
5024
|
-
33,
|
|
5025
|
-
3,
|
|
5026
|
-
128,
|
|
5027
|
-
11,
|
|
5028
|
-
4,
|
|
5029
|
-
13,
|
|
5030
|
-
64,
|
|
5031
|
-
6,
|
|
5032
|
-
253,
|
|
5033
|
-
10,
|
|
5034
|
-
7,
|
|
5035
|
-
15,
|
|
5036
|
-
116,
|
|
5037
|
-
127,
|
|
5038
|
-
5,
|
|
5039
|
-
8,
|
|
5040
|
-
12,
|
|
5041
|
-
40,
|
|
5042
|
-
16,
|
|
5043
|
-
19,
|
|
5044
|
-
54,
|
|
5045
|
-
20,
|
|
5046
|
-
9,
|
|
5047
|
-
27,
|
|
5048
|
-
255,
|
|
5049
|
-
113,
|
|
5050
|
-
17,
|
|
5051
|
-
42,
|
|
5052
|
-
67,
|
|
5053
|
-
24,
|
|
5054
|
-
23,
|
|
5055
|
-
146,
|
|
5056
|
-
148,
|
|
5057
|
-
18,
|
|
5058
|
-
14,
|
|
5059
|
-
22,
|
|
5060
|
-
45,
|
|
5061
|
-
70,
|
|
5062
|
-
69,
|
|
5063
|
-
56,
|
|
5064
|
-
114,
|
|
5065
|
-
101,
|
|
5066
|
-
21,
|
|
5067
|
-
25,
|
|
5068
|
-
63,
|
|
5069
|
-
75,
|
|
5070
|
-
136,
|
|
5071
|
-
108,
|
|
5072
|
-
28,
|
|
5073
|
-
118,
|
|
5074
|
-
29,
|
|
5075
|
-
73,
|
|
5076
|
-
115
|
|
5077
|
-
]);
|
|
5078
|
-
// @ts-ignore
|
|
5079
|
-
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
5080
|
-
var instance;
|
|
5081
|
-
ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
|
|
5082
|
-
instance = result.instance;
|
|
5083
|
-
instance.exports.__wasm_call_ctors();
|
|
5084
|
-
}).then(function() {
|
|
5085
|
-
return {
|
|
5086
|
-
workerCount: 4,
|
|
5087
|
-
ready: ready,
|
|
5088
|
-
useWorkers: function useWorkers(workerCount) {
|
|
5089
|
-
this.workerCount = workerCount != null ? workerCount : this.workerCount;
|
|
5090
|
-
initWorkers(this.workerCount);
|
|
5091
|
-
},
|
|
5092
|
-
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
5093
|
-
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
5094
|
-
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
5095
|
-
return ready.then(function() {
|
|
5096
|
-
var target = new Uint8Array(count * stride);
|
|
5097
|
-
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
5098
|
-
return target;
|
|
5099
|
-
});
|
|
5100
|
-
},
|
|
5101
|
-
release: function release() {
|
|
5102
|
-
for(var i = 0; i < workers.length; i++){
|
|
5103
|
-
workers[i].object.terminate();
|
|
5104
|
-
}
|
|
5105
|
-
}
|
|
5106
|
-
};
|
|
5107
|
-
});
|
|
5108
|
-
function unpack(data) {
|
|
5109
|
-
var result = new Uint8Array(data.length);
|
|
5110
|
-
for(var i = 0; i < data.length; ++i){
|
|
5111
|
-
var ch = data.charCodeAt(i);
|
|
5112
|
-
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
5113
|
-
}
|
|
5114
|
-
var write = 0;
|
|
5115
|
-
for(var i1 = 0; i1 < data.length; ++i1){
|
|
5116
|
-
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
5117
|
-
}
|
|
5118
|
-
return result.buffer.slice(0, write);
|
|
5119
|
-
}
|
|
5120
|
-
function decode(fun, target, count, size, source, filter) {
|
|
5121
|
-
var sbrk = instance.exports.sbrk;
|
|
5122
|
-
var count4 = count + 3 & ~3;
|
|
5123
|
-
var tp = sbrk(count4 * size);
|
|
5124
|
-
var sp = sbrk(source.length);
|
|
5125
|
-
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
5126
|
-
heap.set(source, sp);
|
|
5127
|
-
var res = fun(tp, count, size, sp, source.length);
|
|
5128
|
-
if (res == 0 && filter) {
|
|
5129
|
-
filter(tp, count4, size);
|
|
5130
|
-
}
|
|
5131
|
-
target.set(heap.subarray(tp, tp + count * size));
|
|
5132
|
-
sbrk(tp - sbrk(0));
|
|
5133
|
-
if (res != 0) {
|
|
5134
|
-
throw new Error("Malformed buffer data: " + res);
|
|
5135
|
-
}
|
|
5136
|
-
}
|
|
5137
|
-
var filters = {
|
|
5138
|
-
NONE: "",
|
|
5139
|
-
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
5140
|
-
QUATERNION: "meshopt_decodeFilterQuat",
|
|
5141
|
-
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
5142
|
-
};
|
|
5143
|
-
var decoders = {
|
|
5144
|
-
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
5145
|
-
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
5146
|
-
INDICES: "meshopt_decodeIndexSequence"
|
|
5147
|
-
};
|
|
5148
|
-
var workers = [];
|
|
5149
|
-
var requestId = 0;
|
|
5150
|
-
function createWorker(url) {
|
|
5151
|
-
var worker = {
|
|
5152
|
-
object: new Worker(url),
|
|
5153
|
-
pending: 0,
|
|
5154
|
-
requests: {}
|
|
5155
|
-
};
|
|
5156
|
-
worker.object.onmessage = function(event) {
|
|
5157
|
-
var data = event.data;
|
|
5158
|
-
worker.pending -= data.count;
|
|
5159
|
-
worker.requests[data.id][data.action](data.value);
|
|
5160
|
-
delete worker.requests[data.id];
|
|
5161
|
-
};
|
|
5162
|
-
return worker;
|
|
5163
|
-
}
|
|
5164
|
-
function initWorkers(count) {
|
|
5165
|
-
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
|
|
5166
|
-
var blob = new Blob([
|
|
5167
|
-
source
|
|
5168
|
-
], {
|
|
5169
|
-
type: "text/javascript"
|
|
5170
|
-
});
|
|
5171
|
-
var url = URL.createObjectURL(blob);
|
|
5172
|
-
for(var i = 0; i < count; ++i){
|
|
5173
|
-
workers[i] = createWorker(url);
|
|
5174
|
-
}
|
|
5175
|
-
URL.revokeObjectURL(url);
|
|
5176
|
-
}
|
|
5177
|
-
function decodeWorker(count, size, source, mode, filter) {
|
|
5178
|
-
var worker = workers[0];
|
|
5179
|
-
for(var i = 1; i < workers.length; ++i){
|
|
5180
|
-
if (workers[i].pending < worker.pending) {
|
|
5181
|
-
worker = workers[i];
|
|
5182
|
-
}
|
|
5183
|
-
}
|
|
5184
|
-
return new Promise(function(resolve, reject) {
|
|
5185
|
-
var data = new Uint8Array(source);
|
|
5186
|
-
var id = requestId++;
|
|
5187
|
-
worker.pending += count;
|
|
5188
|
-
worker.requests[id] = {
|
|
5189
|
-
resolve: resolve,
|
|
5190
|
-
reject: reject
|
|
5191
|
-
};
|
|
5192
|
-
worker.object.postMessage({
|
|
5193
|
-
id: id,
|
|
5194
|
-
count: count,
|
|
5195
|
-
size: size,
|
|
5196
|
-
source: data,
|
|
5197
|
-
mode: mode,
|
|
5198
|
-
filter: filter
|
|
5199
|
-
}, [
|
|
5200
|
-
data.buffer
|
|
5201
|
-
]);
|
|
5202
|
-
});
|
|
5203
|
-
}
|
|
5204
|
-
return ready;
|
|
5205
|
-
}
|
|
5206
|
-
|
|
5207
5278
|
var GLTFLoader = /*#__PURE__*/ function(Loader) {
|
|
5208
5279
|
_inherits(GLTFLoader, Loader);
|
|
5209
5280
|
function GLTFLoader() {
|
|
@@ -5227,10 +5298,19 @@ var GLTFLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5227
5298
|
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
5228
5299
|
keepMeshData: false
|
|
5229
5300
|
}, params));
|
|
5230
|
-
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
5301
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
|
|
5231
5302
|
context._setTaskCompleteProgress = setTaskCompleteProgress;
|
|
5232
5303
|
context._setTaskDetailProgress = setTaskDetailProgress;
|
|
5233
|
-
|
|
5304
|
+
onTaskCancel(function() {
|
|
5305
|
+
var getPromises = context._getPromises;
|
|
5306
|
+
for(var i = 0, n = getPromises.length; i < n; i++){
|
|
5307
|
+
getPromises[i].cancel();
|
|
5308
|
+
}
|
|
5309
|
+
});
|
|
5310
|
+
context.parse().then(resolve).catch(function(e) {
|
|
5311
|
+
glTFResource.destroy();
|
|
5312
|
+
reject(e);
|
|
5313
|
+
});
|
|
5234
5314
|
});
|
|
5235
5315
|
};
|
|
5236
5316
|
/**
|
|
@@ -5332,7 +5412,7 @@ var HDRLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5332
5412
|
var bufferArray = new Uint8Array(buffer);
|
|
5333
5413
|
var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
5334
5414
|
var cubeSize = height >> 1;
|
|
5335
|
-
texture || (texture = new TextureCube(engine, cubeSize));
|
|
5415
|
+
texture || (texture = new TextureCube(engine, cubeSize, undefined, undefined, false));
|
|
5336
5416
|
var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
5337
5417
|
var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
|
|
5338
5418
|
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
@@ -5892,7 +5972,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
|
|
|
5892
5972
|
var parsedData = parseSingleKTX(bin);
|
|
5893
5973
|
var width = parsedData.width, height = parsedData.height, mipmaps = parsedData.mipmaps, engineFormat = parsedData.engineFormat;
|
|
5894
5974
|
var mipmap = mipmaps.length > 1;
|
|
5895
|
-
var texture = new Texture2D(resourceManager.engine, width, height, engineFormat, mipmap);
|
|
5975
|
+
var texture = new Texture2D(resourceManager.engine, width, height, engineFormat, mipmap, false);
|
|
5896
5976
|
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
5897
5977
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5898
5978
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
@@ -6334,14 +6414,18 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6334
6414
|
resourceManager// @ts-ignore
|
|
6335
6415
|
._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
|
|
6336
6416
|
var _item_params;
|
|
6337
|
-
var _ref = (_item_params = item.params) != null ? _item_params : {},
|
|
6338
|
-
var
|
|
6417
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
|
|
6418
|
+
var width = image.width, height = image.height;
|
|
6419
|
+
// @ts-ignore
|
|
6420
|
+
var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
|
|
6421
|
+
var generateMipmap = TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
|
|
6422
|
+
var texture = new Texture2D(resourceManager.engine, width, height, format, generateMipmap, isSRGBColorSpace);
|
|
6339
6423
|
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
6340
6424
|
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
6341
6425
|
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
6342
6426
|
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
6343
6427
|
texture.setImageSource(image);
|
|
6344
|
-
texture.generateMipmaps();
|
|
6428
|
+
generateMipmap && texture.generateMipmaps();
|
|
6345
6429
|
if (url.indexOf("data:") !== 0) {
|
|
6346
6430
|
var index = url.lastIndexOf("/");
|
|
6347
6431
|
texture.name = url.substring(index + 1);
|
|
@@ -6410,16 +6494,25 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
|
|
|
6410
6494
|
Promise.all(urls.map(function(url) {
|
|
6411
6495
|
return resourceManager._request(url, requestConfig);
|
|
6412
6496
|
})).then(function(images) {
|
|
6497
|
+
var _item_params;
|
|
6498
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
|
|
6413
6499
|
var _images_ = images[0], width = _images_.width, height = _images_.height;
|
|
6500
|
+
// @ts-ignore
|
|
6501
|
+
var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
|
|
6414
6502
|
if (width !== height) {
|
|
6415
6503
|
console.error("The cube texture must have the same width and height");
|
|
6416
6504
|
return;
|
|
6417
6505
|
}
|
|
6418
|
-
var
|
|
6506
|
+
var generateMipmap = TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
|
|
6507
|
+
var texture = new TextureCube(resourceManager.engine, width, format, generateMipmap, isSRGBColorSpace);
|
|
6508
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
6509
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
6510
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
6511
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
6419
6512
|
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
6420
6513
|
texture.setImageSource(TextureCubeFace.PositiveX + faceIndex, images[faceIndex], 0);
|
|
6421
6514
|
}
|
|
6422
|
-
texture.generateMipmaps();
|
|
6515
|
+
generateMipmap && texture.generateMipmaps();
|
|
6423
6516
|
resourceManager.addContentRestorer(new TextureCubeContentRestorer(texture, urls, requestConfig));
|
|
6424
6517
|
resolve(texture);
|
|
6425
6518
|
}).catch(function(e) {
|
|
@@ -6778,18 +6871,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6778
6871
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
|
|
6779
6872
|
context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
|
|
6780
6873
|
material.clearCoatTexture = texture;
|
|
6874
|
+
}).catch(function(e) {
|
|
6875
|
+
Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
|
|
6781
6876
|
});
|
|
6782
6877
|
}
|
|
6783
6878
|
if (clearcoatRoughnessTexture) {
|
|
6784
6879
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
|
|
6785
6880
|
context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
|
|
6786
6881
|
material.clearCoatRoughnessTexture = texture;
|
|
6882
|
+
}).catch(function(e) {
|
|
6883
|
+
Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
|
|
6787
6884
|
});
|
|
6788
6885
|
}
|
|
6789
6886
|
if (clearcoatNormalTexture) {
|
|
6790
6887
|
GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
|
|
6791
6888
|
context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
|
|
6792
6889
|
material.clearCoatNormalTexture = texture;
|
|
6890
|
+
}).catch(function(e) {
|
|
6891
|
+
Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
|
|
6793
6892
|
});
|
|
6794
6893
|
}
|
|
6795
6894
|
};
|
|
@@ -6826,16 +6925,18 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6826
6925
|
var material = new PBRSpecularMaterial(engine);
|
|
6827
6926
|
var diffuseFactor = schema.diffuseFactor, diffuseTexture = schema.diffuseTexture, specularFactor = schema.specularFactor, glossinessFactor = schema.glossinessFactor, specularGlossinessTexture = schema.specularGlossinessTexture;
|
|
6828
6927
|
if (diffuseFactor) {
|
|
6829
|
-
material.baseColor = new Color(Color.
|
|
6928
|
+
material.baseColor = new Color(Color.linearToSRGBSpace(diffuseFactor[0]), Color.linearToSRGBSpace(diffuseFactor[1]), Color.linearToSRGBSpace(diffuseFactor[2]), diffuseFactor[3]);
|
|
6830
6929
|
}
|
|
6831
6930
|
if (diffuseTexture) {
|
|
6832
6931
|
context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
|
|
6833
6932
|
material.baseTexture = texture;
|
|
6834
6933
|
GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
|
|
6934
|
+
}).catch(function(e) {
|
|
6935
|
+
Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
|
|
6835
6936
|
});
|
|
6836
6937
|
}
|
|
6837
6938
|
if (specularFactor) {
|
|
6838
|
-
material.specularColor = new Color(Color.
|
|
6939
|
+
material.specularColor = new Color(Color.linearToSRGBSpace(specularFactor[0]), Color.linearToSRGBSpace(specularFactor[1]), Color.linearToSRGBSpace(specularFactor[2]));
|
|
6839
6940
|
}
|
|
6840
6941
|
if (glossinessFactor !== undefined) {
|
|
6841
6942
|
material.glossiness = glossinessFactor;
|
|
@@ -6844,6 +6945,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
|
|
|
6844
6945
|
GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
|
|
6845
6946
|
context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
|
|
6846
6947
|
material.specularGlossinessTexture = texture;
|
|
6948
|
+
}).catch(function(e) {
|
|
6949
|
+
Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
|
|
6847
6950
|
});
|
|
6848
6951
|
}
|
|
6849
6952
|
material.name = ownerSchema.name;
|
|
@@ -6865,19 +6968,23 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6865
6968
|
_proto.additiveParse = function additiveParse(context, material, schema) {
|
|
6866
6969
|
var sheenColorFactor = schema.sheenColorFactor, sheenColorTexture = schema.sheenColorTexture, _schema_sheenRoughnessFactor = schema.sheenRoughnessFactor, sheenRoughnessFactor = _schema_sheenRoughnessFactor === void 0 ? 0 : _schema_sheenRoughnessFactor, sheenRoughnessTexture = schema.sheenRoughnessTexture;
|
|
6867
6970
|
if (sheenColorFactor) {
|
|
6868
|
-
material.sheenColor.set(Color.
|
|
6971
|
+
material.sheenColor.set(Color.linearToSRGBSpace(sheenColorFactor[0]), Color.linearToSRGBSpace(sheenColorFactor[1]), Color.linearToSRGBSpace(sheenColorFactor[2]), undefined);
|
|
6869
6972
|
}
|
|
6870
6973
|
material.sheenRoughness = sheenRoughnessFactor;
|
|
6871
6974
|
if (sheenColorTexture) {
|
|
6872
6975
|
GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
|
|
6873
6976
|
context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
|
|
6874
6977
|
material.sheenColorTexture = texture;
|
|
6978
|
+
}).catch(function(e) {
|
|
6979
|
+
Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
|
|
6875
6980
|
});
|
|
6876
6981
|
}
|
|
6877
6982
|
if (sheenRoughnessTexture) {
|
|
6878
6983
|
GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
|
|
6879
6984
|
context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
|
|
6880
6985
|
material.sheenRoughnessTexture = texture;
|
|
6986
|
+
}).catch(function(e) {
|
|
6987
|
+
Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
|
|
6881
6988
|
});
|
|
6882
6989
|
}
|
|
6883
6990
|
};
|
|
@@ -6900,6 +7007,8 @@ var KHR_materials_transmission = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6900
7007
|
GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
|
|
6901
7008
|
context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
|
|
6902
7009
|
material.transmissionTexture = texture;
|
|
7010
|
+
}).catch(function(e) {
|
|
7011
|
+
Logger.error("KHR_materials_transmission: transmission texture error", e);
|
|
6903
7012
|
});
|
|
6904
7013
|
}
|
|
6905
7014
|
};
|
|
@@ -6945,6 +7054,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6945
7054
|
return variantNames[index].name;
|
|
6946
7055
|
})
|
|
6947
7056
|
});
|
|
7057
|
+
}).catch(function(e) {
|
|
7058
|
+
Logger.error("KHR_materials_variants: material error", e);
|
|
6948
7059
|
});
|
|
6949
7060
|
};
|
|
6950
7061
|
var _glTFResource;
|
|
@@ -6972,12 +7083,14 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
6972
7083
|
material.thickness = thicknessFactor;
|
|
6973
7084
|
material.attenuationDistance = attenuationDistance;
|
|
6974
7085
|
if (attenuationColor) {
|
|
6975
|
-
material.attenuationColor.set(Color.
|
|
7086
|
+
material.attenuationColor.set(Color.linearToSRGBSpace(attenuationColor[0]), Color.linearToSRGBSpace(attenuationColor[1]), Color.linearToSRGBSpace(attenuationColor[2]), undefined);
|
|
6976
7087
|
}
|
|
6977
7088
|
if (thicknessTexture) {
|
|
6978
7089
|
GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
|
|
6979
7090
|
context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
|
|
6980
7091
|
material.thicknessTexture = texture;
|
|
7092
|
+
}).catch(function(e) {
|
|
7093
|
+
Logger.error("KHR_materials_volume: thickness texture error", e);
|
|
6981
7094
|
});
|
|
6982
7095
|
}
|
|
6983
7096
|
};
|
|
@@ -7005,57 +7118,48 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7005
7118
|
}
|
|
7006
7119
|
var _proto = KHR_texture_basisu.prototype;
|
|
7007
7120
|
_proto.createAndParse = function createAndParse(context, schema, textureInfo) {
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
}
|
|
7026
|
-
if (sampler !== undefined) {
|
|
7027
|
-
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7028
|
-
}
|
|
7029
|
-
return texture;
|
|
7030
|
-
});
|
|
7031
|
-
context._addTaskCompletePromise(promise);
|
|
7032
|
-
return [
|
|
7033
|
-
2,
|
|
7034
|
-
promise
|
|
7035
|
-
];
|
|
7036
|
-
} else {
|
|
7037
|
-
bufferView = glTF.bufferViews[bufferViewIndex];
|
|
7038
|
-
return [
|
|
7039
|
-
2,
|
|
7040
|
-
context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
|
|
7041
|
-
var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
|
|
7042
|
-
return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
|
|
7043
|
-
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
7044
|
-
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
7045
|
-
}).then(function(texture) {
|
|
7046
|
-
texture.name = textureName || imageName || "texture_" + bufferViewIndex;
|
|
7047
|
-
if (sampler !== undefined) {
|
|
7048
|
-
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7049
|
-
}
|
|
7050
|
-
var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
|
|
7051
|
-
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
7052
|
-
return texture;
|
|
7053
|
-
});
|
|
7054
|
-
})
|
|
7055
|
-
];
|
|
7121
|
+
var glTF = context.glTF, glTFResource = context.glTFResource;
|
|
7122
|
+
var engine = glTFResource.engine, url = glTFResource.url;
|
|
7123
|
+
var sampler = textureInfo.sampler, textureName = textureInfo.name;
|
|
7124
|
+
var source = schema.source;
|
|
7125
|
+
var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
|
|
7126
|
+
var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
|
|
7127
|
+
if (uri) {
|
|
7128
|
+
var index = uri.lastIndexOf(".");
|
|
7129
|
+
var promise = engine.resourceManager.load({
|
|
7130
|
+
url: Utils.resolveAbsoluteUrl(url, uri),
|
|
7131
|
+
type: AssetType.KTX2
|
|
7132
|
+
}).onProgress(undefined, context._onTaskDetail).then(function(texture) {
|
|
7133
|
+
if (!texture.name) {
|
|
7134
|
+
texture.name = textureName || imageName || "texture_" + index;
|
|
7135
|
+
}
|
|
7136
|
+
if (sampler !== undefined) {
|
|
7137
|
+
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7056
7138
|
}
|
|
7139
|
+
return texture;
|
|
7057
7140
|
});
|
|
7058
|
-
|
|
7141
|
+
context._addTaskCompletePromise(promise);
|
|
7142
|
+
return promise;
|
|
7143
|
+
} else {
|
|
7144
|
+
var bufferView = glTF.bufferViews[bufferViewIndex];
|
|
7145
|
+
return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
|
|
7146
|
+
var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
|
|
7147
|
+
return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
|
|
7148
|
+
var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
7149
|
+
return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
|
|
7150
|
+
}).then(function(texture) {
|
|
7151
|
+
texture.name = textureName || imageName || "texture_" + bufferViewIndex;
|
|
7152
|
+
if (sampler !== undefined) {
|
|
7153
|
+
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
7154
|
+
}
|
|
7155
|
+
var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
|
|
7156
|
+
context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
|
|
7157
|
+
return texture;
|
|
7158
|
+
});
|
|
7159
|
+
}).catch(function(e) {
|
|
7160
|
+
Logger.error("KHR_texture_basisu: buffer error", e);
|
|
7161
|
+
});
|
|
7162
|
+
}
|
|
7059
7163
|
};
|
|
7060
7164
|
return KHR_texture_basisu;
|
|
7061
7165
|
}(GLTFExtensionParser);
|
|
@@ -7145,6 +7249,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7145
7249
|
return getMeshoptDecoder().then(function(decoder) {
|
|
7146
7250
|
return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
7147
7251
|
});
|
|
7252
|
+
}).catch(function(e) {
|
|
7253
|
+
Logger.error("EXT_meshopt_compression: buffer error", e);
|
|
7148
7254
|
});
|
|
7149
7255
|
};
|
|
7150
7256
|
return EXT_meshopt_compression;
|
|
@@ -7167,6 +7273,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7167
7273
|
GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
|
|
7168
7274
|
context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
|
|
7169
7275
|
material.anisotropyTexture = texture;
|
|
7276
|
+
}).catch(function(e) {
|
|
7277
|
+
Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
|
|
7170
7278
|
});
|
|
7171
7279
|
}
|
|
7172
7280
|
};
|
|
@@ -7191,12 +7299,16 @@ var KHR_materials_iridescence = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7191
7299
|
GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
|
|
7192
7300
|
context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
|
|
7193
7301
|
material.iridescenceTexture = texture;
|
|
7302
|
+
}).catch(function(e) {
|
|
7303
|
+
Logger.error("KHR_materials_iridescence: iridescence texture error", e);
|
|
7194
7304
|
});
|
|
7195
7305
|
}
|
|
7196
7306
|
if (iridescenceThicknessTexture) {
|
|
7197
7307
|
GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
|
|
7198
7308
|
context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
|
|
7199
7309
|
material.iridescenceThicknessTexture = texture;
|
|
7310
|
+
}).catch(function(e) {
|
|
7311
|
+
Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
|
|
7200
7312
|
});
|
|
7201
7313
|
}
|
|
7202
7314
|
};
|
|
@@ -7222,20 +7334,11 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser) {
|
|
|
7222
7334
|
return _this;
|
|
7223
7335
|
}
|
|
7224
7336
|
var _proto = EXT_texture_webp.prototype;
|
|
7225
|
-
_proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
|
|
7226
|
-
var
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
webPIndex = schema.source;
|
|
7231
|
-
sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
|
|
7232
|
-
texture = GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
|
|
7233
|
-
return [
|
|
7234
|
-
2,
|
|
7235
|
-
texture
|
|
7236
|
-
];
|
|
7237
|
-
});
|
|
7238
|
-
})();
|
|
7337
|
+
_proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex, isSRGBColorSpace) {
|
|
7338
|
+
var webPIndex = schema.source;
|
|
7339
|
+
var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
|
|
7340
|
+
var texture = GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
|
|
7341
|
+
return texture;
|
|
7239
7342
|
};
|
|
7240
7343
|
return EXT_texture_webp;
|
|
7241
7344
|
}(GLTFExtensionParser);
|