Commit Graph

153 Commits (1431afb51a08535a0ceabc22f11a55c0e5f5bb93)

Author SHA1 Message Date
Ken Pruiksma 33c408f654
Expose shadow bias to component & feature processors. (#2406)
* Expose shadow bias to component & feature processors. Shadow bias now works more consistently with various near / far shadow planes and caster positions. Bias now also affects esm shadows which helps eliminate acne in certain situations.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding jira comment to light configuration serialization version. Improved comment on final adjustment to bias before its sent to the shader.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Hooking up bias to behavior context.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Ken Pruiksma 53dd7a89aa ATOM-16024 Point light shadows now affect specular like they should.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
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>
4 years ago
yuriy0 ccd4cc65a5
Use SampleLevel instead of Sample to sample shadow maps. (#1370)
* Use SampleLevel instead of Sample to sample shadow maps.

This allows shadow code to be used from computer shaders which don't allow Sample. Shadow maps don't have LODs anyways

* Fix some very silly typos
4 years ago
Chris Galvan e924ed0b86 Merged stabilization/2106 to development; Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
mrieggeramzn b187407e65
fix for lightculling / pdo artifacts (#2033)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
5 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Ken Pruiksma 5e98eefcc2 Undoing change from review feedback as it led to an incorrect result in some cases.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Ken Pruiksma 4c12e9c5ab
Refactoring the LTC quad and polygon lights (#1881)
* Refactoring the LTC quad and polygon lights to clip the light to the normal hemisphere before applying the LTC matrix. This prevents specular light leaking from behind the surface. Diffuse and specular contribution are now calculated at the same time to avoid clipping the polygon twice. Added a cheaper diffuse integration function that's accurate enough for diffuse. Also added a commented out alternate specular integration for platforms with poor acos() accuracy.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* PR review feedback - typo and some saturate() protection

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Making branch more explicit from review feedback.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
hultonha 2ea9bfb144 merge stabilization/2106 into development
Signed-off-by: hultonha <hultonha@amazon.co.uk>
5 years ago
Chris Galvan 40f9761f86 Fixed more copyright header issues caused by script replacement
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Chris Galvan b9e06e70d9 Fixed copyright header issues per new validator
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
mrieggeramzn 1d95a4a2ba
Merge pull request #1724 from aws-lumberyard-dev/Atom/mriegger/esm16F
Switch directional light to use the same reformulation as projected s…
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Anton Michels 9f904e08e7
Merge pull request #1753 from aws-lumberyard-dev/2016/antonmic/diffuse
[ATOM-15864] Added diffuseResponse to lambertian diffuse calculation
5 years ago
antonmic 097f99dcc6 [ATOM-15864] Added diffuseResponse to lambertian diffuse calculation 5 years ago
mriegger 346e294f60 Switch directional light to use the same reformulation as projected shadow and reduce to 16 bit float RT for perf 5 years ago
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>
5 years ago
Gene Walters f905b71844 Adding missing o3de copyright headers
Signed-off-by: Gene Walters <genewalt@amazon.com>
5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago
mrieggeramzn b4641b0b5d
Merge pull request #1558 from aws-lumberyard-dev/banding
Adjust Pdo shadow map bias
5 years ago
mriegger 648a7d85cc Adjust Pdo shadow map bias 5 years ago
dmcdiarmid-ly 909ad9392e
Merge pull request #1536 from aws-lumberyard-dev/Atom/dmcdiar/LYN-4660
[LYN-4660] Assigning test asset from AutomatedTest crashes in Atom
5 years ago
Doug McDiarmid 95582453d4 Added comments and updated optional stream buffer bitmasks 5 years ago
Ken Pruiksma f0c1420f49
Fixing backlighting for disk lights and some nearby comments. (#1526) 5 years ago
Doug McDiarmid 22ab33a3f4 Updated DiffuseProbeGrid raytracing precompiled shaders 5 years ago
Doug McDiarmid 55e5dfc059 Merge branch 'stabilization/2106' into Atom/dmcdiar/LYN-4660 5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
Doug McDiarmid 97f4d8e845 Fixed tangent and bitangent interpolation in RayTracingSceneUtils.azsli. 5 years ago
Doug McDiarmid c3c69fedd6 Changed the Tangent and BItangent streams to be optional when setting up ray tracing data for a mesh. 5 years ago
mriegger 6557a14e36 small fix for debug cascades not working with bicubic 5 years ago
nvsickle e55580af57 Merge remote-tracking branch 'upstream/stabilization/2106' into nvsickle/MergeStabilizationJun18 5 years ago
lumberyard-employee-dm 7dabe8b6e9
Updated Several Engine Gem's CMakeLists.txt to add themselves as required Gems (#1262)
* Fixed organization of the AssetProcessor SourceAssetBrowser

Assets within the Engine Root were grouped under a '/' entry.
That has been fixed to use the relative path within the engine root for
those assets
Assets outside of the Engine Root, but on the same drive were using
absolute paths before. Now there are child entries that navigate up the
directory hierarchy to those asset locations

* Added ly_enable_gems call to Atom gems targets that are required

The DefaultLevel.prefab contains several Atom components, that require
the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures
gems to be enabled in order to successfully process in the
AssetProcessor.

* Added ly_enable_gems call to make the Camera gem required in Tools,
Builders and Clients.

This is needed as the DefaultLevel.prefab contains an Editor Camera
Component

* Adding the ly_enable_gem call to make the Maestro gem required

CrySystem currently requires Maestro to be enabled in order to
initialize

* Added ly_enable_gems call to the SceneProcessing gem to make it required

The SceneCore and SceneData libraries that are part of the core engine
Code folder requires the SceneProcessing gem to be enabled in order to
invoke the InitializeDynamicModule hooks in DllMain.cpp in order to
initialize those libraries.

* Fixed bad argument in comment for Prefab CMakeLists.txt

* Fixed Assert in Asset Builders due to the Atom RPI Builder

The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time

The Atom Feature Common EditorSystemCommonComponent.cpp which also loads
in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset

Added BehaviorContext reflection to the OutputDeviceTransformType enum
to fix the BehaviorContext errors about reflecting a method that returns
such an enum

* Added TypeId output to the JsonDeserializer report message about missing
ClassData

Previously the report callback would indicate that the target type was
missing Serialization class data, but didn't indicate the TypeId of the
target type

* Added support to the ly_enable_gems function to be able to support
0 gems being enabled.

Updated the Install step for CMake to propagate any ly_enable_gems
within a CMakeLists.txt for a target into the generated CMakeLists.txt
that is made for each installed IMPORTED target

* Adding newline to the end of the Camera Gem CMakeLists.txt

* Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE

* Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory

* Adding the Atom_Bootstrap gem as a required gem

The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow
Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module

* Fixed register.py --all-projects-path and --all-gems-path arguments to
NOT register projects or gems that are within a template folder
Fixed reading of old pre-1.0 o3de_manifest.json files where the
"engines" key was a json array

* Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root.
The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into

* Adding newline to the end of Atom_Bootstrap CMakeLists.txt

* Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block

* Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE.
Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable
5 years ago
mriegger 709bca5849 Adding code that prevents nans occuring due to precision issues 5 years ago
mrieggeramzn a505ed8a51
Merge pull request #1302 from aws-lumberyard-dev/Atom/mriegger/esmexponent2106
Atom/mriegger/esmexponent2106
5 years ago
mriegger 959ec14df6 Exposing esm exponent 5 years ago
mriegger 95e21bf2af Fixing boundary search 5 years ago
galibzon cc615a8f32
[ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Funct… (#1079)
* [ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Functions That
Predate The Shader Supervariants

These are the essential impactful changes as a result of deprecating the
ShaderResourceGroupAsset.

* Addressed feedback by @moudgils. Better comments in header files.

* More updates related with deprecation of ShaderResourceGroupAsset

* Deleted the temporary version 2 classes.

* Updated version of the shader asset builders.

* Updated version of all the shader related classes impacted
by the Supervariant concept and deprecation of ShaderResourceGroupAsset

* Changes to *.pass and DGI, Reflections and RayTracing.

* changes to material related assets

* changes to core lights

* Changes to auxgeom/dynamic draw.

* changes to decals, lyshine, imguipass

* changes to RPI Pass classes

* Shader for SceneSrg, ViewSrg and ForwardPass Srgs.

* changes to mesh, skinned mesh, Morphtarget.

* Fixes to RayTracingPass.cpp & now allow empty srg in shaders.

* Updated Atom_RPI.Tests

* Simplified InstanceDatabase by removing AddHandler

------------------------------------------------------------------------------------
* Updated DiffuseGI precompiled shaders.
Added RayTracingSceneSrg and RayTracingMaterialSrg shader asset.
Updated ShaderAssetCreator::Clone to handle the supervariant when processing root variants.
Co-authored-by: Doug McDiarmid <dmcdiar@amazon.com>
------------------------------------------------------------------------------------

* Changed semantics for some PassSrg to SRG_PerPass_WithFallback.

AuxGeom/FixedShapeProcessor.cpp requires SRG_PerDraw on ObjectSrg.

Removed names of SceneSrg and ViewSrg from RPISystemDescriptor.cpp

* Moved ShaderLib/Atom/Features/DummyEntryFunctions.azsli
To  Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli

Removed redundant checking for finalization in
ShaderResourceGroupLayout.cpp

* Fixed race condition bug for Shader::FindOrCreate.
InstanceDatabase<>::CreateInstance() needs to be atomic
for instance creation and initialization.

Added optional InstanceHandler::CreateFunctionWithParams to accomodate
to the needs of Instances that need more than an asset reference
to be able to be created an initialzed.

Removed ShaderResourceGroup::FindOrCreate() only ::Create is available
now.

* Renamed scene_and_view_srgs.* as SceneAndViewSrgs.*

Changed GetAzslFileOfOrigin for GetUniqueId

* Fixed unit tests.

* Reverted the serialization name of m_uniqueId back to
"m_azslFileOfOrigin" so precompiled shaders don't fail
in layout comparison.

* Fixed AtomCore.Tests
Removed non-applicable test. InstanceDatabase.AddHandler() is not
available anymore.

* The Null rhi is re-enabled for shader compilation.

Signed-off-by: garrieta <garrieta@amazon.com>
5 years ago
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
5 years ago
Chris Santora 9e5c6f6851 Merge remote-tracking branch 'upstream/main' into Atom/santorac/RemoveSubsurfaceFromStandard-PBR-ATOM-4120 5 years ago
dmcdiarmid-ly b20f3bc72f
Merge pull request #946 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15555
[ATOM-15555] Data-Driven RayTracingPass
5 years ago
Chris Santora 147f0084a8 Removed subsurface scattering and transmission features from StandardPBR.materialtype.
ATOM-4120 Stabilize Standard PBR Regarding Subsurface and Translucency
5 years ago
Chris Santora da5a77925a Merge branch 'main' into Atom/santorac/MaterialLayoutCleanup-ATOM-14002 5 years ago
Chris Santora 34f0515e35 Merge branch 'main' into Atom/santorac/RemoveParallaxInvertFlag-ATOM-15653 5 years ago
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.
5 years ago
Doug McDiarmid fdc57cdaff Added TLAS dependency 5 years ago
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.
5 years ago
Doug McDiarmid 40435fcb2e Added RayTracingMaterialSrg.
Added UV buffer to the RayTracingSceneSrg mesh buffers.
Added RayTracingSceneUtils and RayTracingMaterialUtils shader includes.
5 years ago
Chris Santora 8799d1ab54 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 5 years ago
Chris Santora bcf21e0930 Removed unused InitializeZero function from StandardSurface 5 years ago
Chris Santora f3099aa7d5 Merge remote-tracking branch 'origin/main' into Atom/santorac/NewLayeringWorkflow 5 years ago
Tommy Walton ded39be57e
Merging WrinkleMask support from 1.0 to main (#680)
Added a loop to the skin shader that will sample from wrinkle masks, multiply them by a weight, combine them, and use them instead of vertex colors for wrinkle map blending

Added an array of masks, an array of weights, and a wrinkle mask count to the DefaultObjectSrg. -Will create a follow up task to handle this a better way.

Removed motion vector (for now) from skin.materialtype since we're not using them, and removed depthtransparent since skin doesn't support transparency

Added an interface to the MeshFeatureProcessor to get the object srg

Wrapped srg->Compile in if(srg->IsQueuedForCompile()) to prevent compiling twice --This doesn't stop a race condition if both happen at the same time, but that is at least far less likely. It will need a better solution later.

Added a function to the MorphTargetExporter that will check to see if a texture that matches the blend shape name exists in a particular folder, and adds a reference to that image to the MorphTargetMetaAsset --Only supports .tif, and doesn't automatically re-process the .fbx if the folder is updated. These can be improved in later iterations

Added a null check in MaterialTypeSourceData.cpp to fix a crash I ran into

Added a for loop in two places to look for the first submesh that has a morph target, instead of just using the first to check if a lod has morph targets or not. --I have a better fix for this, but it involves more areas of the code, so I'm saving that for another change.

Modified AtomActorInstance to look for any morph targets that have a wrinkle mask reference

Then each frame, for any morph targets with non-zero weights that also have wrinkle masks, it updates the mask array, weights, and count on the object srg.
5 years ago
antonmic a4e1b40e88 Merge branch 'main' into Atom/antonmic/lowEnd 5 years ago
antonmic 242a10dd10 addressed PR feedback 5 years ago
mriegger bcea9f29a8 Improved variable name 5 years ago
Chris Santora 37a1b77d50 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 5 years ago
antonmic b52388f5eb Remove unused file 5 years ago
antonmic 92b7099d78 Some clean up 5 years ago
Chris Santora 9faf35b529 Refactor in prepration for ATOM-14688 "Disable Individual Layers"
Refactored StandardMultilayerPBR to collate all the code for each layer into a couple structs and utility functions. This makes the code easier to maintain, and in particular will make it easy for me to add Enable flags for the layers in a subsequent commit.
Also removed subsurface scattering and translucency from StandardMultilayerPBR, according to ATOM-4120 "Stabilize Standard PBR Regarding Subsurface and Translucency".

Squashed commit of the following:

commit a6052d6ad4f70183d0ce72e84c7dc5512dc24d5e
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 11 16:32:15 2021 -0700

    Got the refactor finally working. I had change it to blend the baseColor, spec factor, and metalness before converting to albedo and spec, in order to get exactly the same results as before.

commit 42d6da7f405097dea07b6ed0426d6a662b61440d
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 11 15:58:38 2021 -0700

    Fixed clear coat issue due to LightingData initialized too late.

commit 358194a5caf6f9eb99b0e5345ad5f7768b244a93
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 11 15:18:30 2021 -0700

    Fixed a couple issues.

commit adb431f8113b945057959db288a7ee2dd825dd69
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 11 12:42:12 2021 -0700

    WIP refactor of StandardMultilayerPBR to collate the code for each layer. Also removed subsurface scattering from multilayer.
5 years ago
AMZN-mnaumov d469572422
Merge pull request #681 from aws-lumberyard-dev/Atom/mnaumov/ATOM-14320
[ATOM-14320] Fixing parallax artifacts
5 years ago
mnaumov c41ee23ea4 PR feedback 5 years ago
antonmic 8e4d0d73dc Good working state, but material always emmits low end draw item 5 years ago
Terry Michaels 8ddfcabae7
Removed unneeded comments (#673) 5 years ago
mnaumov 43f87d1541 another attempt fixing the artifacts 5 years ago
mrieggeramzn d7c72a249c
Merge pull request #395 from aws-lumberyard-dev/Atom/mriegger/PLS
Atom/mriegger/pls
5 years ago
mnaumov 63b3dbefa8 Fixing parallax artifacts 5 years ago
antonmic 1a59f8c54b Merge branch 'main' into Atom/antonmic/lowEnd 5 years ago
antonmic 1f3d0beb38 work in progress 5 years ago
Chris Santora 778594a357 Merge branch 'main' into Atom/santorac/PomHeightOffset-ATOM-14495 5 years ago
Chris Santora 7443599e25 Merge branch 'main' into Atom/santorac/PomHeightOffset-ATOM-14495
Conflicts:
Gems/Atom/Feature/Common/Assets/Materials/Types/EnhancedPBR_DepthPass_WithPS.azsl
Gems/Atom/Feature/Common/Assets/Materials/Types/EnhancedPBR_ForwardPass.azsl
Gems/Atom/Feature/Common/Assets/Materials/Types/StandardMultilayerPBR_ForwardPass.azsl
Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_DepthPass_WithPS.azsl
Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.azsl
5 years ago
Michael Riegger 19e28b18a0 Merge branch 'main' into Atom/mriegger/PLS 5 years ago
Chris Santora 88b524d868 ATOM-14495 "POM Height Bias" (continued)
Added Height Offset support to StandardMultilayerPBR.materialtype.

In order to make this work, I updated the GetDepth callback function to support the option of returning absolute depth values rather than relative depth values. Although I could have done transformations inside the GetDepth function, having this as absolute cleans things up a lot. StandardMultilayerPBR_Parallax.lua functor code now populates the MaterialSRG with displacement min/max values, instead of having to normalize the depth factors for each layer. I think this is easier to understand and work with.

Added Height Offset to each layer of StandardMultilayerPBR.
Updated the naming and description for the parallax factor in each layer, to match the other material types.
I removed the global "factor" material property because it doesn't seem applicable anymore since we have per-layer height offset. We can always add some form of this later if customers ask for it.

Squashed commit of the following:

commit 8df460800ff7058f9fbb01f995efdd5ab53d3d2c
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 4 13:35:27 2021 -0700

    Found a workaround for the DXC compiler bug

commit 5d81617285eb42bb7b48eb060234d2cb89249e34
Author: Chris Santora <santorac@amazon.com>
Date:   Tue May 4 12:27:22 2021 -0700

    Local WIP changes to get a DepthResult struct set up for the GetDepth functions.
5 years ago
Michael Riegger c51e90d224 Fix unused variable 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
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 37fd8d43ed Tabs to space and better naming and comments 5 years ago
Michael Riegger c729c72034 Switching to XYZ instead of ZYX 5 years ago
Michael Riegger bbae3b6d48 Slight improvements 5 years ago
Michael Riegger 569c831532 Working PLS 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
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
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
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 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
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 7c099ed11c Updated AutoBrick and MinimalPBR 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
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
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