for (int chn = 0; chn < texture_tile.length; chn++) {
for (int chn = 0; chn < texture_tile.length; chn++) {
@@ -5082,6 +5087,7 @@ public class ImageDtt {
if (texture_tile[schn] == null) {
if (texture_tile[schn] == null) {
dpixels[chn] = null;
dpixels[chn] = null;
} else {
} else {
// should it be better to multiply each color by alpha before accumulating? No, it is already windowed!
if ((chn != 3) || !sharp_alpha) {
if ((chn != 3) || !sharp_alpha) {
for (int j = 0; j<n2;j++) {
for (int j = 0; j<n2;j++) {
dpixels[chn][start_line + j] += texture_tile[schn][n2 * i + j];
dpixels[chn][start_line + j] += texture_tile[schn][n2 * i + j];
@@ -9278,6 +9284,14 @@ public class ImageDtt {
}
}
}
}
}
}
// fix: removing extra slices
if (!clt_parameters.keep_weights && (texture_tiles[tileY][tileX]!=null)) {
if (numcol == 3 ) {
texture_tiles[tileY][tileX] = new double[][] {texture_tiles[tileY][tileX][0],texture_tiles[tileY][tileX][1],texture_tiles[tileY][tileX][2],texture_tiles[tileY][tileX][3]};
} else {
texture_tiles[tileY][tileX] = new double[][] {texture_tiles[tileY][tileX][0],texture_tiles[tileY][tileX][1]};