Calculating uv transforms for terrain detail materials
This adds support for uv transforms in terrain detail materials. To support this work, the code for generating a matrix from material properties was pulled out of the material functor and put into a new MaterialUtils file in Atom Utils.
* Added support for hardware queue class on passes. Compute pass data and copy pass data can now specify to run on their appropriate queue.
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
* addressed PR feedaback
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
* fixing python test failures on AR
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
* Changes to AttachmentImage related classes to have better support using render target as texture.
- Updated AttachmentImageAsset to support an unique name which can be used as AttachmentId.
- Functions in ImageSystemInterface to find an AttachmentImage by its unique name.
- Added InsertChild function to ParentPass class so it can insert a child pass at any location.
- Change to ImageAttachmentPreviewPass so it can preview cached pass attachment even the source pass was disabled.
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
* Create a debug material type for displaying per-vertex data
Signed-off-by: Tommy Walton <waltont@amazon.com>
* PR feedback. Added color display mode, multiple uv-set support, split tangent/bitangent options into two separate enums, and added a functor for showing only the applicable properties in the UI depending on which vertex stream and uv set are selected.
Signed-off-by: Tommy Walton <waltont@amazon.com>
* PipelineLibrary (PSO Caching) support for Metal
- API changes to handle Metal drivers implictly doing save/load of PipelineLibrary data
- Fixed up code related to Metal device selection
- PipelineLibrary support for Mac and ios
Signed-off-by: moudgils <moudgils@amazon.com>
* Fix compile errors for Dx12, Vulkan backend + Unit tests
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
* Fixed errors related to M1 GPU
Signed-off-by: moudgils <moudgils@amazon.com>
* Fix a minor 'tab' validation issue
Signed-off-by: moudgils <moudgils@amazon.com>
* Addressed feedback
Signed-off-by: moudgils <moudgils@amazon.com>
* Minor feedback
Signed-off-by: moudgils <moudgils@amazon.com>
* Added a few asserts
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
* Fix a typo
Signed-off-by: moudgils <moudgils@amazon.com>
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>
* 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>
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>
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>
Added supervariants to the precompiled DiffuseProbeGrid shaders for the NumRaysPerProbe values
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>