Integrating latest from github/staging
Integrating up through commit 5e1bdae
This commit is contained in:
@@ -93,9 +93,9 @@ ly_add_source_properties(
|
||||
)
|
||||
|
||||
ly_add_target(
|
||||
NAME ImageProcessingAtom.Editor MODULE
|
||||
NAME ImageProcessingAtom.Editor GEM_MODULE
|
||||
|
||||
NAMESPACE Gem
|
||||
OUTPUT_NAME Gem.ImageProcessingAtom.Editor.9d10b00be96045caa64c705e5772cb64.v0.1.0
|
||||
FILES_CMAKE
|
||||
imageprocessingatom_shared_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <ImageLoader/ImageLoaders.h>
|
||||
#include <Processing/ImageAssetProducer.h>
|
||||
#include <Processing/ImageConvert.h>
|
||||
#include <Processing/ImageToProcess.h>
|
||||
#include <Processing/PixelFormatInfo.h>
|
||||
#include <AzFramework/API/ApplicationAPI.h>
|
||||
#include <AzCore/Serialization/EditContextConstants.inl>
|
||||
@@ -85,10 +86,13 @@ namespace ImageProcessingAtom
|
||||
|
||||
m_assetHandlers.emplace_back(AZ::RPI::MakeAssetHandler<AZ::RPI::ImageMipChainAssetHandler>());
|
||||
m_assetHandlers.emplace_back(AZ::RPI::MakeAssetHandler<AZ::RPI::StreamingImageAssetHandler>());
|
||||
|
||||
ImageProcessingRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
void BuilderPluginComponent::Deactivate()
|
||||
{
|
||||
ImageProcessingRequestBus::Handler::BusDisconnect();
|
||||
m_imageBuilder.BusDisconnect();
|
||||
BuilderSettingManager::DestroyInstance();
|
||||
CPixelFormats::DestroyInstance();
|
||||
@@ -125,6 +129,23 @@ namespace ImageProcessingAtom
|
||||
incompatible.push_back(AZ_CRC("ImagerBuilderPluginService", 0x6dc0db6e));
|
||||
}
|
||||
|
||||
IImageObjectPtr BuilderPluginComponent::LoadImage(const AZStd::string& filePath)
|
||||
{
|
||||
return IImageObjectPtr(LoadImageFromFile(filePath));
|
||||
}
|
||||
|
||||
IImageObjectPtr BuilderPluginComponent::LoadImagePreview(const AZStd::string& filePath)
|
||||
{
|
||||
IImageObjectPtr image(LoadImageFromFile(filePath));
|
||||
if (image)
|
||||
{
|
||||
ImageToProcess imageToProcess(image);
|
||||
imageToProcess.ConvertFormat(ePixelFormat_R8G8B8A8);
|
||||
return imageToProcess.Get();
|
||||
}
|
||||
return image;
|
||||
}
|
||||
|
||||
void ImageBuilderWorker::ShutDown()
|
||||
{
|
||||
// it is important to note that this will be called on a different thread than your process job thread
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <AssetBuilderSDK/AssetBuilderBusses.h>
|
||||
#include <AssetBuilderSDK/AssetBuilderSDK.h>
|
||||
#include <AzCore/Asset/AssetManager.h>
|
||||
#include <Atom/ImageProcessing/ImageProcessingBus.h>
|
||||
|
||||
namespace ImageProcessingAtom
|
||||
{
|
||||
@@ -45,6 +46,7 @@ namespace ImageProcessingAtom
|
||||
//! BuilderPluginComponent is to handle the lifecycle of ImageBuilder module.
|
||||
class BuilderPluginComponent
|
||||
: public AZ::Component
|
||||
, protected ImageProcessingRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(BuilderPluginComponent, "{A227F803-D2E4-406E-93EC-121EF45A64A1}")
|
||||
@@ -63,6 +65,12 @@ namespace ImageProcessingAtom
|
||||
static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// AtomImageProcessingRequestBus interface implementation
|
||||
IImageObjectPtr LoadImage(const AZStd::string& filePath) override;
|
||||
IImageObjectPtr LoadImagePreview(const AZStd::string& filePath) override;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private:
|
||||
BuilderPluginComponent(const BuilderPluginComponent&) = delete;
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ namespace ImageProcessingAtom
|
||||
IImageObjectPtr LoadImagePreview(const AZStd::string& filePath) override;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// AZ::Component interface implementation
|
||||
void Init() override;
|
||||
|
||||
@@ -110,8 +110,9 @@ namespace UnitTest
|
||||
SerializeContext* GetSerializeContext() override { return m_context.get(); }
|
||||
BehaviorContext* GetBehaviorContext() override { return nullptr; }
|
||||
AZ::JsonRegistrationContext* GetJsonRegistrationContext() override { return m_jsonRegistrationContext.get(); }
|
||||
const char* GetExecutableFolder() const override { return nullptr; }
|
||||
const char* GetAppRoot() const override { return nullptr; }
|
||||
const char* GetEngineRoot() const override { return nullptr; }
|
||||
const char* GetExecutableFolder() const override { return nullptr; }
|
||||
Debug::DrillerManager* GetDrillerManager() override { return nullptr; }
|
||||
void EnumerateEntities(const EntityCallback& /*callback*/) override {}
|
||||
void QueryApplicationType(AZ::ApplicationTypeQuery& /*appType*/) const override {}
|
||||
@@ -159,7 +160,7 @@ namespace UnitTest
|
||||
m_jsonSystemComponent = AZStd::make_unique<AZ::JsonSystemComponent>();
|
||||
m_jsonSystemComponent->Reflect(m_jsonRegistrationContext.get());
|
||||
BuilderPluginComponent::Reflect(m_jsonRegistrationContext.get());
|
||||
|
||||
|
||||
// Startup default local FileIO (hits OSAllocator) if not already setup.
|
||||
if (AZ::IO::FileIOBase::GetInstance() == nullptr)
|
||||
{
|
||||
@@ -171,7 +172,7 @@ namespace UnitTest
|
||||
|
||||
m_gemFolder = AZ::Test::GetEngineRootPath() + "/Gems/Atom/Asset/ImageProcessingAtom/";
|
||||
s_gemFolder = m_gemFolder.c_str();
|
||||
|
||||
|
||||
m_defaultSettingFolder = m_gemFolder + AZStd::string("Config/");
|
||||
m_testFileFolder = m_gemFolder + AZStd::string("Code/Tests/TestAssets/");
|
||||
|
||||
@@ -192,7 +193,7 @@ namespace UnitTest
|
||||
|
||||
delete AZ::IO::FileIOBase::GetInstance();
|
||||
AZ::IO::FileIOBase::SetInstance(nullptr);
|
||||
|
||||
|
||||
m_jsonRegistrationContext->EnableRemoveReflection();
|
||||
m_jsonSystemComponent->Reflect(m_jsonRegistrationContext.get());
|
||||
BuilderPluginComponent::Reflect(m_jsonRegistrationContext.get());
|
||||
@@ -916,7 +917,7 @@ namespace UnitTest
|
||||
imageToProcess.LinearToGamma();
|
||||
SaveImageToFile(imageToProcess.Get(), "LinearToGamma_DeGamma", 1);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(ImageProcessingTest, VerifyRestrictedPlatform)
|
||||
{
|
||||
auto outcome = BuilderSettingManager::Instance()->LoadConfigFromFolder(m_defaultSettingFolder);
|
||||
@@ -1005,7 +1006,7 @@ namespace UnitTest
|
||||
TEST_F(ImageProcessingTest, DISABLED_TestLoadDdsImage)
|
||||
{
|
||||
IImageObjectPtr originImage, alphaImage;
|
||||
AZStd::string inputFolder = "../Cache/SamplesProject/pc/samplesproject/engineassets/texturemsg/";
|
||||
AZStd::string inputFolder = "../SamplesProject/Cache/pc/engineassets/texturemsg/";
|
||||
AZStd::string inputFile;
|
||||
|
||||
inputFile = "E:/Javelin_NWLYDev/dev/Cache/Assets/pc/assets/textures/blend_maps/moss/jav_moss_ddn.dds";
|
||||
@@ -1074,7 +1075,7 @@ namespace UnitTest
|
||||
}
|
||||
f.close();
|
||||
}
|
||||
|
||||
|
||||
TEST_F(ImageProcessingTest, TextureSettingReflect_SerializingModernDataInAndOut_WritesAndParsesFileAccurately)
|
||||
{
|
||||
AZStd::string filepath = "test.xml";
|
||||
|
||||
Reference in New Issue
Block a user