Commit Graph

26 Commits

Author SHA1 Message Date
Jeremy Ong 68a7a21e62 Reintroduce .h and .inl split
Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-07-31 00:26:28 -06:00
Jeremy Ong e1ce742f14 Generalize comments pertaining to light data and consolidate inline
header

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-07-31 00:26:25 -06:00
Jeremy Ong bb782e83b4 Promote IndexedDataVector to public Feature/Utils header
Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-07-31 00:26:23 -06:00
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>
2021-07-16 15:25:48 -07:00
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>
2021-06-30 19:51:55 -07:00
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
hershey5045 c127a044d4 Enable fog in physical sky component to blend with deferred fog (#1320) 2021-06-18 13:39:11 -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
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
Doug McDiarmid 35d7ee5e53 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 2021-06-02 00:10:55 -07:00
Doug McDiarmid 59ab6edaef Added occlusion culling plane visualization 2021-05-31 01:38:13 -07:00
Doug McDiarmid 1b235e0b16 Merge branch 'main' into Atom/dmcdiar/ATOM-15517 2021-05-28 13:43:26 -07:00
Doug McDiarmid c0c9e5e90d Merge branch 'main' into Atom/dmcdiar/ATOM-15555 2021-05-27 19:24:16 -07:00
Chris Santora ed56635c3e Merge remote-tracking branch 'upstream/main' into Atom/santorac/MaterialTypeCleanup 2021-05-27 15:12:56 -07:00
Chris Santora c84989832d ATOM-13216 Delete Deprecated Functors
Removed unused PropertyVisibilityFunctor and ShaderEnableFunctor
2021-05-26 21:07:49 -07:00
Doug McDiarmid 17e9c17f31 Added Occlusion Culling Planes and RPI Culling support for Masked Occlusion Culling 2021-05-26 19:18:18 -07:00
Doug McDiarmid c29c1825cb Added RayTracingPass and RayTracingPassData 2021-05-24 01:19:37 -07:00
dmcdiar d6e25bbb33 Added DiffuseProbeGrid texture baking 2021-05-21 03:26:29 -07:00
guthadam 931a127b7b ATOM-15223 updating material assignment ID to be portable to other models
The bug was reported that copy and paste did not work with the material component.
Copy and paste to take the worked fine.
All of the material assignments/overrides get mapped using the LOD and asset ID of materials provided with the model.
The asset IDs of materials exported by atom builders, using the scene API, are the combination of the same UUID as the model asset ID and the unique sub ID that is now hashed from the material name provided by the DCC tool.
If we map material assignments using the entire asset ID that was generated in the model builder then the mapping will only work with that specific model.
This change updates the material assignment ID equality operators and hash function to only use the sub ID portion of the asset ID.
As long as the sub IDs are generated consistently the material assignment mappings will be portable to models with the same material names.

Also moved material assignment structures to atom common features static library so this was to be moved to cpp files
2021-05-12 13:47:47 -05:00
dmcdiar 007589a98d Added DiffuseProbeGridClassification pass.
Updated RayTracing shaders to use the new light types.
2021-04-19 02:29:20 -07:00
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 2021-04-13 17:18:57 -07:00
alexpete c2cbd430fe Integrating up through commit 90f050496 2021-04-07 14:03:29 -07:00
alexpete 75dc720198 Integrating latest 47acbe8 2021-03-25 13:57:57 -07:00
alexpete a10351f38d Initial commit 2021-03-08 14:30:57 -08:00