Commit Graph

1564 Commits

Author SHA1 Message Date
Guthrie Adams 5b8a37a75b Additional preview renderer checks
Preventing multiple preview renderers from being created with multiple catalog loaded notifications
Purging material preview images reaching a maximum number of stored images
Purging material previews if entity gets destroyed

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-18 18:21:50 -05:00
Qing Tao c8dc309b32 Fixed dds loader issue with certain dds formats. (#4733)
Signed-off-by: Qing Tao <qingtao@amazon.com>
2021-10-18 14:30:11 -07:00
Steve Pham e6464335af Fix Vulkan issues with VK_ERROR_OUT_OF_DATE caused by the swapchain not being updated on a resize (#4740)
- Updated the RenderViewportWidget::event method to call 'SendWindowResizeEvent' on specific events
- Moved the onResize to one of the events in RenderViewportWidget::event

Signed-off-by: Steve Pham <spham@amazon.com>
2021-10-18 09:09:55 -07:00
moudgils 693d849bd1 Vulkan fixes (#4710)
* Disable partial Descriptor Set updates as Vk validation layer does not like that

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

* Enable parallel encoding for Vulkan
Disable partial SRG updates for Vk as the validation layer did not like that. There is a way to just updat SRG constants but that will require more work
Fix a bunch of Vulkan validation errors (mostly the ones spammming each frame)

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

* Minor feedback update

Signed-off-by: moudgils <moudgils@amazon.com>
2021-10-15 13:35:28 -07:00
santorac 6e62e66269 Fixed frame capture on vulkan
Atom Sample Viewer screenshot tests were failing because they couldn't be saved. The code was passing the previous RHI Format instead of the updated one.

Vulkan screenshot tests are operational again. ASV material screenshot test script passes on vulkan and dx12 now (other than known issues).

Merge pull request #4719 from aws-lumberyard-dev/Atom/santorac/FixVulkanPngCapture
2021-10-15 12:04:44 -07:00
Guthrie Adams c0e9a353a3 Merge pull request #4717 from aws-lumberyard-dev/Atom/guthadam/shared_preview_renderer_as_interface
Replace multiple PreviewRenderer instances with single instance and AZ::Interface
2021-10-15 13:48:53 -05:00
mrieggeramzn 49f3393646 Removing unused softening boundary width controls (#4647)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-15 11:26:19 -07:00
santorac d06569fc6d Merge remote-tracking branch 'upstream/development' into Atom/santorac/FixVulkanPngCapture 2021-10-15 10:13:22 -07:00
santorac 1626d2d007 Minor code cleanup.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2021-10-14 23:36:45 -07:00
santorac d89b1b0aa1 Fixed frame capture on vulkan. It just wasn't passing the correct RHI Format value.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2021-10-14 23:34:17 -07:00
Guthrie Adams 7a143572d1 Merge branch 'development' into Atom/guthadam/thumbnail_and_preview_refactor 2021-10-14 23:47:33 -05:00
Guthrie Adams 21c84fc47b Merge branch 'development' into Atom/guthadam/shared_preview_renderer_as_interface 2021-10-14 23:44:53 -05:00
Guthrie Adams ed9ecb3906 adding missing includes to fix build
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-14 23:43:35 -05:00
Guthrie Adams c8be25a9ce Converted preview renderer to use AZ::Interface
Made some files private when exposing public interfaces
Updated a few comments

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-14 20:22:48 -05:00
rgba16f 0ace221eb8 Add '.' path to render doc include directories on windows
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-10-14 18:13:32 -05:00
rgba16f c510ef1050 Palify RenderDoc cmake include directories
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-10-14 16:44:14 -05:00
Jeremy Ong 0c670b1123 Merge pull request #4646 from aws-lumberyard-dev/rgba16f/LinuxRenderDocFixes
Fixes to allow cmake to find files inside the render doc linux tar
2021-10-14 11:06:56 -06:00
Tommy Walton 2dd00e2983 Move wrinkle mask data out of default object srg (#4578)
* Refactored depth, shadow, and motion vector shaders to support custom object srgs. Added a new skin object srg and moved wrinklemask data out of the default object srg. Added a new minimal morph target asset for testing wrinkle masks to AutomatedTesting.

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Fix copyright header

Signed-off-by: Tommy Walton <waltont@amazon.com>
2021-10-14 08:58:50 -07:00
Guthrie Adams 8679f13bc2 Merge branch 'development' into Atom/guthadam/thumbnail_and_preview_refactor 2021-10-13 20:37:36 -05:00
Guthrie Adams 66c25f3a02 Making sure that all capture requests are cleaned up before the preview renderer gets destroyed
A request was captured and held onto to by a lambda that was not getting cleared before the system was destroyed
This caused an entity to be destroyed late, accessing the culling system that was already torn down
Solution is to only store the success and failure callbacks inside of the attachment pass read back callback lambda so the rest of the content can be released

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-13 20:36:15 -05:00
Ken Pruiksma 937c2b2e88 Terrain FP supports macro material component (#4587)
* Adding basic support for TerrainMacroMaterialNotificationBus. Tracking macro materials in list.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit b4773454334de940d730620ffff300b46d6c611d)

* Adding bus connection

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit 66c99f503adb24f4be4f81716b544202d8e237d9)

* Additions to indexed data vector to allow for getting an index from the data or deleting data with a reference to the data itself instead of the index.
Additions to the feature processor for tracking macro material indices in sectors.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit 06365dbde5454e18e5fdf941f03b17b0d632027c)

* Macro materials updating which macro materials are used in which sectors. Correctly handling construction / destruction.

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

* Updating the terrain macro material type to have the correct properties and also not attempt to render. Refactored some of the update loop in the TerrainFP to only rebuild the sectors when necessary, otherwise just update the srgs.

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

* Fixed up macro material to not try to actually render anything with shaders or hook to any shader data
Terrain FP now pulls data pulling from macro material instance to use in the terrain material
Various bug fixes around when terrain sectors needed reprocessing

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

* Adding basic support for TerrainMacroMaterialNotificationBus. Tracking macro materials in list.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit b4773454334de940d730620ffff300b46d6c611d)

* Adding bus connection

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit 66c99f503adb24f4be4f81716b544202d8e237d9)

* Additions to indexed data vector to allow for getting an index from the data or deleting data with a reference to the data itself instead of the index.
Additions to the feature processor for tracking macro material indices in sectors.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
(cherry picked from commit 06365dbde5454e18e5fdf941f03b17b0d632027c)

* Macro materials updating which macro materials are used in which sectors. Correctly handling construction / destruction.

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

* Updating the terrain macro material type to have the correct properties and also not attempt to render. Refactored some of the update loop in the TerrainFP to only rebuild the sectors when necessary, otherwise just update the srgs.

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

* Fixed up macro material to not try to actually render anything with shaders or hook to any shader data
Terrain FP now pulls data pulling from macro material instance to use in the terrain material
Various bug fixes around when terrain sectors needed reprocessing

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

* Constify all the things

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

* Updates from PR review.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2021-10-13 16:58:23 -05:00
Guthrie Adams 0217f45f3f Merge pull request #4673 from aws-lumberyard-dev/Atom/guthadam/update_material_editor_icons
updated material editor skybox and changed property icons
2021-10-13 16:29:42 -05:00
Nicholas Lawson 5ba30f9a37 Update tiff to the new package revision (fixes IOS TIFF package) (#4638)
The new tiff package works for all platforms, including android and IOS, which had issues before.
Android - was missing tiff.h
ios - wrong minimum ios revision
2021-10-13 13:46:20 -07:00
Guthrie Adams afdf35a925 updated material editor skybox and changed property icons
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-13 13:41:31 -05:00
Guthrie Adams 7415277eed fixing ME shutdown
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-13 13:35:46 -05:00
lumberyard-employee-dm 97e9f4dc7d [LYN-6838] Various Monolithic shutdown fixes for the GameLauncher (#4564)
* Added a stateless allocator which uses AZ_OS_MALLOC/AZ_OS_FREE to
allocate memory for objects in static memory.

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

* Updated the Maestro and LyShine Anim Nodes to use the
stateless_allocator for its static containers.

This prevents crashes in static de-init due to the SystemAllocator being
destroyed at that poitn

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

* Updated the EBus AllocatorType to use the EBusEnvironmentAllocator

Because the EBus Context resides in static memory, the SystemAllocator
lifetime is shorter than the EBus Context.

This results in shutdown crashes in monolithic builds due to all of the
gem modules being linked in as static libraries and the EBus context now
destructing at the point of the executable static de-init, instead of
the module de-init, where the SystemAllocator would still be around.

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

* Fixed an assortment of shutdown issues due to deleting objects after
AZ allocators are no longer available

Fixed the NameDictionary IsReady() function to not assert when the
dictionary when invoked after the environment variable it was stored in
was destroyed.
Updated the NameData destructor to check that the NameDictionary
IsReady() before attempting to remove itself from the dictionary

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

* Fixed NameDictionary destory workflow, to reset the EnvironmentVariable
instance

Updated the EnvironmentVariable instance to store the NameDictionary as a
value.

Added a rvalue reference `Set` function overload to the
EnvironmentVariable class to support move only types.

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

* Clang 6.0.0 build fixes

The C++17 std::launder feature isn't available in that compiler version

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-10-13 09:38:36 -05:00
Guthrie Adams 8d4fe12634 Merge branch 'development' into Atom/guthadam/thumbnail_and_preview_refactor
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-13 00:18:23 -05:00
rgba16f 8d97f75e42 Fixes to allow cmake to find files inside the render doc linux tar
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2021-10-12 23:38:01 +00:00
Artur K 80db67e90a Remove many unused variables and unused setting files (#4607)
* Remove many unused variables and unused setting files

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

* Remove a few more dead config vars

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

* fix android test_ConfigureSettings_DefaultValues_SetsValues

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-10-12 17:06:15 -05:00
Guthrie Adams f34811c373 Merge pull request #4639 from aws-lumberyard-dev/Atom/guthadam/thumbnail_bus_passes_const_qpixmap
Updated thumbnail notification bus to use const QPixmap&
2021-10-12 16:47:26 -05:00
Guthrie Adams 343a13a134 updating comments
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-12 16:44:54 -05:00
mrieggeramzn c38c9739da Adding vertexNormal to the Surface structure and using it for shadows (#4617)
* Adding vertex shadow and using it for all shadows
* Fixing small issue with it not being initialized
* Adis recommendations for hair

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-12 13:32:47 -07:00
moudgils 5cefd552a6 - Optimize SRG compilation to not update the whole SRG if not needed across all backends (#4499)
- Each resource type is tracked and updated separately
- Added caching ability for Raytracing srg to save ~2ms for a scene containing 100 x 50 vegetation patch

Signed-off-by: moudgils <moudgils@amazon.com>
2021-10-12 13:24:40 -07:00
Guthrie Adams 8487373b0c Updated thumbnail notification bus to use const QPixmap&
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-12 14:41:26 -05:00
Adi Bar-Lev 05767f2d2b Atom Timer fix - changed milliseconds to seconds (#4631)
* Atom Timer fix - changed milliseconds to seconds

- Tested on both fog and EyeAdaptation animations - both are the only affected and were broken before
- This is a small fix for pull #3969 that replaced the timer mechanism: https://github.com/o3de/o3de/pull/3969

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

* Atom Timer fix - using seconds to begin with and removing obsolete variable

Signed-off-by: Adi-Amazon <barlev@amazon.com>
2021-10-12 15:40:12 -04:00
Guthrie Adams 91592d2218 Merge branch 'development' into Atom/guthadam/thumbnail_and_preview_refactor 2021-10-12 13:21:11 -05:00
Guthrie Adams 26aa7495a2 Changed preview renderer states to use construction and destruction instead of start and stop functions to make sure everything is shut down cleanly
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-12 11:26:14 -05:00
Qing Tao 89e6df1c7f ATOM-16575 clean up image builder presets files (#4611)
ATOM-16575 clean up image builder presets files
Removed unused image builder presets
Deprecating preset UUID and use preset name as unique id
Delete all .exportsettings file which were only used for legacy imageProcessing gem.

Signed-off-by: Qing Tao <qingtao@amazon.com>
2021-10-11 15:18:39 -07:00
Scott Romero a95c609bd8 [development] Migrate Atom CPU timing stats tracking to use global stats profiler (#4549)
This change is a preparation for moving the CPU profiler/visualization system from Atom into its own Gem by removing the dependency on local time tracking object AZ::RHI::CpuTimingStatistics

Full changes include:
- Removed all usage of AZ::RHI::CpuTimingStatistics
-- Replaced with pushing to AZ::Statistics::StatisticalProfilerProxy global instance
- Promoted VariableTimer from AZ::RHI to AZ::Debug
- Removed now unused CpuTimingStatistics.h

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2021-10-11 14:00:42 -07:00
Tobias Alexander Franke 091b729183 Do not run SSAO pass when disabled (#3826)
* Define fallback slots when shader is disabled

* Disable SSAO parent pass depending on the settings

* Move SSAO modulation pass into SsaoParent pass so it can be disabled with the rest of SSAO

* Enable SSAO by default

Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com>
2021-10-11 11:48:28 -05:00
hultonha 5c859cb134 Fix camera drift issues (#4576)
* remove some unused code in RenderViewportWidget and make viewing devicePixelRatioF easier

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* updates to how cursor positions are calculate to handle the viewport widget moving

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* remove optional for previous position

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* add test to capture error with moving the widget

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* minor comment updates before publishing PR

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-10-11 16:23:24 +01:00
Guthrie Adams 9f92bd2d33 Compile again after renaming and moving files
Cleaned up namespaces
Renamed a couple of functions and added comments

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-10 01:45:13 -05:00
Guthrie Adams 2c6cfdd7dc Implemented support for semi-live previews of materials in the material property inspector.
Changed thumbnailer bus to use const pixmap
Changed capture request call back to use const pixmap instead of image
Replaced scene and pipeline members with constructor parameters
Added material preview renderer to editor material system component with new requests and notifications
Changed material property inspector details group to persistent heading so the preview image widget would not get destroyed during refreshes. But this was also a backlog task.
Changed common preview render camera to use lookat
Moved default asset caching to thumbnail renderer

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-09 18:17:50 -05:00
Guthrie Adams 56b7ee2bd4 Merge branch 'development' into Atom/guthadam/thumbnail_and_preview_refactor 2021-10-08 16:03:56 -05:00
Guthrie Adams 5ff6e9951f Merge pull request #2904 from yuriy0/SkinnedMeshOutputStreamManager_deferred_buffer_init
Make the maximum amount of vmem available for skinning related things…
2021-10-08 11:26:47 -05:00
Guthrie Adams 76b4dafbb3 Everything compiling again after moving preview renderer to atom tools framework
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-08 04:33:45 -05:00
Guthrie Adams 569318e9e1 Moved preview renderer files to atom tools framework
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2021-10-08 02:56:24 -05:00
Qing Tao e64b9d3536 ATOM-16320 Remove PVRTC and ETC compressor (#4557)
Signed-off-by: Qing Tao <qingtao@amazon.com>
2021-10-07 16:23:13 -07:00
Tommy Walton 9686ff034f Merge remote-tracking branch 'upstream/development' into SkinnedMeshOutputStreamManager_deferred_buffer_init
Signed-off-by: Tommy Walton <waltont@amazon.com>
2021-10-07 14:22:10 -07:00
Yuriy Toporovskyy bf38f07480 Allow buffer to take any size, including 0
Signed-off-by: Yuriy Toporovskyy <toporovskyy.y@gmail.com>
2021-10-07 14:16:33 -07:00