Commit Graph

410 Commits (1431afb51a08535a0ceabc22f11a55c0e5f5bb93)

Author SHA1 Message Date
Michael Riegger cc15e0d489 Avoid alignment issue if it ever went to cbuffer 5 years ago
Chris Santora f6479aca98 Fixed ATOM-15434 "Decal + POM (Grey outline issue)"
Made sure the depth and shadow shaders enable parallax calculations when alpha clipping is enabled (instead of only when parallax POM is enabled).
Moved the alpha calculations to be *after* the parallax calculations.
Factored out ShouldHandleParallax() and ShouldHandleParallaxInDepthShaders() utility functions, which help us ensure consistent application of parallax calculations across the various shaders in each material type.
Removed some dead code in a couple shaders where dirToCamera was calculated but not used.
Also did ATOM-15034 "Remove Opacity From Multi-Layer Material Types For Now" rather than addressing whatever additional alpha cutout issues might be present on multilayer materials.

Testing:
AtomSampleViewer full test suite.
Added a new AtomSampleViewer screenshot test for alpha clipping with parallax (separate repo).
Addional testing of relevant properties in Matirial Editor.
Tested updated StandardMultilayerPBR in Editor.exe where I had shadows and clipping against other geometry.
5 years ago
dmcdiar 009ecbc152 Relocated RayTracingSceneSrg and converted to .azsli 5 years ago
Michael Riegger cff730b4b8 Merge branch 'main' into Atom/mriegger/PLS 5 years ago
Chris Santora d1801bbe47 ATOM-14495 POM Height Bias
Added parallax "Height Offset" properties to StandardPBR and EnhancedPBR.

- Refactored depth pass and shadow pass shaders to use the GetParallaxInput utility.
- Updated EnhancedPBR.materialtype to match the parallax controls and functors of StandardPBR.materialtype.
- Updated EnhancedPBR's shadow pass shader to apply a ShadowMapDepthBias because I noticed StandardPBR is doing this, so I made them match.
- Updated StandardPBR and EnhancedPBR to both use the depth offset property, as well as heightmap clipping debug view.
- Note that depth offset is not supported in StandardMultilayerPBR yet, it's hard-coded to 0 for now.
- Note that I plan to rename a lot of the "depth" terms to "heightmap" or "displacement" in an upcoming commit.
5 years ago
moudgils 4fd9ad5341
Merge pull request #414 from aws-lumberyard-dev/Atom/moudgils/DisableMetalShaders
Disable metal shaders that dont cross compile correctly
5 years ago
moudgils 389846c45c Disable metal shaders that dont cross compile correctly 5 years ago
Michael Riegger 59077f068c bit shifts instead of if else also comments 5 years ago
Michael Riegger 815c02fb57 better var names 5 years ago
Michael Riegger 66d36137b7 Tabs to spaces 5 years ago
Michael Riegger 37fd8d43ed Tabs to space and better naming and comments 5 years ago
Michael Riegger c729c72034 Switching to XYZ instead of ZYX 5 years ago
moudgils 81dbcdc8e4 Merge branch 'main' into DxcExperiment 5 years ago
moudgils 304696fa5c Shader compile fixes 5 years ago
Peng 76423a1cc8 Merge branch 'main' into ATOM/tonypeng/ATOM-14947 5 years ago
Peng a8a60eeea7 ATOM-14947
-Fix vulkan graphics pipeline creation failure having depth clamp off with devices not supporting depth clip.
-Added reason for the mobile version of screen space reflection
5 years ago
Michael Riegger bbae3b6d48 Slight improvements 5 years ago
Michael Riegger 569c831532 Working PLS 5 years ago
Peng 41a2be2a71 Merge branch 'main' into ATOM/tonypeng/ATOM-14947 5 years ago
antonmic ddd26c3321 addressed review feedback and resolved issues from merge with main 5 years ago
antonmic fb369541cb Changing specularF0 variables back to specularF0Factor 5 years ago
antonmic 7ed49cb20b Merging main 5 years ago
Michael Riegger f508c4a4b5 Initial pointlight shadow work 5 years ago
Peng 058bd9330b Merge branch 'main' into ATOM/tonypeng/ATOM-14947 5 years ago
Chris Burel 61fe298319
Merge pull request #197 from aws-lumberyard-dev/filesEndInNewlines
Add newlines to the end of all files
5 years ago
Aaron Ruiz Mora 5fd8c35878
Fixing cloth working with Actors by reading directly from ModelAsset instead from EMFX Mesh. (#235)
- Fixing cloth working with Actors by reading directly from ModelAsset instead from EMFX Mesh.
- Actor caches map from joint indices in skin metadata to skeleton indices so they can be query later.
- Actor cloth skinning reads indices and weights from Model Asset instead from EMFX Mesh.
- Actor cloth skinning with unlimited skinning bones.
- Sort out cloth unit tests by disabling them until there is a way to create an Atom mesh
- Addressing feedback.
5 years ago
Chris Burel 28170ffe41 Add newlines to the end of all files 5 years ago
dmcdiar 10a8780e6f Merge branch 'main' into Atom/dmcdiar/ATOM-14951
# Conflicts:
#	Gems/Atom/Feature/Common/Assets/Passes/OpaqueParent.pass
#	Gems/Atom/Feature/Common/Assets/Passes/ReflectionGlobalFullscreen.pass
#	Gems/Atom/Feature/Common/Assets/Passes/Reflections.pass
#	Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/ForwardPassOutput.azsli
#	Gems/Atom/Feature/Common/Assets/Shaders/Reflections/ReflectionGlobalFullscreen.azsl
5 years ago
Peng 47ed211bf6 [ATOM][RHI][Vulkan][Android]
-Add different pass for screen space blur for mobile.
-Add macro for constant buffer limits for android vulkan.

JIRA: https://jira.agscollab.com/browse/ATOM-14947 https://jira.agscollab.com/browse/ATOM-14949
5 years ago
Chris Santora c4771997a2 Merge branch 'main' into Atom/santorac/CavityMaps-ATOM-14040 5 years ago
Chris Santora 8fe1505d1d Fixed up issues with my prior occlusion changes, after merging latest main, got everything working again.
ATOM-14040 Add Support for Cavity Maps
5 years ago
dmcdiar a7b3372c15 Merge branch 'main' into Atom/dmcdiar/ATOM-14951 5 years ago
Chris Santora 33745fdad1 Merge branch 'main' into Atom/santorac/CavityMaps-ATOM-14040
Note there were significant conflicts in LightingModel.azsli and StandardPBR_ForwardPass.azsl. I only did basic resolves of these conflicts, mostly preserving the changes from main and distarding the changes in the local branch. The shaders are not compiling at this point, and of course the tests are not passing. I will fix up the code to make corrections in a separate commit, to make it easier to review those changes separate from this merge.
5 years ago
Chris Santora 94b11e5c8f Replaced StandardPBR_DiffuseOcclusionState and StandardPBR_SpecularOcclusionState functor scripts with just UseTexture functors. The behavior is the basically the same and a lot simpler. All we lose is the occlusion "enable" flag, which is cleaner anyway.
ATOM-14040 Add Support for Cavity Maps
5 years ago
Chris Santora 64e625a79f Added support for cavity maps by changing the "Ambient Occlusion" material property group go just "Occlusion", which now contains properties for both "Diffuse AO" and "Specular Cavity".
Added new input attachment to the fullscreen reflection pass to receive the "ambient" gbuffer.
Added diffuse and specular occlusion to the Skin material type; it was missing before.

ATOM-14040 Add Support for Cavity Maps

Testing:
AtomSampleViewer automation, with updates that will be submitted in that repo.
Manual testing in Material Editor.
Built all AtomTest assets and opened a few test levels, with updates that will be submitted in that repo.
Made local copies of the occlusion test materials and changed replaced the material types with EnhancedPBR and Skin, and got identical results (with clear coat disabled since it works different in EnhancedPBR and is absent in Skin).
5 years ago
dmcdiar a4acfc8261 Changed the clearcloat enable Lua functor to set the forwardPassIBL shader option.
Changed MeshFeatureProcessor to look for this shader option to determine if the material requires forward pass IBL specular.
5 years ago
dmcdiar f2a757f21e Merge branch 'main' into Atom/dmcdiar/ATOM-14951 5 years ago
Chris Santora f5cb6f438b Making room for specular cavity occlusion support in the buffer. We can pre-multiply the diffuseAmbientOcclusion into the albedo term output from the forward pass, instead of multiplying it in the diffuse GI passes. The difference due to precision is negligable. This can be seen in the corresponding changes in AtomSampleViewer baseline screenshots.
ATOM-14040 Add Support for Cavity Maps
5 years ago
antonmic 57b68302ae Deleting obsolete LightingModel.azsli 5 years ago
antonmic 89edc04129 Fixed subsurface scattering, which now is executes in separate FowardWithSubsurfaceOutput pass 5 years ago
antonmic 7c099ed11c Updated AutoBrick and MinimalPBR 5 years ago
dmcdiar c367e51462 Added DiffuseProbeGridClassification pass. 5 years ago
dmcdiar 007589a98d Added DiffuseProbeGridClassification pass.
Updated RayTracing shaders to use the new light types.
5 years ago
antonmic d55406faa0 Merge branch 'main' into Atom/antonmic/pbr_01 5 years ago
dmcdiar a4fe1bc8db Removed ClearCoatNormal RT from the pipeline and shaders.
Changed stencil bits to use 0x3 for the IBL Specular pass and 0x80 for the DiffuseGI pass.
5 years ago
dmcdiar 456bcb3bf9 Updated the EnvironmentCubeMapPipeline to match recent changes to the MainPipeline.
Set the multisample state on the EnvironmentCubeMapPipeline render settings.
5 years ago
antonmic b6c4c07fc5 New forward subsurface pass 5 years ago
antonmic 0d412abe52 Updated Skin shader 5 years ago
antonmic d0760009b0 Updated MultilayerPBR 5 years ago
antonmic aa06908024 Updated EnhancedPBR and touched up some includes 5 years ago
mnaumov 01a2ea6423 Moving thumbnail assets to AtomLyIntegration 5 years ago
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 5 years ago
alexpete c5b955d281 Integrating github/staging through commit b0dd7ed 5 years ago
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 5 years ago
alexpete c2cbd430fe Integrating up through commit 90f050496 5 years ago
Brian Herrera 39f53338bf Merge branch 'main' into LoadPipelineFromGitHub 5 years ago
alexpete 36c4e827bd Integrating latest from github/staging
Integrating up through commit 5e1bdae
5 years ago
Brian Herrera e8bbb5a0d5 Set scripts to be executable
This is required to build on linux/mac
5 years ago
alexpete 75dc720198 Integrating latest 47acbe8 5 years ago
alexpete a10351f38d Initial commit 5 years ago