Commit Graph

187 Commits

Author SHA1 Message Date
Ken Pruiksma cf9e088133 ATOM-15708 ATOM-15709. Disabling the low end shader for blended and tinted transparencies. The standard shader is already drawing in the transparent pass for those blend modes. Also improving the way StandardPBR_HandleOpacityMode is getting the correct shader by using a tag instead of index. (#1355) 2021-06-16 14:17:21 -05:00
mrieggeramzn a505ed8a51 Merge pull request #1302 from aws-lumberyard-dev/Atom/mriegger/esmexponent2106
Atom/mriegger/esmexponent2106
2021-06-16 10:47:26 -07:00
mrieggeramzn 51ba3e9346 Merge pull request #1300 from aws-lumberyard-dev/Atom/mriegger/bsearchstab
Fixing boundary search
2021-06-15 10:49:36 -07:00
dmcdiarmid-ly 567b54ee25 Merge pull request #1297 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15767
[ATOM-15767] ReflectionScreenSpaceBlurPass uses a fixed number of mips
2021-06-14 19:06:13 -07:00
jiaweig eec5fc1546 Merge pull request #1257 from aws-lumberyard-dev/Atom/jiaweig/ATOM-13723_lattice_sizing_crash
ATOM-13723 BaseViewer DynamicMaterialTest Crash With Many Objects on dx12
2021-06-14 11:11:50 -07:00
mriegger 4ac846383a Fixes from feedback 2021-06-13 23:13:43 -07:00
mriegger 959ec14df6 Exposing esm exponent 2021-06-13 23:07:10 -07:00
mriegger 95e21bf2af Fixing boundary search 2021-06-13 15:29:27 -07:00
Doug McDiarmid 886601ad94 Created a new ReflectionScreenSpaceCompositePass to set the maximum roughness mip in the pass Srg.
Changed the ReflectionScreenSpaceBlurPass to auto-generate the mip chain, which will compute the appropriate number of mips.
2021-06-12 03:20:31 -07:00
michabr 6584e1290b Reenable LyShine mask support now using Atom (#1218)
* Add option to set stencil ref in Dynamic Draw Context

* Add depth/stencil attachment slot to UI pass

* Rework mask rendering to use Atom

* Add missing circle mask image
2021-06-11 10:03:06 -07:00
moudgils f2db30c5d0 Merge pull request #1246 from aws-lumberyard-dev/UpdateIosPipeline
Fix many issues on Mac metal
2021-06-11 09:42:14 -07:00
jiaweig 7590ef04b2 Increase the platform limit to handle more objects. 2021-06-10 16:48:48 -07:00
moudgils b18b03b8fb Added comments and more format fixes 2021-06-10 14:40:52 -07:00
Ken Pruiksma bf76963696 [ATOM-15683] StandardPBR shader now makes sure to mark w for no subsurface scattering. Currently all StandardPBR materials are being subject to a 2x2 box blur because the DiffuseSpecalarMerge pass thinks they have samples with subsurface scattering turned on, and this is degrading the quality of diffuse. (#1249) 2021-06-10 16:12:02 -05:00
moudgils 3b249844d5 Minor formatting cleanup 2021-06-10 11:02:45 -07:00
moudgils 77b209d023 Merge branch 'main' into UpdateIosPipeline 2021-06-04 23:07:40 -07:00
Ken Pruiksma 9df995dd26 Temporal anti-aliasing and constrast adaptive sharpening (#1161)
First version of temporal antialiasing and contrast adaptive sharpening for GA. Works well in most cases but still has a few issues that will need additional time. This is only the passes and shaders with no exposure to the editor. TAA and CAS can be turned on by enabling their respective passes in the pipeline.

All of the code has been previously reviewed in smaller PRs into the taa_staging branch:
aws-lumberyard-dev#29
aws-lumberyard-dev#53
aws-lumberyard-dev#73
aws-lumberyard-dev#79
aws-lumberyard-dev#84

Main issues:

- Bloom doesn't play nice with TAA and seems to greatly amplify any flickering
- AuxGeom jitters with the camera, so TAA doesn't currently work well in editor
- Transparencies don't have correct motion vectors. History rectification keeps this from looking too bad, but could still be improved
- There is still more that could be done to inhibit flickering, usually from specular aliasing
- Motion vectors aren't correct on POM unless PDO is turned on, which can result in some blurring during motion.
- SSAO can contribute to flickering in its default half res configuration. Changing this to full res mitigates the problem.

Squashed merge of the following:

* [ATOM-13987] Initial checkin of Taa pass.

* TAA pass setup WIP. (does not work yet due to pass configuration issues).

* Taa WIP - Camera motion vectors fixed and hooked up. TAA does simple reprojection and rejection based on depth.

* Small update to use lerp and add some comments.

* Fix issue with attachments not being set up on bindings at initialization. Fixing issue with half-pixel offsets in TAA shader

* - Motion vector passes now use the same output with mesh motion vectors overwriting camera motion vectors.
- Taa pass now works with multiple pipelines.
- Cleaned up TAA shader a bit.

* Fixes from PR review.

* Adding check for multiple attachments of the same name with different resources in Pass::ImportAttachments().

* Adding camera jitter with configurable position count. Updated TAA to blend in tonemapped space.

* Fixes from PR review. Fixing camera motion vectors for background (infinite distance)

* Updates to taa shader from PR review

* Adding a rcp input color size.

* Fix comment on PassAttachment::Update()

* Updates for PR review.

* Fixing missing const on the FrameAttachment* in Pass's call to FindAttachment()

* Taa WIP - Adding filtering to both the current pixel and history. Adding rectification based on variance clipping. Adding some basic anti-flickering. Removing rejection based on depth.

* Updates from PR code review. Mostly better commenting and naming.

* Adding contrast adaptive sharpening based on AMD FidelityFX CAS to help with the softness added by TAA.

* Changing to using luminance for sharpening instead of just green. Added some comments.

* Moving Taa's NaN check to a better location. Disabling TAA and sharpening in prep for check in.

* Updates from PR feedback.
2021-06-04 20:57:44 -05:00
dmcdiarmid-ly d19d2aff9d Merge pull request #1110 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15517
[ATOM-15517] Software Occlusion Culling
2021-06-04 15:21:39 -07:00
Doug McDiarmid fefa46dd6a Added DiffuseGlobalIlluminationFeatureProcessor and moved the DiffuseProbeGrid files to the DiffuseGlobalIllumination directory 2021-06-04 02:39:25 -07:00
moudgils 0e4a632417 Add support for re-binding SRG entries if the drawItem has a new pso which changes how a srg is used in the shader. Also optimized api usage to use single call for UseResource and for setting stream buffers. 2021-06-03 22:45:50 -07:00
Doug McDiarmid 2449a9322d Changed the occlusion culling plane model to be on the XZ plane and adjusted the corner point computations 2021-06-03 18:42:13 -07:00
AMZN-mnaumov c2619decc4 Merge pull request #1096 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15711
[ATOM-15711] Changing thumbnail sphere to polar sphere
2021-06-03 15:39:26 -07:00
Doug McDiarmid ef05412063 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 2021-06-03 13:31:18 -07:00
Qing Tao c009e7d50b ATOM-4782 [Material] Transparent pass is using StandardPBR_Forwardpass shader with incorrect SRG (#1103)
Removed TransparentPassSrg until we have pbr shaders TransparentPassSrg
2021-06-03 10:42:20 -07:00
mnaumov ee0ecc2fa0 [ATOM-15711] Changing thumbmail sphere to polar sphere 2021-06-02 11:49:08 -07:00
Doug McDiarmid 35d7ee5e53 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 2021-06-02 00:10:55 -07:00
moudgils 0d5247be34 Fix metal shader pipeline crashes for LuminanceHistogramGenerator and MorphTargetCS due to the use of atomic operations with typed buffers. Switching them to use Structured buffers. Plus misc cleanup 2021-06-01 09:58:45 -07:00
Doug McDiarmid 59ab6edaef Added occlusion culling plane visualization 2021-05-31 01:38:13 -07:00
Chris Santora 79f00b3c81 Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 2021-05-29 15:03:01 -07:00
Jonny Galloway 9c5ea5026f Merge pull request #1023 from aws-lumberyard-dev/gallowj/main/AssetLegalAudit
removing folder with image data we don't own, can't license.
2021-05-29 14:19:55 -05:00
Chris Santora 9e5c6f6851 Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 2021-05-28 16:56:22 -07:00
Chris Santora e690c0e626 Merge pull request #1046 from aws-lumberyard-dev/Atom/santorac/MaterialLayoutCleanup-ATOM-14002
Updated Material Property Layouts Per Design

- Renamed "Details" group to "Overview".
- Renamed "UV Names" group to "UV Sets".
- Renamed "General" group to "General Settings".
- Renamed "Parallax" group to "Displacement".
- Renamed "Texture Map" properties to just "Texture". In cases where a specific type of texture is mentioned like "roughness texture map" I called this "roughness map" (which is more common according to google).
- Renamed "Heightmap" to "Height map" (which is more common according to google).
- Reordered material property groups according to design review.
  - Base Color
  - Metallic
  - Roughness
  - Specular Reflectance F0
  - Normal
  - Occlusion
  - Emissive
  - Subsurface
  - Clear Coat
  - Displacement
  - Opacity
  - UVs
  - Irradiance
  - General Settings

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
2021-05-28 16:55:35 -07:00
dmcdiarmid-ly b20f3bc72f Merge pull request #946 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15555
[ATOM-15555] Data-Driven RayTracingPass
2021-05-28 16:38:00 -07:00
Chris Santora 147f0084a8 Removed subsurface scattering and transmission features from StandardPBR.materialtype.
ATOM-4120 Stabilize Standard PBR Regarding Subsurface and Translucency
2021-05-28 15:47:25 -07:00
Chris Santora 2112da5f85 Reordered material property groups according to design review.
- Base Color
- Metallic
- Roughness
- Specular Reflectance F0
- Normal
- Occlusion
- Emissive
- Subsurface
- Clear Coat
- Displacement
- Opacity
- UVs
- Irradiance
- General Settings

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
2021-05-28 14:34:07 -07:00
Chris Santora de4e6957e8 Made a bunch of display name and description updates to core material types.
- Renamed "Details" group to "Overview".
- Renamed "UV Names" group to "UV Sets".
- Renamed "General" group to "General Settings".
- Renamed "Parallax" group to "Displacement".
- Renamed "Texture Map" properties to just "Texture". In cases where a specific type of texture is mentioned like "roughness texture map" I called this "roughness map" (which is more common according to google).
- Renamed "Heightmap" to "Height map" (which is more common according to google).

ATOM-14002 [Material Editor] Revisit user facing organization and layout of material types
2021-05-28 13:38:56 -07:00
Chris Santora da5a77925a Merge branch 'main' into Atom/santorac/MaterialLayoutCleanup-ATOM-14002 2021-05-28 11:02:46 -07:00
Chris Santora 34f0515e35 Merge branch 'main' into Atom/santorac/RemoveParallaxInvertFlag-ATOM-15653 2021-05-28 10:33:00 -07:00
Qing Tao c630ece43a Add m_linearDepthTexture as input for transparent pass.
This is required by popcornfx and it doesn't add extra cost to the render pipeline.
2021-05-28 09:42:11 -07:00
gallowj bdf9da820d removing folder with image data we don't own, can't license. 2021-05-28 09:49:44 -05:00
Doug McDiarmid fdc57cdaff Added TLAS dependency 2021-05-28 00:08:13 -07:00
Doug McDiarmid c0c9e5e90d Merge branch 'main' into Atom/dmcdiar/ATOM-15555 2021-05-27 19:24:16 -07:00
Chris Santora 05654ea152 ATOM-15653 Remove Unnecessary Parallax Map Invert Flag
Removed the parallax invert flags and instead all the materials assume displacement is always specified as heightmaps.
Updated property naming, tooltips, and shader variable names to reflect this.
Updated ParallaxMapping.azsli to treat depthOffset as an offset in depth value rather than an offset in height value, so it matches the fact that ParallaxMapping.azsli always operates in depth values rather than height values.
2021-05-27 11:09:10 -07:00
Chris Santora b206e7ffe5 ATOM-15295 Remove Unnecessary Enable Material Properties
The only remaining unnecessary enable flag I found was for the parallax property group. It is removed, and now we just use the texture map and useTexture flag to gate whether the feature is enabled.
2021-05-27 09:58:58 -07:00
Doug McDiarmid 8223f241b5 Merge branch 'main' into Atom/dmcdiar/ATOM-15555
# Conflicts:
#	Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp
#	Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp
2021-05-26 21:57:43 -07:00
Chris Santora 755d1b7abc Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 2021-05-26 21:39:28 -07:00
Chris Santora 014f715fd8 ATOM-14037 StandardPBR TintedTransparent Opacity
Copied tinted transparency opacity mode from EnhancedPBR to StandardPBR.
Fixed a bug in EnhancedPBR where Blended opacity didn't work right because the second DrawListOverride functor was stomping on the results of the first DrawListOverride. I removed these functors and made StandardPBR_HandleOpacityMode.lua set the draw list override instead.
2021-05-26 21:27:31 -07:00
Chris Santora 7e023c3676 ATOM-15133 "Clean Up EnhancedPBR"
Updated material type files for StandardPBR, EnhancedPBR, and Skin to align with each other as much as possible.
There were minor cases like some property settings were different, properties in different order, comments, and formatting.
There were major cases as well, like EnhancedPBR using clunky built in functors where lua functors would be better, property visibility state wasn't right, properties were missing, etc.

I also added a new HasShaderWithTag function for lua functors. This is used in StandardPBR_ShaderEnable.lua to allow this script to be used for both StandardPBR and EnhancedPBR (EnhancedPBR doesn't have the low end pipeline shaders).
2021-05-26 20:23:31 -07:00
Terry Michaels 9b1be43367 Renamed osx_gl to mac and es3 to android for cache folders (#949) 2021-05-26 19:17:17 -05:00
Chris Santora 6f47f28051 Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 2021-05-26 11:43:29 -07:00