Commit Graph

449 Commits

Author SHA1 Message Date
Doug McDiarmid 40435fcb2e Added RayTracingMaterialSrg.
Added UV buffer to the RayTracingSceneSrg mesh buffers.
Added RayTracingSceneUtils and RayTracingMaterialUtils shader includes.
2021-05-25 23:52:19 -07:00
Doug McDiarmid c29c1825cb Added RayTracingPass and RayTracingPassData 2021-05-24 01:19:37 -07:00
Qing Tao d20f3d8bd4 SPEC-6960 Android & Windows asset jobs have failing assets preventing the new ASV code submission gate from passing.
Use AZ::u64 instead of uint64_t to avoid issue that PRIu64 won't match uint64_t in some cases
2021-05-21 16:38:20 -07:00
Chris Santora bffc72794b ATOM-15597 Accessing Material Instance Panel Crashes Editor
There were two issues fixed here. First, I broke the material inspector with my changes at 53188a12da which added support for hiding entire property groups. I'm not sure how this happened because I definitely tested the MaterialComponent's material inspector. Perhaps there was a bad merge or something otherwise got clobbered after testing and before committing. Anyway, this issue was I accidentally delete the code that prepared the list of material properties for functor processing.

The second issue was the MaterialFunctor class needs to return null when metadata can't be found; it was proceeding to dereference an end iterator.

Testing:
Successfully opened the material inspector through the MaterialComponent. Was able to change property flags in the inspector and see other properties change visibility as expected.
2021-05-20 22:24:19 -07:00
moudgils 8e24408959 Merge pull request #819 from aws-lumberyard-dev/DxcExperiment
Update Dxc to the latest + all the fixes related to it
2021-05-20 14:02:33 -07:00
Nicholas Van Sickle c1819b6486 Merge pull request #839 from aws-lumberyard-dev/nvsickle/BootstrapFixes
Fix dummy rendering pipeline being created for the Editor
2021-05-20 12:10:22 -07:00
Chris Santora 6deae83906 Merge pull request #736 from aws-lumberyard-dev/Atom/santorac/NewLayeringWorkflow
Updated StandardMultilayerPBR To Use New Layering Model

ATOM-15518 "Change Multilayer PBR To Use Lerp Base Blending"
ATOM-14688 "Disable Individual Layers"
ATOM-14793 "Fix Inconsistent Casing For LuaMaterialFunctorRuntimeContext"
ATOM-4120 "Stabilize Standard PBR Regarding Subsurface and Translucency" (partial)

Changed to lerp-based blending, with an implicit base layer.
Refactored the shader code 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.
Added support for disabling individual layers, so you can easily make a 2-layer material instead of a 3-layer material.
Added support to the material system and MaterialEditor for hiding entire property groups. This is used to hide the disabled layers.
Added and updated test data to reflect the new blend model.
Removed subsurface scattering and translucency from StandardMultilayerPBR.
Note to reviewers: There are a lot of changes here, but they are broken down into separate commits. I recommend going through each commit individually rather than doing one comprehensive review.

ASV changes are here: aws-lumberyard/o3de-atom-sampleviewer#55
2021-05-20 12:06:11 -07:00
moudgils 5a149a4594 Merge branch 'main' into DxcExperiment 2021-05-20 11:56:35 -07:00
AMZN-stankowi c47c45724a LYN-3772 : For non-PBR materials, apply the diffuse color to the base color field on the Atom material, so a color value set in the DCC tool still comes through. (#733) 2021-05-20 11:28:34 -07:00
nvsickle 2d550cc994 Merge remote-tracking branch 'upstream/main' into nvsickle/BootstrapFixes 2021-05-20 11:07:45 -07:00
michabr 69fed39982 Merge pull request #766 from aws-lumberyard-dev/michabr/lyshine_atom
Add image builder processing bus
2021-05-20 10:02:44 -07:00
Chris Santora 8799d1ab54 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 2021-05-20 09:07:08 -07:00
galibzon 256df54575 [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System (#749)
* [ATOM-15276] Shader Build Pipeline: Add Shader Supervariant System.

Added ShaderAssetBuilder2 & ShaderVariantAssetBuilder2.

Added ShaderAsset2, ShaderVariantAsset2.

Eventually they will be the only builders. AzslBuilder &
SrgLayoutBuilder will be removed.
ShaderResourceGroupAsset will be removed. ShaderAssetBuilder &
ShaderVariantAssetBuilder will be replaced.

Signed-off-by: garrieta <garrieta@amazon.com>
2021-05-20 04:53:16 -05:00
abrmich 19aa0bdd75 Merge branch 'main' into michabr/lyshine_atom 2021-05-19 20:49:32 -07:00
moudgils 94a8c8258b Bumped shader builders 2021-05-19 19:22:35 -07:00
nvsickle 1654553e9c Merge remote-tracking branch 'upstream/main' into nvsickle/BootstrapFixes 2021-05-19 19:12:07 -07:00
nvsickle 8d4fb4d67d Fix dummy rendering pipeline being created for the Editor
-This ensures OnBootstrapSceneReady still fires even if the bootstrap system component doesn't create a default scene
-This also disables default scene creation for non-game projects by default to ease tools development

Tested with the Editor, AtomSampleViewer, the Material Editor, and the AtomTest launcher
2021-05-19 19:11:23 -07:00
AMZN-mnaumov af22a0f44e Merge pull request #820 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15528
[ATOM-15528] Exposing existing ACES parameters in tone mapping component
2021-05-19 18:34:22 -07:00
Chris Santora bcf21e0930 Removed unused InitializeZero function from StandardSurface 2021-05-19 17:43:24 -07:00
Chris Santora f3099aa7d5 Merge remote-tracking branch 'origin/main' into Atom/santorac/NewLayeringWorkflow 2021-05-19 16:57:49 -07:00
moudgils e265990a0c Set DisableOptimizations to false. 2021-05-19 16:18:11 -07:00
mnaumov e510446185 PR feedback 2021-05-19 16:18:02 -07:00
mnaumov 19664dccd2 Merge main 2021-05-19 16:10:44 -07:00
mnaumov 58eea979cf AR build fix 2021-05-19 13:24:04 -07:00
pruiksma 5802c4e1dc Merge branch 'main' into pruiksma/ATOM-15561 2021-05-19 14:26:30 -05:00
mnaumov 9fc01ea24d AR fixes 2021-05-19 11:51:42 -07:00
abrmich bd74835f30 Remove leftover code that's no longer needed 2021-05-19 11:48:34 -07:00
abrmich 1127235715 Remove unnecessary heap allocation 2021-05-19 11:36:44 -07:00
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.
2021-05-19 11:21:44 -07:00
abrmich d5122b2829 Add image builder processing bus 2021-05-19 11:11:53 -07:00
Jonny Galloway 908f4ee9f6 Merge pull request #814 from aws-lumberyard-dev/cherrypick_ATOM14976_to_main
Broken material updates from Atom-14976 1.0 to main
2021-05-19 09:57:28 -05:00
mnaumov 06784a8026 cleanup 2021-05-18 22:50:13 -07:00
mnaumov 44601b7a38 Some refactoring 2021-05-18 22:45:43 -07:00
mnaumov db7afee383 Adding parameters to ACES tone mapping 2021-05-18 22:38:27 -07:00
moudgils cc2e3aed58 Revert a change to resolve conflict 2021-05-18 20:54:06 -07:00
moudgils 42c9f4416b Merge branch 'main' into DxcExperiment 2021-05-18 20:43:43 -07:00
moudgils a4a22a2cfa Merge branch 'DxcExperiment' of https://github.com/aws-lumberyard-dev/o3de into DxcExperiment 2021-05-18 20:43:07 -07:00
moudgils 1ebb7c405f Merge branch 'main' into DxcExperiment 2021-05-18 20:24:52 -07:00
Anton Michels 27d38a4880 Merge pull request #725 from aws-lumberyard-dev/Atom/antonmic/lowEnd
Implemented Atom Low End Render Pipeline
2021-05-18 18:47:42 -07:00
moudgils 0a2c95cc20 Add Mac's dxc package 2021-05-18 17:42:41 -07:00
gallowj b006eb57fe Updating a bunch of materials in TestData to correct changes to referenced texture paths 2021-05-18 17:36:21 -05:00
antonmic 519525b28f fixing feature common asset cmake 2021-05-18 13:54:07 -07:00
Tommy Walton 3182dc37c3 Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794)
Previously, the SkinnedMeshFeatureProcessor assumed there would only be one skinning pass. However, that's not always the case. When rendering with track view, the feature processor was getting a pass that only updated once every three frames, which could lead to a condition where a skinned mesh was released, but the pass never submitted and cleared the previously added dispatch items, and one or two frames later it would go to submit after the skinned mesh and all of its resources had already been released.

-Modified the skinning and morph target compute passes to pull dispatch items from the feature processor instead of the feature processor pushing them to the passes.
-If more than one skinning (or morph target) pass is active in the frame, whichever one is first will submit all the dispatch items, and clear the feature processor's dispatch items before the next one tries to submit anything
-Moved the logic for caching shader options from the SkinnedMeshComputePass to the SkinnedMeshFeatureProcessor, since there may be more than one pass but only one feature processor per scene
2021-05-18 13:52:01 -07:00
antonmic a4e1b40e88 Merge branch 'main' into Atom/antonmic/lowEnd 2021-05-18 13:04:25 -07:00
pruiksma dff3efbfca [ATOM-15561] Adding AZ_Error for unhandled pass binding failure case. 2021-05-18 14:01:18 -05:00
Tommy Walton c10e37f2d6 Atom-15447 : Crash on null buffer with many morph targets
Fixed a crash by keeping a reference to the buffer instance after creating it and checking for null
2021-05-18 10:54:39 -07:00
mrieggeramzn aab4b4a126 Merge pull request #737 from aws-lumberyard-dev/Atom/mriegger/ATOM-15529
Making shadow res of 1024 and bicubic pcf the default
2021-05-18 09:13:49 -07:00
antonmic 242a10dd10 addressed PR feedback 2021-05-17 23:57:01 -07:00
moudgils 83f29f4a34 Updated to one Dxc package 2021-05-17 20:39:39 -07:00
dmcdiarmid-ly 3143b41020 Merge pull request #757 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-13575
[ATOM-13575] Move the RHI::RayTracingShaderTable build into the RHI frame
2021-05-17 13:02:52 -07:00