Commit Graph

1006 Commits

Author SHA1 Message Date
santorac 1190772845 Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes3
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-31 09:21:18 -08:00
antonmic 9f0b6d65f4 merging latest dev
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2022-01-29 22:29:02 -08:00
dmcdiarmid-ly ec76a4d647 Always relocate probes after the texture is cleared
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-29 20:59:22 -07:00
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>
2022-01-29 19:37:46 -07:00
santorac e173840bab Moved the StandardPbr property groups around to be in their original order.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-28 09:40:33 -08:00
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>
2022-01-28 09:36:09 -08:00
Thomas Poulet 3a0edd2dd1 Move reflection probe fp file and fix missings in cmake file list (#7189)
Signed-off-by: Bindless-Chicken <1039134+Bindless-Chicken@users.noreply.github.com>
2022-01-28 10:30:30 -06:00
santorac b9a80dee32 Fixed newline at end of file.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-27 14:17:09 -08:00
santorac 5e2bf1a468 Reverted changes to most of the material type files. I'll update those in a separate PR.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-27 14:14:50 -08:00
santorac 906db920d0 Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes3
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-27 12:58:22 -08:00
mrieggeramzn 50982b8283 Exposing / Unifying the rasterstate depth bias values for all the shadowmap shaders (#7150)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2022-01-26 16:04:12 -08:00
lumberyard-employee-dm b9824ed172 Updated all array_view uses with the C++20 span. (#7157)
* Updated all array_view uses with the C++20 span.

The updates were done in the following order
1. `AZStd::array_view<([^>].+)\* ?>`  -> `AZStd::span<\1 const>`
2. `AZStd::array_view<(?:const )(.+)>` -> `AZStd::span<const \1>`
3. `AZStd::array_view` -> `AZStd::span`

Removed the implementation of array_view.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added missing whitespace between `const` and the typename for spans.

Updated the ShaderTest comparison of the ShaderResourceGroupLayout span
to compare the sizes as well

Updated comments on some of the methods that stated that they return "an
array" to mention they return "a span".

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-26 16:15:47 -06:00
santorac aeb43c4012 Fixed up a few small things to get Material Editor working again.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-26 13:04:28 -08:00
santorac b5c7869f14 Merge branch 'development' into Atom/santorac/RemixableMaterialTypes3
There were lots of material system conflicts that had to be resolved. I expect the build is broken at this commit, and I'll fix it in followup commits.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-25 14:47:24 -08:00
Chris Galvan 049b33d2df Merging stabilization/2111RTE -> development, resolved conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-01-24 15:55:31 -06:00
Chris Galvan f8ac3071a3 Merge pull request #6671 from tjmgd/bug-anim-lod-91
Fix: LOD stops animation
2022-01-24 13:26:03 -06:00
Chris Galvan 8d0dce2613 Merge pull request #7101 from siretty/fix_build_linux_clang_13
Fix Build on Linux with Clang 13 with Debug, Profile and Release Configuration
2022-01-24 12:24:33 -06:00
mrieggeramzn c7d1c4603f Removing lux core (whats left of it) (#7089)
* Removing lux core (whats left of it)

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Removing files recommended by NLawson and EPapp

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2022-01-24 11:24:20 -06:00
Daniel Edwards 0a5f472f43 Clang 13: Fix build errors ...
... due to local variables only being written to (but never read).

Signed-off-by: Daniel Edwards <dev@danieledwards.de>
2022-01-23 22:29:03 +01:00
dmcdiarmid-ly 5ed7e91a62 Merge pull request #7022 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17127
NumRaysPerProbe DiffuseProbeGrid setting
2022-01-20 16:14:53 -07:00
santorac 74c6fa5f94 Merge pull request #7010 from aws-lumberyard-dev/Atom/santorac/MaterialAssetDeferredBaking3
Fixed Material Builder To Avoid Reading Material Type Source File
2022-01-20 13:25:15 -08:00
Steve Pham 59e43813f0 GCC Support for Linux
Updates and fixes to support GCC for Linux

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-20 13:00:02 -08:00
santorac 232876de9e Merge remote-tracking branch 'upstream/development' into Atom/santorac/MaterialAssetDeferredBaking3 2022-01-20 10:01:16 -08:00
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>
2022-01-19 20:17:15 -07:00
AMZN-byrcolin 63d755b8f1 fix launcher not showing gems (#7015)
Signed-off-by: byrcolin <byrcolin@amazon.com>
2022-01-19 17:09:40 -08:00
santorac fbe17b0022 Merge remote-tracking branch 'upstream/development' into Atom/santorac/MaterialAssetDeferredBaking3 2022-01-19 12:30:58 -08:00
dmcdiarmid-ly 8ec07031e3 Merge pull request #6959 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15740
Support supervariants in the PrecompiledShaderBuilder
2022-01-19 12:40:22 -07:00
T.J. McGrath-Daly 0f9741da95 Merge branch 'development' into bug-anim-lod-91 2022-01-19 09:50:15 +00:00
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>
2022-01-18 19:02:36 -08:00
santorac 5b19de2876 Merge remote-tracking branch 'origin/development' into Atom/santorac/MaterialAssetDeferredBaking_Recovery2 2022-01-18 17:44:23 -08:00
santorac 45429872d6 Switched back to making MaterialAsset::GetPropertyValues automatically finalize the material asset. I realized that it's too burdensome to expect client code to call Finalize on the MaterialAsset; every code that calls GetPropertyValues would have to call Finalize(). Instead of using const_cast in GetPropertyValues like I was doing before, I just changed GetPropertyValues to be a non-const function. There were a few places in Decal code I had to update to pass non-const MaterialAsset pointers. This isn't ideal, but I think it's better than the alternatives.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 17:39:44 -08:00
Chris Galvan f2b1970e8f Merge pull request #6818 from windbagjacket/development
Adding ray tracing toggle to mesh component UI
2022-01-18 14:33:01 -06:00
santorac c5b128bec4 First pass at reworking and formalizing the way deferred material asset baking works. The feature basically works but needs more testing.
Before, the material builder was loading the MaterialTypeAsset and doing some processing with it, but was avoiding declaring job dependencies that would cause reprocessing lots of assets when a shader or .materialtype file changes. Reading the asset data isn't safe when not declaring a job dependency (or when declaring a weak job dependency like OrderOnce which is the case here). This caused to several known bugs.

The main change here is it no longer loads the MaterialTypeAsset at all; all other changes flow from there.

The biggest changes (when deferred material processing is enabled) are ...
1) MaterialSourceData no longer loads MaterialTypeAsset. All it really needs is to determine whether a string is an image file reference or an enum value, which is easy to do by just looking for the "." for the extension.
2) MaterialAssetCreator no longer produces a finalized material asset. It no longer uses MaterialAssetCreatorCommon because that only produces a non-finalized MaterialAsset, which has very different needs for the SetPropertyValue function. (We could consider merging MaterialAssetCreatorCommon into MaterialTypeAssetCreator since that's the only subclass at this point). And it doesn't do any validation against the properties layout since that can be done at runtime.
3) Moved processing of enum property values from MaterialSourceData to MaterialAsset::Finalize (this was the only thing being done in the builder that actually needed to read the material type asset data).

Also...
- Updated the MaterialAsset class mostly to clarify and formalize the two different modes it can be in: whether it is finalized or not.
- Merged the separate "IncludeMaterialPropertyNames" registry settings from MaterialConverterSystemComponent and MaterialBuilder into one "FinalizeMaterialAssets" setting used for both.
- Removed MaterialSourceData::ApplyVersionUpdates. Now the flow of data is the same regardless of whether the materials are finalized by the AP or at runtime. Version updates are always applied on the MaterialAsset.
- Added a validation check to MaterialTypeAssetCreator ensuring that once a property is renamed, the old name can never be used again for a new property. This assumption was already made previously, but not formalized, in that Material::FindPropertyIndex does not expect every caller to provide a version number for the material property name, also the material asset's list of raw property names was never versioned. The only way for this to be a safe assumption is to prevent reuse of old names.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-01-18 10:29:36 -08:00
dmcdiarmid-ly 2b103ce445 Added support for supervariants to the PrecompiledShaderBuilder
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-17 16:52:30 -07:00
moudgils 284ae60139 Add missing 'precise' keyword for Vertex shaders (#6902)
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
2022-01-14 10:34:57 -08:00
AMZN-byrcolin c778606c89 Templates restricted (#6498)
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code

Signed-off-by: byrcolin <byrcolin@amazon.com>
2022-01-14 10:27:20 -08:00
windbagjacket 7474c5480e Adding ray tracing toggle to behavior context so it can be used with scripting.
Signed-off-by: windbagjacket <nibor@ntlworld.com>
2022-01-14 17:07:13 +00:00
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>
2022-01-12 08:54:22 -08:00
sphrose 0e0ca7585c change default input color space to SRGB
Signed-off-by: sphrose <82213493+sphrose@users.noreply.github.com>
2022-01-11 11:32:17 +00:00
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>
2022-01-10 18:19:39 +01:00
Santi Paprika 0f766d92d3 Merge remote-tracking branch 'upstream/development' into thin-transmission 2022-01-07 21:49:18 +01:00
Jeremy Ong 2c41a73c12 Merge pull request #6740 from aws-lumberyard-dev/Atom/FixDepthIssues
Add missing `precise` attribute to depth prepass output
2022-01-07 04:33:42 -07:00
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>
2022-01-06 16:51:40 -07:00
dmcdiarmid-ly a365e15729 Merge pull request #6717 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-16989
Improved DiffuseProbeGrid blending
2022-01-06 16:30:21 -07:00
dmcdiarmid-ly 23293a13c1 Improved DiffuseProbeGrid blending around the edges of the volume
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-01-05 21:51:42 -07:00
Santi Paprika ed7c6198e1 Merge remote-tracking branch 'upstream/development' into thin-transmission 2022-01-05 10:50:42 +01:00
Santi Paprika 8770118b90 Fix nit typo in comment v2
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
2022-01-05 09:06:06 +01:00
Santi Paprika c580499b6f Fix nit typo in comment
Signed-off-by: Santi Paprika <santi.gonzalez.cs@gmail.com>
2022-01-05 09:03:35 +01:00
rgba16f 641037e30c Revert "added pass class (#6244)"
This reverts commit 515e363151.

Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
2022-01-04 15:40:55 -06:00
mrieggeramzn 03f6ba55fd Adding cascade blending for pcf (#6181)
* Adding cascade blending for pcf

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs to spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs to spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* tabs 2 spaces

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Feedback using min3

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Only enable flag if > 1 cascade

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* no blending if last cascade

Signed-off-by: mrieggeramzn <mriegger@amazon.com>

* Remove unused

Signed-off-by: mrieggeramzn <mriegger@amazon.com>
2022-01-04 11:29:34 -05:00