Commit Graph

488 Commits (development)

Author SHA1 Message Date
Guthrie Adams 76b4dafbb3 Everything compiling again after moving preview renderer to atom tools framework
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 569318e9e1 Moved preview renderer files to atom tools framework
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams ab5547fdf7 • Created interface for preview rendering content
• moved all thumbnail classes and registration back to the common feature editor component
• added lighting preset thumbnail as a quick test

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams c90e1da475 • Moved everything related to the subject being captured by the preview renderer into a preview render content class which will become an interface in the next iteration
• Extracted all of the thumbnail specific code from the common preview render class as a step towards separating it from the thumbnail system completely
• Created a capture request structure that stores all of the info related to the content being captured and callbacks for success and failure
• Request to capture any kind of content can be added to the renderer using this structure

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 58194b70c0 Updated code to compile and reflect changes after renaming files
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams dd5272c2ae Renaming/moving preview renderer files
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 3c50fdc671 First phase of refactoring atom thumbnail and preview rendering into a reusable system that can be used for additional thumbnail types and capturing preview images for other purposes. Our
• Removed classes for initialization and teardown steps of the renderer
• Moved initialization and teardown logic back to the renderer constructor and destructor
• Combined thumbnail render context and data with the main renderer class
• Made all render data private and instead implemented a public interface
• Remaining steps were simplified and updated to work directly with the new public interface
• Changed the waiting for assets to load state to poll asset status on tick because we were timing out there anyway
• Unified redundant camera configuration variables and made sure they were used consistently when initializing and updating the scene and camera
• Changed interface for custom feature processor request API to build a set instead of returning a vector
• Moved initialization of the thumbnail renderer and preview factory after asset catalog has loaded

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
lumberyard-employee-dm f648cb1fd8
Update the FileIO Aliases (#4186)
* Update the FileIOAlias naming to make the cache, project root and engine
root paths more clear

The alias of `@root@`, `@assets@`, and `@projectplatformcache@` has been
collapsed to `@projectproductassets@`

The alias of `@devroot@` and `@engroot@` has been collapsed to
`@engroot@`

The alias of `@devassets@` and `@projectroot@` has been collapsed to
`@projectroot@`

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated use of devassets and devroot properties in python

Those properties now use projectroot and engroot

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updating the alias @engroot@ alias path comment in each platform specific LocalFileIO_*.cpp file

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed hardcoded size of 9 for the product asset alias.

The ResolvePath function now just appends the @projectproductassets@
alias with the input path

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Remove duplicate @projectproductassets@ check in ProcessFileTreeRequest

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fix for typos in Hydra python test

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated LocalFileIO::Copy call on Windows to use the Unicode aware CopyFileW API

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the AWSMetreicsGemAllocatorFixture to properly suppress asset
cache write errors for Test file creation.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed unneeded call to set the @projectproductasstes@ alias at the bottom of the AssetSeedManagerTest SetUp

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added a deprecated alias map to the FileIO System

When a deprecated alias is accessed, the FileIO System logs an AZ_Error and indicates the alias that should be used

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated python test scripts to use the projectroot binding

Retrieving the AutomatedTesting project path based on "<devroot>/AutomatedTesting" has been removed.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated references to devroot and devgame within the codebase

The GetAbsoluteDevGameFolderPath functions has been replaced with direct call to AZ::Utils::GetProjectPath
The GetAbsoluteDevRootFolderPath functions has been replaced with direct calls to AZ::Utils::GetEnginePath

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated <engroot>/AutomatedTesting references to projectroot


Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Replaced references that assumes the project path is <engroot>/AutomatedTesting with <projectroot> in the AutomatedTesting python test

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Correct casing in emfxworkspace file


Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed newly added AppendPathParts function
Removed the Path constructors which accepts a PathIterable instance

The PathIterable isn't safe to return to a user of the Path class as it might be referencing temporary paths supplied via PathView arguments

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed unused parameter warning

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Undid change to the LexicallyProximate function to set the path result to the base path.

It needs to return the *this path if the pathResult is empty

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Moved the LocalFileIO ConvertToAbsolutePath implementations to AZ::Utils

Fixed the ConvertToAbsolutePath implementation for Unix platforms to use a buffer that is size PATH_MAX(4096 on all our supported Unix platforms).
Because the buffer before was AZ::IO::MaxPathLength which as a size of 1024, this was resulting in the Unix `realpath` function smashing the stack when it converts a path to an absolute path that is longer than 1024 characters

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the EditorCore.Tests to attach the AZ Environment to the EditorCore shared library that is statically loaded on launch.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed for DeprecatedAlaisesKeyVisitor Visit function causing the non string_view overloads being hidden causing a hidden base class function warning

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Changed the AWSMetricsGemMock to use a temporary for writing test assets

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the LocalFileIO::ResolvePath function to use HasRootPath to determine if a path starts with a root path such as "D:", "D:/" or "/"

IsAbsolute was not the corect check as the path of "D:" is a relative
path.
To be absolute according to the Windows the path must have a root
directory. i.e "D:/" or "D:\"

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed absolute path comment from LocalFile_UnixLike.cpp and LocalFile_Android.cpp FindFiles implementations
Updated the ConvertToAlias to supply an AZ::IO::FixedMaxPath

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Replaced usage of the @projectproductassets@ alias with @engroot@ when referring to the LmbrCentral source folder in the CopyDependencyBuilderTest and the SeedBuilderTests

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the ScriptCanvas Upgrade Tool to output backed up files to the
Project User Path instead of the engine root

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed whitespacing issues in Application.cpp

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Remove unnecessary creation of a FixedMaxPath in the UpgradeTool.cpp

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Modified testSeedFolder variable in the SeedBuilderTests to use the
@engroot@ alias instead of @projectproductassets@/.. alias when
referring to the LmbrCentral Gem source path

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated references to the Project Asset Cache in the PythonTests.

Those tests no longer use the logic `azlmbr.paths.projectroot / "Cache" / "pc"` to retrieve a path to the cache root but instead the `azlmbr.paths.projectproductassets` constant

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed the FileIO Deprecated Alias test on Windows

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removing @projectsourceassets@ alias, as it is only used once.

Updated the PhysX EditorSystemComponent.cpp to query the ProjectPath
form the SettingsRegistry.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Replaced @projectproductassets@ alias with @products@

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Rollback changes to the PhysX EditorSystemComponent.cpp

The changes to use the ProjectPath from the SettingsRegistry has been implemented in PR #4497

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
hershey5045 d8549f9566
Merge branch 'development' into Atom/rbarrand/MaterialVersionUpdate 4 years ago
Tommy Walton aef1f01de2
Expose OnModelReady to behavior context for hydra automation (#4331)
* Expose OnModelReady to behavior context for hydra automation

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Adding assets used by the hydra test to Atom/TestData

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Attempt to fix line ending

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Moving behavior context for mesh notification bus to the component controller

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Changed the AssetManager DispatchEvents function to continously pump the
AssetBus of queued functions until empty.

This replicates the old behavior of the EBusQueuePolicy::Execute
function that would continue to execute functions if new ones were added
during the execution of the current queue.

Split the TestFixture class from the AssetHandler and EBus handler for the DynamicSliceInstanceSpawnerTests and
PrefabInstanceSpawnerTest.
This avoids the AssetMananager destructor from deleting the test fixture
if the call to UnregisterHandler is ever removed. This also allows the
memory allocators to get online earlier.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removing an incorrect [[maybe_unused]]

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Moving incorrectly placed [[maybe_unused]]

Signed-off-by: amzn-tommy <waltont@amazon.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Guthrie Adams 09c6101b8b
Merge pull request #4416 from aws-lumberyard-dev/Atom/mriegger/stopdecalflickering
Adding some code to cache the material in the editor component to avo…
4 years ago
Adi Bar-Lev 9786d63596
Hair - Hair Gem introduction to O3DE from Atom/barlev/AtomTressFX_DevRebase (#4439)
* Hair
- First introduction of Hair gem to Atom and O3DE
- The hair technology is based off TressFX 4.1
- These are some of the areas we enhanced the original TressFX implementation:
   - Lighting model was replaced and we now use a modified Marschner model
   - Blending is done directly with the back buffer removing the silhouette of the original implementation
   - Hair depth / thickness is now calculated to remove incorrect back lighting (TT lobe in the Marschner model)
   - Thickness corrected to handle hair gaps hence introducing better light passage for the TT
   - The hair is fully integrated into the Atom pipeline and structure design
   - Usage of single shared buffer for the computer buffers reduces barriers sync overhead

Remarks:
- Collisions via SDF compute are to be introduced soon
- Improved shortcut rendering method ala Eidos Montreal to be introduced soon

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - code clean pass

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - EMFX Actor visibility implementation

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - COnnecting hair passes to Atom's MainPipeline.pass

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - adding dedicated thumbnail pipeline that does not include the hair gem

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - changed Atom shader files to allow hooking the hair to the lighting data structures

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixed a few headers to have the latest O3DE license + verification fixes

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - enabling editor component only when tool pipline is built + default texture add

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixing Linux and Android compilation builds

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - another files change to make Linux compile

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - more Linux and Android build fixes

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair

- Adding usage of fallback white texture
- Removing invalid null assignments into vectors
- Removing redundant mutex preventing deletion on some platforms

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair

- Shame: removed forgoten #pragma optimize
- Adding header complained by Android

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - removing the Hair Gem connection in the active project.

- This submission removes the connection to the active project hence allowing to run without the Gem.  Enable the passes in MainPipeline.pass and declare them again when you want to use the Gem.

Remark: the gem file PassTemplates.azasset was renamed and will be connected via code in the future to avoid the need to declare in the global pass template.
Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - registrating gem pass templates through the gem templates file (#198)

* Hair - registrating gem pass templates through the gem templates file

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - adding handler disconnect for the pass template registration.

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - PPLLIndexCounter buffer going data driven via the pass declarations (#202)

* Hair - PPLLIndexCounter buffer going data driven via the pass declaration
- Moving PPLLIndexCounter from code allocation and attachment to be data driven
- Fixed RPI typo bug that can prevent using buffers like that

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixing UI Editor (LYShine) crash (#209)

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair - resolved the multi pipeline mismatches and crashes + cleaned initialization & leftovers (#222)

* [Hair] - multiple render pipelines handling

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - Shut down order is handle to allow hair feature processor be deregistered only after the bootstrap component has disabled it

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - minor cleanups

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - followups from review nits

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - code fixes based on the CR remarks for the Hair merge to Dev (#248)

* Hair
- First introduction of Hair gem to Atom and O3DE
- The hair technology is based off TressFX 4.1
- These are some of the areas we enhanced the original TressFX implementation:
   - Lighting model was replaced and we now use a modified Marschner model
   - Blending is done directly with the back buffer removing the silhouette of the original implementation
   - Hair depth / thickness is now calculated to remove incorrect back lighting (TT lobe in the Marschner model)
   - Thickness corrected to handle hair gaps hence introducing better light passage for the TT
   - The hair is fully integrated into the Atom pipeline and structure design
   - Usage of single shared buffer for the computer buffers reduces barriers sync overhead

Remarks:
- Collisions via SDF compute are to be introduced soon
- Improved shortcut rendering method ala Eidos Montreal to be introduced soon

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - code clean pass

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - EMFX Actor visibility implementation

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - COnnecting hair passes to Atom's MainPipeline.pass

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - adding dedicated thumbnail pipeline that does not include the hair gem

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - changed Atom shader files to allow hooking the hair to the lighting data structures

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixed a few headers to have the latest O3DE license + verification fixes

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - enabling editor component only when tool pipline is built + default texture add

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixing Linux and Android compilation builds

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - another files change to make Linux compile

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - more Linux and Android build fixes

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair

- Adding usage of fallback white texture
- Removing invalid null assignments into vectors
- Removing redundant mutex preventing deletion on some platforms

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair

- Shame: removed forgoten #pragma optimize
- Adding header complained by Android

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - removing the Hair Gem connection in the active project.

- This submission removes the connection to the active project hence allowing to run without the Gem.  Enable the passes in MainPipeline.pass and declare them again when you want to use the Gem.

Remark: the gem file PassTemplates.azasset was renamed and will be connected via code in the future to avoid the need to declare in the global pass template.
Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - registrating gem pass templates through the gem templates file (#198)

* Hair - registrating gem pass templates through the gem templates file

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - adding handler disconnect for the pass template registration.

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - PPLLIndexCounter buffer going data driven via the pass declarations (#202)

* Hair - PPLLIndexCounter buffer going data driven via the pass declaration
- Moving PPLLIndexCounter from code allocation and attachment to be data driven
- Fixed RPI typo bug that can prevent using buffers like that

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixing UI Editor (LYShine) crash (#209)

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair - resolved the multi pipeline mismatches and crashes + cleaned initialization & leftovers (#222)

* [Hair] - multiple render pipelines handling

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - Shut down order is handle to allow hair feature processor be deregistered only after the bootstrap component has disabled it

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - minor cleanups

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* [Hair] - followups from review nits

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - last fixes based on CR remarks

Signed-off-by: Adi-Amazon <barlev@amazon.com>

* Hair - fixing AR

Signed-off-by: Adi-Amazon <barlev@amazon.com>
4 years ago
Guthrie Adams 050de68f7d Merge branch 'development' into Atom/guthadam/material_editor_replace_modified_color_with_indicator
Signed-off-by: Guthrie Adams <guthadam@amazon.com>

# Conflicts:
#	Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialInspector/MaterialInspector.cpp
#	Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialInspector/MaterialInspector.h
#	Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentInspector.cpp
#	Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentInspector.h
4 years ago
mrieggeramzn b3d7de1e78 Improvements. You can now call SetDecalMaterial() with any permutation and it works as expected
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
Steve Pham 799ab8585b
Update MaterialEditor launcher to use platform traits for executable extensions (#4429)
Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Guthrie Adams e29726ad52
Merge pull request #4398 from aws-lumberyard-dev/Atom/amzn-tommy/ATOM-13339_RemoveModelAssetIdFixupFunction
Remove FixUpModelAsset
4 years ago
amzn-tommy 44afede58a Merge remote-tracking branch 'upstream/development' into Atom/amzn-tommy/ATOM-13339_RemoveModelAssetIdFixupFunction
Signed-off-by: amzn-tommy <waltont@amazon.com>
4 years ago
santorac c0d8020786 Merge branch 'development' into Atom/santorac/RemixableMaterialTypes 4 years ago
santorac 62e268bec7 Merge branch 'development' into Atom/santorac/RemixableMaterialTypes 4 years ago
santorac 1a99103999 Overhauled the .materialtype file format to group all related properties data together. This prepares the way for a number of possible improvements, especially unlocking the ability to factor out material type configuration to be shared by multiple material types.
Here we formalize the concept of a Property Set, which replaces property "groups", containing the group name and description, properties, and functors all in one place.
The Property Set structure will allow arbitrarily deep nesting, whereas before you only had one level of grouping. This nesting is not fully supported yet throughout the system, particularly in the Material Editor. It was easier to go ahead and put in some of the nesting mechanims, parituclar in the implementation of MaterialTypeSourceData.
This change is backward compatible, which is proved with unit tests, and by the fact that only MinimalPBR.materialtype has been updated to the new format. StandardPBR, EnhancedPBR, and others are still using the old format. (In a subsequent commit I'll update these as well, to prove that the new format works correctly).

Other changes and improvements...
- A new constructor for MaterialPropertyId
- Improved API for MaterialTypeSourceData that hides a good deal more of it's data as private, with clear and convenient APIs. Especially AddProperty, AddPropertySet, FindProperty, FindPropertySet, EnumerateProperties, EnumeratePropertySets.
- Added lots of new unit tests
- Updated MinimalPBR.materialtype to the new format.

Testing:
- Updated unit tests.
- Reprocessed Atom material assets.
- Ran AtomSampleViewer material screenshot test.
- Opened, edited, saved material in the Material Editor.
- Opened a level, edited material property overrides, saved and reloaded.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
amzn-tommy 96d833fc4e Removing a function that was originally added to convert model asset ids in levels that were created prior to December 2020, which pre-dates anything created for the public O3DE release.
Signed-off-by: amzn-tommy <waltont@amazon.com>
4 years ago
Guthrie Adams 4c9f456ea5 Merge branch 'development' into Atom/guthadam/material_component_supports_property_overrides_without_material_overrides
Signed-off-by: Guthrie Adams <guthadam@amazon.com>

# Conflicts:
#	Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/MaterialComponentController.cpp
4 years ago
Artur K f44169f7fa
Cleanup SerializeContext.h pt.1 (#4264)
* Remove AssetSerializer inclusion from SerializeContext header

Moved a few Reflect methods to new cpp files.

In addition, some preparations for further header dependency reductions.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix smoke test lua failures.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Windows build fixes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Missing license headers

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix white-space issues.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Code review fix for AzToolsFramework/AssetEditor/AssetEditorBus.h

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix inheritance list wrapping broken by older clang-format

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
santorac a7c1bf2ec5 Merge branch 'Atom/santorac/RemixableMaterialTypes' into Atom/santorac/RemixableMaterialTypes2 4 years ago
santorac 3753ee6f1c Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes 4 years ago
Guthrie Adams f8374b76b7 Added modified property indicator icon to material property inspector in material component
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Robin 2607b3471a Resolve PR comments. Add unit tests.
Signed-off-by: Robin <rbarrand@amazon.com>
4 years ago
Pinfel bf58638505
Merge remote-tracking branch 'origin/development' into component-doc-links 4 years ago
Guthrie Adams b0ea4ac389 moved code for applying properties to MaterialAssignment
added lambdas for queuing and updating assets

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams ebcf3723f9 Material Component: Can set material property overrides on default materials
No longer need to assign material overrides to set/edit properties in UI or script
Material component will load and use the default material for a slot if no override is assigned

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
dmcdiarmid-ly 2c55ad5379
Merge pull request #4202 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-4126
Change the Reflection Probe component to an OBB
4 years ago
dmcdiar 3961d2724e Merge branch 'development' into Atom/dmcdiar/ATOM-4126 4 years ago
mrieggeramzn 50fabb1bf7
Atom/mriegger/fixupname (#4187)
* Removing atom from the Decal (atom) name
* Decal component can take advantage of non-uniform scale option
* Using the base class nonuniform scale property rather than firing an event
* removing pragma optimize off
* Python tests need the updated name

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
hershey5045 30da67fe7d
Editor HDR Color Grading Component implemented under the PostFx stack (#4159)
* Add HDR color grading pass and shaders.

* Remove color grading pass from light adaptation parent pass due to failing ASV tests. This will be added back later on.

* Editor HDR Color Grading Component implemented under the PostFx stack (#219)

* Add softmin/max for unbounded color grading properties.

* Revert channel mixer properties to vector3. Refactor mix to weight. Fix color grading pass to convert any color variable into vec4.

Signed-off-by: rbarrand <rbarrand@amazon.com>

Co-authored-by: Robin <rbarrand@amazon.com>
4 years ago
dmcdiar db5fd91ac9 Merge branch 'development' into Atom/dmcdiar/ATOM-4126 4 years ago
Guthrie Adams 376a6040d8 Addressing PR feedback
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 5a2ae1d483 Merge branch 'development' into Atom/guthadam/material_component_clear_and_repair_commands 4 years ago
Scott Romero 36bcf5849a
[development] Migrated Atom CPU profiler to utilize new AzCore Profiler interface and related macros (#4160)
- Added new interface type AZ::Debug::Profiler to externally register profiler systems
 - Modified the Atom CPU profiler to register as an AzCore profiler
 -- This allows full engine markers to be visualized in the associated ImGui tool
 - Converted all AZ_ATOM_PROFILE_* macros to use AZ_PROFILE_* macros instead

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
4 years ago
Guthrie Adams 0c9dbb8658 Adding new commands to the material component for managing, removing, repairing material slots
• Adding commands to material component to clear or repair material slots
• Moved all clear and repair functions from the editor component to the material component controller, bound to its buses so they can be accessed from script
• Added new functions to clear model and LOD material groups
• Added function to remove material assignments with bad asset references
• Added function to reassign materials with bad asset references to the default asset
• Added function to remove material assignments that don’t match slots available on the active model. This case arises when switching between different models, changing the materials on a given model, or copying and pasting the material component to a different entity with a different model. The user might end up with hidden material slots that load assets but have no effect.
• Converted remaining code that iterated over editor material slots to instead use the material component request bus
• Removed functions from the editor material component that enumerated editor material slots

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Pinfel 00b5b7ba2d
Fixed in-editor "Atom" category components reference links to o3de.org docs
Signed-off-by: Pinfel <ppinfel@gmail.com>
4 years ago
Pinfel 1fc8ef44c7
Fixed in-editor "Animation" category components reference links to o3de.org docs
Signed-off-by: Pinfel <ppinfel@gmail.com>
4 years ago
santorac 55eb85d546 Updated MaterialPropertyId class in preparation for nested material property sets.
Here the class has been generalized for a list of group names and a final property name, rather than assuming a single group containing the property. This included removing the unused GetPropertyName and GetGroupName functions. All that's really need from this class is conversion to a full property ID string.

Testing:
New unit test.
Reprocessed all core material types and StandardPBR test materials used in Atom Sample Viewer's material screenshot test.
Atom Sample Viewer material screenshot test script.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
santorac c2abd2d74f Updated the naming convention for material property "names" vs "IDs".
A "property name" is the name of the just the property without regard to the group that it's in. A "group name" is the name of the group. And a "property ID" is the full unique name of a property in the form "groupName.propertyName". This is important preparation for upcoming changes where property sets can contain other property sets, and property IDs can be arbitrarily long like "layer1.baseColor.factor" for example.

The naming changes include variables, some code comments, and the .materialtype file format. I was able to make these changes in a backward compatible way so a property or group "id" field has been replaced with a "name" field, but "id" is still supported for compatibility. StandardPBR, EnhancedPBR, StandardMultilayerPBR, and Skin have all been updated. Note that MinimalPBR has not been updated, proving that backward compatibility works. (We can update this one too at some point though).

Testing:
Opened up materials in the material editor.
Ran AtomSampleViewer in dx12 and vulkan with no new failures.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
dmcdiar b4d6b65eba Merge branch 'development' into Atom/dmcdiar/ATOM-4126 4 years ago
dmcdiar b737e9f80e Merge branch 'development' into Atom/dmcdiar/ATOM-4126 4 years ago
dmcdiar 880f4d96cc Changed the ReflectionProbe component to use an OBB
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
4 years ago
Guthrie Adams 9f65277906 restoring changes lost in merge
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams 825e523483 Merge branch 'development' into Atom/guthadam/multiple_dockable_pinned_material_component_property_editor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams d07b115569 Rebuilding UI and instance data hierarchy on any external property change
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
santorac 5b04183b4e
Material System Reports Warnings About PSO-Impacting Changes
Merge pull request #4102 from aws-lumberyard-dev/Atom/santorac/WarnOnMaterialPsoChanges

These changes make material system report warnings when gameplay scripts attempt to change PSO-impacting material properties at runtime. So far the material system has always allowed any properties to be changed at runtime, including those that affect Pipeline State Objects (PSOs), as this is supported on several platforms. But some platforms require that Pipeline State Objects be pre-compiled and shipped with the game. At some point we will need to add new restrictions that limit what material properties can be changed at runtime. In the meantime, these warnings should alert users to avoid this, as the functionality likely won't be supported in the future.

- Made the Material and LuaMaterialFunctor classes configurable to report errors or warnings when material properties modify Pipeline State Objects. This is controlled by a new "MaterialPropertyPsoHandling" enum.
- Made the EditorMaterialComponent override PSO handling as Enabled, to prevent warnings when the user is editing material instance property overrides. This requried a new MaterialComponentNotificationBus bus message "OnMaterialInstanceCreated".
- Added a new ScopedValue utility class that simply sets a value when it goes out of scope.
- Removed unnecessary GetMaterialPropertyDependencies member from material functor context classes, as this is already available as part of the functor itself.
- Made Material::SetPropertyValue return early when the property value hadn't actually changed. Besides being more efficientn, this prevents unnecessary spamming of the new warning.
- Made a couple imporvements to material_find_overrides_demo.lua: 
  - Made the target material slot name configurable through an exposed component property. 
  - Fixed a timing issue where the assignmentId was invalid if FindMaterialAssignmentId is called too early.
4 years ago
Guthrie Adams 1e1f1b6aee Merge branch 'development' into Atom/guthadam/multiple_dockable_pinned_material_component_property_editors 4 years ago
santorac 48e0a9d5ff Merge remote-tracking branch 'upstream/development' into Atom/santorac/WarnOnMaterialPsoChanges 4 years ago
Guthrie Adams 754a1a0975 Merge branch 'development' into Atom/guthadam/multiple_dockable_pinned_material_component_property_editors 4 years ago
Guthrie Adams f7d4b8e70f Changing material component property inspector to dockable view pane
• Inspector is locked to a specific entity and material assignment ID
• All modifications are made via the material component request bus
• Removed complicated configuration management in editor material component
• Multiple material property inspectors can be opened
• Multiple materials across different entities can be edited simultaneously
• No longer blocks the viewport or other interactions
• Added functions to material component request bus for retrieving material slot labels, default materials, getting and setting property and UV overrides
• Added more asset related types to material property value conversion from any
• Added support for static heading widget on top of atom tools inspector, currently used for menus and messages

WIP: Still investigating intermittent crash because of corrupt asset property
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Esteban Papp b5835fceb6 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.h
4 years ago
mrieggeramzn 603e33d7f7
Removing the boundary search method. (#4024)
* Removing the boundary search method. Bicubic is now the default and only PCF filtering method

* Removing padding (based upon feedback)

* Removing PCF method from py auto testing

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
santorac 51f101748d These changes make material system report warnings when gameplay scripts attempt to change PSO-impacting material properties at runtime. So far the material system has always allowed any properties to be changed at runtime, including those that affect Pipeline State Objects (PSOs), as this is supported on several platforms. But some platforms require that Pipeline State Objects be pre-compiled and shipped with the game. At some point we will need to add new restrictions that limit what material properties can be changed at runtime. In the meantime, these warnings should alert users to avoid this, as the functionality likely won't be supported in the future.
- Made the Material and LuaMaterialFunctor classes configurable to report errors or warnings when material properties modify Pipeline State Objects. This is controlled by a new "MaterialPropertyPsoHandling" enum.
- Made the EditorMaterialComponent override PSO handling as Enabled, to prevent warnings when the user is editing material instance property overrides. This requried a new MaterialComponentNotificationBus bus message "OnMaterialInstanceCreated".
- Removed unnecessary GetMaterialPropertyDependencies member from material functor context classes, as this is already available as part of the functor itself.
- Made Material::SetPropertyValue return early when the property value hadn't actually changed. Besides being more efficientn, this prevents unnecessary spamming of the new warning.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Esteban Papp 5965760612 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp a7780b6dbe Gems/Atom*
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Qing Tao d9cbc97ec0
ATOM-16063 Remove SetShaderResourceGroupCallback in scene and update scene srg handling (#3969)
ATOM-16273 Compiling SceneSRG before updating it can cause a gpu crash

Changes include:
1. Removed Scene::SetShaderResourceGroupCallback() function and clean up code which use this function.
2. Moved SceneTimeSrg.azsli to RPI's DefaultSceneSrg folder and setup the constants in RPI::Scene
3. Add AZ::Event for Scene's update srg event which features and update scene srg at proper place
4. UpdateTransformServcie FP to use PrepareSceneSrg event handler.
5. Clean up shaders and srgs used in project templates.

Signed-off-by: Qing Tao <qingtao@amazon.com>
4 years ago
Mike Balfour 0505f200e5
Remove extra/bad profile markers (#4031)
Many of these are just extra noise in the profile, but the one in Archive.cpp could also cause PIX to crash.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
4 years ago
Artur K 3a4937456a
Build time reduction: AzStdOnDemandReflection (#3111)
* Move a few specializations from AzStdOnDemandReflection.inl to cpp file

This reduces compilation time and produced profile/debug file sizes.

The specializations for string and string_view are only implemented for 'char' type, since
others are not used anywhere.

Extracted `Reflect` method from `ClientAuthAWSCredentials` to a cpp file.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Windows build fixes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Added missing license.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix missing spaces in template argument lists

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Clang format on ClientAuthAWSCredentials.cpp

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Merge upstream development and fix linux build.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
4 years ago
moraaar 564925c285
Fix assert: Avoid doing operations over invalid Aabb (#3757)
Signed-off-by: moraaar <moraaar@amazon.com>
4 years ago
mrieggeramzn e15634a867
Adding receiver plane bias to directional shadows (#3305)
* Adding receiver plane bias to directional shadows

* fixing whitespace issue

* Slight spelling change
4 years ago
Chris Galvan d590a91fe7 Implemented helper method of QFileDialog::getSaveFileName to prevent user from saving files with invalid names.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Esteban Papp 6b96be82ea Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CrySystem/Log.cpp
#	Code/Tools/Standalone/Source/Driller/Annotations/AnnotationHeaderView.cpp
#	Code/Tools/Standalone/Source/Driller/AreaChart.cpp
#	Code/Tools/Standalone/Source/Driller/AreaChart.hxx
#	Code/Tools/Standalone/Source/Driller/ChannelDataView.cpp
#	Code/Tools/Standalone/Source/Driller/DrillerCaptureWindow.cpp
#	Code/Tools/Standalone/Source/Driller/Profiler/ProfilerDataView.cpp
4 years ago
Guthrie Adams 6a15a2d91b
Merge pull request #3350 from aws-lumberyard-dev/Atom/mriegger/fixupeditorshadowoptions
Fixing the softening boundary width editor options
4 years ago
Esteban Papp 9c7b55a31d Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/Bits.h
#	Gems/Atom/RHI/Code/Include/Atom/RHI/IndexBufferView.h
#	Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp
#	Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp
4 years ago
Guthrie Adams 701e36f493
Merge pull request #2752 from greenrazer/ExposeLodControls
Expose lod controls
4 years ago
santorac 60d137c5b6
Merge pull request #2746 from aws-lumberyard-dev/Atom/santorac/OptionalSceneApiMaterialConversion3
Made Model Material Conversion Optional

Added a new registry setting that disables automatic conversion of materials from model files like FBX.

By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.

Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.

Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows SceneAPI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.

Testing:
- Changing the registry setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switching the material conversion registry setting from true to false. (Details below)
- Merged this change to a customer's fork and tested on their existing content.

Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
  - Entity 1 material assignments
    - Blue_Zaxis: left as-is
    - Green_Yaxis: exported the material
    - Red_Xaxis: exported the material, and changed the material instance color to pink
    - StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
    - With_Texture: selected an existing brick material, changed the material instance color to red.
  - Entity 2 material assignments
    - Default Material: set to an existing brick material
    - Blue_Zaxis: manually assigned built-in material that was converted from fbx
    - Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange
4 years ago
santorac b6dfb86007 Removed unnecessary #include
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
santorac de932c62b3 Reverted changes in MaterialComponentController for an obsucre edge case. We'll handle the case of missing material assets more generally as a separate task.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Kyle B dfc5baae34 fixed casting errors
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 8ab9a88683 added cast to version change system lodoverride
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Esteban Papp c19c4af1e1 Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
mrieggeramzn b3f1a46559 Fixing the softening boundary width editor options
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
Kyle Birnbaum 2b1f4c2fc0
Merge branch 'development' into ExposeLodControls 4 years ago
Kyle B b53a085700 Merge branch 'development' into ExposeLodControls 4 years ago
Guthrie Adams aa642bd566
Merge pull request #3156 from aws-lumberyard-dev/Atom/guthadam/material_component_api_script_canvas_support
AtomTools: better script canvas support for material component
4 years ago
santorac 079e018e8e Merge remote-tracking branch 'upstream/development' into Atom/santorac/OptionalSceneApiMaterialConversion3 4 years ago
Esteban Papp f8e99cd7dd Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
#	Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
4 years ago
Jeremy Ong df9b4d4a2f Deprecate profiler categories based on global enum
(to be supplanted by registered budgets in the future)

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Ken Pruiksma 90845313fb
Overhaul of LookModification (#3282)
* Fixed log2 shaper equations. Added bspline sampling for lut. Added options for custom log2 or linear lut with custom exposure ranges.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Added support for PQ shaper. Added shader option & cvar for lut sampling quality. Fixed issues in the blend lut shader that were causing considerable quality loss. No longer always changing to the log2 1000 nit shaper when blending luts - if the source luts all use the same shaper, keep using that shaper in the blended lut.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixed an integer -> float

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Minor PR reveiw updates

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Kyle B e2a9c58cae fixed unnessisary qualifier error
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
pappeste d5ed0cc385 AtomLyIntegration
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 75c388b746 change conversions to static_cast
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 90cad016de Gems/Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
pappeste b3e895d10c fixed AtomLyIntegration
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Guthrie Adams c67a9f3d12 Updated material component request bus to better support script canvas
Change all name parameters to use standard string so that they could be headed in in script canvas nodes and RPE

Added explicitly type functions for getting and saving property overrides

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Chris Galvan 994403bfa0 Updated Radius Weight Modifier component name for consistency.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Kyle B 6acbea722e minor syntax changes and adding a refresh tree attributeto the editor component
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B cea334dbc4 Fixed enum value problems
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 0c05c9f204 [not working] Made lod selection more generic for further work
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 51271fa15b Created group for Lod component data
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 3db93a564d Made formatting changes per pull comments, incuding adding comments, changing spacing, and changing the ui type of component fields
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 4 years ago
Chris Santora 36abde95a9 Added a new registry setting that disables automatic conversion of materials from model files like FBX.
By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.

Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.

Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows ScenePI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.

Testing:
- Changing the registery setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switcihng the material conversion registry setting from true to false. (Details below)
- TODO: Will merge this change to a customer's fork and test on their existing content.

Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
  - Entity 1 material assignments
    - Blue_Zaxis: left as-is
    - Green_Yaxis: exported the material
    - Red_Xaxis: exported the material, and changed the material instance color to pink
    - StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
    - With_Texture: selected an existing brick material, changed the material instance color to red.
  - Entity 2 material assignments
    - Default Material: set to an existing brick material
    - Blue_Zaxis: manually assigned built-in material that was converted from fbx
    - Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Kyle B 1a48118ece Added comments and formatted as close to the original
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
Kyle B 5b88d96eec Exposed fields to the mesh component giving greater Lod control from the editor
Signed-off-by: Kyle B <kylebirnbaum@gmail.com>
4 years ago
santorac b407e501e3 Merge branch 'development' into Atom/santorac/OptionalSceneApiMaterialConversion 4 years ago
Chris Santora 13679a7cc3 Reverted partial support for property overrides on default material assignments. This needs more UI design discussion first.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 1a478608a7 Restored the previous behavior of preventing material property overrides when there is no explicit material override assignment.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora b19a895889 Reverted accidentally commented out code.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 6fa891848d Factored out redundant call to GetMaterialSlots().
Removed code that was intended to handle duplicate default material assignments, but duplicacate default material assignments aren't possible yet.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 21d5baa184 Fixed an issue where I had changed prior functionality by mistake, preventing exported materials from replacing material assignments.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora abec7a4f5b Fixed an issue where a default material should show up as a filled-in value in the UI even though it should appear as empty, indicating the default is being used.
Also, I'm going back on what I said in my last commit, and removing the converter for version 3 in EditorMaterialComponent::ConvertVersion. The code that I had put in before wouldn't work because it was relying on the new m_defaultMaterialAsset which will be empty for old data. The only way we could support version conversion is if we preserve legacy versions of multiple types like EditorMaterialComponentSlot and MaterialAssignmentId. Since this serialization version is old and pre-dates the public release of O3DE, it's unlikely that we need to continue supporting this version so isn't worth maintaining.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 75b4d62dcb Restored the version converter EditorMaterialComponent::ConvertVersion for version 3, which wasn't possible with an earlier version of my changes.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora fec79a7d53 Moved the material slot list from ModelLodAsset to ModelAsset, so all the slots live in one main list. This removes data duplication between LODs and cleans up the code a bit.
I had to update the ModelLod class to take in both the ModelLodAsset and ModelAsset for initialization so it can fetch the slots for each mesh.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 28671c8546 Addressed suggestions from gadams3 to make EditorMaterialComponent get the default material assets from its own data rather than fetching them from the asset. Presumably this should give more reliable behavior.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora e145ce1d01 Updated EditorMaterialComponentSlot to support editing property overrides and UV overrides for the material, regardless of whether there is a material override or not.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 670dd6c5bc Removed the GetLabelByAssetId function since now we can use the display name that comes with the ModelMaterialSlot.
Updated OpenMaterialExporter() to account for the fact that multiple material slots can have the same default material asset.
Updated the material inspector to sort material slots by name to match the order in the Material Component.
Updated ExportItem to protect its data members, which makes it more clear that assetId and materialSlotName are readonly inputs.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora e3ceaa477e Added a version converter for MaterialAssignmentId. This allowed me to successfully load the Sponza level in AtomTest.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Chris Santora 14d2e38b90 Refactored how model material slots work in preparation to support more flexible material conversion options for the scene asset pipeline. The material slot IDs are based on the MaterialUid that come from SceneAPI. Since these IDs are also used as the AssetId sub-ID for the converted material assets, the system was just checking the material asset sub-ID to determine the material slot ID. But in order to support certain FBX material conversion options, we needed to break this tie, so the slot ID is separate from the AssetId of the material in that slot. This will allow some other material to be used in the slot, instead of being forced to use one that was generated from the FBX.
Here we inttroduce a new struct ModelMaterialSlot which formalizes the concept of material slot, with an ID, display name, and default material assignment. The ID still comes from the MaterialUid like before. The display name is built-in, rather than being parsed out from the asset file name. And the default material assignment can be any material asset, it doesn't have to come from the FBX (or other scene file).

This commit is just the preliminary set of changes. Cursory testing shows that it works pretty well but more testing is needed (and likely some fixes) before merging.

Here is what's left to do...
Add serialization version converters to preserve prior prefab data.
See if we can get rid of GetLabelByAssetId function only rely on the display name inside ModelMaterialSlot.
I'm not sure if the condition for enabling the "Edit Material Instance..." context menu item is correct.
Test actors
Lots more testing in general

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Guthrie Adams ffbeb903c1 Material Component: Add functions to lookup material ids by name
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
pappeste eb2da69e6e AtomLyIntegration
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Ken Pruiksma 33c408f654
Expose shadow bias to component & feature processors. (#2406)
* Expose shadow bias to component & feature processors. Shadow bias now works more consistently with various near / far shadow planes and caster positions. Bias now also affects esm shadows which helps eliminate acne in certain situations.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding jira comment to light configuration serialization version. Improved comment on final adjustment to bias before its sent to the shader.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Hooking up bias to behavior context.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
sphrose 9639003a7d
LYN-4774 Fix missing box icons inside the main Viewport (#2297)
* LYN-4774 Fix missing box icons inside the main Viewport

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>

* V2 icons

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>

* Bug fixes

Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
4 years ago
nemerle e76b65fce9 Reduce inclusion overhead a little bit
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
5 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
5 years ago
Chris Galvan e924ed0b86 Merged stabilization/2106 to development; Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Ken Pruiksma ed33b429aa
Updating some labels in the directional light and light components… (#1996)
* Updating some labels in the directional light and light components to make them more readable and consistent with standards. Removed hard caps on directional light intensity.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Qing Tao 6d9230e292
ATOM-15939 Add support to capture attachment for ParentPass (#1887)
* ATOM-15939 Add support to capture attachment for ParentPass
- Moved the attachment read back support to Pass class so it supports both ParentPass and RenderPass.
- Added support to output input or output state of an InputOutput attachment.
- Enabled showing ParentPass attachments in PassTree tool.

Signed-off-by: Tao <qingtao@amazon.com>
5 years ago
Ken Pruiksma 6c0264862e Removing unnecessary code
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Ken Pruiksma a75b8eb636 [LYN-3913] Fix conversion to unsupported photometric unit on light type change.
When converting to a light type that doesn't support the currently used photometric unit, the editor component will convert the photometric unit to the universally supported lumen.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Twolewis b9964bbb5a
Fixed Material Editor not launching (#1920)
* Fixed Material Editor not launching

Explicitly providing project-path as part of launch parameters.

Signed-off-by: Lloyd Tullues <lloyd@carbonated.com>

* Update Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialSystemComponent.cpp

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: Lloyd Tullues <lloyd@carbonated.com>

* Minor - adding whitespace for consistency

Signed-off-by: Lloyd Tullues <lloyd@carbonated.com>

Co-authored-by: Lloyd Tullues <lloyd@carbonated.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
5 years ago
Ken Pruiksma aca8a730a6 Fixing simple light types appearing back at 0,0,0 after hiding/unhiding.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Chris Galvan 40f9761f86 Fixed more copyright header issues caused by script replacement
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan b9e06e70d9 Fixed copyright header issues per new validator
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Ken Pruiksma e13b9ca829
[ATOM-15926] Fixing light delegates which were always calculating the attenuation radius automatically for their debug display instead of respecting the user-set attenuation radius. (#1732)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
dmcdiarmid-ly e14000e2e2
Merge pull request #1713 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15922
[ATOM-15922] ReflectionProbe does not refresh when changed to use an Authored cubemap
5 years ago
AMZN-stankowi 4c4be73bd5
First pass FBX -> Scene File conversion. (#1699)
This is the simple pass, minimizing code changes and focused on comments.

Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
5 years ago
Guthrie Adams ff9d52d38e
Merge pull request #1705 from aws-lumberyard-dev/Atom/guthadam/ATOM-15908
ATOM-15908 Fixed material component exporter to use correct relative paths
5 years ago
dmcdiar 658c974db9 Properly handled reinitializing the cubemap asset when it is changed between Baked and Authored
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
guthadam 4c28c9d894 ATOM-15908 Fixed material component exporter to use correct relative paths
Signed-off-by: guthadam <guthadam@amazon.com>
5 years ago
dmcdiarmid-ly 89f4872469
Merge pull request #1674 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15902
[ATOM-15902] Reflection probes occasionally fail to hot-reload
5 years ago
dmcdiar 09aba94da7 Fixes for ReflectionProbe hot reloading
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
dmcdiarmid-ly c4a20405e2
Merge pull request #1666 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-14526
[ATOM-14526] DiffuseProbeGrid and ReflectionProbe components alter box shape size
5 years ago
AMZN-mnaumov 48c5854666
Merge pull request #1621 from aws-lumberyard-dev/Atom/mnaumov/LYN-4544cherryPick
[LYN-4544] Fixing thumbnail crashing on bad data
5 years ago
guthadam 64186b4ec6 ATOM-15892 fixing material component clear overrides button
The clear material override properties button was not sending the notification to update the entity or undo state.

Signed-off-by: guthadam <guthadam@amazon.com>
5 years ago
dmcdiar b65a2da548 Changed the DiffuseProbeGrid and ReflectionProbe components to only override the Box size if it's at the default (unit)
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
5 years ago
Gene Walters f905b71844 Adding missing o3de copyright headers
Signed-off-by: Gene Walters <genewalt@amazon.com>
5 years ago
hershey5045 c45ec34f16
Add max value for editor bloom intensity. (#1630)
Signed-off-by: Robin <rbarrand@amazon.com>
5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago
mnaumov 0b28c15637 [LYN-4544] Fixing thumbnail crashing on bad data
Signed-off-by: mnaumov <mnaumov@amazon.com>
5 years ago
Tommy Walton 5656736db4
Fix for LYN-3726 : Actor Draw Character Doesn't Work (#1336)
-Re-purposed an unused boolean in RPI::Cullable for previous frame's visiblity to instead represent objects that are hidden in the simulation.
-Updated MeshFeatureProcessor::SetVisible to set this value on the cullable.
-Updated the MeshComponent to handle visiblity changes by not rendering the mesh instead of deactivating and/or reactivating the component.
-Updated the AtomActorInstance to handle changes to the visibility from the ActorComponent.

Tested by creating two entities with static mesh components, on entity hidden and the other visible. Plus three entities with actor components, one where the actor is visible, one where the entity is visible but the 'render character' setting on the actor component is disabled, and one where the 'render character' setting is enabled, but the entity is not visible.

For each of these 5 entities, I added them as 5 loose entities, 5 entities that were children to a parent entity, and a slice with all 5 as children to a parent entity, and tested toggling visibility of the parent entities.

For each of these 3 sets of 5 entities, I added them directly to the level, added them all to a layer where the layer was visible, and added them all to a layer where the layer was not visible, and tested toggling the visibility of the layers.
5 years ago
Terry Michaels 21ebff5709
Updated help search and all docs.o3de.org links to o3de.org (#1594) 5 years ago
dmcdiarmid-ly 00bc39299b
Merge pull request #1550 from aws-lumberyard-dev/Atom/dmcdiar/LYN-4257
[LYN-4257] Diffuse Probe Grid: add unit type display on the probe spacing fields
5 years ago
Mike Balfour c873ddac45
[LYN-3099] Fixed some issues with vegetation planting on surfaces (#1554)
* [LYN-3099] Fix vegetation raycasts to use bounded ray queries instead of FLT_MAX.
Raycasts with a distance of FLT_MAX sometimes overflowed deep in IntersectSegmentTriangleCCW, so it's better to have strict start/end positional queries.  We have specific starts and ends anyways, so it's a safer approach anyways.
This also adds support for Non-Uniform Scale for meshes, since it was clearly not working correctly in vegetation when testing various scaled meshes.

* Addressed PR feedback
5 years ago
Doug McDiarmid 7ab810b5b5 Changed probe spacing text labels and minimum value 5 years ago
Terry Michaels 1e457928f5
Update help URLs and remove unneeded links (#1520) 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
Tommy Walton be0fbaaddc
LYN-2227 : Improve mesh initialization performance by not creating draw packet more than once (#1476)
* Move SetUseForwardPassIblSpecular to happen when acquiring a mesh, instead of immediately after so that we don't build the drawpacket twice for every mesh

* Update the MeshFeatureProcessor to use the booleans from the descriptor directly instead of having loose booleans in the MeshDataInstance

* m_excludeFromReflectionCubeMaps is not (and does not need to be) part of the descriptor, since setting is cheap and doesn't duplicate work that is done when acquiring the mesh
5 years ago
mbalfour df648db62e Merge branch 'stabilization/2106' into mbalfour/gitflow_210622
# Conflicts:
#	Code/Framework/AzQtComponents/AzQtComponents/Components/Style.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportMessages.h
#	Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.cpp
5 years ago
hershey5045 c127a044d4
Enable fog in physical sky component to blend with deferred fog (#1320) 5 years ago
nvsickle e55580af57 Merge remote-tracking branch 'upstream/stabilization/2106' into nvsickle/MergeStabilizationJun18 5 years ago
hershey5045 85af8475a5
Fix postfx camera tags (#1417) 5 years ago
Ken Pruiksma 32fb0e4627
[ATOM-15810] Removing maximum values from light intensity (#1414)
Setting hard max values to float max. Also allowing EV100 values hard minimum to be lowest float. Soft min and max will remain the same for a consistent ux, but we will no longer keep people from manually entering really high or low values that are technically fine.
5 years ago
lumberyard-employee-dm 7dabe8b6e9
Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
5 years ago
guthadam 58d516688f LYN-4251 fix confusing material component menu options 5 years ago
mnaumov b315c13488 [LYN-4544] Fixing thumbnail crashing on bad data 5 years ago
mrieggeramzn a505ed8a51
Merge pull request #1302 from aws-lumberyard-dev/Atom/mriegger/esmexponent2106
Atom/mriegger/esmexponent2106
5 years ago
AMZN-mnaumov c0dc0cb936
Merge pull request #1337 from aws-lumberyard-dev/mnaumov/StabilizationJun15
Stabilization to Development merge - 06/15/21
5 years ago
yuriy0 a9c55c1070
Update actor render bounding box (#991)
* Extend MeshFeatureProcessor to allow changing the mesh bbox, which requires re-compute the culling data for that mesh

* Update actor mesh bbox when EMFX actor instance bbox changes.

Also use the actor instance global bbox to compute the local bbox for the skinned render mesh, instead of the using the static bounds based bbox, as not every actor instance is going to be using the static bounds bbox.

* Store per-instance mesh AABB in the right place.

In the MeshInstanceData, which is unique per instance, instead of in the Model, which is shared between all instances.

For greater clarity, also remove Model::m_aabb and the corresponding getter and setter, as it isn't immediately obvious whether this gets the model asset bbox or the mesh instance bbox. Callers should instead be explicit about which bbox they want.

* Bug fix: model asset is not necessarily ready in AcquireMesh

* Remove now-unused forward declaration

* Update MockMeshFeatureProcessor with SetLocalAabb/GetLocalAabb
5 years ago
mnaumov 9ca0e731f4 Merge remote-tracking branch 'upstream/stabilization/2106' into mnaumov/StabilizationJun15
# Conflicts:
#	Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp
5 years ago
Ken Pruiksma 5165f6ad04
[ATOM-15769] Setting minimum angle to 0.5 degrees on disk lights to avoid visual artifacts that occur at values closer to 0. Also updating the outer cone angle max to be 90 degrees since it's measured from the center point, not all the way across. (#1260) 5 years ago
dmcdiarmid-ly 0f851b1d16
Merge pull request #1296 from aws-lumberyard-dev/Atom/dmcdiar/LYN-4346
[LYN-4346] Adding the Diffuse Global Illumination component crashes the Editor (Prefab Mode)
5 years ago
Benjamin Jillich f8cf4ba087
[LYN-3416] Animation: Attachment component does not update it's location automatically (#1305) 5 years ago
mriegger 4ac846383a Fixes from feedback 5 years ago
mriegger 86223703e4 removing tabs 5 years ago
mriegger 959ec14df6 Exposing esm exponent 5 years ago
Doug McDiarmid 8459cbe5c2 Removed the DiffuseGlobalIllumination component from the editor Entity Component list, it was intended to be a Level Component only.
Checked for a valid quality level in DiffuseGlobalIlluminationFeatureProcessor::SetQualityLevel.
Initialized the quality level to Low in DiffuseGlobalIlluminationComponentConfig.
5 years ago
AMZN-mnaumov 004549c618
Merge pull request #1201 from aws-lumberyard-dev/Atom/mnaumov/ATOM-5389
[ATOM-5389] MeshComponent stats
5 years ago
mnaumov 68c0989aa1 MeshStats collapsed by default 5 years ago
mnaumov d53b5a0bed PR feedback 5 years ago
mnaumov e1d2115cab ElementName override 5 years ago
Terry Michaels 91fb8be535
Added toolbar icons, updated viewport header UX (#1240) 5 years ago
mnaumov 95465b18a4 Custom serializer for mesh stats to exclude from serializetion 5 years ago
mnaumov 1f2572fe8a PR feedback 5 years ago
mnaumov e07cf79bab removed duplicate decription 5 years ago
mnaumov 2923d8b962 some cleanup 5 years ago
mnaumov 672b9fd956 [ATOM-5389] MeshComponent stats 5 years ago
dmcdiarmid-ly d19d2aff9d
Merge pull request #1110 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15517
[ATOM-15517] Software Occlusion Culling
5 years ago
dmcdiarmid-ly 579f4ca9d6
Merge pull request #1138 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15718
[ATOM-15718] DiffuseProbeGrid quality level
5 years ago
Guthrie Adams 4a8375748f
Merge pull request #1147 from aws-lumberyard-dev/Atom/guthadam/LYN-3871_LYN-3872_material_slot_version_handling
LYN-3871_LYN-3872 Added version handling for removed serialize context fields
5 years ago
guthadam b10ed227c0 Added version handling for removed fields 5 years ago
AMZN-mnaumov 8fa6d5d1b0
Merge pull request #1050 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15631
[ATOM-15631] First pass on exposing Display Mapper properties to Behavior Context
5 years ago
Doug McDiarmid fefa46dd6a Added DiffuseGlobalIlluminationFeatureProcessor and moved the DiffuseProbeGrid files to the DiffuseGlobalIllumination directory 5 years ago
Nicholas Van Sickle 34449e2fc9
Guard GridComponent against arbitrarily high grid sizes (#1135)
Also do bounds checking at runtime in the controller for safety.
5 years ago
Doug McDiarmid 92130b4ac7 Merge branch 'main' into Atom/dmcdiar/ATOM-15718 5 years ago
dmcdiarmid-ly 8ae800f579
Merge pull request #1106 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-13890
[ATOM-13890] Reflection probe quality levels
5 years ago
mnaumov 856204a5ea merge from main 5 years ago
Doug McDiarmid ef05412063 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
Doug McDiarmid ed0fab894b Added DiffuseGlobalIllumination level component 5 years ago
AMZN-mnaumov c155271167
Merge pull request #1095 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15692
[ATOM-15692] Ebus for registering custom feature processors for thumbnail generation
5 years ago
mnaumov 8704b9233a build fix 5 years ago
Doug McDiarmid d63edf9b84 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 5 years ago
mnaumov c3df73bed8 PR feedback and fixing TrackView 5 years ago