Merge pull request #153 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-14706

[ATOM-14706] Add DiffuseProbeGridClassificationPass
This commit is contained in:
dmcdiarmid-ly
2021-04-20 20:31:28 -07:00
committed by GitHub
62 changed files with 9720 additions and 171 deletions
@@ -0,0 +1,11 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PassAsset",
"ClassData": {
"PassTemplate": {
"Name": "DiffuseProbeGridClassificationPassTemplate",
"PassClass": "DiffuseProbeGridClassificationPass"
}
}
}
@@ -26,6 +26,10 @@
{
"Name": "DiffuseProbeGridRelocationPass",
"TemplateName": "DiffuseProbeGridRelocationPassTemplate"
},
{
"Name": "DiffuseProbeGridClassificationPass",
"TemplateName": "DiffuseProbeGridClassificationPassTemplate"
}
]
}
@@ -416,6 +416,10 @@
"Name": "DiffuseProbeGridRelocationPassTemplate",
"Path": "Passes/DiffuseProbeGridRelocation.pass"
},
{
"Name": "DiffuseProbeGridClassificationPassTemplate",
"Path": "Passes/DiffuseProbeGridClassification.pass"
},
{
"Name": "DiffuseGlobalIlluminationPassTemplate",
"Path": "Passes/DiffuseGlobalIllumination.pass"
@@ -18,7 +18,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
{
RaytracingAccelerationStructure m_scene;
// directional Lights
// directional lights
struct DirectionalLight
{
float3 m_direction;
@@ -30,7 +30,33 @@ partial ShaderResourceGroup RayTracingSceneSrg
StructuredBuffer<DirectionalLight> m_directionalLights;
uint m_directionalLightCount;
// point Lights
// simple point lights
struct SimplePointLight
{
float3 m_position;
float m_invAttenuationRadiusSquared; // For a radius at which this light no longer has an effect, 1 / radius^2.
float3 m_rgbIntensityCandelas;
float m_padding; // explicit padding.
};
StructuredBuffer<SimplePointLight> m_simplePointLights;
uint m_simplePointLightCount;
// simple spot lights
struct SimpleSpotLight
{
float3 m_position;
float m_invAttenuationRadiusSquared; // For a radius at which this light no longer has an effect, 1 / radius^2.
float3 m_direction;
float m_cosInnerConeAngle; // cosine of the outer cone angle
float3 m_rgbIntensityCandelas;
float m_cosOuterConeAngle; // cosine of the inner cone angle
};
StructuredBuffer<SimpleSpotLight> m_simpleSpotLights;
uint m_simpleSpotLightCount;
// point lights (sphere)
struct PointLight
{
float3 m_position;
@@ -42,7 +68,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
StructuredBuffer<PointLight> m_pointLights;
uint m_pointLightCount;
// disk Lights
// disk lights
struct DiskLight
{
float3 m_position;
@@ -60,7 +86,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
StructuredBuffer<DiskLight> m_diskLights;
uint m_diskLightCount;
// capsule Lights
// capsule lights
struct CapsuleLight
{
float3 m_startPoint; // one of the end points of the capsule
@@ -74,7 +100,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
StructuredBuffer<CapsuleLight> m_capsuleLights;
uint m_capsuleLightCount;
// quad Lights
// quad lights
struct QuadLight
{
float3 m_position;
@@ -0,0 +1,32 @@
{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PrecompiledShaderAssetSourceData",
"ClassData":
{
"ShaderAssetFileName": "diffuseprobegridclassification.azshader",
"PlatformIdentifiers":
[
"pc"
],
"ShaderResourceGroupAssets":
[
"diffuseprobegridclassification_passsrg.azsrg"
],
"RootShaderVariantAssets":
[
{
"APIName": "dx12",
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_dx12_0.azshadervariant"
},
{
"APIName": "vulkan",
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_vulkan_0.azshadervariant"
},
{
"APIName": "null",
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_null_0.azshadervariant"
}
]
}
}
@@ -136,6 +136,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -203,6 +241,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -221,7 +279,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -318,6 +376,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -2691,7 +2777,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "10722138557170830784"
"value": "13399614758886099705"
}
]
}
@@ -2818,6 +2904,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -2885,6 +3009,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -2903,7 +3047,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -3000,6 +3144,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -5373,7 +5545,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "10722138557170830784"
"value": "13399614758886099705"
}
]
}
@@ -5500,6 +5672,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -5567,6 +5777,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -5585,7 +5815,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -5682,6 +5912,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -5766,7 +6024,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5798,7 +6056,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5830,7 +6088,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5862,7 +6120,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5894,7 +6152,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5926,7 +6184,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5958,7 +6216,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5990,7 +6248,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6022,7 +6280,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6054,7 +6312,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6086,7 +6344,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6118,7 +6376,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6150,7 +6408,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6182,7 +6440,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6214,7 +6472,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6246,7 +6504,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6278,7 +6536,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6310,7 +6568,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6342,7 +6600,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6374,7 +6632,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6406,7 +6664,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6438,7 +6696,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6470,7 +6728,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6502,7 +6760,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6534,7 +6792,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6566,7 +6824,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6598,7 +6856,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6630,7 +6888,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -8011,7 +8269,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "2959428625184507101"
"value": "8603598590297091788"
}
]
}
@@ -8055,7 +8313,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "6463331605863849001"
"value": "6181996982157220722"
}
]
}
@@ -136,6 +136,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -203,6 +241,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -221,7 +279,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -318,6 +376,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -2691,7 +2777,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "2253369087368484601"
"value": "4760130259633911968"
}
]
}
@@ -2818,6 +2904,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -2885,6 +3009,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -2903,7 +3047,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -3000,6 +3144,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -5373,7 +5545,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "2253369087368484601"
"value": "4760130259633911968"
}
]
}
@@ -5500,6 +5672,44 @@
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
},
@@ -5567,6 +5777,26 @@
"value": "2"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
}
]
}
]
},
@@ -5585,7 +5815,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -5682,6 +5912,34 @@
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
]
}
]
}
@@ -5766,7 +6024,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5798,7 +6056,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5830,7 +6088,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5862,7 +6120,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5894,7 +6152,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5926,7 +6184,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5958,7 +6216,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -5990,7 +6248,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6022,7 +6280,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6054,7 +6312,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6086,7 +6344,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6118,7 +6376,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6150,7 +6408,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6182,7 +6440,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6214,7 +6472,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6246,7 +6504,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6278,7 +6536,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6310,7 +6568,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6342,7 +6600,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6374,7 +6632,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6406,7 +6664,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6438,7 +6696,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6470,7 +6728,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6502,7 +6760,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6534,7 +6792,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6566,7 +6824,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6598,7 +6856,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6630,7 +6888,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -8011,7 +8269,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "2959428625184507101"
"value": "8603598590297091788"
}
]
}
@@ -8055,7 +8313,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "1715809227613203910"
"value": "15482970526060535234"
}
]
}
@@ -251,6 +251,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -433,6 +471,26 @@
"value": "4"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
}
]
}
]
},
@@ -451,7 +509,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
"value": "5"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -515,7 +573,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -599,7 +657,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
@@ -3217,7 +3303,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "3506265182085703910"
"value": "2492931172876496388"
}
]
}
@@ -3459,6 +3545,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -3641,6 +3765,26 @@
"value": "4"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
}
]
}
]
},
@@ -3659,7 +3803,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
"value": "5"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -3723,7 +3867,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -3807,7 +3951,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
@@ -6425,7 +6597,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "3506265182085703910"
"value": "2492931172876496388"
}
]
}
@@ -6575,7 +6747,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
"value": "5"
}
]
}
@@ -6667,6 +6839,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -6701,7 +6911,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
},
@@ -6739,7 +6949,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
}
@@ -6849,6 +7059,26 @@
"value": "4"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
}
]
}
]
},
@@ -6867,7 +7097,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
"value": "5"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -6931,7 +7161,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -7015,7 +7245,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
}
]
}
@@ -7104,7 +7362,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7136,7 +7394,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7168,7 +7426,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7200,7 +7458,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7232,7 +7490,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7264,7 +7522,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7296,7 +7554,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7328,7 +7586,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7360,7 +7618,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7392,7 +7650,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7424,7 +7682,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7456,7 +7714,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7488,7 +7746,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7520,7 +7778,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7552,7 +7810,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7584,7 +7842,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7616,7 +7874,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7648,7 +7906,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7680,7 +7938,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7712,7 +7970,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7744,7 +8002,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7776,7 +8034,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7808,7 +8066,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7840,7 +8098,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7872,7 +8130,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7904,7 +8162,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7936,7 +8194,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -7968,7 +8226,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -8000,7 +8258,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -8032,7 +8290,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
},
@@ -8064,7 +8322,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "5"
"value": "6"
}
]
}
@@ -9589,7 +9847,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "16848591129341445217"
"value": "1426176521634445605"
}
]
}
@@ -9633,7 +9891,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "4017610420074377641"
"value": "1425135468820160161"
}
]
}
@@ -99,6 +99,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -261,6 +299,26 @@
"value": "3"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
}
]
}
]
},
@@ -279,7 +337,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -343,7 +401,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
"value": "2"
}
]
}
@@ -399,7 +457,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
}
@@ -3177,7 +3263,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "10943999648486519461"
"value": "12354971452077948474"
}
]
}
@@ -3267,6 +3353,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -3429,6 +3553,26 @@
"value": "3"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
}
]
}
]
},
@@ -3447,7 +3591,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -3511,7 +3655,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
"value": "2"
}
]
}
@@ -3567,7 +3711,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
}
@@ -6345,7 +6517,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "10943999648486519461"
"value": "12354971452077948474"
}
]
}
@@ -6435,6 +6607,44 @@
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
"version": 3,
"Objects": [
{
"field": "m_name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "m_type",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_access",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_count",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
},
{
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
},
{
"field": "element",
"typeName": "ShaderInputImageDescriptor",
@@ -6469,7 +6679,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
"value": "2"
}
]
},
@@ -6507,7 +6717,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
@@ -6597,6 +6807,26 @@
"value": "3"
}
]
},
{
"field": "element",
"typeName": "Interval",
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
"version": 1,
"Objects": [
{
"field": "m_min",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
},
{
"field": "m_max",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "4"
}
]
}
]
},
@@ -6615,7 +6845,7 @@
"field": "m_groupSizeForImages",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
},
{
"field": "m_groupSizeForBufferUnboundedArrays",
@@ -6679,7 +6909,7 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
"value": "2"
}
]
}
@@ -6735,7 +6965,35 @@
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "2"
"value": "3"
}
]
}
]
},
{
"field": "element",
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
"version": 2,
"Objects": [
{
"field": "Name",
"typeName": "Name",
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
"value": "m_probeStates"
},
{
"field": "Index",
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
"version": 1,
"Objects": [
{
"field": "m_index",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "1"
}
]
}
@@ -6824,7 +7082,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -6856,7 +7114,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -6888,7 +7146,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -6920,7 +7178,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -6952,7 +7210,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -6984,7 +7242,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7016,7 +7274,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7048,7 +7306,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7080,7 +7338,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7112,7 +7370,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7144,7 +7402,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7176,7 +7434,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7208,7 +7466,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7240,7 +7498,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7272,7 +7530,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7304,7 +7562,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7336,7 +7594,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7368,7 +7626,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7400,7 +7658,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7432,7 +7690,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7464,7 +7722,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7496,7 +7754,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7528,7 +7786,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7560,7 +7818,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7592,7 +7850,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7624,7 +7882,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7656,7 +7914,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7688,7 +7946,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7720,7 +7978,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7752,7 +8010,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7784,7 +8042,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7816,7 +8074,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
},
@@ -7848,7 +8106,7 @@
"field": "m_registerId",
"typeName": "unsigned int",
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
"value": "3"
"value": "4"
}
]
}
@@ -9469,7 +9727,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "14153574899631108967"
"value": "11445921412800959080"
}
]
}
@@ -9513,7 +9771,7 @@
"field": "m_hash",
"typeName": "AZ::u64",
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
"value": "8072403242124824453"
"value": "16873325821914315993"
}
]
}
@@ -96,6 +96,7 @@
#include <DiffuseProbeGrid/DiffuseProbeGridBlendDistancePass.h>
#include <DiffuseProbeGrid/DiffuseProbeGridBorderUpdatePass.h>
#include <DiffuseProbeGrid/DiffuseProbeGridRelocationPass.h>
#include <DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h>
#include <DiffuseProbeGrid/DiffuseProbeGridRenderPass.h>
#include <DiffuseProbeGrid/DiffuseProbeGridFeatureProcessor.h>
#include <ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h>
@@ -261,6 +262,7 @@ namespace AZ
passSystem->AddPassCreator(Name("DiffuseProbeGridBlendDistancePass"), &Render::DiffuseProbeGridBlendDistancePass::Create);
passSystem->AddPassCreator(Name("DiffuseProbeGridBorderUpdatePass"), &Render::DiffuseProbeGridBorderUpdatePass::Create);
passSystem->AddPassCreator(Name("DiffuseProbeGridRelocationPass"), &Render::DiffuseProbeGridRelocationPass::Create);
passSystem->AddPassCreator(Name("DiffuseProbeGridClassificationPass"), &Render::DiffuseProbeGridClassificationPass::Create);
passSystem->AddPassCreator(Name("DiffuseProbeGridRenderPass"), &Render::DiffuseProbeGridRenderPass::Create);
passSystem->AddPassCreator(Name("LuminanceHistogramGeneratorPass"), &LuminanceHistogramGeneratorPass::Create);
@@ -41,6 +41,7 @@ namespace AZ
m_irradianceImageAttachmentId = AZStd::string::format("ProbeIrradianceImageAttachmentId_%s", uuidString.c_str());
m_distanceImageAttachmentId = AZStd::string::format("ProbeDistanceImageAttachmentId_%s", uuidString.c_str());
m_relocationImageAttachmentId = AZStd::string::format("ProbeRelocationImageAttachmentId_%s", uuidString.c_str());
m_classificationImageAttachmentId = AZStd::string::format("ProbeClassificationImageAttachmentId_%s", uuidString.c_str());
// setup culling
m_cullable.m_cullData.m_scene = m_scene;
@@ -252,6 +253,20 @@ namespace AZ
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeRelocationImage image");
}
// probe classification
{
uint32_t width = probeCountX;
uint32_t height = probeCountY;
m_classificationImage[m_currentImageIndex] = RHI::Factory::Get().CreateImage();
RHI::ImageInitRequest request;
request.m_image = m_classificationImage[m_currentImageIndex].get();
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::ClassificationImageFormat);
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeClassificationImage image");
}
m_updateTextures = false;
// textures have changed so we need to update the render Srg to bind the new ones
@@ -401,6 +416,10 @@ namespace AZ
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeOffsets"));
m_rayTraceSrg->SetImageView(imageIndex, m_relocationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRelocationImageViewDescriptor).get());
// probe classification
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
m_rayTraceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
// grid settings
constantIndex = srgLayout->FindShaderInputConstantIndex(Name("m_ambientMultiplier"));
m_rayTraceSrg->SetConstant(constantIndex, m_ambientMultiplier);
@@ -431,6 +450,9 @@ namespace AZ
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeIrradiance"));
m_blendIrradianceSrg->SetImageView(imageIndex, m_irradianceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeIrradianceImageViewDescriptor).get());
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
m_blendIrradianceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
SetGridConstants(m_blendIrradianceSrg);
}
@@ -451,6 +473,9 @@ namespace AZ
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeDistance"));
m_blendDistanceSrg->SetImageView(imageIndex, m_distanceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeDistanceImageViewDescriptor).get());
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
m_blendDistanceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
SetGridConstants(m_blendDistanceSrg);
}
@@ -559,6 +584,27 @@ namespace AZ
SetGridConstants(m_relocationSrg);
}
void DiffuseProbeGrid::UpdateClassificationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset)
{
if (!m_classificationSrg)
{
m_classificationSrg = RPI::ShaderResourceGroup::Create(srgAsset);
AZ_Error("DiffuseProbeGrid", m_classificationSrg.get(), "Failed to create Classification shader resource group");
}
const RHI::ShaderResourceGroupLayout* srgLayout = m_classificationSrg->GetLayout();
RHI::ShaderInputConstantIndex constantIndex;
RHI::ShaderInputImageIndex imageIndex;
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeRayTrace"));
m_classificationSrg->SetImageView(imageIndex, m_rayTraceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRayTraceImageViewDescriptor).get());
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
m_classificationSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
SetGridConstants(m_classificationSrg);
}
void DiffuseProbeGrid::UpdateRenderObjectSrg()
{
if (!m_updateRenderObjectSrg)
@@ -601,6 +647,9 @@ namespace AZ
imageIndex = srgLayout->FindShaderInputImageIndex(Name("m_probeOffsets"));
m_renderObjectSrg->SetImageView(imageIndex, m_relocationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRelocationImageViewDescriptor).get());
imageIndex = srgLayout->FindShaderInputImageIndex(Name("m_probeStates"));
m_renderObjectSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
SetGridConstants(m_renderObjectSrg);
m_updateRenderObjectSrg = false;
@@ -30,6 +30,7 @@ namespace AZ
static const RHI::Format IrradianceImageFormat = RHI::Format::R16G16B16A16_UNORM;
static const RHI::Format DistanceImageFormat = RHI::Format::R32G32_FLOAT;
static const RHI::Format RelocationImageFormat = RHI::Format::R16G16B16A16_FLOAT;
static const RHI::Format ClassificationImageFormat = RHI::Format::R8_UINT;
// image pool
RHI::Ptr<RHI::ImagePool> m_imagePool;
@@ -43,6 +44,7 @@ namespace AZ
RHI::ImageViewDescriptor m_probeIrradianceImageViewDescriptor;
RHI::ImageViewDescriptor m_probeDistanceImageViewDescriptor;
RHI::ImageViewDescriptor m_probeRelocationImageViewDescriptor;
RHI::ImageViewDescriptor m_probeClassificationImageViewDescriptor;
// render pipeline state
RPI::Ptr<RPI::PipelineStateForDraw> m_pipelineState;
@@ -118,6 +120,7 @@ namespace AZ
const Data::Instance<RPI::ShaderResourceGroup>& GetBorderUpdateRowDistanceSrg() const { return m_borderUpdateRowDistanceSrg; }
const Data::Instance<RPI::ShaderResourceGroup>& GetBorderUpdateColumnDistanceSrg() const { return m_borderUpdateColumnDistanceSrg; }
const Data::Instance<RPI::ShaderResourceGroup>& GetRelocationSrg() const { return m_relocationSrg; }
const Data::Instance<RPI::ShaderResourceGroup>& GetClassificationSrg() const { return m_classificationSrg; }
const Data::Instance<RPI::ShaderResourceGroup>& GetRenderObjectSrg() const { return m_renderObjectSrg; }
// Srg updates
@@ -126,6 +129,7 @@ namespace AZ
void UpdateBlendDistanceSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
void UpdateBorderUpdateSrgs(const Data::Asset<RPI::ShaderResourceGroupAsset>& rowSrgAsset, const Data::Asset<RPI::ShaderResourceGroupAsset>& columnSrgAsset);
void UpdateRelocationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
void UpdateClassificationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
void UpdateRenderObjectSrg();
// textures
@@ -133,12 +137,14 @@ namespace AZ
const RHI::Ptr<RHI::Image>& GetIrradianceImage() { return m_irradianceImage[m_currentImageIndex]; }
const RHI::Ptr<RHI::Image>& GetDistanceImage() { return m_distanceImage[m_currentImageIndex]; }
const RHI::Ptr<RHI::Image>& GetRelocationImage() { return m_relocationImage[m_currentImageIndex]; }
const RHI::Ptr<RHI::Image>& GetClassificationImage() { return m_classificationImage[m_currentImageIndex]; }
// attachment Ids
const RHI::AttachmentId GetRayTraceImageAttachmentId() const { return m_rayTraceImageAttachmentId; }
const RHI::AttachmentId GetIrradianceImageAttachmentId() const { return m_irradianceImageAttachmentId; }
const RHI::AttachmentId GetDistanceImageAttachmentId() const { return m_distanceImageAttachmentId; }
const RHI::AttachmentId GetRelocationImageAttachmentId() const { return m_relocationImageAttachmentId; }
const RHI::AttachmentId GetClassificationImageAttachmentId() const { return m_classificationImageAttachmentId; }
const DiffuseProbeGridRenderData* GetRenderData() const { return m_renderData; }
@@ -222,6 +228,7 @@ namespace AZ
RHI::Ptr<RHI::Image> m_irradianceImage[ImageFrameCount];
RHI::Ptr<RHI::Image> m_distanceImage[ImageFrameCount];
RHI::Ptr<RHI::Image> m_relocationImage[ImageFrameCount];
RHI::Ptr<RHI::Image> m_classificationImage[ImageFrameCount];
uint32_t m_currentImageIndex = 0;
bool m_updateTextures = false;
bool m_irradianceClearRequired = true;
@@ -235,6 +242,7 @@ namespace AZ
Data::Instance<RPI::ShaderResourceGroup> m_borderUpdateRowDistanceSrg;
Data::Instance<RPI::ShaderResourceGroup> m_borderUpdateColumnDistanceSrg;
Data::Instance<RPI::ShaderResourceGroup> m_relocationSrg;
Data::Instance<RPI::ShaderResourceGroup> m_classificationSrg;
Data::Instance<RPI::ShaderResourceGroup> m_renderObjectSrg;
bool m_updateRenderObjectSrg = true;
@@ -243,6 +251,7 @@ namespace AZ
RHI::AttachmentId m_irradianceImageAttachmentId;
RHI::AttachmentId m_distanceImageAttachmentId;
RHI::AttachmentId m_relocationImageAttachmentId;
RHI::AttachmentId m_classificationImageAttachmentId;
};
} // namespace Render
} // namespace AZ
@@ -132,6 +132,16 @@ namespace AZ
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
// probe classification image
{
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
}
}
@@ -132,6 +132,16 @@ namespace AZ
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
// probe classification image
{
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
}
}
@@ -0,0 +1,182 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#include <DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h>
#include <Atom/RHI/Factory.h>
#include <Atom/RHI/PipelineState.h>
#include <Atom/RHI/FrameGraphInterface.h>
#include <Atom/RHI/FrameGraphAttachmentInterface.h>
#include <Atom/RHI/Device.h>
#include <Atom/RPI.Public/Pass/PassUtils.h>
#include <Atom/RPI.Public/RenderPipeline.h>
#include <Atom/RPI.Public/RPIUtils.h>
#include <Atom/RPI.Reflect/Pass/PassTemplate.h>
#include <Atom/RPI.Public/View.h>
#include <Atom/RPI.Public/Scene.h>
#include <DiffuseProbeGrid/DiffuseProbeGridFeatureProcessor.h>
#include <RayTracing/RayTracingFeatureProcessor.h>
namespace AZ
{
namespace Render
{
RPI::Ptr<DiffuseProbeGridClassificationPass> DiffuseProbeGridClassificationPass::Create(const RPI::PassDescriptor& descriptor)
{
RPI::Ptr<DiffuseProbeGridClassificationPass> pass = aznew DiffuseProbeGridClassificationPass(descriptor);
return AZStd::move(pass);
}
DiffuseProbeGridClassificationPass::DiffuseProbeGridClassificationPass(const RPI::PassDescriptor& descriptor)
: RPI::RenderPass(descriptor)
{
LoadShader();
}
void DiffuseProbeGridClassificationPass::LoadShader()
{
// load shader
// Note: the shader may not be available on all platforms
AZStd::string shaderFilePath = "Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.azshader";
m_shader = RPI::LoadShader(shaderFilePath);
if (m_shader == nullptr)
{
return;
}
// load pipeline state
RHI::PipelineStateDescriptorForDispatch pipelineStateDescriptor;
const auto& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
shaderVariant.ConfigurePipelineState(pipelineStateDescriptor);
m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor);
// load Pass Srg asset
m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass);
// retrieve the number of threads per thread group from the shader
const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" });
if (numThreads)
{
const RHI::ShaderStageAttributeArguments& args = *numThreads;
bool validArgs = args.size() == 3;
if (validArgs)
{
validArgs &= args[0].type() == azrtti_typeid<int>();
validArgs &= args[1].type() == azrtti_typeid<int>();
validArgs &= args[2].type() == azrtti_typeid<int>();
}
if (!validArgs)
{
AZ_Error("PassSystem", false, "[DiffuseProbeClassificationPass '%s']: Shader '%s' contains invalid numthreads arguments.", GetPathName().GetCStr(), shaderFilePath.c_str());
return;
}
m_dispatchArgs.m_threadsPerGroupX = AZStd::any_cast<int>(args[0]);
m_dispatchArgs.m_threadsPerGroupY = AZStd::any_cast<int>(args[1]);
m_dispatchArgs.m_threadsPerGroupZ = AZStd::any_cast<int>(args[2]);
}
}
void DiffuseProbeGridClassificationPass::FrameBeginInternal(FramePrepareParams params)
{
RPI::Scene* scene = m_pipeline->GetScene();
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
if (!diffuseProbeGridFeatureProcessor || diffuseProbeGridFeatureProcessor->GetProbeGrids().empty())
{
// no diffuse probe grids
return;
}
RayTracingFeatureProcessor* rayTracingFeatureProcessor = scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
AZ_Assert(rayTracingFeatureProcessor, "DiffuseProbeGridClassificationPass requires the RayTracingFeatureProcessor");
if (!rayTracingFeatureProcessor->GetSubMeshCount())
{
// empty scene
return;
}
RenderPass::FrameBeginInternal(params);
}
void DiffuseProbeGridClassificationPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph)
{
RenderPass::SetupFrameGraphDependencies(frameGraph);
RPI::Scene* scene = m_pipeline->GetScene();
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
{
// probe raytrace image
{
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetRayTraceImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeRayTraceImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
// probe classification image
{
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
}
}
void DiffuseProbeGridClassificationPass::CompileResources([[maybe_unused]] const RHI::FrameGraphCompileContext& context)
{
RPI::Scene* scene = m_pipeline->GetScene();
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
{
// the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs
// (see ValidateSetImageView() in ShaderResourceGroupData.cpp)
diffuseProbeGrid->UpdateClassificationSrg(m_srgAsset);
diffuseProbeGrid->GetClassificationSrg()->Compile();
}
}
void DiffuseProbeGridClassificationPass::BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context)
{
RHI::CommandList* commandList = context.GetCommandList();
RPI::Scene* scene = m_pipeline->GetScene();
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
// submit the DispatchItems for each DiffuseProbeGrid
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
{
const RHI::ShaderResourceGroup* shaderResourceGroup = diffuseProbeGrid->GetClassificationSrg()->GetRHIShaderResourceGroup();
commandList->SetShaderResourceGroupForDispatch(*shaderResourceGroup);
uint32_t probeCountX;
uint32_t probeCountY;
diffuseProbeGrid->GetTexture2DProbeCount(probeCountX, probeCountY);
RHI::DispatchItem dispatchItem;
dispatchItem.m_arguments = m_dispatchArgs;
dispatchItem.m_pipelineState = m_pipelineState;
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsX = probeCountX;
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsY = probeCountY;
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsZ = 1;
commandList->Submit(dispatchItem);
}
}
} // namespace Render
} // namespace AZ
@@ -0,0 +1,63 @@
/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
#pragma once
#include <AzCore/Memory/SystemAllocator.h>
#include <Atom/RHI/CommandList.h>
#include <Atom/RHI/DrawItem.h>
#include <Atom/RHI/ScopeProducer.h>
#include <Atom/RHI.Reflect/ShaderResourceGroupLayoutDescriptor.h>
#include <Atom/RPI.Public/Pass/ComputePass.h>
#include <Atom/RPI.Public/Shader/Shader.h>
#include <Atom/RPI.Public/Shader/ShaderResourceGroup.h>
#include <Atom/RPI.Reflect/Pass/PassName.h>
#include <Atom/RPI.Public/Image/AttachmentImage.h>
#include <DiffuseProbeGrid/DiffuseProbeGrid.h>
namespace AZ
{
namespace Render
{
//! Compute shader that classifies probes as active or inactive in the diffuse probe grid.
class DiffuseProbeGridClassificationPass final
: public RPI::RenderPass
{
public:
AZ_RPI_PASS(DiffuseProbeGridClassificationPass);
AZ_RTTI(AZ::Render::DiffuseProbeGridClassificationPass, "{98A6477A-F31C-4390-9BEB-9DB8E30BB281}", RPI::RenderPass);
AZ_CLASS_ALLOCATOR(DiffuseProbeGridClassificationPass, SystemAllocator, 0);
virtual ~DiffuseProbeGridClassificationPass() = default;
static RPI::Ptr<DiffuseProbeGridClassificationPass> Create(const RPI::PassDescriptor& descriptor);
private:
DiffuseProbeGridClassificationPass(const RPI::PassDescriptor& descriptor);
void LoadShader();
// Pass overrides
void FrameBeginInternal(FramePrepareParams params) override;
void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override;
void CompileResources(const RHI::FrameGraphCompileContext& context) override;
void BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context) override;
// shader
Data::Instance<RPI::Shader> m_shader;
const RHI::PipelineState* m_pipelineState = nullptr;
Data::Asset<RPI::ShaderResourceGroupAsset> m_srgAsset;
RHI::DispatchDirect m_dispatchArgs;
};
} // namespace Render
} // namespace AZ
@@ -73,6 +73,7 @@ namespace AZ
m_probeGridRenderData.m_probeIrradianceImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::IrradianceImageFormat, 0, 0);
m_probeGridRenderData.m_probeDistanceImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::DistanceImageFormat, 0, 0);
m_probeGridRenderData.m_probeRelocationImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::RelocationImageFormat, 0, 0);
m_probeGridRenderData.m_probeClassificationImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::ClassificationImageFormat, 0, 0);
// load shader
// Note: the shader may not be available on all platforms
@@ -291,6 +291,19 @@ namespace AZ
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
// probe classification
{
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetClassificationImageAttachmentId(), diffuseProbeGrid->GetClassificationImage());
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeClassificationImage");
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
}
}
@@ -117,6 +117,16 @@ namespace AZ
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
// probe classification image
{
RHI::ImageScopeAttachmentDescriptor desc;
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
}
}
Base::SetupFrameGraphDependencies(frameGraph);
@@ -21,6 +21,8 @@
#include <Atom/RPI.Reflect/Asset/AssetUtils.h>
#include <Atom/Feature/ImageBasedLights/ImageBasedLightFeatureProcessor.h>
#include <CoreLights/DirectionalLightFeatureProcessor.h>
#include <CoreLights/SimplePointLightFeatureProcessor.h>
#include <CoreLights/SimpleSpotLightFeatureProcessor.h>
#include <CoreLights/PointLightFeatureProcessor.h>
#include <CoreLights/DiskLightFeatureProcessor.h>
#include <CoreLights/CapsuleLightFeatureProcessor.h>
@@ -195,7 +197,23 @@ namespace AZ
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_directionalLightCount"));
m_rayTracingSceneSrg->SetConstant(constantIndex, directionalLightFP->GetLightCount());
// point lights
// simple point lights
const auto simplePointLightFP = GetParentScene()->GetFeatureProcessor<SimplePointLightFeatureProcessor>();
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_simplePointLights"));
m_rayTracingSceneSrg->SetBufferView(bufferIndex, simplePointLightFP->GetLightBuffer()->GetBufferView());
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_simplePointLightCount"));
m_rayTracingSceneSrg->SetConstant(constantIndex, simplePointLightFP->GetLightCount());
// simple spot lights
const auto simpleSpotLightFP = GetParentScene()->GetFeatureProcessor<SimpleSpotLightFeatureProcessor>();
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_simpleSpotLights"));
m_rayTracingSceneSrg->SetBufferView(bufferIndex, simpleSpotLightFP->GetLightBuffer()->GetBufferView());
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_simpleSpotLightCount"));
m_rayTracingSceneSrg->SetConstant(constantIndex, simpleSpotLightFP->GetLightCount());
// point lights (sphere)
const auto pointLightFP = GetParentScene()->GetFeatureProcessor<PointLightFeatureProcessor>();
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_pointLights"));
m_rayTracingSceneSrg->SetBufferView(bufferIndex, pointLightFP->GetLightBuffer()->GetBufferView());
@@ -131,6 +131,8 @@ set(FILES
Source/DiffuseProbeGrid/DiffuseProbeGridBorderUpdatePass.h
Source/DiffuseProbeGrid/DiffuseProbeGridRelocationPass.cpp
Source/DiffuseProbeGrid/DiffuseProbeGridRelocationPass.h
Source/DiffuseProbeGrid/DiffuseProbeGridClassificationPass.cpp
Source/DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h
Source/DiffuseProbeGrid/DiffuseProbeGridRenderPass.cpp
Source/DiffuseProbeGrid/DiffuseProbeGridRenderPass.h
Source/DiffuseProbeGrid/DiffuseProbeGrid.cpp