/*! * @pixi/compressed-textures - v6.5.10 * Compiled Thu, 06 Jul 2023 15:25:11 UTC * * @pixi/compressed-textures is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _,e,R=require("@pixi/core"),T=require("@pixi/loaders"),t=require("@pixi/utils"),r=require("@pixi/settings"),A=require("@pixi/constants");exports.INTERNAL_FORMATS=void 0,(e=exports.INTERNAL_FORMATS||(exports.INTERNAL_FORMATS={}))[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR";var E=((_={})[exports.INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_R11_EAC]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RG11_EAC]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG]=.25,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]=.25,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL]=.5,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]=1,_[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR]=1,_),O=function(_,e){return O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,e){_.__proto__=e}||function(_,e){for(var R in e)e.hasOwnProperty(R)&&(_[R]=e[R])},O(_,e)};function S(_,e){function R(){this.constructor=_}O(_,e),_.prototype=null===e?Object.create(e):(R.prototype=e.prototype,new R)}function M(_,e,R,T){return new(R||(R=Promise))((function(t,r){function A(_){try{O(T.next(_))}catch(_){r(_)}}function E(_){try{O(T.throw(_))}catch(_){r(_)}}function O(_){var e;_.done?t(_.value):(e=_.value,e instanceof R?e:new R((function(_){_(e)}))).then(A,E)}O((T=T.apply(_,e||[])).next())}))}function G(_,e){var R,T,t,r,A={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return r={next:E(0),throw:E(1),return:E(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function E(r){return function(E){return function(r){if(R)throw new TypeError("Generator is already executing.");for(;A;)try{if(R=1,T&&(t=2&r[0]?T.return:r[0]?T.throw||((t=T.return)&&t.call(T),0):T.next)&&!(t=t.call(T,r[1])).done)return t;switch(T=0,t&&(r=[2&r[0],t.value]),r[0]){case 0:case 1:t=r;break;case 4:return A.label++,{value:r[1],done:!1};case 5:A.label++,T=r[1],r=[0];continue;case 7:r=A.ops.pop(),A.trys.pop();continue;default:if(!(t=A.trys,(t=t.length>0&&t[t.length-1])||6!==r[0]&&2!==r[0])){A=0;continue}if(3===r[0]&&(!t||r[1]>t[0]&&r[1]=33776&&_<=33779)return"s3tc";if(_>=37488&&_<=37497)return"etc";if(_>=35840&&_<=35843)return"pvrtc";if(_>=36196)return"etc1";if(_>=35986&&_<=34798)return"atc";throw new Error("Invalid (compressed) texture format given!")},e._createLevelBuffers=function(_,e,R,T,t,r,A){for(var O=new Array(R),S=_.byteOffset,M=r,G=A,D=M+T-1&~(T-1),n=G+t-1&~(t-1),o=D*n*E[e],I=0;I1?M:D,levelHeight:R>1?G:n,levelBuffer:new Uint8Array(_.buffer,S,o)},S+=o,o=(D=(M=M>>1||1)+T-1&~(T-1))*(n=(G=G>>1||1)+t-1&~(t-1))*E[e];return O},e}(o),a=function(){function _(){}return _.use=function(e,R){var r=e.data;if(e.type===T.LoaderResource.TYPE.JSON&&r&&r.cacheID&&r.textures){for(var A=r.textures,E=void 0,O=void 0,S=0,M=A.length;S>>=1,v>>>=1}var Y=148;for(w=0;we-t){console.error("KTXLoader: keyAndValueByteSize out of bounds");break}for(var O=0;O1||0!==O?f:l,levelHeight:X>1||0!==O?L:c,levelBuffer:new Uint8Array(e,d,C)},d+=C}U=(U+=x+4)%4!=0?U+4-U%4:U,C=(l=(f=f>>1||1)+4-1&-4)*(c=(L=L>>1||1)+4-1&-4)*s}return 0!==O?{uncompressed:u.map((function(_){var e=_[0].levelBuffer,T=!1;return O===A.TYPES.FLOAT?e=new Float32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4):O===A.TYPES.UNSIGNED_INT?(T=!0,e=new Uint32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4)):O===A.TYPES.INT&&(T=!0,e=new Int32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4)),{resource:new R.BufferResource(e,{width:_[0].levelWidth,height:_[0].levelHeight}),type:O,format:T?J(S):S}})),kvData:N}:{compressed:u.map((function(_){return new I(null,{format:M,width:G,height:D,levels:X,levelBuffers:_})})),kvData:N}}function J(_){switch(_){case A.FORMATS.RGBA:return A.FORMATS.RGBA_INTEGER;case A.FORMATS.RGB:return A.FORMATS.RGB_INTEGER;case A.FORMATS.RG:return A.FORMATS.RG_INTEGER;case A.FORMATS.RED:return A.FORMATS.RED_INTEGER;default:return _}}T.LoaderResource.setExtensionXhrType("dds",T.LoaderResource.XHR_RESPONSE_TYPE.BUFFER);var Z=function(){function _(){}return _.use=function(_,e){if("dds"===_.extension&&_.data)try{Object.assign(_,X(_.name||_.url,h(_.data),_.metadata))}catch(_){return void e(_)}e()},_.extension=R.ExtensionType.Loader,_}();T.LoaderResource.setExtensionXhrType("ktx",T.LoaderResource.XHR_RESPONSE_TYPE.BUFFER);var $=function(){function _(){}return _.use=function(_,e){if("ktx"===_.extension&&_.data)try{var T=_.name||_.url,t=z(0,_.data,this.loadKeyValueData),r=t.compressed,E=t.uncompressed,O=t.kvData;if(r){var S=X(T,r,_.metadata);if(O&&S.textures)for(var M in S.textures)S.textures[M].baseTexture.ktxKeyValueData=O;Object.assign(_,S)}else if(E){var G={};E.forEach((function(_,e){var t=new R.Texture(new R.BaseTexture(_.resource,{mipmap:A.MIPMAP_MODES.OFF,alphaMode:A.ALPHA_MODES.NO_PREMULTIPLIED_ALPHA,type:_.type,format:_.format})),r=T+"-"+(e+1);O&&(t.baseTexture.ktxKeyValueData=O),R.BaseTexture.addToCache(t.baseTexture,r),R.Texture.addToCache(t,r),0===e&&(G[T]=t,R.BaseTexture.addToCache(t.baseTexture,T),R.Texture.addToCache(t,T)),G[r]=t})),Object.assign(_,{textures:G})}}catch(_){return void e(_)}e()},_.extension=R.ExtensionType.Loader,_.loadKeyValueData=!1,_}();exports.BlobResource=o,exports.CompressedTextureLoader=a,exports.CompressedTextureResource=I,exports.DDSLoader=Z,exports.FORMATS_TO_COMPONENTS=Q,exports.INTERNAL_FORMAT_TO_BYTES_PER_PIXEL=E,exports.KTXLoader=$,exports.TYPES_TO_BYTES_PER_COMPONENT=j,exports.TYPES_TO_BYTES_PER_PIXEL=q,exports.parseDDS=h,exports.parseKTX=z; //# sourceMappingURL=compressed-textures.min.js.map