1 |
- {"ast":null,"code":"import { ArrayItem, GLTFLoader } from \"../glTFLoader.js\";\nimport { MeshoptCompression } from \"@babylonjs/core/Meshes/Compression/meshoptCompression.js\";\nconst NAME = \"EXT_meshopt_compression\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md)\n *\n * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class EXT_meshopt_compression {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n this._loader = loader;\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadBufferViewAsync(context, bufferView) {\n return GLTFLoader.LoadExtensionAsync(context, bufferView, this.name, (extensionContext, extension) => {\n const bufferViewMeshopt = bufferView;\n if (bufferViewMeshopt._meshOptData) {\n return bufferViewMeshopt._meshOptData;\n }\n const buffer = ArrayItem.Get(`${context}/buffer`, this._loader.gltf.buffers, extension.buffer);\n bufferViewMeshopt._meshOptData = this._loader.loadBufferAsync(`/buffers/${buffer.index}`, buffer, extension.byteOffset || 0, extension.byteLength).then(buffer => {\n return MeshoptCompression.Default.decodeGltfBufferAsync(buffer, extension.count, extension.byteStride, extension.mode, extension.filter);\n });\n return bufferViewMeshopt._meshOptData;\n });\n }\n}\nGLTFLoader.RegisterExtension(NAME, loader => new EXT_meshopt_compression(loader));","map":{"version":3,"names":["ArrayItem","GLTFLoader","MeshoptCompression","NAME","EXT_meshopt_compression","constructor","loader","name","enabled","isExtensionUsed","_loader","dispose","loadBufferViewAsync","context","bufferView","LoadExtensionAsync","extensionContext","extension","bufferViewMeshopt","_meshOptData","buffer","Get","gltf","buffers","loadBufferAsync","index","byteOffset","byteLength","then","Default","decodeGltfBufferAsync","count","byteStride","mode","filter","RegisterExtension"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.js"],"sourcesContent":["import { ArrayItem, GLTFLoader } from \"../glTFLoader.js\";\nimport { MeshoptCompression } from \"@babylonjs/core/Meshes/Compression/meshoptCompression.js\";\nconst NAME = \"EXT_meshopt_compression\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_meshopt_compression/README.md)\n *\n * This extension uses a WebAssembly decoder module from https://github.com/zeux/meshoptimizer/tree/master/js\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class EXT_meshopt_compression {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n this._loader = loader;\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadBufferViewAsync(context, bufferView) {\n return GLTFLoader.LoadExtensionAsync(context, bufferView, this.name, (extensionContext, extension) => {\n const bufferViewMeshopt = bufferView;\n if (bufferViewMeshopt._meshOptData) {\n return bufferViewMeshopt._meshOptData;\n }\n const buffer = ArrayItem.Get(`${context}/buffer`, this._loader.gltf.buffers, extension.buffer);\n bufferViewMeshopt._meshOptData = this._loader.loadBufferAsync(`/buffers/${buffer.index}`, buffer, extension.byteOffset || 0, extension.byteLength).then((buffer) => {\n return MeshoptCompression.Default.decodeGltfBufferAsync(buffer, extension.count, extension.byteStride, extension.mode, extension.filter);\n });\n return bufferViewMeshopt._meshOptData;\n });\n }\n}\nGLTFLoader.RegisterExtension(NAME, (loader) => new EXT_meshopt_compression(loader));\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,kBAAkB;AACxD,SAASC,kBAAkB,QAAQ,0DAA0D;AAC7F,MAAMC,IAAI,GAAG,yBAAyB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,CAAC;EACjC;AACJ;AACA;EACIC,WAAWA,CAACC,MAAM,EAAE;IAChB;AACR;AACA;IACQ,IAAI,CAACC,IAAI,GAAGJ,IAAI;IAChB,IAAI,CAACK,OAAO,GAAGF,MAAM,CAACG,eAAe,CAACN,IAAI,CAAC;IAC3C,IAAI,CAACO,OAAO,GAAGJ,MAAM;EACzB;EACA;EACAK,OAAOA,CAAA,EAAG;IACN,IAAI,CAACD,OAAO,GAAG,IAAI;EACvB;EACA;AACJ;AACA;EACIE,mBAAmBA,CAACC,OAAO,EAAEC,UAAU,EAAE;IACrC,OAAOb,UAAU,CAACc,kBAAkB,CAACF,OAAO,EAAEC,UAAU,EAAE,IAAI,CAACP,IAAI,EAAE,CAACS,gBAAgB,EAAEC,SAAS,KAAK;MAClG,MAAMC,iBAAiB,GAAGJ,UAAU;MACpC,IAAII,iBAAiB,CAACC,YAAY,EAAE;QAChC,OAAOD,iBAAiB,CAACC,YAAY;MACzC;MACA,MAAMC,MAAM,GAAGpB,SAAS,CAACqB,GAAG,CAAC,GAAGR,OAAO,SAAS,EAAE,IAAI,CAACH,OAAO,CAACY,IAAI,CAACC,OAAO,EAAEN,SAAS,CAACG,MAAM,CAAC;MAC9FF,iBAAiB,CAACC,YAAY,GAAG,IAAI,CAACT,OAAO,CAACc,eAAe,CAAC,YAAYJ,MAAM,CAACK,KAAK,EAAE,EAAEL,MAAM,EAAEH,SAAS,CAACS,UAAU,IAAI,CAAC,EAAET,SAAS,CAACU,UAAU,CAAC,CAACC,IAAI,CAAER,MAAM,IAAK;QAChK,OAAOlB,kBAAkB,CAAC2B,OAAO,CAACC,qBAAqB,CAACV,MAAM,EAAEH,SAAS,CAACc,KAAK,EAAEd,SAAS,CAACe,UAAU,EAAEf,SAAS,CAACgB,IAAI,EAAEhB,SAAS,CAACiB,MAAM,CAAC;MAC5I,CAAC,CAAC;MACF,OAAOhB,iBAAiB,CAACC,YAAY;IACzC,CAAC,CAAC;EACN;AACJ;AACAlB,UAAU,CAACkC,iBAAiB,CAAChC,IAAI,EAAGG,MAAM,IAAK,IAAIF,uBAAuB,CAACE,MAAM,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|