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/Atom/RPI/Code/Source/RPI.Reflect
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
..
Asset Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Buffer Updated all array_view uses with the C++20 span. (#7157) 4 years ago
Image Atom/qingtao/atom 16135 (#7334) 4 years ago
Material Tied up a few loose ends to support deeply nested property groups. 4 years ago
Model Updated all array_view uses with the C++20 span. (#7157) 4 years ago
Pass Throwing up Depth of Field WIP so Galib can investigate AP crash with shader processing 4 years ago
Shader Minor cleanup of some shader option related unit tests. 4 years ago
System Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Base.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
FeatureProcessorDescriptor.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
GpuQuerySystemDescriptor.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
RPISystemDescriptor.cpp ATOM-16237 Using setting registry to RPI system settings (#3663) 4 years ago
ResourcePoolAsset.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ResourcePoolAssetCreator.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago