@galacean/engine-loader 1.1.0-beta.19 → 1.1.0-beta.20
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
CHANGED
|
@@ -2633,6 +2633,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2633
2633
|
var faceCount = ktx2File.getFaces();
|
|
2634
2634
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2635
2635
|
var faces = new Array(faceCount);
|
|
2636
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2636
2637
|
for(var face = 0; face < faceCount; face++){
|
|
2637
2638
|
var mipmaps = new Array(levelCount);
|
|
2638
2639
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2640,8 +2641,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2640
2641
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2641
2642
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2642
2643
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2643
|
-
|
|
2644
|
-
|
|
2644
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2645
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2646
|
+
width = mipWidth = levelInfo.width;
|
|
2647
|
+
height = mipHeight = levelInfo.height;
|
|
2648
|
+
console.warn("KTX2 transcode to BC will resize to width: " + width + ", height: " + height + ". You'd better use an image whose size if multiple of 4.");
|
|
2649
|
+
} else {
|
|
2650
|
+
mipWidth = levelInfo.origWidth;
|
|
2651
|
+
mipHeight = levelInfo.origHeight;
|
|
2652
|
+
}
|
|
2645
2653
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2646
2654
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2647
2655
|
if (!status) {
|
|
@@ -5136,6 +5144,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5136
5144
|
materialShaderData.setTexture(key, texture);
|
|
5137
5145
|
}));
|
|
5138
5146
|
break;
|
|
5147
|
+
case "Boolean":
|
|
5148
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5149
|
+
break;
|
|
5150
|
+
case "Integer":
|
|
5151
|
+
materialShaderData.setInt(key, Number(value));
|
|
5152
|
+
break;
|
|
5139
5153
|
}
|
|
5140
5154
|
};
|
|
5141
5155
|
var engine = resourceManager.engine;
|
|
@@ -5271,9 +5285,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5271
5285
|
var _loop = function(i) {
|
|
5272
5286
|
var atlasItem = atlasItems[i];
|
|
5273
5287
|
if (atlasItem.img) {
|
|
5288
|
+
var _atlasItem_type;
|
|
5274
5289
|
chainPromises.push(resourceManager.load({
|
|
5275
5290
|
url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5276
|
-
type: engineCore.AssetType.Texture2D,
|
|
5291
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : engineCore.AssetType.Texture2D,
|
|
5277
5292
|
params: {
|
|
5278
5293
|
format: format,
|
|
5279
5294
|
mipmap: mipmap
|