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/Reflections.pass

309 lines
13 KiB
Plaintext

{
"Type": "JsonSerialization",
"Version": 1,
"ClassName": "PassAsset",
"ClassData": {
"PassTemplate": {
"Name": "ReflectionsParentPassTemplate",
"PassClass": "ParentPass",
"Slots": [
{
"Name": "NormalInput",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "SpecularF0Input",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "AlbedoInput",
"SlotType": "Input",
"ScopeAttachmentUsage": "Shader"
},
{
"Name": "DepthStencilInputOutput",
"SlotType": "InputOutput",
"ScopeAttachmentUsage": "DepthStencil"
},
{
"Name": "SpecularInputOutput",
"SlotType": "InputOutput",
"ScopeAttachmentUsage": "RenderTarget"
},
{
"Name": "ReflectionOutput",
"SlotType": "Output",
"ScopeAttachmentUsage": "RenderTarget"
}
],
"Connections": [
{
"LocalSlot": "ReflectionOutput",
"AttachmentRef": {
"Pass": "ReflectionProbeRenderInnerPass",
"Attachment": "ReflectionInputOutput"
}
}
],
"PassRequests": [
{
"Name": "ReflectionProbeStencilPass",
"TemplateName": "ReflectionProbeStencilPassTemplate",
"Connections": [
{
"LocalSlot": "DepthStencilInputOutput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "DepthStencilInputOutput"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "reflectionprobestencil",
"PipelineViewTag": "MainCamera"
}
},
{
"Name": "ReflectionProbeBlendWeightPass",
"TemplateName": "ReflectionProbeBlendWeightPassTemplate",
"Connections": [
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "reflectionprobeblendweight",
"PipelineViewTag": "MainCamera",
"PassSrgShaderAsset": {
"FilePath": "Shaders/Reflections/ReflectionProbeBlendWeight.shader"
}
}
},
{
"Name": "ReflectionGlobalFullscreenPass",
"TemplateName": "ReflectionGlobalFullscreenPassTemplate",
"Connections": [
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
},
{
"LocalSlot": "AlbedoInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "AlbedoInput"
}
},
{
"LocalSlot": "ReflectionBlendWeightInput",
"AttachmentRef": {
"Pass": "ReflectionProbeBlendWeightPass",
"Attachment": "Output"
}
}
],
"PassData": {
"$type": "FullscreenTrianglePassData",
"ShaderAsset": {
"FilePath": "Shaders/Reflections/ReflectionGlobalFullscreen.shader"
},
"StencilRef": 3, // See RenderCommon.h and ReflectionGlobalFullscreen.shader
"PipelineViewTag": "MainCamera"
}
},
{
"Name": "ReflectionProbeRenderOuterPass",
"TemplateName": "ReflectionProbeRenderOuterPassTemplate",
"Connections": [
{
"LocalSlot": "ReflectionInputOutput",
"AttachmentRef": {
"Pass": "ReflectionGlobalFullscreenPass",
"Attachment": "ReflectionOutput"
}
},
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
},
{
"LocalSlot": "ReflectionBlendWeightInput",
"AttachmentRef": {
"Pass": "ReflectionProbeBlendWeightPass",
"Attachment": "Output"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "reflectionproberenderouter",
"PipelineViewTag": "MainCamera",
"PassSrgShaderAsset": {
"FilePath": "Shaders/Reflections/ReflectionProbeRenderOuter.shader"
}
}
},
{
"Name": "ReflectionProbeRenderInnerPass",
"TemplateName": "ReflectionProbeRenderInnerPassTemplate",
"Connections": [
{
"LocalSlot": "ReflectionInputOutput",
"AttachmentRef": {
"Pass": "ReflectionProbeRenderOuterPass",
"Attachment": "ReflectionInputOutput"
}
},
{
"LocalSlot": "DepthStencilTextureInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
}
],
"PassData": {
"$type": "RasterPassData",
"DrawListTag": "reflectionproberenderinner",
"PipelineViewTag": "MainCamera",
"PassSrgShaderAsset": {
"FilePath": "Shaders/Reflections/ReflectionProbeRenderInner.shader"
}
}
},
{
"Name": "ReflectionScreenSpacePass",
"TemplateName": "ReflectionScreenSpacePassTemplate",
"Enabled": false,
"Connections": [
{
"LocalSlot": "ReflectionInputOutput",
"AttachmentRef": {
"Pass": "ReflectionProbeRenderInnerPass",
"Attachment": "ReflectionInputOutput"
}
},
{
"LocalSlot": "NormalInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "NormalInput"
}
},
{
"LocalSlot": "DepthStencilInput",
"AttachmentRef": {
"Pass": "ReflectionProbeStencilPass",
"Attachment": "DepthStencilInputOutput"
}
},
{
"LocalSlot": "SpecularF0Input",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularF0Input"
}
},
{
"LocalSlot": "SpecularInput",
"AttachmentRef": {
"Pass": "Parent",
"Attachment": "SpecularInputOutput"
}
}
]
}
]
}
}
}