ComplexPipeline.pass 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. {
  2. "Type": "JsonSerialization",
  3. "Version": 1,
  4. "ClassName": "PassAsset",
  5. "ClassData": {
  6. "PassTemplate": {
  7. "Name": "ComplexPipeline",
  8. "PassClass": "ParentPass",
  9. "Slots": [
  10. {
  11. "Name": "PipelineOutput",
  12. "SlotType": "InputOutput"
  13. }
  14. ],
  15. "PassData": {
  16. "$type": "PassData",
  17. "PipelineGlobalConnections": [
  18. {
  19. "GlobalName": "PipelineOutput",
  20. "Slot": "PipelineOutput"
  21. }
  22. ]
  23. },
  24. "PassRequests": [
  25. {
  26. "Name": "MorphTargetPass",
  27. "TemplateName": "MorphTargetPassTemplate"
  28. },
  29. {
  30. "Name": "SkinningPass",
  31. "TemplateName": "SkinningPassTemplate",
  32. "Connections": [
  33. {
  34. "LocalSlot": "SkinnedMeshOutputStream",
  35. "AttachmentRef": {
  36. "Pass": "MorphTargetPass",
  37. "Attachment": "MorphTargetDeltaOutput"
  38. }
  39. }
  40. ]
  41. },
  42. {
  43. "Name": "CascadedShadowmapsPass",
  44. "TemplateName": "CascadedShadowmapsTemplate",
  45. "PassData": {
  46. "$type": "RasterPassData",
  47. "DrawListTag": "shadow",
  48. "PipelineViewTag": "DirectionalLightView"
  49. },
  50. "Connections": [
  51. {
  52. "LocalSlot": "SkinnedMeshes",
  53. "AttachmentRef": {
  54. "Pass": "SkinningPass",
  55. "Attachment": "SkinnedMeshOutputStream"
  56. }
  57. }
  58. ]
  59. },
  60. {
  61. "Name": "ProjectedShadowmapsPass",
  62. "TemplateName": "ProjectedShadowmapsTemplate",
  63. "PassData": {
  64. "$type": "RasterPassData",
  65. "DrawListTag": "shadow",
  66. "PipelineViewTag": "ProjectedShadowView"
  67. },
  68. "Connections": [
  69. {
  70. "LocalSlot": "SkinnedMeshes",
  71. "AttachmentRef": {
  72. "Pass": "SkinningPass",
  73. "Attachment": "SkinnedMeshOutputStream"
  74. }
  75. }
  76. ]
  77. },
  78. {
  79. "Name": "EsmShadowmapsPassDirectional",
  80. "TemplateName": "EsmShadowmapsTemplate",
  81. "PassData": {
  82. "$type": "EsmShadowmapsPassData",
  83. "LightType": "directional"
  84. },
  85. "Connections": [
  86. {
  87. "LocalSlot": "DepthShadowmaps",
  88. "AttachmentRef": {
  89. "Pass": "CascadedShadowmapsPass",
  90. "Attachment": "Shadowmap"
  91. }
  92. }
  93. ]
  94. },
  95. {
  96. "Name": "EsmShadowmapsPassProjected",
  97. "TemplateName": "EsmShadowmapsTemplate",
  98. "PassData": {
  99. "$type": "EsmShadowmapsPassData",
  100. "LightType": "projected"
  101. },
  102. "Connections": [
  103. {
  104. "LocalSlot": "DepthShadowmaps",
  105. "AttachmentRef": {
  106. "Pass": "ProjectedShadowmapsPass",
  107. "Attachment": "Shadowmap"
  108. }
  109. }
  110. ]
  111. },
  112. {
  113. "Name": "DepthMSAAPass",
  114. "TemplateName": "DepthMSAA4xPassTemplate",
  115. "PassData": {
  116. "$type": "RasterPassData",
  117. "DrawListTag": "depth",
  118. "PipelineViewTag": "MainCamera"
  119. },
  120. "Connections": [
  121. {
  122. "LocalSlot": "SkinnedMeshes",
  123. "AttachmentRef": {
  124. "Pass": "SkinningPass",
  125. "Attachment": "SkinnedMeshOutputStream"
  126. }
  127. }
  128. ]
  129. },
  130. {
  131. "Name": "LightCullingTilePreparePass",
  132. "TemplateName": "LightCullingTilePrepareMSAATemplate",
  133. "Connections": [
  134. {
  135. "LocalSlot": "Depth",
  136. "AttachmentRef": {
  137. "Pass": "DepthMSAAPass",
  138. "Attachment": "Output"
  139. }
  140. }
  141. ]
  142. },
  143. {
  144. "Name": "LightCullingPass",
  145. "TemplateName": "LightCullingTemplate",
  146. "Connections": [
  147. {
  148. "LocalSlot": "TileLightData",
  149. "AttachmentRef": {
  150. "Pass": "LightCullingTilePreparePass",
  151. "Attachment": "TileLightData"
  152. }
  153. }
  154. ]
  155. },
  156. {
  157. "Name": "LightCullingRemapPass",
  158. "TemplateName": "LightCullingRemapTemplate",
  159. "Connections": [
  160. {
  161. "LocalSlot": "TileLightData",
  162. "AttachmentRef": {
  163. "Pass": "LightCullingTilePreparePass",
  164. "Attachment": "TileLightData"
  165. }
  166. },
  167. {
  168. "LocalSlot": "LightCount",
  169. "AttachmentRef": {
  170. "Pass": "LightCullingPass",
  171. "Attachment": "LightCount"
  172. }
  173. },
  174. {
  175. "LocalSlot": "LightList",
  176. "AttachmentRef": {
  177. "Pass": "LightCullingPass",
  178. "Attachment": "LightList"
  179. }
  180. }
  181. ]
  182. },
  183. {
  184. "Name": "ForwardMSAAPass",
  185. "TemplateName": "ForwardMSAAPassTemplate",
  186. "Connections": [
  187. {
  188. "LocalSlot": "DirectionalLightShadowmap",
  189. "AttachmentRef": {
  190. "Pass": "CascadedShadowmapsPass",
  191. "Attachment": "Shadowmap"
  192. }
  193. },
  194. {
  195. "LocalSlot": "ExponentialShadowmapDirectional",
  196. "AttachmentRef": {
  197. "Pass": "EsmShadowmapsPassDirectional",
  198. "Attachment": "EsmShadowmaps"
  199. }
  200. },
  201. {
  202. "LocalSlot": "ProjectedLightShadowmap",
  203. "AttachmentRef": {
  204. "Pass": "ProjectedShadowmapsPass",
  205. "Attachment": "Shadowmap"
  206. }
  207. },
  208. {
  209. "LocalSlot": "ExponentialShadowmapProjected",
  210. "AttachmentRef": {
  211. "Pass": "EsmShadowmapsPassProjected",
  212. "Attachment": "EsmShadowmaps"
  213. }
  214. },
  215. {
  216. "LocalSlot": "DepthStencilInputOutput",
  217. "AttachmentRef": {
  218. "Pass": "DepthMSAAPass",
  219. "Attachment": "Output"
  220. }
  221. },
  222. {
  223. "LocalSlot": "TileLightData",
  224. "AttachmentRef": {
  225. "Pass": "LightCullingTilePreparePass",
  226. "Attachment": "TileLightData"
  227. }
  228. },
  229. {
  230. "LocalSlot": "LightListRemapped",
  231. "AttachmentRef": {
  232. "Pass": "LightCullingRemapPass",
  233. "Attachment": "LightListRemapped"
  234. }
  235. }
  236. ],
  237. "PassData": {
  238. "$type": "RasterPassData",
  239. "DrawListTag": "forward",
  240. "PipelineViewTag": "MainCamera",
  241. "PassSrgShaderAsset": {
  242. "FilePath": "Shaders/ForwardPassSrg.shader"
  243. }
  244. }
  245. },
  246. {
  247. "Name": "MSAAResolveColorPass",
  248. "TemplateName": "MSAAResolveColorTemplate",
  249. "Connections": [
  250. {
  251. "LocalSlot": "Input",
  252. "AttachmentRef": {
  253. "Pass": "ForwardMSAAPass",
  254. "Attachment": "DiffuseOutput"
  255. }
  256. }
  257. ]
  258. },
  259. {
  260. "Name": "MeshMotionVectorPass",
  261. "TemplateName": "MeshMotionVectorPassTemplate",
  262. "PassData": {
  263. "$type": "RasterPassData",
  264. "DrawListTag": "motion",
  265. "PipelineViewTag": "MainCamera"
  266. },
  267. "Connections": [
  268. {
  269. "LocalSlot": "SkinnedMeshes",
  270. "AttachmentRef": {
  271. "Pass": "SkinningPass",
  272. "Attachment": "SkinnedMeshOutputStream"
  273. }
  274. }
  275. ]
  276. },
  277. {
  278. "Name": "MonochromePass",
  279. "TemplateName": "MonochromeTemplate",
  280. "Connections": [
  281. {
  282. "LocalSlot": "Input",
  283. "AttachmentRef": {
  284. "Pass": "MSAAResolveColorPass",
  285. "Attachment": "Output"
  286. }
  287. }
  288. ]
  289. },
  290. {
  291. "Name": "CopyToSwapChain",
  292. "TemplateName": "FullscreenCopyTemplate",
  293. "Connections": [
  294. {
  295. "LocalSlot": "Input",
  296. "AttachmentRef": {
  297. "Pass": "MonochromePass",
  298. "Attachment": "Output"
  299. }
  300. },
  301. {
  302. "LocalSlot": "Output",
  303. "AttachmentRef": {
  304. "Pass": "Parent",
  305. "Attachment": "PipelineOutput"
  306. }
  307. }
  308. ]
  309. }
  310. ]
  311. }
  312. }
  313. }