* Breaking up terrain FP wip - macro materials decoupled from meshes. Mesh creation and rendering pulled out from MeshFeatureProcessor into TerrainMeshManager. Stubs added for macro and detail material managers.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Separated macro material management from the terrain feature processor. Also separated bindless image array handling from terrain feature processor.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Detail materials separated from terrain feature processor. Also pulled out Aabb2i and Vector2i into their own simple classes
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Changed some classes so that when the SRG changes the classes don't need to be completely reinitialized and can instead just update their indices and push data to the new srg. Fixed an issue where MacroMaterialData wasn't being exposed to ScriptCanvas. Terrain shader reloads should now work correctly. Also added some debug logging to help catch an issue where sometimes detail materials don't seem to load.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Terrain PR reveiw updates
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Some small PR review fixes. More comments in TerrainDetailMaterialManager.h
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing unused variable causing clang failure
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing unused variable in release.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing a forward declare that oddly didn't work on linux.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing linux missing include... not sure why only linux failed on this.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adding missing include
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
Make View::SortFinalizedDrawLists use child jobs so they don't block the worker thread from doing other work while waiting.
Implement a TaskGraph version of the view draw list sort.
Fix a misc bug where the scene was waiting on a task graph event twice and so hanging.
Enable MeshFeatureProcessor::Simulate to be able to use jobs when no parent job is specified because the parent job is a task.
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
Switched to HDR irradiance.
SDK Update.
Fixed a Vulkan validation error on RayTracingSceneSrg::MeshInfo.
Improvements to DiffuseProbeGrid blending.
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
Jobification of the sort saves 0.7ms/frame on the HighInstanceTest on my pc.
Make MeshFeatureProcessor update of the mesh cull bounds part of the job work rather than part of the simulate work. This saves 0.1ms/frame on the HighInstanceTest
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
This fixes gamepad input for both of our ImGui integrations (which should probably be combined at some point).
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Various Vulkan fixes
- Swapchain related fix for UI editor
- Object of type VkQueue is simultaneously used in the main thread and the queue thread. Pushed the swapchain invalidation to the presentation queue thread
- Added padding for DepthOfFieldData to ensure it is 16 byte aligned
- Added aspect flag for SMAAEdgeDetectionTemplate pass
- Reduced MaxUnboundedArrayDescriptors so that it is under the maxDescriptorSetSampledImages limit
- Added CopyRead flag for ReflectionScreenSpaceBlurPass related transient resources.
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
* Missed file
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
* Rename IndexedDataVectorTests -> MultiIndexedDataVectorTests
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adding unit tests for IndexedDataVector. Updated fixture for MultiIndexedDataVector.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixed a bug in the test. Updated IndexedDataVector with more/better comments and removed a non-const function that wasn't necessary.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Further updates to some comments
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Added buffer for material properties of detail mateirals, storing them in a multi-indexed data vector. Updated shader with relevant struct and buffer, but the buffer will need to be moved out of the mateiral SRG to work.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Added buffer for material properties of detail mateirals, storing them in a multi-indexed data vector. Updated shader with relevant struct and buffer, but the buffer will need to be moved out of the mateiral SRG to work.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Added buffer for material properties of detail mateirals, storing them in a multi-indexed data vector. Updated shader with relevant struct and buffer, but the buffer will need to be moved out of the mateiral SRG to work.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* - Moved settings related to the detail material to a partial view srg owned by the terrain gem.
- Added support for base color in detail materials.
- Hooked up basic base color rendering of detail materials.
- Corrected the way the material data was stored.
- Added ref counting for detail materials so they can be released when no longer used.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Added buffer for material properties of detail mateirals, storing them in a multi-indexed data vector. Updated shader with relevant struct and buffer, but the buffer will need to be moved out of the mateiral SRG to work.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* - Moved settings related to the detail material to a partial view srg owned by the terrain gem.
- Added support for base color in detail materials.
- Hooked up basic base color rendering of detail materials.
- Corrected the way the material data was stored.
- Added ref counting for detail materials so they can be released when no longer used.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Detail materials now put textures into bindless array that's accessed in the shader. Shader now pulls all the detail materal information for a single mateiral but does no blending.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Correcting rebase merge problem.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fix detail roughness fade out with distance.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Adding tests for new MultiIndexedDataVector functions
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Updates to move bindless array to separate SRG
- Exposed BindSrg() in renderpass so it's possible to add additional SRGs to a pass
- Created a TerrainSrg for use by the terrain forward shader
- Moved the bindless array out of the partial view SRG to the TerrainSrg
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Moved more properties out of the view srg to the terrain srg.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Spelling fixes
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing bug where the roughness min/max value were inverted. Also fixed bug where bad data would show for areas where there was no macro material.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Updates from PR review
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
* Fixing case issues and updating function name due to a recent fix.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
Fixed issue where skin material wouldn't render if applied to a model with several submeshes and those submeshes had different material types applied to them.