/*! * @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 */ import{ViewableBuffer as _,BufferResource as R,ExtensionType as e,Texture as t,BaseTexture as T}from"@pixi/core";import{LoaderResource as r}from"@pixi/loaders";import{url as E}from"@pixi/utils";import{settings as G}from"@pixi/settings";import{MIPMAP_MODES as A,ALPHA_MODES as O,TYPES as D,FORMATS as S}from"@pixi/constants";var M,n;!function(_){_[_.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",_[_.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",_[_.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",_[_.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",_[_.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",_[_.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",_[_.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",_[_.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",_[_.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",_[_.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",_[_.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",_[_.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",_[_.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",_[_.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",_[_.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",_[_.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",_[_.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",_[_.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",_[_.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",_[_.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",_[_.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR"}(n||(n={}));var I=((M={})[n.COMPRESSED_RGB_S3TC_DXT1_EXT]=.5,M[n.COMPRESSED_RGBA_S3TC_DXT1_EXT]=.5,M[n.COMPRESSED_RGBA_S3TC_DXT3_EXT]=1,M[n.COMPRESSED_RGBA_S3TC_DXT5_EXT]=1,M[n.COMPRESSED_SRGB_S3TC_DXT1_EXT]=.5,M[n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]=.5,M[n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]=1,M[n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]=1,M[n.COMPRESSED_R11_EAC]=.5,M[n.COMPRESSED_SIGNED_R11_EAC]=.5,M[n.COMPRESSED_RG11_EAC]=1,M[n.COMPRESSED_SIGNED_RG11_EAC]=1,M[n.COMPRESSED_RGB8_ETC2]=.5,M[n.COMPRESSED_RGBA8_ETC2_EAC]=1,M[n.COMPRESSED_SRGB8_ETC2]=.5,M[n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]=1,M[n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]=.5,M[n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]=.5,M[n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG]=.5,M[n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]=.5,M[n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG]=.25,M[n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]=.25,M[n.COMPRESSED_RGB_ETC1_WEBGL]=.5,M[n.COMPRESSED_RGB_ATC_WEBGL]=.5,M[n.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]=1,M[n.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]=1,M[n.COMPRESSED_RGBA_ASTC_4x4_KHR]=1,M),o=function(_,R){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,R){_.__proto__=R}||function(_,R){for(var e in R)R.hasOwnProperty(e)&&(_[e]=R[e])},o(_,R)};function X(_,R){function e(){this.constructor=_}o(_,R),_.prototype=null===R?Object.create(R):(e.prototype=R.prototype,new e)}function a(_,R,e,t){return new(e||(e=Promise))((function(T,r){function E(_){try{A(t.next(_))}catch(_){r(_)}}function G(_){try{A(t.throw(_))}catch(_){r(_)}}function A(_){var R;_.done?T(_.value):(R=_.value,R instanceof e?R:new e((function(_){_(R)}))).then(E,G)}A((t=t.apply(_,R||[])).next())}))}function i(_,R){var e,t,T,r,E={label:0,sent:function(){if(1&T[0])throw T[1];return T[1]},trys:[],ops:[]};return r={next:G(0),throw:G(1),return:G(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function G(r){return function(G){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;E;)try{if(e=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 E.label++,{value:r[1],done:!1};case 5:E.label++,t=r[1],r=[0];continue;case 7:r=E.ops.pop(),E.trys.pop();continue;default:if(!(T=E.trys,(T=T.length>0&&T[T.length-1])||6!==r[0]&&2!==r[0])){E=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!")},R._createLevelBuffers=function(_,R,e,t,T,r,E){for(var G=new Array(e),A=_.byteOffset,O=r,D=E,S=O+t-1&~(t-1),M=D+T-1&~(T-1),n=S*M*I[R],o=0;o1?O:S,levelHeight:e>1?D:M,levelBuffer:new Uint8Array(_.buffer,A,n)},A+=n,n=(S=(O=O>>1||1)+t-1&~(t-1))*(M=(D=D>>1||1)+T-1&~(T-1))*I[R];return G},R}(P),s=function(){function _(){}return _.use=function(R,e){var t=R.data;if(R.type===r.TYPE.JSON&&t&&t.cacheID&&t.textures){for(var T=t.textures,G=void 0,A=void 0,O=0,D=T.length;O>>=1,s>>>=1}var f=148;for(C=0;CR-T){console.error("KTXLoader: keyAndValueByteSize out of bounds");break}for(var A=0;A1||0!==E?N:c,levelHeight:X>1||0!==E?l:U,levelBuffer:new Uint8Array(e,v,f)},v+=f}L=(L+=h+4)%4!=0?L+4-L%4:L,f=(c=(N=N>>1||1)+4-1&-4)*(U=(l=l>>1||1)+4-1&-4)*i}return 0!==E?{uncompressed:P.map((function(_){var e=_[0].levelBuffer,t=!1;return E===D.FLOAT?e=new Float32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4):E===D.UNSIGNED_INT?(t=!0,e=new Uint32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4)):E===D.INT&&(t=!0,e=new Int32Array(_[0].levelBuffer.buffer,_[0].levelBuffer.byteOffset,_[0].levelBuffer.byteLength/4)),{resource:new R(e,{width:_[0].levelWidth,height:_[0].levelHeight}),type:E,format:t?T_(G):G}})),kvData:C}:{compressed:P.map((function(_){return new u(null,{format:A,width:O,height:S,levels:X,levelBuffers:_})})),kvData:C}}function T_(_){switch(_){case S.RGBA:return S.RGBA_INTEGER;case S.RGB:return S.RGB_INTEGER;case S.RG:return S.RG_INTEGER;case S.RED:return S.RED_INTEGER;default:return _}}r.setExtensionXhrType("dds",r.XHR_RESPONSE_TYPE.BUFFER);var r_=function(){function _(){}return _.use=function(_,R){if("dds"===_.extension&&_.data)try{Object.assign(_,C(_.name||_.url,g(_.data),_.metadata))}catch(_){return void R(_)}R()},_.extension=e.Loader,_}();r.setExtensionXhrType("ktx",r.XHR_RESPONSE_TYPE.BUFFER);var E_=function(){function _(){}return _.use=function(_,R){if("ktx"===_.extension&&_.data)try{var e=_.name||_.url,r=t_(0,_.data,this.loadKeyValueData),E=r.compressed,G=r.uncompressed,D=r.kvData;if(E){var S=C(e,E,_.metadata);if(D&&S.textures)for(var M in S.textures)S.textures[M].baseTexture.ktxKeyValueData=D;Object.assign(_,S)}else if(G){var n={};G.forEach((function(_,R){var r=new t(new T(_.resource,{mipmap:A.OFF,alphaMode:O.NO_PREMULTIPLIED_ALPHA,type:_.type,format:_.format})),E=e+"-"+(R+1);D&&(r.baseTexture.ktxKeyValueData=D),T.addToCache(r.baseTexture,E),t.addToCache(r,E),0===R&&(n[e]=r,T.addToCache(r.baseTexture,e),t.addToCache(r,e)),n[E]=r})),Object.assign(_,{textures:n})}}catch(_){return void R(_)}R()},_.extension=e.Loader,_.loadKeyValueData=!1,_}();export{P as BlobResource,s as CompressedTextureLoader,u as CompressedTextureResource,r_ as DDSLoader,R_ as FORMATS_TO_COMPONENTS,n as INTERNAL_FORMATS,I as INTERNAL_FORMAT_TO_BYTES_PER_PIXEL,E_ as KTXLoader,__ as TYPES_TO_BYTES_PER_COMPONENT,e_ as TYPES_TO_BYTES_PER_PIXEL,g as parseDDS,t_ as parseKTX}; //# sourceMappingURL=compressed-textures.min.mjs.map