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.
613 lines
25 KiB
Plaintext
613 lines
25 KiB
Plaintext
{
|
|
"Type": "JsonSerialization",
|
|
"Version": 1,
|
|
"ClassName": "PassAsset",
|
|
"ClassData": {
|
|
"PassTemplate": {
|
|
"Name": "MainPipeline",
|
|
"PassClass": "ParentPass",
|
|
"Slots": [
|
|
{
|
|
"Name": "SwapChainOutput",
|
|
"SlotType": "InputOutput",
|
|
"ScopeAttachmentUsage": "RenderTarget"
|
|
}
|
|
],
|
|
"PassRequests": [
|
|
{
|
|
"Name": "MorphTargetPass",
|
|
"TemplateName": "MorphTargetPassTemplate"
|
|
},
|
|
{
|
|
"Name": "SkinningPass",
|
|
"TemplateName": "SkinningPassTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshOutputStream",
|
|
"AttachmentRef": {
|
|
"Pass": "MorphTargetPass",
|
|
"Attachment": "MorphTargetDeltaOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "RayTracingAccelerationStructurePass",
|
|
"TemplateName": "RayTracingAccelerationStructurePassTemplate"
|
|
},
|
|
{
|
|
"Name": "DiffuseProbeGridUpdatePass",
|
|
"TemplateName": "DiffuseProbeGridUpdatePassTemplate",
|
|
"ExecuteAfter": [
|
|
"RayTracingAccelerationStructurePass"
|
|
]
|
|
},
|
|
{
|
|
"Name": "TerrainDetailTextureComputePass",
|
|
"TemplateName": "TerrainDetailTextureComputePassTemplate",
|
|
"Enabled": false
|
|
},
|
|
{
|
|
"Name": "TerrainMacroTextureComputePass",
|
|
"TemplateName": "TerrainMacroTextureComputePassTemplate",
|
|
"Enabled": false
|
|
},
|
|
{
|
|
"Name": "DepthPrePass",
|
|
"TemplateName": "DepthMSAAParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshes",
|
|
"AttachmentRef": {
|
|
"Pass": "SkinningPass",
|
|
"Attachment": "SkinnedMeshOutputStream"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "SwapChainOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "MotionVectorPass",
|
|
"TemplateName": "MotionVectorParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshes",
|
|
"AttachmentRef": {
|
|
"Pass": "SkinningPass",
|
|
"Attachment": "SkinnedMeshOutputStream"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "Depth",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "SwapChainOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "ShadowPass",
|
|
"TemplateName": "ShadowParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshes",
|
|
"AttachmentRef": {
|
|
"Pass": "SkinningPass",
|
|
"Attachment": "SkinnedMeshOutputStream"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "SwapChainOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "OpaquePass",
|
|
"TemplateName": "OpaqueParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "DirectionalShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DirectionalESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalESM"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedESM"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightListRemapped",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "LightListRemapped"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthLinear",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "DepthLinear"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthStencil",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "DepthMSAA"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "SwapChainOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
{
|
|
// NOTE: HairParentPass does not write into Depth MSAA from Opaque Pass. If new passes downstream
|
|
// of HairParentPass will need to use Depth MSAA, HairParentPass will need to be updated to use Depth MSAA
|
|
// instead of regular Depth as DepthStencil. Specifically, HairResolvePPLL.pass and the associated
|
|
// .azsl file will need to be updated.
|
|
"Name": "HairParentPass",
|
|
// Note: The following two lines represent the choice of rendering pipeline for the hair.
|
|
// You can either choose to use PPLL or ShortCut and accordingly change the flag
|
|
// 'm_usePPLLRenderTechnique' in the class 'HairFeatureProcessor.cpp'
|
|
// "TemplateName": "HairParentPassTemplate",
|
|
"TemplateName": "HairParentShortCutPassTemplate",
|
|
"Enabled": true,
|
|
"Connections": [
|
|
// Critical to keep DepthLinear as input - used to set the size of the Head PPLL image buffer.
|
|
// If DepthLinear is not available - connect to another viewport (non MSAA) image.
|
|
{
|
|
"LocalSlot": "DepthLinearInput",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "DepthLinear"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "Depth",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "RenderTargetInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "OpaquePass",
|
|
"Attachment": "Output"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "RenderTargetInputOnly",
|
|
"AttachmentRef": {
|
|
"Pass": "OpaquePass",
|
|
"Attachment": "Output"
|
|
}
|
|
},
|
|
|
|
// Shadows resources
|
|
{
|
|
"LocalSlot": "DirectionalShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DirectionalESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalESM"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedESM"
|
|
}
|
|
},
|
|
|
|
// Lighting Resources
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightListRemapped",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "LightListRemapped"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
{
|
|
"Name": "TransparentPass",
|
|
"TemplateName": "TransparentParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "DirectionalShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DirectionalESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "DirectionalESM"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedShadowmap",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedShadowmap"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ProjectedESM",
|
|
"AttachmentRef": {
|
|
"Pass": "ShadowPass",
|
|
"Attachment": "ProjectedESM"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightListRemapped",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "LightListRemapped"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "InputLinearDepth",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "DepthLinear"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthStencil",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "InputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "RenderTargetInputOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "DeferredFogPass",
|
|
"TemplateName": "DeferredFogPassTemplate",
|
|
"Enabled": false,
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "InputLinearDepth",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "DepthLinear"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "InputDepthStencil",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "RenderTargetInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "RenderTargetInputOutput"
|
|
}
|
|
}
|
|
],
|
|
"PassData": {
|
|
"$type": "FullscreenTrianglePassData",
|
|
"ShaderAsset": {
|
|
"FilePath": "Shaders/ScreenSpace/DeferredFog.shader"
|
|
},
|
|
"PipelineViewTag": "MainCamera"
|
|
}
|
|
},
|
|
{
|
|
"Name": "ReflectionCopyFrameBufferPass",
|
|
"TemplateName": "ReflectionCopyFrameBufferPassTemplate",
|
|
"Enabled": false,
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "Input",
|
|
"AttachmentRef": {
|
|
"Pass": "DeferredFogPass",
|
|
"Attachment": "RenderTargetInputOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "PostProcessPass",
|
|
"TemplateName": "PostProcessParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "LightingInput",
|
|
"AttachmentRef": {
|
|
"Pass": "DeferredFogPass",
|
|
"Attachment": "RenderTargetInputOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "Depth",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "MotionVectors",
|
|
"AttachmentRef": {
|
|
"Pass": "MotionVectorPass",
|
|
"Attachment": "MotionVectorOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "SwapChainOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "DiffuseProbeGridVisualizationCompositePass",
|
|
"TemplateName": "DiffuseProbeGridVisualizationCompositePassTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "VisualizationInput",
|
|
"AttachmentRef": {
|
|
"Pass": "OpaquePass",
|
|
"Attachment": "DiffuseProbeGridVisualization"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "Depth",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthPrePass",
|
|
"Attachment": "Depth"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "ColorInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "PostProcessPass",
|
|
"Attachment": "Output"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "AuxGeomPass",
|
|
"TemplateName": "AuxGeomPassTemplate",
|
|
"Enabled": true,
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "ColorInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "DiffuseProbeGridVisualizationCompositePass",
|
|
"Attachment": "ColorInputOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
}
|
|
],
|
|
"PassData": {
|
|
"$type": "RasterPassData",
|
|
"DrawListTag": "auxgeom",
|
|
"PipelineViewTag": "MainCamera"
|
|
}
|
|
},
|
|
{
|
|
"Name": "DebugOverlayPass",
|
|
"TemplateName": "DebugOverlayParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "RawLightingInput",
|
|
"AttachmentRef": {
|
|
"Pass": "PostProcessPass",
|
|
"Attachment": "RawLightingOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LuminanceMipChainInput",
|
|
"AttachmentRef": {
|
|
"Pass": "PostProcessPass",
|
|
"Attachment": "LuminanceMipChainOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "InputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "AuxGeomPass",
|
|
"Attachment": "ColorInputOutput"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "LyShinePass",
|
|
"TemplateName": "LyShineParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "ColorInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "DebugOverlayPass",
|
|
"Attachment": "InputOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "UIPass",
|
|
"TemplateName": "UIParentTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "InputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "LyShinePass",
|
|
"Attachment": "ColorInputOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthInputOutput",
|
|
"AttachmentRef": {
|
|
"Pass": "HairParentPass",
|
|
"Attachment": "Depth"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "CopyToSwapChain",
|
|
"TemplateName": "FullscreenCopyTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "Input",
|
|
"AttachmentRef": {
|
|
"Pass": "UIPass",
|
|
"Attachment": "InputOutput"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "Output",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SwapChainOutput"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |