Commit Graph

708 Commits

Author SHA1 Message Date
hershey5045 f962f3d816 White Balance Updates (#4887)
* Implement simple tint for white balance color grading. Adjust temperature slider to feel linear.

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

* Change white balance luminance preservation equation and remove unused code.

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

Co-authored-by: rbarrand <rbarrand@amazon.com>
2021-10-22 09:53:48 -07:00
mrieggeramzn 8c6900eb06 Atom/mriegger/normaloffsetbias (#4841)
* Adding directional light shadow bias

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Adding normal offset bias to the directional shadow maps

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* not time yet for this

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* small comment fix

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* fixing tabs

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-22 11:48:04 -05:00
Adi Bar-Lev d5431653aa Hair and Tools Pipeline bug fixes (#4902)
- Fixed fallback connections for hair pipeline to allow disabling the parent pass hierarchy when not required
- Renamed the Thumbnail pipeline to be used as generic minimal tools pipeline
- Reused the Tools pipeline for the preview renderer - minimal FPs and passes

Remark:
- The tools pipeline should have folloup submits for reducing passes to minimal required render passes

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

Co-authored-by: Adi-Amazon <Adi Bar-Lev barlev@amazon.com>
2021-10-22 09:21:06 -04:00
galibzon 63140dc247 Atom/galibzon/atom 4608/inline to root constant (#4897)
* Changed references to "InlineConstant" to "RootConstant".

Updated AZSLC to version 1.7.34  for mac,  linux & windows

Signed-off-by: garrieta <garrieta@amazon.com>
2021-10-22 05:52:50 -05:00
santorac 19dee0e37c Merge branch 'development' into Atom/rbarrand/MaterialVersionUpdate 2021-10-21 15:57:57 -07:00
santorac b32a6a1369 Reverted accidental change to StandardPBR.material type's color property name.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2021-10-21 12:52:28 -07:00
hershey5045 68b585102e Re-order some color grading operations. Increase values for SMH to account for HDR colors. (#4856)
Signed-off-by: rbarrand <rbarrand@amazon.com>

Co-authored-by: rbarrand <rbarrand@amazon.com>
2021-10-21 12:06:46 -07:00
santorac bf2997f960 Merge remote-tracking branch 'upstream/development' into Atom/rbarrand/MaterialVersionUpdate 2021-10-21 11:14:03 -07:00
santorac f83b6594c9 Updated MaterialTypeSourceData to force users to move the "version" indicator to the new location at the top level of the json document.
(It's a simple enough change to make manually, and making .materialtype is an uncommon workflow, so not worth doing this automatically).

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2021-10-21 11:05:47 -07:00
Guthrie Adams 2e44d96b05 Merge pull request #4734 from aws-lumberyard-dev/Atom/mriegger/directionallightbias
Atom/mriegger/directionallightbias
2021-10-20 15:22:33 -05:00
AMZN-ScottR 1b1ef46d9d Merge branch 'development' into atom_cpu_profiler_gem_promotion
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-19 10:58:35 -07:00
Guthrie Adams fa3f3e4285 Merge pull request #4618 from aws-lumberyard-dev/Atom/EditorColorGrading
Implement LUT Generation Pass and hook up into Editor
2021-10-19 11:00:46 -05:00
hershey5045 85183f5936 Add weights for the remaining color grading operation. Refactor editor hdr color grading property texts. (#266)
Signed-off-by: rbarrand <rbarrand@amazon.com>

Co-authored-by: rbarrand <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-18 13:25:39 -07:00
AMZN-ScottR b89e437a6b [atom_cpu_profiler_gem_promotion] migrated CPU frame data capture API and implementation from Atom over to Profiler gem
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-15 19:24:41 -07:00
AMZN-ScottR 66f905870d [atom_cpu_profiler_gem_promotion] reinstated CPU frame time serialization in Atom profiling tools (relies on Atom frame time tracking)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-15 19:24:21 -07:00
AMZN-ScottR da75b7ef2b [atom_cpu_profiler_gem_promotion] disconnected Atom CPU profiler preparing for gem promotion
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
2021-10-15 19:22:26 -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
rbarrand a8b6c1e77b Add cmake file for editor scripts. Add constexpr keyword to constants. Use AZ_CRC_CE for LookModificationComponent.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-15 12:56:19 -07:00
mrieggeramzn a114fa5531 Merge branch 'development' into Atom/mriegger/directionallightbias
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-15 12:46:58 -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
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 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
rbarrand 67c14c21cc Remove lut identity assets and code, simply calculate base coordinates for LUT programmatically.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-14 17:19:22 -07:00
rbarrand c42d82386b Refactor and resolve PR comments.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-14 15:48:13 -07: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
rbarrand a3802c45b8 Fix cmakelist file for atom features.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 17:07:45 -07:00
rbarrand 579236ecf6 Add SPDX header for python script. Update path aliases. Re-order HDRColorGradingParams.inl to order editor properties appropriately.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:09 -07:00
rbarrand 2ac006a468 Add HDRColorGradingCommon.azsl.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:08 -07:00
rbarrand 8a8b74a6e9 Finalize shaper implementation. Refactor color grading functions.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:06 -07:00
Robin b00ee3ff75 Implement lut resolution.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:05 -07:00
Robin 2313f912bc Initial commit for editor LUT generation.
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:03 -07:00
hershey5045 4a133f1251 Editor HDR Color Grading Component implemented under the PostFx stack (#219)
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:02 -07:00
Robin 580716bef6 Correct case for file.
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:01 -07:00
Robin 22dd71739f Remove color grading pass from light adaptation parent pass due to failing ASV tests. This will be added back later on.
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:57:00 -07:00
Robin ddbba7d37c Code refactor.
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:56:58 -07:00
Robin 20cf2a837c Improve code quality.
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:56:57 -07:00
Robin 2e2a7b2a3e Add HDR color grading pass and shaders.
Signed-off-by: Robin <rbarrand@amazon.com>
Signed-off-by: rbarrand <rbarrand@amazon.com>
2021-10-13 15:56:56 -07: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
mrieggeramzn d7ac1be726 Adding directional light shadow bias
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-13 11:46:29 -07: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
mrieggeramzn ea030d2890 Removing unused softening boundary width controls
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2021-10-12 17:48:12 -07: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
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
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
dmcdiar b8bf5486a4 Removed the ScatterDistanceOutput texture from the EnvironmentCubeMapForwardMSAAPass.
Removed unused Srgs from the ReflectionCompositePass.

Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-10-05 19:50:54 -07:00
galibzon 643bd84739 Create helper function for getting threads per (#4480)
* Create helper function for getting threads per
group from a compute shader

Added GetComputeShaderNumThreads() functions to RPIUtils.
By default the function returns 1, 1, 1 in case of errors.

Updated existing code that was looking for 'numthreads' attribute data
with the new GetComputeShaderNumThreads() API.

Signed-off-by: garrieta <garrieta@amazon.com>
2021-10-05 14:21:21 -05:00