You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/AtomLyIntegration/CommonFeatures/Code
santorac 8fbd2aaaf5 Tied up a few loose ends to support deeply nested property groups.
Simplified the call back for MaterialTypeSourceData::EnumeratePropertyGroups while also providing more data.
Made the Material Inspector join nested property group display names to be like "Layer 1 | Base Color", since the leaf property groups are shown as a flat list in the inspector.
Fixed CreateMaterialAssetFromSourceData to include the imported json files in the list of sourceDependencies. This triggers the Material Editor to hot-reload when one of these json files changes.
Updated a few places that were still assuming only one level of property group.
Updated EditorMaterialComponentInspector to apply the per-property-group material functors, before it was still only applying the top-level onces.
Moved some accessor function implementations to the cpp files, per feedback on another already-merged PR.

Testing:
Made changes to MinimalMultilayerPbr (in AtomSampleViewer) to use nested property groups, and saw the correct behavior in the Material Editor's property inspector.
Used MaterialComponent's property inspector to edit a StandardPbr material instance. Confrimed that functors were correctly controlling property visibility by enabling and disabling things like emissive and clear coat.
Used MaterialComponent's property inspector to edit a MinimalMultilayerPbr material instance. Saw all the expected groups and properties show up. Confirmed that per-group functors were correctly controlling property visibility.
Used MaterialComponent's property inspector to export a material instance and confirmed the .material file included the expected properties.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
..
Include/AtomLyIntegration/CommonFeatures Adding ray tracing toggle to behavior context so it can be used with scripting. 4 years ago
Resources Add newlines to the end of all files 5 years ago
Source Tied up a few loose ends to support deeply nested property groups. 4 years ago
Tests Ensure render geometry is refreshed when the mesh component controller is moved (#6452) 4 years ago
CMakeLists.txt Ensure render geometry is refreshed when the mesh component controller is moved (#6452) 4 years ago
atomlyintegration_commonfeatures_editor_files.cmake Ensure render geometry is refreshed when the mesh component controller is moved (#6452) 4 years ago
atomlyintegration_commonfeatures_editor_test_files.cmake Ensure render geometry is refreshed when the mesh component controller is moved (#6452) 4 years ago
atomlyintegration_commonfeatures_files.cmake Editor HDR Color Grading Component implemented under the PostFx stack (#4159) 4 years ago
atomlyintegration_commonfeatures_public_files.cmake Editor HDR Color Grading Component implemented under the PostFx stack (#4159) 4 years ago
atomlyintegration_commonfeatures_shared_files.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago