You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/Atom/Feature/Common/Assets/Passes/EnvironmentCubeMapPipeline....

540 lines
22 KiB
Plaintext

{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PassAsset",
"ClassData": {
"PassTemplate": {
"Name": "EnvironmentCubeMapPipeline",
"PassClass": "ParentPass",
"Slots": [
{
"Name": "Output",
"SlotType": "InputOutput",
"ScopeAttachmentUsage": "RenderTarget"
}
],
"PassRequests": [
{
"Name": "MorphTargetPass",
"TemplateName": "MorphTargetPassTemplate"
},
{
"Name": "SkinningPass",
"TemplateName": "SkinningPassTemplate",
"Connections": [
{
"LocalSlot": "SkinnedMeshOutputStream",
"AttachmentRef": {
"Pass": "MorphTargetPass",
"Attachment": "MorphTargetDeltaOutput"
}
}
]
},
{
"Name": "CascadedShadowmapsPass",
"TemplateName": "CascadedShadowmapsTemplate",
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "shadow",
"PipelineViewTag": "DirectionalLightView"
},
"Connections": [
{
"LocalSlot": "SkinnedMeshes",
"AttachmentRef": {
"Pass": "SkinningPass",
"Attachment": "SkinnedMeshOutputStream"
}
}
]
},
{
"Name": "ProjectedShadowmapsPass",
"TemplateName": "ProjectedShadowmapsTemplate",
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "shadow",
"PipelineViewTag": "ProjectedShadowView"
},
"Connections": [
{
"LocalSlot": "SkinnedMeshes",
"AttachmentRef": {
"Pass": "SkinningPass",
"Attachment": "SkinnedMeshOutputStream"
}
}
]
},
{
"Name": "EsmShadowmapsPassDirectional",
"TemplateName": "EsmShadowmapsTemplate",
"PassData": {
"$type": "EsmShadowmapsPassData",
"LightType": "directional"
},
"Connections": [
{
"LocalSlot": "DepthShadowmaps",
"AttachmentRef": {
"Pass": "CascadedShadowmapsPass",
"Attachment": "Shadowmap"
}
}
]
},
{
"Name": "EsmShadowmapsPassProjected",
"TemplateName": "EsmShadowmapsTemplate",
"PassData": {
"$type": "EsmShadowmapsPassData",
"LightType": "projected"
},
"Connections": [
{
"LocalSlot": "DepthShadowmaps",
"AttachmentRef": {
"Pass": "ProjectedShadowmapsPass",
"Attachment": "Shadowmap"
}
}
]
},
{
"Name": "DepthPrePass",
"TemplateName": "DepthMSAAParentTemplate",
"Connections": [
{
"LocalSlot": "SkinnedMeshes",
"AttachmentRef": {
"Pass": "SkinningPass",
"Attachment": "SkinnedMeshOutputStream"
}
},
{
"LocalSlot": "SwapChainOutput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "Output"
}
}
]
},
{
"Name": "LightCullingPass",
"TemplateName": "LightCullingParentTemplate",
"Connections": [
{
"LocalSlot": "SkinnedMeshes",
"AttachmentRef": {
"Pass": "SkinningPass",
"Attachment": "SkinnedMeshOutputStream"
}
},
{
"LocalSlot": "DepthMSAA",
"AttachmentRef": {
"Pass": "DepthPrePass",
"Attachment": "DepthMSAA"
}
},
{
"LocalSlot": "SwapChainOutput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "Output"
}
}
]
},
{
"Name": "ForwardMSAAPass",
"TemplateName": "EnvironmentCubeMapForwardMSAAPassTemplate",
"Connections": [
{
"LocalSlot": "DirectionalLightShadowmap",
"AttachmentRef": {
"Pass": "CascadedShadowmapsPass",
"Attachment": "Shadowmap"
}
},
{
"LocalSlot": "ExponentialShadowmapDirectional",
"AttachmentRef": {
"Pass": "EsmShadowmapsPassDirectional",
"Attachment": "EsmShadowmaps"
}
},
{
"LocalSlot": "ProjectedShadowmap",
"AttachmentRef": {
"Pass": "ProjectedShadowmapsPass",
"Attachment": "Shadowmap"
}
},
{
"LocalSlot": "ExponentialShadowmapProjected",
"AttachmentRef": {
"Pass": "EsmShadowmapsPassProjected",
"Attachment": "EsmShadowmaps"
}
},
{
"LocalSlot": "DepthStencilInputOutput",
"AttachmentRef": {
"Pass": "DepthPrePass",
"Attachment": "DepthMSAA"
}
},
{
"LocalSlot": "TileLightData",
"AttachmentRef": {
"Pass": "LightCullingPass",
"Attachment": "TileLightData"
}
},
{
"LocalSlot": "LightListRemapped",
"AttachmentRef": {
"Pass": "LightCullingPass",
"Attachment": "LightListRemapped"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "forward",
"PipelineViewTag": "MainCamera",
"PassSrgShaderAsset": {
"FilePath": "Shaders/ForwardPassSrg.shader"
}
}
},
{
"Name": "ForwardSubsurfaceMSAAPass",
"TemplateName": "EnvironmentCubeMapForwardSubsurfaceMSAAPassTemplate",
"Connections": [
{
"LocalSlot": "DirectionalLightShadowmap",
"AttachmentRef": {
"Pass": "CascadedShadowmapsPass",
"Attachment": "Shadowmap"
}
},
{
"LocalSlot": "ExponentialShadowmapDirectional",
"AttachmentRef": {
"Pass": "EsmShadowmapsPassDirectional",
"Attachment": "EsmShadowmaps"
}
},
{
"LocalSlot": "ProjectedShadowmap",
"AttachmentRef": {
"Pass": "ProjectedShadowmapsPass",
"Attachment": "Shadowmap"
}
},
{
"LocalSlot": "ExponentialShadowmapProjected",
"AttachmentRef": {
"Pass": "EsmShadowmapsPassProjected",
"Attachment": "EsmShadowmaps"
}
},
{
"LocalSlot": "TileLightData",
"AttachmentRef": {
"Pass": "LightCullingPass",
"Attachment": "TileLightData"
}
},
{
"LocalSlot": "LightListRemapped",
"AttachmentRef": {
"Pass": "LightCullingPass",
"Attachment": "LightListRemapped"
}
},
// Input/Outputs...
{
"LocalSlot": "DepthStencilInputOutput",
"AttachmentRef": {
"Pass": "DepthPrePass",
"Attachment": "DepthMSAA"
}
},
{
"LocalSlot": "DiffuseOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "DiffuseOutput"
}
},
{
"LocalSlot": "SpecularOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "SpecularOutput"
}
},
{
"LocalSlot": "AlbedoOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "AlbedoOutput"
}
},
{
"LocalSlot": "SpecularF0Output",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "SpecularF0Output"
}
},
{
"LocalSlot": "NormalOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "NormalOutput"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "forwardWithSubsurfaceOutput",
"PipelineViewTag": "MainCamera",
"PassSrgShaderAsset": {
"FilePath": "Shaders/ForwardPassSrg.shader"
}
}
},
{
"Name": "SkyBoxPass",
"TemplateName": "EnvironmentCubeMapSkyBoxPassTemplate",
"Connections": [
{
"LocalSlot": "SpecularInputOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "SpecularOutput"
}
},
{
"LocalSlot": "SkyBoxDepth",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "DepthStencilInputOutput"
}
}
]
},
{
"Name": "DiffuseGlobalIlluminationPass",
"TemplateName": "DiffuseGlobalIlluminationPassTemplate",
"Connections": [
{
"LocalSlot": "DiffuseInputOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "DiffuseOutput"
}
},
{
"LocalSlot": "AlbedoInput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "AlbedoOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "NormalOutput"
}
},
{
"LocalSlot": "DepthStencilInputOutput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "DepthStencilInputOutput"
}
}
]
},
{
"Name": "ReflectionCompositePass",
"TemplateName": "ReflectionCompositePassTemplate",
"Connections": [
{
"LocalSlot": "ReflectionInput",
"AttachmentRef": {
"Pass": "ForwardMSAAPass",
"Attachment": "SpecularF0Output"
}
},
{
"LocalSlot": "SpecularInputOutput",
"AttachmentRef": {
"Pass": "SkyBoxPass",
"Attachment": "SpecularInputOutput"
}
},
{
"LocalSlot": "DepthStencilInputOutput",
"AttachmentRef": {
"Pass": "SkyBoxPass",
"Attachment": "SkyBoxDepth"
}
}
],
"PassData": {
"$type": "FullscreenTrianglePassData",
"ShaderAsset": {
"FilePath": "Shaders/Reflections/ReflectionComposite.shader"
},
"StencilRef": 1 // See RenderCommon.h and ReflectionComposite.shader
}
},
{
"Name": "MSAAResolveDiffusePass",
"TemplateName": "MSAAResolveColorTemplate",
"Connections": [
{
"LocalSlot": "Input",
"AttachmentRef": {
"Pass": "DiffuseGlobalIlluminationPass",
"Attachment": "DiffuseInputOutput"
}
}
]
},
{
"Name": "MSAAResolveSpecularPass",
"TemplateName": "MSAAResolveColorTemplate",
"Connections": [
{
"LocalSlot": "Input",
"AttachmentRef": {
"Pass": "ReflectionCompositePass",
"Attachment": "SpecularInputOutput"
}
}
]
},
{
"Name": "MSAAResolveScatterDistancePass",
"TemplateName": "MSAAResolveColorTemplate",
"Connections": [
{
"LocalSlot": "Input",
"AttachmentRef": {
"Pass": "ForwardSubsurfaceMSAAPass",
"Attachment": "ScatterDistanceOutput"
}
}
]
},
{
"Name": "SubsurfaceScatteringPass",
"TemplateName": "SubsurfaceScatteringPassTemplate",
"Enabled": true,
"Connections": [
{
"LocalSlot": "InputDiffuse",
"AttachmentRef": {
"Pass": "MSAAResolveDiffusePass",
"Attachment": "Output"
}
},
{
"LocalSlot": "InputLinearDepth",
"AttachmentRef": {
"Pass": "DepthPrePass",
"Attachment": "DepthLinear"
}
},
{
"LocalSlot": "InputScatterDistance",
"AttachmentRef": {
"Pass": "MSAAResolveScatterDistancePass",
"Attachment": "Output"
}
}
],
"PassData": {
"$type": "ComputePassData",
"ShaderAsset": {
"FilePath": "Shaders/PostProcessing/ScreenSpaceSubsurfaceScatteringCS.shader"
},
"Make Fullscreen Pass": true,
"PipelineViewTag": "MainCamera"
}
},
{
"Name": "Ssao",
"TemplateName": "SsaoParentTemplate",
"Connections": [
{
"LocalSlot": "LinearDepth",
"AttachmentRef": {
"Pass": "DepthPrePass",
"Attachment": "DepthLinear"
}
},
{
"LocalSlot": "Modulate",
"AttachmentRef": {
"Pass": "SubsurfaceScatteringPass",
"Attachment": "Output"
}
}
]
},
{
"Name": "DiffuseSpecularMergePass",
"TemplateName": "DiffuseSpecularMergeTemplate",
"Connections": [
{
"LocalSlot": "InputDiffuse",
"AttachmentRef": {
"Pass": "Ssao",
"Attachment": "Output"
}
},
{
"LocalSlot": "InputSpecular",
"AttachmentRef": {
"Pass": "MSAAResolveSpecularPass",
"Attachment": "Output"
}
}
]
},
{
"Name": "CopyCubeMapFacePass",
"TemplateName": "FullscreenCopyTemplate",
"Connections": [
{
"LocalSlot": "Input",
"AttachmentRef": {
"Pass": "DiffuseSpecularMergePass",
"Attachment": "Output"
}
},
{
"LocalSlot": "Output",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "Output"
}
}
]
}
]
}
}
}