Atom/qingtao/image builder fixes (#6432)

* LYN-8837 o3de Material Editor - Texture Settings Editor - Hangs when converting texture (#6359)

Fixed a editor hanging issue when preview texture with astc format (starts multiple job threads inside a job thread)
Fixed an issue of changing texture setting didn't trigger image re-process.
Fixed an issue with image asset which has texture setting may have dependency with wrong preset
Added a EIF_HDR for source image in hdr format.
Fixed astc compression issue which may wrongly compress image to HDR astc format

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
(cherry picked from commit d9f0a3012d)

* ATOM-16958 [Image Builder] Alpha data would be removed for source image with alpha content (#6412)

Fixed a regression issue with image builder which it can choose proper preset for images with alpha content.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
(cherry picked from commit b640f6d691)
This commit is contained in:
Qing Tao
2021-12-16 09:19:44 -08:00
committed by GitHub
parent fb36145e2e
commit 94ddafc7a2
9 changed files with 117 additions and 37 deletions
@@ -8,6 +8,7 @@
#include <ImageLoader/ImageLoaders.h>
#include <Processing/ImageFlags.h>
#include <Atom/ImageProcessing/ImageObject.h>
// warning C4251: class QT_Type needs to have dll-interface to be used by clients of class 'QT_Type'
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option")
@@ -26,21 +27,31 @@ namespace ImageProcessingAtom
return nullptr;
}
IImageObject* loadedImage = nullptr;
if (TIFFLoader::IsExtensionSupported(ext.toUtf8()))
{
return TIFFLoader::LoadImageFromTIFF(filename);
loadedImage = TIFFLoader::LoadImageFromTIFF(filename);
}
else if (DdsLoader::IsExtensionSupported(ext.toUtf8()))
{
return DdsLoader::LoadImageFromFile(filename);
loadedImage = DdsLoader::LoadImageFromFile(filename);
}
else if (QtImageLoader::IsExtensionSupported(ext.toUtf8()))
{
return QtImageLoader::LoadImageFromFile(filename);
loadedImage = QtImageLoader::LoadImageFromFile(filename);
}
else if (ExrLoader::IsExtensionSupported(ext.toUtf8()))
{
return ExrLoader::LoadImageFromFile(filename);
loadedImage = ExrLoader::LoadImageFromFile(filename);
}
if (loadedImage)
{
if (IsHDRFormat(loadedImage->GetPixelFormat()))
{
loadedImage->AddImageFlags(EIF_HDR);
}
return loadedImage;
}
AZ_Warning("ImageProcessing", false, "No proper image loader to load file: %s", filename.c_str());