From 44601b7a38ef5e00a7cbc58d054e6da7001d8fe8 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Tue, 18 May 2021 22:45:43 -0700 Subject: [PATCH] Some refactoring --- .../DisplayMapper/AcesOutputTransformPass.h | 4 +-- .../DisplayMapperConfigurationDescriptor.h | 18 +++++------ .../DisplayMapper/AcesOutputTransformPass.cpp | 2 +- .../DisplayMapperConfigurationDescriptor.cpp | 32 +++++++++---------- .../DisplayMapperComponentConfig.h | 2 +- .../DisplayMapperComponentConfig.cpp | 2 +- .../EditorDisplayMapperComponent.cpp | 30 ++++++++--------- 7 files changed, 45 insertions(+), 45 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h index e891344bdd..5a0ccdb32a 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h @@ -46,7 +46,7 @@ namespace AZ static RPI::Ptr Create(const RPI::PassDescriptor& descriptor); void SetDisplayBufferFormat(RHI::Format format); - void SetAcesParameterOverrides(const DisplayMapperAcesParameters& acesParameterOverrides); + void SetAcesParameterOverrides(const AcesParameterOverrides& acesParameterOverrides); private: explicit AcesOutputTransformPass(const RPI::PassDescriptor& descriptor); @@ -67,7 +67,7 @@ namespace AZ RHI::Format m_displayBufferFormat = RHI::Format::Unknown; - DisplayMapperAcesParameters m_acesParameterOverrides; + AcesParameterOverrides m_acesParameterOverrides; }; } // namespace Render } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperConfigurationDescriptor.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperConfigurationDescriptor.h index ca63fc054a..e7042589ba 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperConfigurationDescriptor.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperConfigurationDescriptor.h @@ -25,13 +25,13 @@ namespace AZ namespace Render { /** - * The ACES display mapper parameters. - * These parameters are input to the display mapper shader on the DisplayMapperPass. + * The ACES display mapper parameter overrides. + * These parameters override default ACES parameters when m_overrideDefaults is true. */ - struct DisplayMapperAcesParameters + struct AcesParameterOverrides { - AZ_RTTI(DisplayMapperAcesParameters, "{3EE8C0D4-3792-46C0-B91C-B89A81C36B91}"); - AZ_CLASS_ALLOCATOR(DisplayMapperAcesParameters, SystemAllocator, 0); + AZ_RTTI(AcesParameterOverrides, "{3EE8C0D4-3792-46C0-B91C-B89A81C36B91}"); + AZ_CLASS_ALLOCATOR(AcesParameterOverrides, SystemAllocator, 0); static void Reflect(ReflectContext* context); @@ -39,11 +39,11 @@ namespace AZ bool m_overrideDefaults = false; // Apply gamma adjustment to compensate for dim surround - bool m_alterSurround; + bool m_alterSurround = true; // Apply desaturation to compensate for luminance difference - bool m_applyDesaturation; + bool m_applyDesaturation = true; // Apply Color appearance transform (CAT) from ACES white point to assumed observer adapted white point - bool m_applyCATD60toD65; + bool m_applyCATD60toD65 = true; // Reference white and black luminance values float m_cinemaLimitsBlack = 0.02f; @@ -82,7 +82,7 @@ namespace AZ bool m_ldrGradingLutEnabled = false; Data::Asset m_ldrColorGradingLut; - DisplayMapperAcesParameters m_acesParameterOverrides; + AcesParameterOverrides m_acesParameterOverrides; }; //! Custom pass data for DisplayMapperPass. diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp index 1defb572aa..b7042b83fc 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp @@ -129,7 +129,7 @@ namespace AZ } } - void AcesOutputTransformPass::SetAcesParameterOverrides(const DisplayMapperAcesParameters& acesParameterOverrides) + void AcesOutputTransformPass::SetAcesParameterOverrides(const AcesParameterOverrides& acesParameterOverrides) { m_acesParameterOverrides = acesParameterOverrides; } diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperConfigurationDescriptor.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperConfigurationDescriptor.cpp index eb73f310c0..ddd440aa88 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperConfigurationDescriptor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperConfigurationDescriptor.cpp @@ -19,28 +19,28 @@ namespace AZ { namespace Render { - void DisplayMapperAcesParameters::Reflect(ReflectContext* context) + void AcesParameterOverrides::Reflect(ReflectContext* context) { if (auto serializeContext = azrtti_cast(context)) { - serializeContext->Class() + serializeContext->Class() ->Version(0) - ->Field("OverrideDefaults", &DisplayMapperAcesParameters::m_overrideDefaults) - ->Field("AlterSurround", &DisplayMapperAcesParameters::m_alterSurround) - ->Field("ApplyDesaturation", &DisplayMapperAcesParameters::m_applyDesaturation) - ->Field("ApplyCATD60toD65", &DisplayMapperAcesParameters::m_applyCATD60toD65) - ->Field("PresetODT", &DisplayMapperAcesParameters::m_preset) - ->Field("CinemaLimitsBlack", &DisplayMapperAcesParameters::m_cinemaLimitsBlack) - ->Field("CinemaLimitsWhite", &DisplayMapperAcesParameters::m_cinemaLimitsWhite) - ->Field("MinPoint", &DisplayMapperAcesParameters::m_minPoint) - ->Field("MidPoint", &DisplayMapperAcesParameters::m_midPoint) - ->Field("MaxPoint", &DisplayMapperAcesParameters::m_maxPoint) - ->Field("SurroundGamma", &DisplayMapperAcesParameters::m_surroundGamma) - ->Field("Gamma", &DisplayMapperAcesParameters::m_gamma); + ->Field("OverrideDefaults", &AcesParameterOverrides::m_overrideDefaults) + ->Field("AlterSurround", &AcesParameterOverrides::m_alterSurround) + ->Field("ApplyDesaturation", &AcesParameterOverrides::m_applyDesaturation) + ->Field("ApplyCATD60toD65", &AcesParameterOverrides::m_applyCATD60toD65) + ->Field("PresetODT", &AcesParameterOverrides::m_preset) + ->Field("CinemaLimitsBlack", &AcesParameterOverrides::m_cinemaLimitsBlack) + ->Field("CinemaLimitsWhite", &AcesParameterOverrides::m_cinemaLimitsWhite) + ->Field("MinPoint", &AcesParameterOverrides::m_minPoint) + ->Field("MidPoint", &AcesParameterOverrides::m_midPoint) + ->Field("MaxPoint", &AcesParameterOverrides::m_maxPoint) + ->Field("SurroundGamma", &AcesParameterOverrides::m_surroundGamma) + ->Field("Gamma", &AcesParameterOverrides::m_gamma); } } - void DisplayMapperAcesParameters::LoadPreset() + void AcesParameterOverrides::LoadPreset() { DisplayMapperParameters displayMapperParameters; AcesDisplayMapperFeatureProcessor::GetAcesDisplayMapperParameters(&displayMapperParameters, m_preset); @@ -59,7 +59,7 @@ namespace AZ void DisplayMapperConfigurationDescriptor::Reflect(AZ::ReflectContext* context) { - DisplayMapperAcesParameters::Reflect(context); + AcesParameterOverrides::Reflect(context); if (auto* serializeContext = azrtti_cast(context)) { diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Include/AtomLyIntegration/CommonFeatures/PostProcess/DisplayMapper/DisplayMapperComponentConfig.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Include/AtomLyIntegration/CommonFeatures/PostProcess/DisplayMapper/DisplayMapperComponentConfig.h index f3e3c63f5a..3c5bcbea00 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Include/AtomLyIntegration/CommonFeatures/PostProcess/DisplayMapper/DisplayMapperComponentConfig.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Include/AtomLyIntegration/CommonFeatures/PostProcess/DisplayMapper/DisplayMapperComponentConfig.h @@ -32,7 +32,7 @@ namespace AZ DisplayMapperOperationType m_displayMapperOperation = DisplayMapperOperationType::Aces; bool m_ldrColorGradingLutEnabled = false; Data::Asset m_ldrColorGradingLut = {}; - DisplayMapperAcesParameters m_acesParameterOverrides; + AcesParameterOverrides m_acesParameterOverrides; }; } } diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/DisplayMapperComponentConfig.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/DisplayMapperComponentConfig.cpp index 94b7dd6fb0..9829cc2516 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/DisplayMapperComponentConfig.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/DisplayMapperComponentConfig.cpp @@ -27,7 +27,7 @@ namespace AZ ->Field("DisplayMapperOperationType", &DisplayMapperComponentConfig::m_displayMapperOperation) ->Field("LdrColorGradingLutEnabled", &DisplayMapperComponentConfig::m_ldrColorGradingLutEnabled) ->Field("LdrColorGradingLut", &DisplayMapperComponentConfig::m_ldrColorGradingLut) - ->Field("AcesParameters", &DisplayMapperComponentConfig::m_acesParameterOverrides) + ->Field("AcesParameterOverrides", &DisplayMapperComponentConfig::m_acesParameterOverrides) ; } } diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/EditorDisplayMapperComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/EditorDisplayMapperComponent.cpp index 9b0e5a9553..64cd450940 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/EditorDisplayMapperComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/PostProcess/DisplayMapper/EditorDisplayMapperComponent.cpp @@ -49,58 +49,58 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ; - editContext->Class( - "DisplayMapperAcesParameters", "") + editContext->Class( + "AcesParameterOverrides", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement( - AZ::Edit::UIHandlers::CheckBox, &DisplayMapperAcesParameters::m_overrideDefaults, "Override Defaults", + AZ::Edit::UIHandlers::CheckBox, &AcesParameterOverrides::m_overrideDefaults, "Override Defaults", "When enabled allows parameter overrides for ACES configuration") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - AZ::Edit::UIHandlers::CheckBox, &DisplayMapperAcesParameters::m_alterSurround, "Alter Surround", + AZ::Edit::UIHandlers::CheckBox, &AcesParameterOverrides::m_alterSurround, "Alter Surround", "Apply gamma adjustment to compensate for dim surround") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - AZ::Edit::UIHandlers::CheckBox, &DisplayMapperAcesParameters::m_applyDesaturation, "Alter Desaturation", + AZ::Edit::UIHandlers::CheckBox, &AcesParameterOverrides::m_applyDesaturation, "Alter Desaturation", "Apply desaturation to compensate for luminance difference") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - AZ::Edit::UIHandlers::CheckBox, &DisplayMapperAcesParameters::m_applyCATD60toD65, "Alter CAT D60 to D65", + AZ::Edit::UIHandlers::CheckBox, &AcesParameterOverrides::m_applyCATD60toD65, "Alter CAT D60 to D65", "Apply Color appearance transform (CAT) from ACES white point to assumed observer adapted white point") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - Edit::UIHandlers::Default, &DisplayMapperAcesParameters::m_cinemaLimitsBlack, + Edit::UIHandlers::Default, &AcesParameterOverrides::m_cinemaLimitsBlack, "Cinema Limit (black)", "Reference black luminance value") ->DataElement( - Edit::UIHandlers::Default, &DisplayMapperAcesParameters::m_cinemaLimitsWhite, + Edit::UIHandlers::Default, &AcesParameterOverrides::m_cinemaLimitsWhite, "Cinema Limit (white)", "Reference white luminance value") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - Edit::UIHandlers::Vector2, &DisplayMapperAcesParameters::m_minPoint, "Min Point (luminance)", + Edit::UIHandlers::Vector2, &AcesParameterOverrides::m_minPoint, "Min Point (luminance)", "Linear extension below this") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - Edit::UIHandlers::Vector2, &DisplayMapperAcesParameters::m_midPoint, "Mid Point (luminance)", + Edit::UIHandlers::Vector2, &AcesParameterOverrides::m_midPoint, "Mid Point (luminance)", "Middle gray") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - Edit::UIHandlers::Vector2, &DisplayMapperAcesParameters::m_maxPoint, "Max Point (luminance)", + Edit::UIHandlers::Vector2, &AcesParameterOverrides::m_maxPoint, "Max Point (luminance)", "Linear extension above this") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - AZ::Edit::UIHandlers::Default, &DisplayMapperAcesParameters::m_surroundGamma, "Surround Gamma", + AZ::Edit::UIHandlers::Default, &AcesParameterOverrides::m_surroundGamma, "Surround Gamma", "Gamma adjustment to be applied to compensate for the condition of the viewing environment") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) ->DataElement( - AZ::Edit::UIHandlers::Default, &DisplayMapperAcesParameters::m_gamma, "Gamma", + AZ::Edit::UIHandlers::Default, &AcesParameterOverrides::m_gamma, "Gamma", "Optional gamma value that is applied as basic gamma curve OETF") ->Attribute(Edit::Attributes::ChangeNotify, Edit::PropertyRefreshLevels::ValuesOnly) @@ -108,14 +108,14 @@ namespace AZ ->ClassElement(AZ::Edit::ClassElements::Group, "Load Preset") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement( - Edit::UIHandlers::ComboBox, &DisplayMapperAcesParameters::m_preset, "Preset Selection", + Edit::UIHandlers::ComboBox, &AcesParameterOverrides::m_preset, "Preset Selection", "Allows specifying default preset for different ODT modes") ->EnumAttribute(OutputDeviceTransformType::OutputDeviceTransformType_48Nits, "48 Nits") ->EnumAttribute(OutputDeviceTransformType::OutputDeviceTransformType_1000Nits, "1000 Nits") ->EnumAttribute(OutputDeviceTransformType::OutputDeviceTransformType_2000Nits, "2000 Nits") ->EnumAttribute(OutputDeviceTransformType::OutputDeviceTransformType_4000Nits, "4000 Nits") ->UIElement(AZ::Edit::UIHandlers::Button, "Load", "Load default preset") - ->Attribute(AZ::Edit::Attributes::ChangeNotify, &DisplayMapperAcesParameters::LoadPreset) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &AcesParameterOverrides::LoadPreset) ->Attribute(AZ::Edit::Attributes::ButtonText, "Load") ;