DiffuseGlobalIllumination.pass 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. {
  2. "Type": "JsonSerialization",
  3. "Version": 1,
  4. "ClassName": "PassAsset",
  5. "ClassData": {
  6. "PassTemplate": {
  7. "Name": "DiffuseGlobalIlluminationPassTemplate",
  8. "PassClass": "ParentPass",
  9. "Slots": [
  10. {
  11. "Name": "AlbedoInput",
  12. "SlotType": "Input",
  13. "ScopeAttachmentUsage": "Shader"
  14. },
  15. {
  16. "Name": "NormalInput",
  17. "SlotType": "Input",
  18. "ScopeAttachmentUsage": "Shader"
  19. },
  20. {
  21. "Name": "DiffuseInputOutput",
  22. "SlotType": "InputOutput",
  23. "ScopeAttachmentUsage": "RenderTarget"
  24. },
  25. {
  26. "Name": "DepthStencilInputOutput",
  27. "SlotType": "InputOutput",
  28. "ScopeAttachmentUsage": "DepthStencil"
  29. },
  30. {
  31. "Name": "IrradianceOutput",
  32. "SlotType": "InputOutput",
  33. "ScopeAttachmentUsage": "RenderTarget",
  34. "LoadStoreAction": {
  35. "ClearValue": {
  36. "Value": [
  37. 0.0,
  38. 0.0,
  39. 0.0,
  40. 0.0
  41. ]
  42. },
  43. "LoadAction": "Clear"
  44. }
  45. },
  46. {
  47. "Name": "QueryOutput",
  48. "SlotType": "Output",
  49. "ScopeAttachmentUsage": "Shader",
  50. "LoadStoreAction": {
  51. "ClearValue": {
  52. "Value": [
  53. 0.0,
  54. 0.0,
  55. 0.0,
  56. 0.0
  57. ]
  58. },
  59. "LoadAction": "Clear"
  60. }
  61. }
  62. ],
  63. "ImageAttachments": [
  64. {
  65. "Name": "IrradianceImage",
  66. "SizeSource": {
  67. "Source": {
  68. "Pass": "This",
  69. "Attachment": "NormalInput"
  70. },
  71. "Multipliers": {
  72. "WidthMultiplier": 0.25,
  73. "HeightMultiplier": 0.25
  74. }
  75. },
  76. "MultisampleSource": {
  77. "Pass": "This",
  78. "Attachment": "NormalInput"
  79. },
  80. "ImageDescriptor": {
  81. "Format": "R16G16B16A16_FLOAT",
  82. "SharedQueueMask": "Graphics"
  83. }
  84. }
  85. ],
  86. "Connections": [
  87. {
  88. "LocalSlot": "IrradianceOutput",
  89. "AttachmentRef": {
  90. "Pass": "This",
  91. "Attachment": "IrradianceImage"
  92. }
  93. },
  94. {
  95. "LocalSlot": "QueryOutput",
  96. "AttachmentRef": {
  97. "Pass": "DiffuseProbeGridQueryPass",
  98. "Attachment": "Output"
  99. }
  100. }
  101. ],
  102. "PassRequests": [
  103. {
  104. "Name": "DiffuseProbeGridDownsamplePass",
  105. "TemplateName": "DiffuseProbeGridDownsamplePassTemplate",
  106. "Connections": [
  107. {
  108. "LocalSlot": "NormalInput",
  109. "AttachmentRef": {
  110. "Pass": "Parent",
  111. "Attachment": "NormalInput"
  112. }
  113. },
  114. {
  115. "LocalSlot": "DepthStencilTextureInput",
  116. "AttachmentRef": {
  117. "Pass": "Parent",
  118. "Attachment": "DepthStencilInputOutput"
  119. }
  120. }
  121. ]
  122. },
  123. {
  124. "Name": "DiffuseProbeGridRenderPass",
  125. "TemplateName": "DiffuseProbeGridRenderPassTemplate",
  126. "Connections": [
  127. {
  128. "LocalSlot": "NormalInput",
  129. "AttachmentRef": {
  130. "Pass": "DiffuseProbeGridDownsamplePass",
  131. "Attachment": "DownsampledNormalOutput"
  132. }
  133. },
  134. {
  135. "LocalSlot": "DepthStencilInput",
  136. "AttachmentRef": {
  137. "Pass": "DiffuseProbeGridDownsamplePass",
  138. "Attachment": "DownsampledDepthOutput"
  139. }
  140. },
  141. {
  142. "LocalSlot": "DepthStencilTextureInput",
  143. "AttachmentRef": {
  144. "Pass": "DiffuseProbeGridDownsamplePass",
  145. "Attachment": "DownsampledDepthOutput"
  146. }
  147. },
  148. {
  149. "LocalSlot": "Output",
  150. "AttachmentRef": {
  151. "Pass": "Parent",
  152. "Attachment": "IrradianceOutput"
  153. }
  154. }
  155. ]
  156. },
  157. {
  158. "Name": "DiffuseCompositePass",
  159. "TemplateName": "DiffuseCompositePassTemplate",
  160. "Connections": [
  161. {
  162. "LocalSlot": "DownsampledIrradianceInput",
  163. "AttachmentRef": {
  164. "Pass": "DiffuseProbeGridRenderPass",
  165. "Attachment": "Output"
  166. }
  167. },
  168. {
  169. "LocalSlot": "DownsampledDepthStencilTextureInput",
  170. "AttachmentRef": {
  171. "Pass": "DiffuseProbeGridDownsamplePass",
  172. "Attachment": "DownsampledDepthOutput"
  173. }
  174. },
  175. {
  176. "LocalSlot": "DownsampledNormalInput",
  177. "AttachmentRef": {
  178. "Pass": "DiffuseProbeGridDownsamplePass",
  179. "Attachment": "DownsampledNormalOutput"
  180. }
  181. },
  182. {
  183. "LocalSlot": "AlbedoInput",
  184. "AttachmentRef": {
  185. "Pass": "Parent",
  186. "Attachment": "AlbedoInput"
  187. }
  188. },
  189. {
  190. "LocalSlot": "NormalInput",
  191. "AttachmentRef": {
  192. "Pass": "Parent",
  193. "Attachment": "NormalInput"
  194. }
  195. },
  196. {
  197. "LocalSlot": "DepthStencilTextureInput",
  198. "AttachmentRef": {
  199. "Pass": "Parent",
  200. "Attachment": "DepthStencilInputOutput"
  201. }
  202. },
  203. {
  204. "LocalSlot": "DiffuseInputOutput",
  205. "AttachmentRef": {
  206. "Pass": "Parent",
  207. "Attachment": "DiffuseInputOutput"
  208. }
  209. },
  210. {
  211. "LocalSlot": "DepthStencilInputOutput",
  212. "AttachmentRef": {
  213. "Pass": "Parent",
  214. "Attachment": "DepthStencilInputOutput"
  215. }
  216. }
  217. ]
  218. },
  219. {
  220. "Name": "DiffuseProbeGridQueryPass",
  221. "TemplateName": "DiffuseProbeGridQueryPassTemplate"
  222. }
  223. ]
  224. }
  225. }
  226. }