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.
540 lines
22 KiB
Plaintext
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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|