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.
161 lines
6.1 KiB
Plaintext
161 lines
6.1 KiB
Plaintext
{
|
|
"Type": "JsonSerialization",
|
|
"Version": 1,
|
|
"ClassName": "PassAsset",
|
|
"ClassData": {
|
|
"PassTemplate": {
|
|
"Name": "LightCullingParentTemplate",
|
|
"PassClass": "ParentPass",
|
|
"Slots": [
|
|
// Inputs...
|
|
{
|
|
"Name": "SkinnedMeshes",
|
|
"SlotType": "Input"
|
|
},
|
|
{
|
|
"Name": "DepthMSAA",
|
|
"SlotType": "Input"
|
|
},
|
|
// Outputs...
|
|
{
|
|
"Name": "TileLightData",
|
|
"SlotType": "Output"
|
|
},
|
|
{
|
|
"Name": "LightListRemapped",
|
|
"SlotType": "Output"
|
|
},
|
|
// SwapChain here is only used to reference the frame height and format
|
|
{
|
|
"Name": "SwapChainOutput",
|
|
"SlotType": "InputOutput"
|
|
}
|
|
],
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingRemapPass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightListRemapped",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingRemapPass",
|
|
"Attachment": "LightListRemapped"
|
|
}
|
|
}
|
|
],
|
|
"PassRequests": [
|
|
// The light culling system can do highly accurate culling of transparent objects but it needs
|
|
// more depth information than the opaque geometry pass can provide
|
|
// Specifically the minimum and maximum depth of transparent objects
|
|
{
|
|
"Name": "DepthTransparentMinPass",
|
|
"TemplateName": "DepthPassTemplate",
|
|
"PassData": {
|
|
"$type": "RasterPassData",
|
|
"DrawListTag": "depthTransparentMin",
|
|
"PipelineViewTag": "MainCamera"
|
|
},
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshes",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SkinnedMeshes"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "DepthTransparentMaxPass",
|
|
"TemplateName": "DepthMaxPassTemplate",
|
|
"PassData": {
|
|
"$type": "RasterPassData",
|
|
"DrawListTag": "depthTransparentMax",
|
|
"PipelineViewTag": "MainCamera"
|
|
},
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "SkinnedMeshes",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "SkinnedMeshes"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "LightCullingTilePreparePass",
|
|
"TemplateName": "LightCullingTilePrepareMSAATemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "Depth",
|
|
"AttachmentRef": {
|
|
"Pass": "Parent",
|
|
"Attachment": "DepthMSAA"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthTransparentMin",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthTransparentMinPass",
|
|
"Attachment": "Output"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "DepthTransparentMax",
|
|
"AttachmentRef": {
|
|
"Pass": "DepthTransparentMaxPass",
|
|
"Attachment": "Output"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "LightCullingPass",
|
|
"TemplateName": "LightCullingTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingTilePreparePass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "LightCullingRemapPass",
|
|
"TemplateName": "LightCullingRemapTemplate",
|
|
"Connections": [
|
|
{
|
|
"LocalSlot": "TileLightData",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingTilePreparePass",
|
|
"Attachment": "TileLightData"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightCount",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "LightCount"
|
|
}
|
|
},
|
|
{
|
|
"LocalSlot": "LightList",
|
|
"AttachmentRef": {
|
|
"Pass": "LightCullingPass",
|
|
"Attachment": "LightList"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|