Commit Graph

497 Commits (development)

Author SHA1 Message Date
Jeremy Ong bc2589f3e8
Merge pull request #7529 from yaakuro/yaakuro-development-patch-7
Remove redundant ProgramVariant tag because it got deprecated.
4 years ago
Qing Tao 846e2736a5
[new] ATOM-17253 Using AtomTressFX gem as an example to inject hair passes to main pipeline at run-time (#7661)
* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Added new api in RPI to apply render pipeline changes from FP

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Update AtomTressFX gem to create hair parent pass at runtime

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
4 years ago
dmcdiarmid-ly 9d6062d96f Added an RPISystemInterface method to set the application-wide MSAA state
The Editor will now properly apply the MSAA state from MainRenderPipeline.azasset
Corrected a race condition with the cubemap baking pipeline

Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
Yaakuro 4852cb0d60 Remove redundant ProgramVariant feature because it got deprecated.
Signed-off-by: Yaakuro <y1@codeposer.net>
4 years ago
Jeremy Ong 5f914e8e1a Add README to describe upcoming material type changes
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong faa65bca1b Refactor shader definitions to be more consistent with other shaders
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 86d8ececfb Resolve incorrect SHADOWS definitions
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 9ed9bcbb2f Fix incorrect include header casing
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 4bcc83e7ac Address PR feedback, ensure all ASV tests pass
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 7aace39c2f Consolidate alpha retrieval and clip
Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Jeremy Ong 61f915366a Shader refactor (no functional changes)
The purpose of this shader refactor is to split various material type
shaders into disparate pieces:

1. The original material type shaders now include an external file with
   the actual shader entry points and structure of the algorithm (e.g.
   depth pass, shadow pass, forward pass) but continue to specify the
   SRGs used
2. Common functionality used across multiple shaders was consolidated
   into routines implemented in the MaterialFunctions folder
   (Materials/Types/MaterialFunctions)
3. The implementation shaders rely on common routines to be
   included/imported prior to inclusion, and by design, make no
   references to any Draw, Object, or Material SRG.

This refactor only includes the Standard and Enhanced material types,
and is, for the most part, a non-functional change. However, the Surface
definition needed to be augmented to include information needed by
lighting later. Modifying the Surface structure enables the lighting
loops to avoid any references to the Material SRG. This completes the
decoupling needed to support future Material canvas work, as well as a
future Material pipeline abstraction (where by the implementation
shaders can be injected by the user, customized per platform, and in
general, are simply decoupled from the materials themselves).

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
Santi Paprika fe163bc930 Merge remote-tracking branch 'upstream/development' into thin-transmission 4 years ago
antonmic 5baf7d5147 removing compute queue flag from SSAO since it's causing crashes for some people
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
Santi Paprika c173fd9357 Remove division by constant in distance attenuation for DirectionalLight (https://github.com/o3de/o3de/pull/6428#discussion_r799216516)
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika 6e21d63943 Merge remote-tracking branch 'upstream/development' into thin-transmission
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika 024933d4a1 Improve descriptions and comments (https://github.com/o3de/o3de/pull/6428#discussion_r799207891, https://github.com/o3de/o3de/pull/6428#discussion_r799213620)
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
antonmic 4216e4cfed
Added support for hardware queue class on passes (#7339)
* Added support for hardware queue class on passes. Compute pass data and copy pass data can now specify to run on their appropriate queue.

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>

* addressed PR feedaback

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>

* fixing python test failures on AR

Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
Qing Tao 01892914ea
Atom/qingtao/atom 16135 (#7334)
* Changes to AttachmentImage related classes to have better support using render target as texture.
- Updated AttachmentImageAsset to support an unique name which can be used as AttachmentId.
- Functions in ImageSystemInterface to find an AttachmentImage by its unique name.
- Added InsertChild function to ParentPass class so it can insert a child pass at any location.
- Change to ImageAttachmentPreviewPass so it can preview cached pass attachment even the source pass was disabled.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
4 years ago
Tommy Walton 837d4fde3e
Create a debug material type for displaying per-vertex data (#7220)
* Create a debug material type for displaying per-vertex data

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

* PR feedback. Added color display mode, multiple uv-set support, split tangent/bitangent options into two separate enums, and added a functor for showing only the applicable properties in the UI depending on which vertex stream and uv set are selected.

Signed-off-by: Tommy Walton <waltont@amazon.com>
4 years ago
moudgils 608411ab99
Metal pso caching support via MTLBinaryArchive (#7212)
* PipelineLibrary (PSO Caching) support for Metal

- API changes to handle Metal drivers implictly doing save/load of PipelineLibrary data
- Fixed up code related to Metal device selection
- PipelineLibrary support for Mac and ios

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

* Fix compile errors for Dx12, Vulkan backend + Unit tests

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fixed errors related to M1 GPU

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

* Fix a minor 'tab' validation issue

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

* Addressed feedback

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

* Minor feedback

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

* Added a few asserts

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Fix a typo

Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Santi Paprika 9c60bd008c Enable human skin profile via preprocessor define (https://github.com/o3de/o3de/pull/6428#discussion_r797699927)
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika 1087e45ce3 Fix typo (https://github.com/o3de/o3de/pull/6428#discussion_r797667772)
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika 1c47d719c8 Merge remote-tracking branch 'upstream/development' into thin-transmission 4 years ago
antonmic 7534193234 merging dev for good luck after failed AR
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
santorac d6c419d630
Merge pull request #7250 from aws-lumberyard-dev/Atom/santorac/RemixableMaterialTypes3_UpdatedStandardPbr
Updated StandardPbr.materialtype to follow the new file material type format
4 years ago
antonmic ba76d304dc merging latest dev
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
santorac 8042a6e97a Merge branch 'development' into Atom/santorac/RemixableMaterialTypes3_UpdatedStandardPbr
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
antonmic 5b9bc3b479 address PR feedback
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
dmcdiarmid-ly 5c3d5a290a Minor changes
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
antonmic 9f0b6d65f4 merging latest dev
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
4 years ago
dmcdiarmid-ly 5f7a30f8da Added DiffuseProbeGrid Visualization passes, shaders, and editor controls.
Changed the DiffuseGI passes to override IsEnabled() instead of exiting early from FrameBeginInternal.

Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
santorac e173840bab Moved the StandardPbr property groups around to be in their original order.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
santorac c3363fc22e Updating StandardPbr.materialtype to follow the new file format. In this commit all I did was combine the "groups" metadata together with the property lists. The groups will now show up in the wrong order in the Material Editor, because that was based on the "groups" list that no longer exists. I wanted to keep the giant list of properties in the same order for an easier diff review. In the next commit, I'll move the property groups around to be in the same order as before.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
mrieggeramzn 50982b8283
Exposing / Unifying the rasterstate depth bias values for all the shadowmap shaders (#7150)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
dmcdiarmid-ly 5ed7e91a62
Merge pull request #7022 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17127
NumRaysPerProbe DiffuseProbeGrid setting
4 years ago
dmcdiarmid-ly c27f73c66b Added a NumRaysPerProbe DiffuseProbeGrid setting
Added supervariants to the precompiled DiffuseProbeGrid shaders for the NumRaysPerProbe values

Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
santorac fbe17b0022 Merge remote-tracking branch 'upstream/development' into Atom/santorac/MaterialAssetDeferredBaking3 4 years ago
santorac f87d0f8386 Updated all .material files to have materialTypeVersion instead of propertyLayoutVersion. This was renamed in code at some point but we forgot to rename in the files. Before this was silently ignored but since I removed MaterialSourceDataSerializer, this started being reported as a warning.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
dmcdiarmid-ly 2b103ce445 Added support for supervariants to the PrecompiledShaderBuilder
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
moudgils 284ae60139
Add missing 'precise' keyword for Vertex shaders (#6902)
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
4 years ago
santorac a690c76ad4
Fixed depth clipping artifacts for parallax PDO. (#6837)
The "precise" keyword was recently added to several shader inputs, but one was missed. This led to inconsistency between the depth and forward passes which resulted in artifacts when parallax pixel depth offset was in use. See https://github.com/o3de/o3de/pull/6536

Testing: I used AtomSampleViewer to make a local baseline of all screenshots in _fulltestsuite_.bv.lua. The only change was to the parallax test cases, which were a clear improvement.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Santi Paprika d0bb222ce6 Refactor thin transmission factor variable packing and visibility + use thickness to modulate transmission distance
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika 0f766d92d3 Merge remote-tracking branch 'upstream/development' into thin-transmission 4 years ago
Jeremy Ong 2c41a73c12
Merge pull request #6740 from aws-lumberyard-dev/Atom/FixDepthIssues
Add missing `precise` attribute to depth prepass output
4 years ago
Jeremy Ong 39edcd06e4 Add missing `precise` attribute to depth prepass output
Commit 67689d48cc enforced precision in
many vertex position outputs. This adds the attribute to the output of
the z-prepass, needed to ensure proper depth testing in the forward
passes.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
4 years ago
dmcdiarmid-ly a365e15729
Merge pull request #6717 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-16989
Improved DiffuseProbeGrid blending
4 years ago
dmcdiarmid-ly 23293a13c1 Improved DiffuseProbeGrid blending around the edges of the volume
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
4 years ago
Santi Paprika ed7c6198e1 Merge remote-tracking branch 'upstream/development' into thin-transmission 4 years ago
Santi Paprika 8770118b90 Fix nit typo in comment v2
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago
Santi Paprika c580499b6f Fix nit typo in comment
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
4 years ago