@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/miniprogram.js
CHANGED
|
@@ -2634,6 +2634,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2634
2634
|
var faceCount = ktx2File.getFaces();
|
|
2635
2635
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2636
2636
|
var faces = new Array(faceCount);
|
|
2637
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2637
2638
|
for(var face = 0; face < faceCount; face++){
|
|
2638
2639
|
var mipmaps = new Array(levelCount);
|
|
2639
2640
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2641,8 +2642,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2641
2642
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2642
2643
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2643
2644
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2644
|
-
|
|
2645
|
-
|
|
2645
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2646
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2647
|
+
width = mipWidth = levelInfo.width;
|
|
2648
|
+
height = mipHeight = levelInfo.height;
|
|
2649
|
+
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.");
|
|
2650
|
+
} else {
|
|
2651
|
+
mipWidth = levelInfo.origWidth;
|
|
2652
|
+
mipHeight = levelInfo.origHeight;
|
|
2653
|
+
}
|
|
2646
2654
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2647
2655
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2648
2656
|
if (!status) {
|
|
@@ -5137,6 +5145,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5137
5145
|
materialShaderData.setTexture(key, texture);
|
|
5138
5146
|
}));
|
|
5139
5147
|
break;
|
|
5148
|
+
case "Boolean":
|
|
5149
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5150
|
+
break;
|
|
5151
|
+
case "Integer":
|
|
5152
|
+
materialShaderData.setInt(key, Number(value));
|
|
5153
|
+
break;
|
|
5140
5154
|
}
|
|
5141
5155
|
};
|
|
5142
5156
|
var engine = resourceManager.engine;
|
|
@@ -5272,9 +5286,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5272
5286
|
var _loop = function(i) {
|
|
5273
5287
|
var atlasItem = atlasItems[i];
|
|
5274
5288
|
if (atlasItem.img) {
|
|
5289
|
+
var _atlasItem_type;
|
|
5275
5290
|
chainPromises.push(resourceManager.load({
|
|
5276
5291
|
url: miniprogram.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5277
|
-
type: miniprogram.AssetType.Texture2D,
|
|
5292
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : miniprogram.AssetType.Texture2D,
|
|
5278
5293
|
params: {
|
|
5279
5294
|
format: format,
|
|
5280
5295
|
mipmap: mipmap
|
package/dist/module.js
CHANGED
|
@@ -2629,6 +2629,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2629
2629
|
var faceCount = ktx2File.getFaces();
|
|
2630
2630
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2631
2631
|
var faces = new Array(faceCount);
|
|
2632
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2632
2633
|
for(var face = 0; face < faceCount; face++){
|
|
2633
2634
|
var mipmaps = new Array(levelCount);
|
|
2634
2635
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2636,8 +2637,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2636
2637
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2637
2638
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2638
2639
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2639
|
-
|
|
2640
|
-
|
|
2640
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2641
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2642
|
+
width = mipWidth = levelInfo.width;
|
|
2643
|
+
height = mipHeight = levelInfo.height;
|
|
2644
|
+
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.");
|
|
2645
|
+
} else {
|
|
2646
|
+
mipWidth = levelInfo.origWidth;
|
|
2647
|
+
mipHeight = levelInfo.origHeight;
|
|
2648
|
+
}
|
|
2641
2649
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2642
2650
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2643
2651
|
if (!status) {
|
|
@@ -5132,6 +5140,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5132
5140
|
materialShaderData.setTexture(key, texture);
|
|
5133
5141
|
}));
|
|
5134
5142
|
break;
|
|
5143
|
+
case "Boolean":
|
|
5144
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5145
|
+
break;
|
|
5146
|
+
case "Integer":
|
|
5147
|
+
materialShaderData.setInt(key, Number(value));
|
|
5148
|
+
break;
|
|
5135
5149
|
}
|
|
5136
5150
|
};
|
|
5137
5151
|
var engine = resourceManager.engine;
|
|
@@ -5267,9 +5281,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5267
5281
|
var _loop = function(i) {
|
|
5268
5282
|
var atlasItem = atlasItems[i];
|
|
5269
5283
|
if (atlasItem.img) {
|
|
5284
|
+
var _atlasItem_type;
|
|
5270
5285
|
chainPromises.push(resourceManager.load({
|
|
5271
5286
|
url: Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5272
|
-
type: AssetType.Texture2D,
|
|
5287
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : AssetType.Texture2D,
|
|
5273
5288
|
params: {
|
|
5274
5289
|
format: format,
|
|
5275
5290
|
mipmap: mipmap
|