|
@@ -180,7 +180,6 @@ export class BasisTools {
|
|
|
* @param transcodeResult the result of transcoding the basis file to load from
|
|
|
*/
|
|
|
public static LoadTextureFromTranscodeResult(texture: InternalTexture, transcodeResult: TranscodeResult) {
|
|
|
- texture._invertVScale = texture.invertY;
|
|
|
for (var i = 0; i < transcodeResult.fileInfo.images.length; i++) {
|
|
|
var rootImage = transcodeResult.fileInfo.images[i].levels[0];
|
|
|
texture._invertVScale = texture.invertY;
|
|
@@ -189,6 +188,9 @@ export class BasisTools {
|
|
|
texture.type = Engine.TEXTURETYPE_UNSIGNED_SHORT_5_6_5;
|
|
|
texture.format = Engine.TEXTUREFORMAT_RGB;
|
|
|
|
|
|
+ // Fallback is already inverted
|
|
|
+ texture._invertVScale = !texture.invertY;
|
|
|
+
|
|
|
if (texture.getEngine().webGLVersion < 2 && (Scalar.Log2(texture.width) % 1 !== 0 || Scalar.Log2(texture.height) % 1 !== 0)) {
|
|
|
// Create non power of two texture
|
|
|
let source = new InternalTexture(texture.getEngine(), InternalTexture.DATASOURCE_TEMP);
|
|
@@ -377,7 +379,7 @@ function workerFunc(): void {
|
|
|
return info;
|
|
|
}
|
|
|
|
|
|
- function TranscodeLevel(loadedFile: any, imageIndex: number, levelIndex: number, format: number, convertToRgb565: boolean) {
|
|
|
+ function TranscodeLevel(loadedFile: any, imageIndex: number, levelIndex: number, format: number, convertToRgb565: boolean): Nullable<Uint16Array> {
|
|
|
var dstSize = loadedFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, format);
|
|
|
var dst = new Uint8Array(dstSize);
|
|
|
if (!loadedFile.transcodeImage(dst, imageIndex, levelIndex, format, 1, 0)) {
|
|
@@ -403,7 +405,7 @@ function workerFunc(): void {
|
|
|
* @param height aligned height of the image
|
|
|
* @return the converted pixels
|
|
|
*/
|
|
|
- function ConvertDxtToRgb565(src: Uint16Array, srcByteOffset: number, width: number, height: number): Uint16Array {
|
|
|
+ function ConvertDxtToRgb565(src: Uint8Array, srcByteOffset: number, width: number, height: number): Uint16Array {
|
|
|
var c = new Uint16Array(4);
|
|
|
var dst = new Uint16Array(width * height);
|
|
|
|