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 commitd9f0a3012d) * 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 commitb640f6d691)
This commit is contained in:
@@ -193,7 +193,7 @@ namespace ImageProcessingAtom
|
||||
}
|
||||
|
||||
m_image->Get()->Swizzle(swizzle.c_str());
|
||||
if (!m_input->m_presetSetting.m_discardAlpha)
|
||||
if (m_input->m_presetSetting.m_discardAlpha)
|
||||
{
|
||||
m_alphaContent = EAlphaContent::eAlphaContent_Absent;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace ImageProcessingAtom
|
||||
const static AZ::u32 EIF_Decal = 0x4; // this is usually set through the preset
|
||||
const static AZ::u32 EIF_Greyscale = 0x8; // hint for the engine (e.g. greyscale light beams can be applied to shadow mask), can be for DXT1 because compression artfacts don't count as color
|
||||
const static AZ::u32 EIF_SupressEngineReduce = 0x10; // info for the engine: don't reduce texture resolution on this texture
|
||||
const static AZ::u32 EIF_UNUSED_BIT = 0x40; // Free to use
|
||||
const static AZ::u32 EIF_HDR = 0x40; // the image contains HDR data
|
||||
const static AZ::u32 EIF_AttachedAlpha = 0x400; // deprecated: info for the engine: it's a texture with attached alpha channel
|
||||
const static AZ::u32 EIF_SRGBRead = 0x800; // info for the engine: if gamma corrected rendering is on, this texture requires SRGBRead (it's not stored in linear)
|
||||
const static AZ::u32 EIF_DontResize = 0x8000; // info for the engine: for dds textures that shouldn't be resized
|
||||
|
||||
@@ -52,6 +52,24 @@ namespace ImageProcessingAtom
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsHDRFormat(EPixelFormat fmt)
|
||||
{
|
||||
switch (fmt)
|
||||
{
|
||||
case ePixelFormat_BC6UH:
|
||||
case ePixelFormat_R9G9B9E5:
|
||||
case ePixelFormat_R32G32B32A32F:
|
||||
case ePixelFormat_R32G32F:
|
||||
case ePixelFormat_R32F:
|
||||
case ePixelFormat_R16G16B16A16F:
|
||||
case ePixelFormat_R16G16F:
|
||||
case ePixelFormat_R16F:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
PixelFormatInfo::PixelFormatInfo(
|
||||
uint32_t a_bitsPerPixel,
|
||||
uint32_t a_Channels,
|
||||
|
||||
Reference in New Issue
Block a user