The terrain feature processor was crashing due to an invalid shader name. The shader name has been fixed, but the feature processor has also been hardened so that it no longer crashes if a shader fails to load.
Also, while testing, this inadvertently exposed a second crash in EntitySerializer that occurs when components don't serialize in correctly.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Fixed PathView `MakeRelativeTo` and `Append` functions path segment
comparisons when using the Windows path separator of '\'
The PathSegment comparisons were case-sensitive in both those functions
and now use `Internal::ComparePathSegments` function to perform the
appropriate case comparison based on the path separator value of the
Path class
Reverted the LocalFileIO::CheckInvalidWrite function back to not
lowercasing the assets alias and input path before invoking
`PathView::IsRelativeTo`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Simplified the LocalFileIO::ConvertToAliasBuffer logic
Fix for the ArchiveTest
`IResourceList_Add_AbsolutePath_RemovesAndReplacesWithAlias` and
`TestArchiveViaFileIO` test
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a PathIterable structure stores a non-heap container of normalized path segments of an input path.
Moved the PathParser logic to a PathParser.inl file
Removed dependency of the PathView::IsRelativeTo logic on FixedMaxPath
There is no longer a 1024 character limit when determining if a path is relative to a base
Added a GetNormalPathParts and AppendNormalPathParts to function and removed LexicallyNormalInplace to share the logic for creating a normalized path between IsRelativeTo and LexicallyNormal
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Clang PathIterable.inl build fix
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed Normalize and Relative Path functions initialize the result paths
With the correct path separator for the paths being transformed
Ported over the Custom Path Root Separator logic to the PathParser.inl
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated he Shader Preprocessor include path gather.
It now uses AZ::IO::Path for the path operations and checks if the path
exist before adding it to the list of include paths.
Finally the set logic has been removed for a simpler find_if check to
see if the include path already since in the project include paths
This fixes the Asset Processing issues with shader includes due to the
Path.inl changes
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed tail recursion call to AppendNormalPathParts to supply a PathView with the same path separator as the parent call
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding reference qualifier overloads to the Path class Native function
Removed the conversion operators from the Path class for converting to a
string_type&/const string_type&
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
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>
* 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>
* Miscellaneous fixes and PAL changes required for restricted platforms.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Rename O3DE::ProjectManager::ProjectUtils::ReplaceFile -> ReplaceProjectFile to prevent conflict with Windows ReplaceFile #define
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Various terrain improvements:
- Height now stored in a R16_unorm to decrease the amount of memory / memory bandwidth needed for the height field
- Many simplifications to the feature processor
- Added a shader to render to the depth pre pass
- Pulled common functionality needed by depth and forward to a common include shader
- Forward shader now outputs to all the expected render targets
- Adjusted the way normals and lighting are being calculated
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adding missing shader files. Updated terrain shader to alter the color slightly with height.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Removed pixel shader code from terrain depth pass
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Renamed the depth pass shaders to no longer indicate they include a pixel shader.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Removing unneeded code from TerrainCommon.azsli
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* WIP changes for viewport single select and better integration tests
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update test to verify single click selection in the viewport
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* temporarily remove changes for single select
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* temporarily remove ChangeSelectedEntity call
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* initial tests to validate current viewport selection model
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* some tidy-up before publishing PR
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add reference to const type in loop
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* temporarily disable box select test
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* CHanges to Push/Pop Matrix
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed bad commit
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* REmoved the AxisAlignedBoxShapeComponentBux and AxisAlignedBoxShapeConfig
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed derivation of AxisAlignedBoxShape
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Added ShowChildrenOnly to Component
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed cmake file
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Changes from review
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Added tests for AxisAlignedBoxShape
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Addressed PR comments and added one further test.
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Removed dead code.
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Changes from review
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Spelling fix and changed link to docs
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed profile bug in Linux
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed problem with Unity Profile Build in Tests
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fix for camera look-at and position being the same when calculating orbit point
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add unit test to verify camera orbit behavior
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* preparatory work to allow for more viewport integration tests
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* minor grammatical fix
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix for missed bus call update
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Legacy cleanup - part 3
Not much is left that can be easily removed,
so I think this will be last cleanup before the legacy functionality is replaced.
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* fix windows build, remove a few more things, re-add one file
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove legacy RenderBus + more cleanups
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
* Remove MaterialOwnerBus.h
Clean-up in Cry_Matrix34/33
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
- Protected python execution of OnEventGenericHook by trying to lock the GIL and show a descriptive error when it was not possible to lock.
- Improved mechanism to lock python mutex and GIL in PhytonSystemComponent. Acquiring/releasing GIL once per thread.
- Added unit test to verify errors are fired when trying to execute OnEventGenericHook from another thread (as it should not able to acquire the GIL).
- Improved python threading tests to actually using python buses.
Signed-off-by: moraaar moraaar@amazon.com