Commit Graph

127 Commits

Author SHA1 Message Date
jiaweig 50085d0487 Merge pull request #823 from aws-lumberyard-dev/Atom/jiaweig/ATOM-15125_UV_Tangent
ATOM-15125 Support Reorder of Tangent Streams
2021-05-26 11:25:13 -07:00
greerdv 1c7d5e5615 Merge branch 'main' into transform-float-scale-continued 2021-05-26 10:27:18 +01:00
greerdv bdf9ac31fb update to use uniform scale calls to Transform 2021-05-25 22:31:41 +01:00
mriegger 14513af1fe Fix for lowend pipeline not having shadows (needed update call) 2021-05-25 08:48:18 -07:00
antonmic 0b9e98c50e Fix for potential lighting pass crash with uninitialized pipeline 2021-05-22 00:27:06 -07:00
antonmic 6388277cd1 Fixed ImGui Pass as well as how exposure pass enables itself 2021-05-21 21:20:08 -07:00
jiaweig 13893e77f3 merge main 2021-05-21 13:08:10 -07:00
jiaweig 9bad174f1c Remove unrelated files 2021-05-20 19:19:10 -07:00
jiaweig c3794ca96c Addressed review comments. 2021-05-20 19:11:31 -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
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
mnaumov 9fc01ea24d AR fixes 2021-05-19 11:51:42 -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
jiaweig 775b7d048b Add support for tangent stream pairing with the first UV from the model. 2021-05-19 00:36:24 -07: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
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
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
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
mrieggeramzn dc8971e80d Merge pull request #756 from aws-lumberyard-dev/Atom/mriegger/15542
Fixing clone function in DecalTextureArrayFeatureProcessor
2021-05-14 21:01:05 -07:00
dmcdiar 73f438e185 Changed the descriptor a shared_ptr. 2021-05-14 19:10:25 -07:00
Vicky 1c575763c7 ATOM-4661 Improvement with pass templates registration from data (#735)
* ATOM-4661 Improvement with pass templates registration from data
- Update PassLibrary so it can load pass templates from more than one files and report duplicate pass templates.
- Added load templates events to pass system so the handlers from any gems can load their own pass templates.
- Added PassSystemInterface::OnReadyLoadTemplatesEvent::Handler in FeatureCommon gem's CommonSystemeComponet to load the PassTemplates.azasset in featureCommon gem.
- Misc: moved BindlessPrototypeSrg.asli from RPI to ASV project; fixed an assert issue when exit ASV
2021-05-14 13:45:26 -07:00
mriegger c07c7d822e Adding warning feedback from mnaumov 2021-05-13 21:16:32 -07:00
mriegger ecef0e88f3 Fixing clone function 2021-05-13 21:04:15 -07:00
dmcdiar 3371483315 Merge branch 'main' into Atom/dmcdiar/ATOM-13575 2021-05-13 19:20:53 -07:00
dmcdiar c5982c0115 Changed the RayTracingShaderTable build to be queued with the RHISystem and processed during FrameScheduler::Compile, after the Srgs are compiled.
Removed the RayTracingShaderTable scopes and moved the calls to Build to the ray tracing dispatch scopes.
2021-05-13 19:03:38 -07:00
guthadam d85e0500d5 PR feedback 2021-05-13 00:55:29 -05:00
guthadam 488e3b5da5 Merge branch 'main' into Atom/guthadam/ATOM-15223 2021-05-13 00:33:28 -05:00
mriegger 9b1f4c04e6 Removing the old hack code 2021-05-12 14:54:33 -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
Terry Michaels 8ddfcabae7 Removed unneeded comments (#673) 2021-05-10 22:02:30 -05:00
mrieggeramzn d7c72a249c Merge pull request #395 from aws-lumberyard-dev/Atom/mriegger/PLS
Atom/mriegger/pls
2021-05-10 17:13:39 -07:00
dmcdiarmid-ly 2406da9b67 Merge pull request #655 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-14933
[ATOM-14933] Minor improvement to reflection probe scale handling
2021-05-10 13:09:51 -07:00
dmcdiar f240e3576e Checked for the ReflectiveCubeMap view type when updating the shadow Srg data 2021-05-08 02:21:30 -07:00
dmcdiar 071ecb7db7 Merge branch 'main' into Atom/dmcdiar/ATOM-14933 2021-05-07 17:12:27 -07:00
mriegger f22a67f8cc remove tabs 2021-05-06 18:09:12 -07:00
mriegger e3cca11ed3 Fix for heatmap not disabling 2021-05-06 18:01:28 -07:00
greerdv 578cd47a0a replacing virtual function with default parameter with overloaded function 2021-05-06 15:11:11 +01:00
greerdv 26ab8c8a25 merging from main 2021-05-05 19:07:04 +01:00
Michael Riegger 19e28b18a0 Merge branch 'main' into Atom/mriegger/PLS 2021-05-04 17:15:41 -07:00
Michael Riegger c58089d35a Merge branch 'main' into Atom/mriegger/PLS 2021-05-04 15:57:20 -07:00
dmcdiar 3c4889b929 Merge branch 'main' into Atom/dmcdiar/ATOM-15438 2021-05-04 14:11:12 -07:00
Michael Riegger a2d2a37220 Better commenting and readability fixes 2021-05-04 10:38:21 -07:00
dmcdiar 64f42ba1cb Removed the asset callback from the EditorReflectionProbeComponent, since the component may have been destroyed and recreated between the bake and the asset load.
Replaced with an OnTick handler that polls the ReflectionProbeFeatureProcessor to determine when the asset is ready.
2021-05-04 01:24:14 -07:00
dmcdiar 009ecbc152 Relocated RayTracingSceneSrg and converted to .azsli 2021-05-01 15:53:24 -07:00
dmcdiar 2e1c4e52d3 Improvements to reflection probe scaling 2021-05-01 01:51:13 -07:00
dmcdiarmid-ly dd3f032480 Merge pull request #488 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-14933
[ATOM-14933] Reflection probes do not show mesh reflections if the entity's transform is scaled up
2021-04-30 16:33:15 -07:00