@woosh/meep-engine 3.61.2 → 3.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/package.json +1 -1
  3. package/src/engine/graphics3/PickingSystem.d.ts.map +1 -1
  4. package/src/engine/graphics3/PickingSystem.js +415 -413
  5. package/src/engine/graphics3/decal/GPUDecalRenderer.d.ts.map +1 -1
  6. package/src/engine/graphics3/decal/GPUDecalRenderer.js +2 -1
  7. package/src/engine/graphics3/decal/shader_decal_composite.d.ts.map +1 -1
  8. package/src/engine/graphics3/decal/shader_decal_composite.js +26 -16
  9. package/src/engine/graphics3/decal/shader_decal_tile_copy.d.ts.map +1 -1
  10. package/src/engine/graphics3/decal/shader_decal_tile_copy.js +6 -11
  11. package/src/engine/graphics3/highlight/GPUHighlightRenderer.d.ts.map +1 -1
  12. package/src/engine/graphics3/highlight/GPUHighlightRenderer.js +6 -2
  13. package/src/engine/graphics3/highlight/shader_highlight_outline.d.ts.map +1 -1
  14. package/src/engine/graphics3/highlight/shader_highlight_outline.js +167 -150
  15. package/src/engine/graphics3/shader_picking_gather.d.ts.map +1 -1
  16. package/src/engine/graphics3/shader_picking_gather.js +133 -120
  17. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  18. package/src/shade/device/mock/SoftwareGPUTexture.d.ts.map +1 -1
  19. package/src/shade/device/mock/SoftwareGPUTexture.js +11 -0
  20. package/src/shade/device/pipeline/rp_validate_and_rewrite_for_color_attachments.js +1 -1
  21. package/src/shade/playground/contact_shadows/ContactShadowLab.js +6 -6
  22. package/src/shade/playground/contact_shadows/shader_contact_lab_composite.d.ts.map +1 -1
  23. package/src/shade/playground/contact_shadows/shader_contact_lab_composite.js +6 -4
  24. package/src/shade/playground/contact_shadows/shader_contact_lab_reference.d.ts.map +1 -1
  25. package/src/shade/playground/contact_shadows/shader_contact_lab_reference.js +6 -4
  26. package/src/shade/playground/contact_shadows/shader_contact_shadow_march.d.ts.map +1 -1
  27. package/src/shade/playground/contact_shadows/shader_contact_shadow_march.js +6 -4
  28. package/src/shade/playground/probe_clipmap/README.md +3 -4
  29. package/src/shade/playground/probe_clipmap/index.html +5 -13
  30. package/src/shade/playground/probe_clipmap/main.d.ts.map +1 -1
  31. package/src/shade/playground/probe_clipmap/main.js +0 -5
  32. package/src/shade/playground/probe_clipmap_box/README.md +1 -1
  33. package/src/shade/playground/probe_clipmap_box/index.html +1 -1
  34. package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.js +1 -1
  35. package/src/shade/playground/ssr_variance/capture.js +1 -1
  36. package/src/shade/renderer/Renderer.d.ts +2 -2
  37. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  38. package/src/shade/renderer/Renderer.js +90 -64
  39. package/src/shade/renderer/deferred/chunk_read_gBuffer_material.d.ts.map +1 -1
  40. package/src/shade/renderer/deferred/chunk_read_gBuffer_material.js +3 -1
  41. package/src/shade/renderer/deferred/chunk_ss_trace_contact_shadow_soft.d.ts.map +1 -1
  42. package/src/shade/renderer/deferred/chunk_ss_trace_contact_shadow_soft.js +5 -4
  43. package/src/shade/renderer/deferred/shader_deferred_main.d.ts.map +1 -1
  44. package/src/shade/renderer/deferred/shader_deferred_main.js +6 -4
  45. package/src/shade/renderer/extension/GBufferTextures.d.ts +5 -1
  46. package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
  47. package/src/shade/renderer/extension/GBufferTextures.js +5 -1
  48. package/src/shade/renderer/extension/ViewTextures.d.ts +11 -7
  49. package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
  50. package/src/shade/renderer/extension/ViewTextures.js +17 -13
  51. package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +3 -3
  52. package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +1 -1
  53. package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +6 -6
  54. package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +1 -1
  55. package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
  56. package/src/shade/renderer/gbuffer/G_BUFFER_ALBEDO_FORMAT.d.ts +2 -0
  57. package/src/shade/renderer/gbuffer/G_BUFFER_ALBEDO_FORMAT.d.ts.map +1 -1
  58. package/src/shade/renderer/gbuffer/G_BUFFER_ALBEDO_FORMAT.js +2 -0
  59. package/src/shade/renderer/gbuffer/G_BUFFER_COLOR_TARGETS.d.ts.map +1 -1
  60. package/src/shade/renderer/gbuffer/G_BUFFER_COLOR_TARGETS.js +8 -5
  61. package/src/shade/renderer/geometry/meshlet/meshlet_batch_colored.d.ts +10 -0
  62. package/src/shade/renderer/geometry/meshlet/meshlet_batch_colored.d.ts.map +1 -0
  63. package/src/shade/renderer/geometry/meshlet/meshlet_batch_colored.js +54 -0
  64. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +85 -36
  65. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
  66. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +813 -412
  67. package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts +7 -0
  68. package/src/shade/renderer/geometry/sdf/MESH_SDF.d.ts.map +1 -1
  69. package/src/shade/renderer/geometry/sdf/MESH_SDF.js +8 -0
  70. package/src/shade/renderer/geometry/sdf/MESH_SDF_BRICK_KEY.d.ts +14 -0
  71. package/src/shade/renderer/geometry/sdf/MESH_SDF_BRICK_KEY.d.ts.map +1 -0
  72. package/src/shade/renderer/geometry/sdf/MESH_SDF_BRICK_KEY.js +35 -0
  73. package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.d.ts.map +1 -1
  74. package/src/shade/renderer/geometry/sdf/MESH_SDF_STRUCT.js +0 -4
  75. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts +55 -10
  76. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.d.ts.map +1 -1
  77. package/src/shade/renderer/geometry/sdf/bake/MESH_SDF_BAKE.js +86 -16
  78. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts +2 -2
  79. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.d.ts.map +1 -1
  80. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_bake.js +28 -2
  81. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_contents.d.ts +54 -0
  82. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_contents.d.ts.map +1 -0
  83. package/src/shade/renderer/geometry/sdf/bake/chunk_mesh_sdf_contents.js +146 -0
  84. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts +1 -1
  85. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.d.ts.map +1 -1
  86. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_classify.js +2 -1
  87. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_content_rehash.d.ts +18 -0
  88. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_content_rehash.d.ts.map +1 -0
  89. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_content_rehash.js +66 -0
  90. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_count.d.ts +17 -0
  91. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_count.d.ts.map +1 -0
  92. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_count.js +66 -0
  93. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts +5 -3
  94. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.d.ts.map +1 -1
  95. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_evaluate.js +15 -14
  96. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts +2 -1
  97. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.d.ts.map +1 -1
  98. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_free.js +12 -3
  99. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_key.d.ts +21 -0
  100. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_key.d.ts.map +1 -0
  101. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_key.js +84 -0
  102. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_resolve.d.ts +53 -0
  103. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_resolve.d.ts.map +1 -0
  104. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_resolve.js +343 -0
  105. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts +3 -3
  106. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.d.ts.map +1 -1
  107. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_store.js +9 -5
  108. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts +2 -2
  109. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.d.ts.map +1 -1
  110. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_take.js +3 -2
  111. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_upload.d.ts +69 -0
  112. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_upload.d.ts.map +1 -0
  113. package/src/shade/renderer/geometry/sdf/bake/shader_mesh_sdf_upload.js +294 -0
  114. package/src/shade/renderer/geometry/sdf/bundle/MODEL_CACHE_BUNDLE.d.ts +16 -0
  115. package/src/shade/renderer/geometry/sdf/bundle/MODEL_CACHE_BUNDLE.d.ts.map +1 -0
  116. package/src/shade/renderer/geometry/sdf/bundle/MODEL_CACHE_BUNDLE.js +36 -0
  117. package/src/shade/renderer/geometry/sdf/bundle/ModelCacheBundle.d.ts +126 -0
  118. package/src/shade/renderer/geometry/sdf/bundle/ModelCacheBundle.d.ts.map +1 -0
  119. package/src/shade/renderer/geometry/sdf/bundle/ModelCacheBundle.js +148 -0
  120. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_read.d.ts +10 -0
  121. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_read.d.ts.map +1 -0
  122. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_read.js +140 -0
  123. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_write.d.ts +8 -0
  124. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_write.d.ts.map +1 -0
  125. package/src/shade/renderer/geometry/sdf/bundle/model_cache_bundle_write.js +76 -0
  126. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts +9 -0
  127. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.d.ts.map +1 -1
  128. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf.js +23 -0
  129. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_brick_key.d.ts +13 -0
  130. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_brick_key.d.ts.map +1 -0
  131. package/src/shade/renderer/geometry/sdf/chunk_mesh_sdf_brick_key.js +23 -0
  132. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts +7 -5
  133. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts.map +1 -1
  134. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +29 -16
  135. package/src/shade/renderer/geometry/sdf/surface/GPUMeshSurfaceCaches.d.ts +262 -0
  136. package/src/shade/renderer/geometry/sdf/surface/GPUMeshSurfaceCaches.d.ts.map +1 -0
  137. package/src/shade/renderer/geometry/sdf/surface/GPUMeshSurfaceCaches.js +1819 -0
  138. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BAKE.d.ts +118 -0
  139. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BAKE.d.ts.map +1 -0
  140. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BAKE.js +204 -0
  141. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BLOCK.d.ts +66 -0
  142. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BLOCK.d.ts.map +1 -0
  143. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_BLOCK.js +103 -0
  144. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_RESOURCES.d.ts +19 -0
  145. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_RESOURCES.d.ts.map +1 -0
  146. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_RESOURCES.js +23 -0
  147. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_STRUCT.d.ts +15 -0
  148. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_STRUCT.d.ts.map +1 -0
  149. package/src/shade/renderer/geometry/sdf/surface/MESH_SURFACE_STRUCT.js +70 -0
  150. package/src/shade/renderer/geometry/sdf/surface/SURFACE_MATERIAL.d.ts +13 -0
  151. package/src/shade/renderer/geometry/sdf/surface/SURFACE_MATERIAL.d.ts.map +1 -0
  152. package/src/shade/renderer/geometry/sdf/surface/SURFACE_MATERIAL.js +35 -0
  153. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_block.d.ts +32 -0
  154. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_block.d.ts.map +1 -0
  155. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_block.js +111 -0
  156. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_listed.d.ts +17 -0
  157. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_listed.d.ts.map +1 -0
  158. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_listed.js +49 -0
  159. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_run_find.d.ts +13 -0
  160. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_run_find.d.ts.map +1 -0
  161. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_run_find.js +35 -0
  162. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_sample.d.ts +24 -0
  163. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_sample.d.ts.map +1 -0
  164. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_sample.js +169 -0
  165. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_texel_ray.d.ts +19 -0
  166. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_texel_ray.d.ts.map +1 -0
  167. package/src/shade/renderer/geometry/sdf/surface/chunk_mesh_surface_texel_ray.js +49 -0
  168. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_fit.d.ts +19 -0
  169. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_fit.d.ts.map +1 -0
  170. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_fit.js +67 -0
  171. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_read.d.ts +78 -0
  172. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_read.d.ts.map +1 -0
  173. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_read.js +320 -0
  174. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_store.d.ts +15 -0
  175. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_store.d.ts.map +1 -0
  176. package/src/shade/renderer/geometry/sdf/surface/chunk_surface_material_store.js +48 -0
  177. package/src/shade/renderer/geometry/sdf/surface/mesh_surface_channels.d.ts +51 -0
  178. package/src/shade/renderer/geometry/sdf/surface/mesh_surface_channels.d.ts.map +1 -0
  179. package/src/shade/renderer/geometry/sdf/surface/mesh_surface_channels.js +109 -0
  180. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_command.d.ts +11 -0
  181. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_command.d.ts.map +1 -0
  182. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_command.js +51 -0
  183. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_encode.d.ts +26 -0
  184. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_encode.d.ts.map +1 -0
  185. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_encode.js +453 -0
  186. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_list.d.ts +12 -0
  187. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_list.d.ts.map +1 -0
  188. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_list.js +99 -0
  189. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_survey.d.ts +22 -0
  190. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_survey.d.ts.map +1 -0
  191. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_survey.js +140 -0
  192. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_trace.d.ts +32 -0
  193. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_trace.d.ts.map +1 -0
  194. package/src/shade/renderer/geometry/sdf/surface/shader_mesh_surface_trace.js +261 -0
  195. package/src/shade/renderer/geometry/virtual/runtime/VirtualGeometry.d.ts +2 -2
  196. package/src/shade/renderer/geometry/virtual/runtime/VirtualGeometry.js +2 -2
  197. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.d.ts +9 -3
  198. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.d.ts.map +1 -1
  199. package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_instance.js +40 -32
  200. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
  201. package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +14 -15
  202. package/src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.d.ts +6 -6
  203. package/src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.js +7 -7
  204. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_debug_draw.d.ts.map +1 -1
  205. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_debug_draw.js +7 -3
  206. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_diffuse.js +1 -1
  207. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_indirect_lighting.d.ts.map +1 -1
  208. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_indirect_lighting.js +5 -3
  209. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_specular.d.ts.map +1 -1
  210. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_specular.js +1 -3
  211. package/src/shade/renderer/global_illumination/ibl/shader_diffuse_IBL.js +1 -1
  212. package/src/shade/renderer/global_illumination/ibl/shader_specular_IBL.js +2 -2
  213. package/src/shade/renderer/global_illumination/lpv/shader_diffuse_LPV.js +1 -1
  214. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts +15 -7
  215. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts.map +1 -1
  216. package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.js +82 -17
  217. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts +26 -19
  218. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts.map +1 -1
  219. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.js +226 -148
  220. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts +25 -52
  221. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.d.ts.map +1 -1
  222. package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSettings.js +29 -69
  223. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts +19 -16
  224. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.d.ts.map +1 -1
  225. package/src/shade/renderer/global_illumination/probe_clipmap/brick/BRICK_CLIPMAP.js +24 -21
  226. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts +46 -22
  227. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.d.ts.map +1 -1
  228. package/src/shade/renderer/global_illumination/probe_clipmap/brick/GPUBrickClipmap.js +63 -37
  229. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts +3 -2
  230. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.d.ts.map +1 -1
  231. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap.js +7 -6
  232. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts +8 -22
  233. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.d.ts.map +1 -1
  234. package/src/shade/renderer/global_illumination/probe_clipmap/brick/chunk_brick_clipmap_trace.js +15 -51
  235. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK.d.ts +1 -6
  236. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK.d.ts.map +1 -1
  237. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/MESH_BRICK.js +6 -13
  238. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_walk.d.ts.map +1 -1
  239. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_walk.js +0 -2
  240. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_batch.d.ts +4 -4
  241. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_batch.d.ts.map +1 -1
  242. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_batch.js +9 -34
  243. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_resolve.d.ts +4 -6
  244. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_resolve.d.ts.map +1 -1
  245. package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/shader_mesh_brick_resolve.js +15 -39
  246. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.d.ts +1 -1
  247. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_clear.js +1 -1
  248. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts +1 -2
  249. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.d.ts.map +1 -1
  250. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_store.js +2 -6
  251. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts +2 -2
  252. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.d.ts.map +1 -1
  253. package/src/shade/renderer/global_illumination/probe_clipmap/brick/shader_brick_clipmap_take.js +5 -2
  254. package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.d.ts +5 -1
  255. package/src/shade/renderer/global_illumination/probe_clipmap/debug/ProbeClipmapDebugView.js +16 -2
  256. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_material.d.ts +45 -0
  257. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_material.d.ts.map +1 -0
  258. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_brick_material.js +208 -0
  259. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_indirect.d.ts +24 -0
  260. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_indirect.d.ts.map +1 -0
  261. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_indirect.js +40 -0
  262. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_surfaces.d.ts +34 -0
  263. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_surfaces.d.ts.map +1 -0
  264. package/src/shade/renderer/global_illumination/probe_clipmap/debug/{graph_probe_clipmap_debug_mesh_cards.js → graph_probe_clipmap_debug_mesh_surfaces.js} +38 -57
  265. package/src/shade/renderer/global_illumination/probe_clipmap/material/GPUBrickMaterial.d.ts +61 -0
  266. package/src/shade/renderer/global_illumination/probe_clipmap/material/GPUBrickMaterial.d.ts.map +1 -0
  267. package/src/shade/renderer/global_illumination/probe_clipmap/material/GPUBrickMaterial.js +193 -0
  268. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material.d.ts +67 -0
  269. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material.d.ts.map +1 -0
  270. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material.js +142 -0
  271. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_cell.d.ts +32 -0
  272. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_cell.d.ts.map +1 -0
  273. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_cell.js +70 -0
  274. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_store.d.ts +30 -0
  275. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_store.d.ts.map +1 -0
  276. package/src/shade/renderer/global_illumination/probe_clipmap/material/chunk_brick_material_store.js +71 -0
  277. package/src/shade/renderer/global_illumination/probe_clipmap/material/shader_brick_material_gather.d.ts +26 -0
  278. package/src/shade/renderer/global_illumination/probe_clipmap/material/shader_brick_material_gather.d.ts.map +1 -0
  279. package/src/shade/renderer/global_illumination/probe_clipmap/material/shader_brick_material_gather.js +176 -0
  280. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts +18 -9
  281. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.d.ts.map +1 -1
  282. package/src/shade/renderer/global_illumination/probe_clipmap/probe/GPUProbeClipmap.js +73 -45
  283. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts +21 -1
  284. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.d.ts.map +1 -1
  285. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP.js +24 -1
  286. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP_INDIRECT_LOBE.d.ts +10 -0
  287. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP_INDIRECT_LOBE.d.ts.map +1 -0
  288. package/src/shade/renderer/global_illumination/probe_clipmap/probe/PROBE_CLIPMAP_INDIRECT_LOBE.js +11 -0
  289. package/src/shade/renderer/global_illumination/probe_clipmap/probe/ProbeClipmapIndirectLobe.d.ts +11 -0
  290. package/src/shade/renderer/global_illumination/probe_clipmap/probe/ProbeClipmapIndirectLobe.d.ts.map +1 -0
  291. package/src/shade/renderer/global_illumination/probe_clipmap/probe/ProbeClipmapIndirectLobe.js +15 -0
  292. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts +44 -7
  293. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.d.ts.map +1 -1
  294. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap.js +88 -11
  295. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_material.d.ts +43 -0
  296. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_material.d.ts.map +1 -0
  297. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_material.js +138 -0
  298. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_indirect_lobe.d.ts +21 -0
  299. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_indirect_lobe.d.ts.map +1 -0
  300. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_indirect_lobe.js +49 -0
  301. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.d.ts +2 -0
  302. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.d.ts.map +1 -1
  303. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_pick.js +10 -4
  304. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_select.d.ts +22 -0
  305. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_select.d.ts.map +1 -0
  306. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_select.js +50 -0
  307. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.d.ts +4 -4
  308. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.d.ts.map +1 -1
  309. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_want.js +8 -8
  310. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_bounce.d.ts +3 -3
  311. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_bounce.js +5 -5
  312. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_diffuse.js +2 -2
  313. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.d.ts +2 -0
  314. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.d.ts.map +1 -1
  315. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_indirect_lighting.js +10 -4
  316. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.d.ts +1 -1
  317. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.js +2 -2
  318. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts +7 -4
  319. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.d.ts.map +1 -1
  320. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_shade.js +30 -26
  321. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts +6 -5
  322. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts.map +1 -1
  323. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.js +22 -16
  324. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.d.ts.map +1 -1
  325. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want.js +7 -3
  326. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want_hits.d.ts +2 -2
  327. package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_want_hits.js +6 -6
  328. package/src/shade/renderer/global_illumination/shader_resolve_indirect_lighting.d.ts.map +1 -1
  329. package/src/shade/renderer/global_illumination/shader_resolve_indirect_lighting.js +5 -3
  330. package/src/shade/renderer/global_illumination/sharc/shader/debug/shader_colored_hash.js +1 -1
  331. package/src/shade/renderer/global_illumination/sharc/shader/debug/shader_sharc_debug_radiance.js +1 -1
  332. package/src/shade/renderer/global_illumination/sharc/shader/shader_sharc_update.js +1 -1
  333. package/src/shade/renderer/gpu_primitive/hash_table/chunk_generate_next_linear_congruential_index.d.ts +14 -0
  334. package/src/shade/renderer/gpu_primitive/hash_table/chunk_generate_next_linear_congruential_index.d.ts.map +1 -0
  335. package/src/shade/renderer/gpu_primitive/hash_table/chunk_generate_next_linear_congruential_index.js +22 -0
  336. package/src/shade/renderer/gpu_primitive/hash_table/chunk_hash_table_atomic.d.ts +37 -0
  337. package/src/shade/renderer/gpu_primitive/hash_table/chunk_hash_table_atomic.d.ts.map +1 -0
  338. package/src/shade/renderer/gpu_primitive/hash_table/chunk_hash_table_atomic.js +122 -0
  339. package/src/shade/renderer/gpu_primitive/hash_table/chunk_hash_table_get.d.ts.map +1 -1
  340. package/src/shade/renderer/gpu_primitive/hash_table/chunk_hash_table_get.js +1 -11
  341. package/src/shade/renderer/gpu_primitive/hash_table/cpu_build_hash_table.d.ts +8 -0
  342. package/src/shade/renderer/gpu_primitive/hash_table/cpu_build_hash_table.d.ts.map +1 -1
  343. package/src/shade/renderer/gpu_primitive/hash_table/cpu_build_hash_table.js +6 -4
  344. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
  345. package/src/shade/renderer/material/GPUMaterialManager.d.ts +22 -9
  346. package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
  347. package/src/shade/renderer/material/GPUMaterialManager.js +159 -65
  348. package/src/shade/renderer/material/MATERIAL_MASK.d.ts +19 -0
  349. package/src/shade/renderer/material/MATERIAL_MASK.d.ts.map +1 -0
  350. package/src/shade/renderer/material/MATERIAL_MASK.js +19 -0
  351. package/src/shade/renderer/material/dispatch/GPUMaterialComputeDispatch.d.ts +8 -8
  352. package/src/shade/renderer/material/dispatch/GPUMaterialComputeDispatch.d.ts.map +1 -1
  353. package/src/shade/renderer/material/dispatch/GPUMaterialComputeDispatch.js +11 -92
  354. package/src/shade/renderer/material/dispatch/chunk_material_quad_keys.d.ts.map +1 -1
  355. package/src/shade/renderer/material/dispatch/chunk_material_quad_keys.js +10 -2
  356. package/src/shade/renderer/material/dispatch/gbuffer_compute.js +2 -2
  357. package/src/shade/renderer/material/dispatch/graph_material_dispatch_compute.d.ts +7 -7
  358. package/src/shade/renderer/material/dispatch/graph_material_dispatch_compute.d.ts.map +1 -1
  359. package/src/shade/renderer/material/dispatch/graph_material_dispatch_compute.js +20 -16
  360. package/src/shade/renderer/material/dispatch/shader_material_pixel_count.d.ts.map +1 -1
  361. package/src/shade/renderer/material/dispatch/shader_material_pixel_count.js +3 -1
  362. package/src/shade/renderer/material/dispatch/shader_material_pixel_scatter.d.ts.map +1 -1
  363. package/src/shade/renderer/material/dispatch/shader_material_pixel_scatter.js +3 -1
  364. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts +1 -1
  365. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
  366. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +2 -18
  367. package/src/shade/renderer/material/resident/NEUTRAL_SURFACE.d.ts +17 -0
  368. package/src/shade/renderer/material/resident/NEUTRAL_SURFACE.d.ts.map +1 -0
  369. package/src/shade/renderer/material/resident/NEUTRAL_SURFACE.js +16 -0
  370. package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts.map +1 -1
  371. package/src/shade/renderer/material/standard/fragment_gbuffer.js +26 -25
  372. package/src/shade/renderer/material/standard/material_gbuffer_vertex.d.ts +10 -8
  373. package/src/shade/renderer/material/standard/material_gbuffer_vertex.d.ts.map +1 -1
  374. package/src/shade/renderer/material/standard/material_gbuffer_vertex.js +16 -13
  375. package/src/shade/renderer/material/template/ShadeMaterialTemplate.d.ts +1 -1
  376. package/src/shade/renderer/material/template/ShadeMaterialTemplate.js +1 -1
  377. package/src/shade/renderer/path_tracer/shader/INDIRECT_TEXTURE_FILTER.d.ts +1 -1
  378. package/src/shade/renderer/path_tracer/shader/INDIRECT_TEXTURE_FILTER.js +1 -1
  379. package/src/shade/renderer/path_tracer/shader/IndirectTextureFilter.js +1 -1
  380. package/src/shade/renderer/path_tracer/shader/chunk_beam_texture_level.d.ts +20 -0
  381. package/src/shade/renderer/path_tracer/shader/chunk_beam_texture_level.d.ts.map +1 -0
  382. package/src/shade/renderer/path_tracer/shader/chunk_beam_texture_level.js +65 -0
  383. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +5 -2
  384. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  385. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.js +7 -4
  386. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts +3 -3
  387. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts.map +1 -1
  388. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js +12 -10
  389. package/src/shade/renderer/postprocess/denoise/fragment_shader_denoise_ao.js +2 -2
  390. package/src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.d.ts.map +1 -1
  391. package/src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.js +6 -4
  392. package/src/shade/renderer/postprocess/gtao/GTAO.d.ts +9 -7
  393. package/src/shade/renderer/postprocess/gtao/GTAO.d.ts.map +1 -1
  394. package/src/shade/renderer/postprocess/gtao/GTAO.js +11 -8
  395. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts +3 -3
  396. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts.map +1 -1
  397. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.js +17 -12
  398. package/src/shade/renderer/postprocess/gtao/chunk_integrate_lighting_sample.js +1 -1
  399. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +1 -1
  400. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.js +4 -4
  401. package/src/shade/renderer/postprocess/gtao/shader_gtao_spatial_denoise.js +2 -2
  402. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  403. package/src/shade/renderer/postprocess/ssr/chunk_ssr_spatial_variance.js +41 -41
  404. package/src/shade/renderer/postprocess/ssr/prefilter/chunk_load_neighbourhood_sample.js +1 -1
  405. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +3 -3
  406. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.d.ts.map +1 -1
  407. package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.js +5 -2
  408. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js +4 -4
  409. package/src/shade/renderer/postprocess/ssr/ssr_combine_shader.d.ts.map +1 -1
  410. package/src/shade/renderer/postprocess/ssr/ssr_combine_shader.js +4 -2
  411. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts +2 -1
  412. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts.map +1 -1
  413. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.js +10 -2
  414. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +1 -1
  415. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js +4 -4
  416. package/src/shade/renderer/postprocess/taa/shader_reprojection_map.d.ts.map +1 -1
  417. package/src/shade/renderer/postprocess/taa/shader_reprojection_map.js +6 -4
  418. package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts +6 -8
  419. package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts.map +1 -1
  420. package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.js +29 -33
  421. package/src/shade/renderer/rasterize/TemplatePassDescriptor.d.ts.map +1 -1
  422. package/src/shade/renderer/rasterize/TemplatePassDescriptor.js +1 -0
  423. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +6 -3
  424. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -1
  425. package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +8 -3
  426. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
  427. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +3 -0
  428. package/src/shade/renderer/rasterize/expand/RasterizationCollectionType.d.ts +1 -0
  429. package/src/shade/renderer/rasterize/expand/RasterizationCollectionType.js +5 -0
  430. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts +8 -3
  431. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts.map +1 -1
  432. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.js +54 -5
  433. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +1 -0
  434. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
  435. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +1 -1
  436. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +1 -1
  437. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
  438. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +2 -1
  439. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts +7 -2
  440. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts.map +1 -1
  441. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.js +73 -9
  442. package/src/shade/renderer/rasterize/native/viz/shader_vertex.js +4 -4
  443. package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.d.ts.map +1 -1
  444. package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.js +23 -40
  445. package/src/shade/renderer/rasterize/native/viz/viz_rasterization_opaque_pass_descriptor.d.ts.map +1 -1
  446. package/src/shade/renderer/rasterize/native/viz/viz_rasterization_opaque_pass_descriptor.js +55 -76
  447. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts +4 -2
  448. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts.map +1 -1
  449. package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.js +6 -2
  450. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts +4 -2
  451. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
  452. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +6 -2
  453. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts +5 -2
  454. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts.map +1 -1
  455. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.js +43 -2
  456. package/src/shade/renderer/rasterize/visibility/VISIBILITY_BUFFER.d.ts +39 -0
  457. package/src/shade/renderer/rasterize/visibility/VISIBILITY_BUFFER.d.ts.map +1 -0
  458. package/src/shade/renderer/rasterize/visibility/VISIBILITY_BUFFER.js +45 -0
  459. package/src/shade/renderer/rasterize/visibility/chunk_visibility_decode.d.ts +26 -0
  460. package/src/shade/renderer/rasterize/visibility/chunk_visibility_decode.d.ts.map +1 -0
  461. package/src/shade/renderer/rasterize/visibility/chunk_visibility_decode.js +48 -0
  462. package/src/shade/renderer/rasterize/visibility/shader_visible_meshlets_append.d.ts +40 -0
  463. package/src/shade/renderer/rasterize/visibility/shader_visible_meshlets_append.d.ts.map +1 -0
  464. package/src/shade/renderer/rasterize/visibility/shader_visible_meshlets_append.js +172 -0
  465. package/src/shade/renderer/restir/di/chunk_restir_reconstruct_surface.d.ts.map +1 -1
  466. package/src/shade/renderer/restir/di/chunk_restir_reconstruct_surface.js +6 -4
  467. package/src/shade/renderer/restir/di/chunk_restir_spatial_reuse.js +1 -1
  468. package/src/shade/renderer/restir/di/shader_restir_di_denoise.js +2 -2
  469. package/src/shade/renderer/scene/GPUSceneContext.d.ts +1 -1
  470. package/src/shade/renderer/scene/GPUSceneContext.js +1 -1
  471. package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferEOTF.d.ts +9 -0
  472. package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferEOTF.d.ts.map +1 -0
  473. package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferEOTF.js +18 -0
  474. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_determinant.d.ts +20 -0
  475. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_determinant.d.ts.map +1 -0
  476. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_determinant.js +26 -0
  477. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_singular_values.d.ts +60 -18
  478. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_singular_values.d.ts.map +1 -1
  479. package/src/shade/renderer/shader/chunk/geometry/mat3/chunk_mat3_singular_values.js +163 -45
  480. package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_linear_determinant.d.ts.map +1 -1
  481. package/src/shade/renderer/shader/chunk/geometry/mat4/chunk_mat4_linear_determinant.js +19 -18
  482. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_face_normal.d.ts +13 -0
  483. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_face_normal.d.ts.map +1 -0
  484. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_face_normal.js +22 -0
  485. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.d.ts +8 -1
  486. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.d.ts.map +1 -1
  487. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js +10 -8
  488. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_face_normal.d.ts +22 -0
  489. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_face_normal.d.ts.map +1 -0
  490. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_face_normal.js +32 -0
  491. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_normal.d.ts +11 -1
  492. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_normal.d.ts.map +1 -1
  493. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_encode_g_buffer_normal.js +14 -6
  494. package/src/shade/renderer/shader/chunk/material/albedo_compress.d.ts +12 -0
  495. package/src/shade/renderer/shader/chunk/material/albedo_compress.d.ts.map +1 -0
  496. package/src/shade/renderer/shader/chunk/material/albedo_compress.js +26 -0
  497. package/src/shade/renderer/shader/chunk/material/chunk_albedo_compress.d.ts +16 -0
  498. package/src/shade/renderer/shader/chunk/material/chunk_albedo_compress.d.ts.map +1 -0
  499. package/src/shade/renderer/shader/chunk/material/chunk_albedo_compress.js +22 -0
  500. package/src/shade/renderer/shader/chunk/material/chunk_albedo_uncompress.d.ts +15 -0
  501. package/src/shade/renderer/shader/chunk/material/chunk_albedo_uncompress.d.ts.map +1 -0
  502. package/src/shade/renderer/shader/chunk/material/chunk_albedo_uncompress.js +23 -0
  503. package/src/shade/renderer/shader/chunk/material/chunk_decode_g_buffer_albedo.d.ts +14 -0
  504. package/src/shade/renderer/shader/chunk/material/chunk_decode_g_buffer_albedo.d.ts.map +1 -0
  505. package/src/shade/renderer/shader/chunk/material/chunk_decode_g_buffer_albedo.js +24 -0
  506. package/src/shade/renderer/shader/chunk/material/chunk_encode_g_buffer_albedo.d.ts +17 -0
  507. package/src/shade/renderer/shader/chunk/material/chunk_encode_g_buffer_albedo.d.ts.map +1 -0
  508. package/src/shade/renderer/shader/chunk/material/chunk_encode_g_buffer_albedo.js +27 -0
  509. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_compress.d.ts +16 -0
  510. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_compress.d.ts.map +1 -0
  511. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_compress.js +25 -0
  512. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_uncompress.d.ts +25 -0
  513. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_uncompress.d.ts.map +1 -0
  514. package/src/shade/renderer/shader/chunk/material/chunk_metal_rough_uncompress.js +36 -0
  515. package/src/shade/renderer/shader/chunk/material/metal_rough_compress.d.ts +11 -0
  516. package/src/shade/renderer/shader/chunk/material/metal_rough_compress.d.ts.map +1 -0
  517. package/src/shade/renderer/shader/chunk/material/metal_rough_compress.js +38 -0
  518. package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.d.ts +7 -1
  519. package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.d.ts.map +1 -1
  520. package/src/shade/renderer/shader/chunk/screen_space/SCREEN_SPACE_RESOURCES.js +8 -1
  521. package/src/shade/renderer/shader/chunk/screen_space/chunk_ffx_sssr_load_world_space_normal.js +1 -1
  522. package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_space_newton_ray.js +10 -10
  523. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot.d.ts +20 -0
  524. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot.d.ts.map +1 -0
  525. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot.js +35 -0
  526. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_compress.d.ts +28 -0
  527. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_compress.d.ts.map +1 -0
  528. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_compress.js +79 -0
  529. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_fit.d.ts +25 -0
  530. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_fit.d.ts.map +1 -0
  531. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_fit.js +89 -0
  532. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_uncompress.d.ts +31 -0
  533. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_uncompress.d.ts.map +1 -0
  534. package/src/shade/renderer/shader/chunk/spherical_harmonics/pivot/chunk_sh2_color_pivot_uncompress.js +66 -0
  535. package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_add.d.ts.map +1 -1
  536. package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_add.js +2 -0
  537. package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_load.d.ts +17 -0
  538. package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_load.d.ts.map +1 -0
  539. package/src/shade/renderer/shader/chunk/subgroup/chunk_subgroup_atomic_load.js +34 -0
  540. package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts +8 -0
  541. package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts.map +1 -1
  542. package/src/shade/renderer/shader/pass/RenderPassDescriptor.js +9 -0
  543. package/src/shade/renderer/shader/util/shader_decode_octahedral_normal.js +1 -1
  544. package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.d.ts +3 -3
  545. package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.d.ts.map +1 -1
  546. package/src/shade/renderer/shadow/contact/graph_contact_shadow_linear.js +3 -3
  547. package/src/shade/renderer/shadow/contact/shader_contact_shadow_linear.d.ts.map +1 -1
  548. package/src/shade/renderer/shadow/contact/shader_contact_shadow_linear.js +6 -4
  549. package/src/shade/renderer/shadow/ray/RTXShadows.d.ts +6 -4
  550. package/src/shade/renderer/shadow/ray/RTXShadows.d.ts.map +1 -1
  551. package/src/shade/renderer/shadow/ray/RTXShadows.js +16 -5
  552. package/src/shade/renderer/shadow/ray/shader_ray_shadow_code.d.ts.map +1 -1
  553. package/src/shade/renderer/shadow/ray/shader_ray_shadow_code.js +7 -7
  554. package/src/shade/renderer/shadow/ray/shader_shadow_upscale.js +2 -2
  555. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts +4 -2
  556. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts.map +1 -1
  557. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.js +79 -74
  558. package/src/shade/renderer/shadow/ray/staged/gen/shader_generate_rays.d.ts.map +1 -1
  559. package/src/shade/renderer/shadow/ray/staged/gen/shader_generate_rays.js +7 -7
  560. package/src/shade/renderer/shadow/sdf/cascade/shader_scene_sdf_soft_shadows.d.ts.map +1 -1
  561. package/src/shade/renderer/shadow/sdf/cascade/shader_scene_sdf_soft_shadows.js +7 -3
  562. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts +7 -5
  563. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts.map +1 -1
  564. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.js +29 -16
  565. package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts +5 -5
  566. package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts.map +1 -1
  567. package/src/shade/renderer/texture/virtual/VirtualTextureManager.js +8 -8
  568. package/src/shade/renderer/texture/virtual/build_shader_vt_feedback.d.ts.map +1 -1
  569. package/src/shade/renderer/texture/virtual/build_shader_vt_feedback.js +13 -14
  570. package/src/shade/renderer/volumetrics/chunk_frustum_unit_box_coverage_multisample.d.ts +18 -0
  571. package/src/shade/renderer/volumetrics/chunk_frustum_unit_box_coverage_multisample.d.ts.map +1 -1
  572. package/src/shade/renderer/volumetrics/chunk_frustum_unit_box_coverage_multisample.js +31 -23
  573. package/src/shade/renderer/volumetrics/shader_volumetrics_build_participating_media.d.ts.map +1 -1
  574. package/src/shade/renderer/volumetrics/shader_volumetrics_build_participating_media.js +5 -6
  575. package/src/shade/renderer/water/GPUWaterRenderer.d.ts +2 -1
  576. package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
  577. package/src/shade/renderer/water/GPUWaterRenderer.js +6 -4
  578. package/src/shade/renderer/water/chunk_water_transport.d.ts.map +1 -1
  579. package/src/shade/renderer/water/chunk_water_transport.js +11 -9
  580. package/src/shade/renderer/water/query/GPUWaterQueries.d.ts +1 -1
  581. package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
  582. package/src/shade/renderer/water/shader_water.js +13 -11
  583. package/src/shade/renderer/wind/GPUSceneWind.d.ts +1 -1
  584. package/src/shade/renderer/gbuffer/G_BUFFER_MIP_LEVELS.d.ts +0 -7
  585. package/src/shade/renderer/gbuffer/G_BUFFER_MIP_LEVELS.d.ts.map +0 -1
  586. package/src/shade/renderer/gbuffer/G_BUFFER_MIP_LEVELS.js +0 -6
  587. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts +0 -213
  588. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts.map +0 -1
  589. package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.js +0 -1468
  590. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts +0 -82
  591. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.d.ts.map +0 -1
  592. package/src/shade/renderer/geometry/sdf/cards/MESH_CARDS.js +0 -127
  593. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts +0 -24
  594. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.d.ts.map +0 -1
  595. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_RESOURCES.js +0 -29
  596. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts +0 -12
  597. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.d.ts.map +0 -1
  598. package/src/shade/renderer/geometry/sdf/cards/MESH_CARD_SET_STRUCT.js +0 -31
  599. package/src/shade/renderer/geometry/sdf/cards/MeshCardCaptureMode.d.ts +0 -11
  600. package/src/shade/renderer/geometry/sdf/cards/MeshCardCaptureMode.d.ts.map +0 -1
  601. package/src/shade/renderer/geometry/sdf/cards/MeshCardCaptureMode.js +0 -21
  602. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts +0 -29
  603. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.d.ts.map +0 -1
  604. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_card_surface.js +0 -179
  605. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts +0 -17
  606. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.d.ts.map +0 -1
  607. package/src/shade/renderer/geometry/sdf/cards/chunk_mesh_cards.js +0 -107
  608. package/src/shade/renderer/geometry/sdf/cards/mesh_cards_raster_pass_descriptor.d.ts +0 -65
  609. package/src/shade/renderer/geometry/sdf/cards/mesh_cards_raster_pass_descriptor.d.ts.map +0 -1
  610. package/src/shade/renderer/geometry/sdf/cards/mesh_cards_raster_pass_descriptor.js +0 -376
  611. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts +0 -40
  612. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.d.ts.map +0 -1
  613. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_capture.js +0 -301
  614. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts +0 -19
  615. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.d.ts.map +0 -1
  616. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_compact.js +0 -61
  617. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts +0 -18
  618. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.d.ts.map +0 -1
  619. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_histogram.js +0 -102
  620. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts +0 -15
  621. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.d.ts.map +0 -1
  622. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_log.js +0 -65
  623. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts +0 -22
  624. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.d.ts.map +0 -1
  625. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_merge.js +0 -136
  626. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts +0 -20
  627. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.d.ts.map +0 -1
  628. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_pages.js +0 -104
  629. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_args.d.ts +0 -20
  630. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_args.d.ts.map +0 -1
  631. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_args.js +0 -80
  632. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_scatter.d.ts +0 -18
  633. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_scatter.d.ts.map +0 -1
  634. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_raster_scatter.js +0 -113
  635. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts +0 -30
  636. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.d.ts.map +0 -1
  637. package/src/shade/renderer/geometry/sdf/cards/shader_mesh_cards_split.js +0 -146
  638. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts +0 -34
  639. package/src/shade/renderer/global_illumination/probe_clipmap/debug/graph_probe_clipmap_debug_mesh_cards.d.ts.map +0 -1
  640. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts +0 -31
  641. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.d.ts.map +0 -1
  642. package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_surface.js +0 -82
  643. package/src/shade/renderer/postprocess/ssr/shader_downsample_encoded_normal.d.ts +0 -3
  644. package/src/shade/renderer/postprocess/ssr/shader_downsample_encoded_normal.d.ts.map +0 -1
  645. package/src/shade/renderer/postprocess/ssr/shader_downsample_encoded_normal.js +0 -104
@@ -1,26 +1,28 @@
1
1
  /**
2
2
  * Group 1 binding of the material-seen bitset the shared G-buffer vertex stage reads: bit
3
- * `id & 31` of word `id >> 5` is set when material `id` holds a pixel of the view.
3
+ * `place & 31` of word `place >> 5` is set when the material at that place in the G-buffer pass's
4
+ * list holds a pixel of the view.
4
5
  *
5
6
  * @type {number}
6
7
  */
7
8
  export const MATERIAL_SEEN_BINDING: number;
8
9
  /**
9
10
  * Shared vertex stage of every material template's G-buffer pipeline: a fullscreen triangle placed
10
- * at depth `material.id / 2^24`, matched against the material-depth mask with `depthCompare: 'equal'`
11
+ * at depth `place / MATERIAL_MASK_NONE`, matched against the material mask with `depthCompare: 'equal'`
11
12
  * so the fragment stage only runs on this material's pixels.
12
13
  *
13
- * The material id rides in the instance index — the material pass draws `draw(3, 1, 0, id)` — so a
14
- * template's group 0 can be laid out however the template needs, and is visible to the fragment
15
- * stage alone. A direct draw's `firstInstance` needs no device feature.
14
+ * The material's place in the pass's list rides in the instance index — the material pass draws
15
+ * `draw(3, 1, 0, place)` — so a template's group 0 can be laid out however the template needs, and
16
+ * is visible to the fragment stage alone. A direct draw's `firstInstance` needs no device feature.
16
17
  *
17
18
  * A material that holds no pixel of the view — its bit clear in `material_seen`, of the shared group
18
19
  * 1 — gets all three corners on one point: a triangle of no area, which rasterizes nothing, so the
19
- * draw costs three vertex invocations rather than a fullscreen pass of depth tests. An id past the
20
+ * draw costs three vertex invocations rather than a fullscreen pass of depth tests. A place past the
20
21
  * end of the bitset is drawn.
21
22
  *
22
- * `id / 16777216` is the expression the material-depth pass writes, and a division by a power of two
23
- * is exact for every id below 2^24, so the two meet at depth-equal.
23
+ * `place / MATERIAL_MASK_NONE` is the expression the material-depth pass writes, and both are
24
+ * quantised to the same 16-bit code for every place below MATERIAL_MASK_NONE, so the two meet at
25
+ * depth-equal.
24
26
  *
25
27
  * @type {string}
26
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"material_gbuffer_vertex.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/standard/material_gbuffer_vertex.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,oCAFU,MAAM,CAEuB;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,kDAFU,MAAM,CAqCE"}
1
+ {"version":3,"file":"material_gbuffer_vertex.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/standard/material_gbuffer_vertex.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,oCAFU,MAAM,CAEuB;AAEvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,kDAFU,MAAM,CAqCE"}
@@ -1,8 +1,10 @@
1
1
  import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
2
+ import { MATERIAL_MASK_NONE } from "../MATERIAL_MASK.js";
2
3
 
3
4
  /**
4
5
  * Group 1 binding of the material-seen bitset the shared G-buffer vertex stage reads: bit
5
- * `id & 31` of word `id >> 5` is set when material `id` holds a pixel of the view.
6
+ * `place & 31` of word `place >> 5` is set when the material at that place in the G-buffer pass's
7
+ * list holds a pixel of the view.
6
8
  *
7
9
  * @type {number}
8
10
  */
@@ -10,20 +12,21 @@ export const MATERIAL_SEEN_BINDING = 4;
10
12
 
11
13
  /**
12
14
  * Shared vertex stage of every material template's G-buffer pipeline: a fullscreen triangle placed
13
- * at depth `material.id / 2^24`, matched against the material-depth mask with `depthCompare: 'equal'`
15
+ * at depth `place / MATERIAL_MASK_NONE`, matched against the material mask with `depthCompare: 'equal'`
14
16
  * so the fragment stage only runs on this material's pixels.
15
17
  *
16
- * The material id rides in the instance index — the material pass draws `draw(3, 1, 0, id)` — so a
17
- * template's group 0 can be laid out however the template needs, and is visible to the fragment
18
- * stage alone. A direct draw's `firstInstance` needs no device feature.
18
+ * The material's place in the pass's list rides in the instance index — the material pass draws
19
+ * `draw(3, 1, 0, place)` — so a template's group 0 can be laid out however the template needs, and
20
+ * is visible to the fragment stage alone. A direct draw's `firstInstance` needs no device feature.
19
21
  *
20
22
  * A material that holds no pixel of the view — its bit clear in `material_seen`, of the shared group
21
23
  * 1 — gets all three corners on one point: a triangle of no area, which rasterizes nothing, so the
22
- * draw costs three vertex invocations rather than a fullscreen pass of depth tests. An id past the
24
+ * draw costs three vertex invocations rather than a fullscreen pass of depth tests. A place past the
23
25
  * end of the bitset is drawn.
24
26
  *
25
- * `id / 16777216` is the expression the material-depth pass writes, and a division by a power of two
26
- * is exact for every id below 2^24, so the two meet at depth-equal.
27
+ * `place / MATERIAL_MASK_NONE` is the expression the material-depth pass writes, and both are
28
+ * quantised to the same 16-bit code for every place below MATERIAL_MASK_NONE, so the two meet at
29
+ * depth-equal.
27
30
  *
28
31
  * @type {string}
29
32
  */
@@ -45,20 +48,20 @@ struct VertexOutput {
45
48
  @vertex
46
49
  fn main(
47
50
  @builtin(vertex_index) id : u32,
48
- @builtin(instance_index) material_id : u32,
51
+ @builtin(instance_index) place : u32,
49
52
  ) -> VertexOutput {
50
53
 
51
54
  var out: VertexOutput;
52
55
 
53
- let word = material_id >> 5u;
56
+ let word = place >> 5u;
54
57
 
55
- // an id past the bitset was not counted, so it is drawn as though seen
58
+ // a place past the bitset was not counted, so it is drawn as though seen
56
59
  let seen = word >= arrayLength(&material_seen)
57
- || (material_seen[word] & (1u << (material_id & 31u))) != 0u;
60
+ || (material_seen[word] & (1u << (place & 31u))) != 0u;
58
61
 
59
62
  let ndc = select(pos[0], pos[id], seen);
60
63
 
61
- out.position = vec4<f32>(ndc, f32(material_id)/16777216 , 1.0);
64
+ out.position = vec4<f32>(ndc, f32(place) / ${MATERIAL_MASK_NONE}.0, 1.0);
62
65
 
63
66
  return out;
64
67
  }
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * **Group 0 is the template's.** It is declared with fragment visibility, and one bind group per
11
11
  * material built on it serves the G-buffer pass and both alpha-tested passes. Groups 1 and 2 belong
12
- * to the passes, so a template must not reuse their names (`viz_buffer_triangle`, `viz_buffer_mesh`,
12
+ * to the passes, so a template must not reuse their names (`visibility`, `visible_meshlets`,
13
13
  * `view`, `camera`, `scene_database`, `geometries`, `meshlets`, `meshlet_metadata`, `meshlet_data`,
14
14
  * `materials`, `t_noise`) — nor those of the experimental compute material dispatch, which
15
15
  * assembles a laydown of its own around {@link gbuffer_surface} (`material_quads`, `g_buffer_pbr`,
@@ -25,7 +25,7 @@ let ordinal_counter = 0;
25
25
  *
26
26
  * **Group 0 is the template's.** It is declared with fragment visibility, and one bind group per
27
27
  * material built on it serves the G-buffer pass and both alpha-tested passes. Groups 1 and 2 belong
28
- * to the passes, so a template must not reuse their names (`viz_buffer_triangle`, `viz_buffer_mesh`,
28
+ * to the passes, so a template must not reuse their names (`visibility`, `visible_meshlets`,
29
29
  * `view`, `camera`, `scene_database`, `geometries`, `meshlets`, `meshlet_metadata`, `meshlet_data`,
30
30
  * `materials`, `t_noise`) — nor those of the experimental compute material dispatch, which
31
31
  * assembles a laydown of its own around {@link gbuffer_surface} (`material_quads`, `g_buffer_pbr`,
@@ -4,7 +4,7 @@
4
4
  * or the other by the pipeline they are linked into.
5
5
  *
6
6
  * Whether the pass averages its reads is the pass's, so it is fixed per shader: `Stochastic`, the
7
- * default, for every pass that never sets it; `Exact` for the card capture, which stores each read.
7
+ * default, for every pass that never sets it; `Exact` for the surface caches' bake, which stores each read.
8
8
  *
9
9
  * @type {ShaderSwitch}
10
10
  */
@@ -7,7 +7,7 @@ import { IndirectTextureFilter } from "./IndirectTextureFilter.js";
7
7
  * or the other by the pipeline they are linked into.
8
8
  *
9
9
  * Whether the pass averages its reads is the pass's, so it is fixed per shader: `Stochastic`, the
10
- * default, for every pass that never sets it; `Exact` for the card capture, which stores each read.
10
+ * default, for every pass that never sets it; `Exact` for the surface caches' bake, which stores each read.
11
11
  *
12
12
  * @type {ShaderSwitch}
13
13
  */
@@ -10,6 +10,6 @@ export const IndirectTextureFilter = {
10
10
  * gives on average, for a pass that averages many reads into each result — the path tracer.
11
11
  */
12
12
  Stochastic: 0,
13
- /** The filter itself, every tap weighed: for a pass that keeps each read as it is — the card capture. */
13
+ /** The filter itself, every tap weighed: for a pass that keeps each read as it is — the surface caches' bake. */
14
14
  Exact: 1,
15
15
  };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The resident material texture level a beam reads a triangle's material at: its footprint on the
3
+ * triangle, in texels of a slot's level 0, as `sample_material_data` and `sample_material_alpha` take
4
+ * their `texture_level`:
5
+ *
6
+ * ```wgsl
7
+ * fn beam_texture_level(triangle: TriangleVertices, along: vec3<f32>, step_u: vec3<f32>, step_v: vec3<f32>) -> f32
8
+ * ```
9
+ *
10
+ * The beam runs along `along` and spans `step_u` and `step_v` across, all in the triangle's space;
11
+ * `along` need not be unit length. Each step is carried along the beam onto the triangle's plane and
12
+ * through the triangle's uv per position. For a step s, direction d and normal n that is
13
+ * s − d (n·s)/(n·d) on the plane, taken here times n·d, so a triangle turning edge-on, whose footprint
14
+ * grows without bound, reaches the last level with nothing divided by 0, as a raster's would.
15
+ *
16
+ * @type {CodeChunk}
17
+ */
18
+ export const chunk_beam_texture_level: CodeChunk;
19
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
20
+ //# sourceMappingURL=chunk_beam_texture_level.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk_beam_texture_level.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/path_tracer/shader/chunk_beam_texture_level.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;GAgBG;AACH,uCAFU,SAAS,CA0CZ;0BA3DmB,oCAAoC"}
@@ -0,0 +1,65 @@
1
+ import {
2
+ RESIDENT_MATERIAL_TEXTURE_LEVEL_COUNT,
3
+ RESIDENT_MATERIAL_TEXTURE_RESOLUTION
4
+ } from "../../material/resident/RESIDENT_MATERIAL_TEXTURE_LAYOUT.js";
5
+ import { TRIANGLE_VERTICES_STRUCT } from "../../shader/chunk/geometry/triangle/TRIANGLE_VERTICES_STRUCT.js";
6
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
7
+
8
+ /**
9
+ * The resident material texture level a beam reads a triangle's material at: its footprint on the
10
+ * triangle, in texels of a slot's level 0, as `sample_material_data` and `sample_material_alpha` take
11
+ * their `texture_level`:
12
+ *
13
+ * ```wgsl
14
+ * fn beam_texture_level(triangle: TriangleVertices, along: vec3<f32>, step_u: vec3<f32>, step_v: vec3<f32>) -> f32
15
+ * ```
16
+ *
17
+ * The beam runs along `along` and spans `step_u` and `step_v` across, all in the triangle's space;
18
+ * `along` need not be unit length. Each step is carried along the beam onto the triangle's plane and
19
+ * through the triangle's uv per position. For a step s, direction d and normal n that is
20
+ * s − d (n·s)/(n·d) on the plane, taken here times n·d, so a triangle turning edge-on, whose footprint
21
+ * grows without bound, reaches the last level with nothing divided by 0, as a raster's would.
22
+ *
23
+ * @type {CodeChunk}
24
+ */
25
+ export const chunk_beam_texture_level = CodeChunk.from(
26
+ //language=WGSL
27
+ `
28
+ fn beam_texture_level(
29
+ triangle: ${TRIANGLE_VERTICES_STRUCT.wgsl_ref},
30
+ along: vec3<f32>,
31
+ step_u: vec3<f32>,
32
+ step_v: vec3<f32>,
33
+ ) -> f32 {
34
+ let edge_1 = triangle.b.position - triangle.a.position;
35
+ let edge_2 = triangle.c.position - triangle.a.position;
36
+ let normal = cross(edge_1, edge_2);
37
+
38
+ // an offset in the plane is a·edge_1 + b·edge_2, a and b its dots with these
39
+ let dual_1 = cross(edge_2, normal) / dot(normal, normal);
40
+ let dual_2 = cross(normal, edge_1) / dot(normal, normal);
41
+
42
+ let uv_1 = triangle.b.uv - triangle.a.uv;
43
+ let uv_2 = triangle.c.uv - triangle.a.uv;
44
+
45
+ let facing = dot(normal, along);
46
+
47
+ let on_plane_u = facing * step_u - along * dot(normal, step_u);
48
+ let on_plane_v = facing * step_v - along * dot(normal, step_v);
49
+
50
+ let uv_step_u = dot(on_plane_u, dual_1) * uv_1 + dot(on_plane_u, dual_2) * uv_2;
51
+ let uv_step_v = dot(on_plane_v, dual_1) * uv_1 + dot(on_plane_v, dual_2) * uv_2;
52
+
53
+ let span = ${RESIDENT_MATERIAL_TEXTURE_RESOLUTION}.0 * max(length(uv_step_u), length(uv_step_v));
54
+ let reach = abs(facing);
55
+
56
+ // a footprint of a slot or more, edge-on included, is the last level
57
+ return select(
58
+ ${RESIDENT_MATERIAL_TEXTURE_LEVEL_COUNT - 1}.0,
59
+ log2(max(span, reach) / reach),
60
+ span < ${RESIDENT_MATERIAL_TEXTURE_RESOLUTION}.0 * reach
61
+ );
62
+ }
63
+ `, [
64
+ TRIANGLE_VERTICES_STRUCT.declaration_chunk,
65
+ ]);
@@ -27,7 +27,9 @@ export class LigmaDenoiser {
27
27
  * @param {number} options.frame_index
28
28
  * @param {number} options.input_current_depth
29
29
  * @param {number} options.input_previous_depth
30
- * @param {number} options.input_current_normal
30
+ * @param {number} options.input_current_normal the G-buffer's shading normal, for the spatial filter
31
+ * @param {number} options.input_current_pbr the G-buffer's PBR target, for the face normal the temporal
32
+ * reprojection weighs history by
31
33
  * @param {number} options.input_velocity
32
34
  * @param {number} options.input_mip_level
33
35
  * @param {number} options.input
@@ -38,12 +40,13 @@ export class LigmaDenoiser {
38
40
  * @param {number[]} options.resolution
39
41
  * @param {boolean} [options.denoise_spatial] should spatial denoising be applied?
40
42
  */
41
- execute({ graph, frame_index, input_current_depth, input_previous_depth, input_current_normal, input_velocity, input_mip_level, input, camera_current, camera_previous, input_occlusion, jitter, resolution, denoise_spatial }: {
43
+ execute({ graph, frame_index, input_current_depth, input_previous_depth, input_current_normal, input_current_pbr, input_velocity, input_mip_level, input, camera_current, camera_previous, input_occlusion, jitter, resolution, denoise_spatial }: {
42
44
  graph: FrameGraph;
43
45
  frame_index: number;
44
46
  input_current_depth: number;
45
47
  input_previous_depth: number;
46
48
  input_current_normal: number;
49
+ input_current_pbr: number;
47
50
  input_velocity: number;
48
51
  input_mip_level: number;
49
52
  input: number;
@@ -1 +1 @@
1
- {"version":3,"file":"LigmaDenoiser.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/denoise/LigmaDenoiser.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IASI;;;OAGG;IACH,sCAYC;IAED;;;OAGG;IACH,qCAMC;IAED;;;;OAIG;IACH,yBAHW,MAAM,qBAOhB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH;QAf+B,KAAK;QACT,WAAW,EAA3B,MAAM;QACU,mBAAmB,EAAnC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,cAAc,EAA9B,MAAM;QACU,eAAe,EAA/B,MAAM;QACU,KAAK,EAArB,MAAM;QACoB,cAAc;QACd,eAAe;QACzB,eAAe,EAA/B,MAAM;QACY,MAAM,EAAxB,MAAM,EAAE;QACU,UAAU,EAA5B,MAAM,EAAE;QACU,eAAe,GAAjC,OAAO;YA0IjB;;CACJ"}
1
+ {"version":3,"file":"LigmaDenoiser.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/denoise/LigmaDenoiser.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IASI;;;OAGG;IACH,sCAYC;IAED;;;OAGG;IACH,qCAMC;IAED;;;;OAIG;IACH,yBAHW,MAAM,qBAOhB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH;QAjB+B,KAAK;QACT,WAAW,EAA3B,MAAM;QACU,mBAAmB,EAAnC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,iBAAiB,EAAjC,MAAM;QAEU,cAAc,EAA9B,MAAM;QACU,eAAe,EAA/B,MAAM;QACU,KAAK,EAArB,MAAM;QACoB,cAAc;QACd,eAAe;QACzB,eAAe,EAA/B,MAAM;QACY,MAAM,EAAxB,MAAM,EAAE;QACU,UAAU,EAA5B,MAAM,EAAE;QACU,eAAe,GAAjC,OAAO;YA2IjB;;CACJ"}
@@ -71,7 +71,9 @@ export class LigmaDenoiser {
71
71
  * @param {number} options.frame_index
72
72
  * @param {number} options.input_current_depth
73
73
  * @param {number} options.input_previous_depth
74
- * @param {number} options.input_current_normal
74
+ * @param {number} options.input_current_normal the G-buffer's shading normal, for the spatial filter
75
+ * @param {number} options.input_current_pbr the G-buffer's PBR target, for the face normal the temporal
76
+ * reprojection weighs history by
75
77
  * @param {number} options.input_velocity
76
78
  * @param {number} options.input_mip_level
77
79
  * @param {number} options.input
@@ -88,6 +90,7 @@ export class LigmaDenoiser {
88
90
  input_current_depth,
89
91
  input_previous_depth,
90
92
  input_current_normal,
93
+ input_current_pbr,
91
94
  input_velocity,
92
95
  input_mip_level = 0,
93
96
  input,
@@ -132,7 +135,7 @@ export class LigmaDenoiser {
132
135
  const depth_current = resources.get(data.depth_current);
133
136
  const depth_previous = resources.get(data.depth_previous);
134
137
  const history = resources.get(data.history);
135
- const normal = resources.get(data.normal);
138
+ const pbr = resources.get(data.pbr);
136
139
  const input_occlusion = resources.get(data.input_occlusion);
137
140
 
138
141
  const out = resources.get(data.output);
@@ -156,7 +159,7 @@ export class LigmaDenoiser {
156
159
  VelocityBuffer: velocity.obtainView(input_view_descriptor),
157
160
  DepthBuffer: depth_current.obtainView(input_view_descriptor),
158
161
  PrevDepthBuffer: depth_previous.obtainView(input_view_descriptor),
159
- NormalBuffer: normal.obtainView(input_view_descriptor),
162
+ PBRBuffer: pbr.obtainView(input_view_descriptor),
160
163
  Jitter: jitter_buffer,
161
164
  tOcclusion: input_occlusion.obtainView(input_view_descriptor),
162
165
  camera_current: camera_current.buffer,
@@ -187,7 +190,7 @@ export class LigmaDenoiser {
187
190
  reprojection_data.depth_current = reprojection_builder.read(input_current_depth);
188
191
  reprojection_data.velocity = reprojection_builder.read(input_velocity);
189
192
  reprojection_data.depth_previous = reprojection_builder.read(input_previous_depth);
190
- reprojection_data.normal = reprojection_builder.read(input_current_normal);
193
+ reprojection_data.pbr = reprojection_builder.read(input_current_pbr);
191
194
  reprojection_data.history = reprojection_builder.read(gr_history);
192
195
  reprojection_data.input_occlusion = reprojection_builder.read(input_occlusion);
193
196
  reprojection_data.output = reprojection_builder.write(gr_output);
@@ -4,18 +4,18 @@
4
4
  * @param {FrameGraph} options.graph
5
5
  * @param {number} options.input_current_depth
6
6
  * @param {number} options.input_previous_depth
7
- * @param {number} options.input_current_normal
7
+ * @param {number} options.input_current_pbr the G-buffer's PBR target, for its face normal
8
8
  * @param {number} options.input_velocity
9
9
  * @param {GPUCameraContext} options.camera_current
10
10
  * @param {GPUCameraContext} options.camera_previous
11
11
  * @param {number[]} options.jitter
12
12
  * @param {number[]} options.resolution
13
13
  */
14
- export function graph_pass_debug_reprojection({ graph, input_current_depth, input_previous_depth, input_current_normal, input_velocity, camera_current, camera_previous, jitter, resolution }: {
14
+ export function graph_pass_debug_reprojection({ graph, input_current_depth, input_previous_depth, input_current_pbr, input_velocity, camera_current, camera_previous, jitter, resolution }: {
15
15
  graph: FrameGraph;
16
16
  input_current_depth: number;
17
17
  input_previous_depth: number;
18
- input_current_normal: number;
18
+ input_current_pbr: number;
19
19
  input_velocity: number;
20
20
  camera_current: GPUCameraContext;
21
21
  camera_previous: GPUCameraContext;
@@ -1 +1 @@
1
- {"version":3,"file":"graph_pass_debug_reprojection.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js"],"names":[],"mappings":"AA0FA;;;;;;;;;;;;GAYG;AACH;IAV+B,KAAK;IACT,mBAAmB,EAAnC,MAAM;IACU,oBAAoB,EAApC,MAAM;IACU,oBAAoB,EAApC,MAAM;IACU,cAAc,EAA9B,MAAM;IACoB,cAAc;IACd,eAAe;IACvB,MAAM,EAAxB,MAAM,EAAE;IACU,UAAU,EAA5B,MAAM,EAAE;QAyGlB"}
1
+ {"version":3,"file":"graph_pass_debug_reprojection.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js"],"names":[],"mappings":"AA4FA;;;;;;;;;;;;GAYG;AACH;IAV+B,KAAK;IACT,mBAAmB,EAAnC,MAAM;IACU,oBAAoB,EAApC,MAAM;IACU,iBAAiB,EAAjC,MAAM;IACU,cAAc,EAA9B,MAAM;IACoB,cAAc;IACd,eAAe;IACvB,MAAM,EAAxB,MAAM,EAAE;IACU,UAAU,EAA5B,MAAM,EAAE;QAyGlB"}
@@ -5,7 +5,9 @@ import { TextureBindingLayout } from "../../../../descriptor/binding/TextureBind
5
5
  import { ComputePipelineDescriptor } from "../../../../descriptor/pipeline/compute/ComputePipelineDescriptor.js";
6
6
  import { TextureResourceDescriptor } from "../../../../device/graph/TextureResourceDescriptor.js";
7
7
  import { CAMERA_UNIFORM_STRUCT } from "../../../camera/CAMERA_UNIFORM_STRUCT.js";
8
- import { chunk_decode_g_buffer_normal } from "../../../shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
8
+ import {
9
+ chunk_decode_g_buffer_face_normal
10
+ } from "../../../shader/chunk/geometry/normal/chunk_decode_g_buffer_face_normal.js";
9
11
  import { CodeChunk } from "../../../shader/compiler/CodeChunk.js";
10
12
  import { draw_texture_as_rgba } from "../../../texture/draw_texture_as_rgba.js";
11
13
  import { chunk_compute_reprojection_weight } from "../chunk_compute_reprojection_weight.js";
@@ -22,7 +24,7 @@ const NUM_THREADS_Y = 8;
22
24
  @group(1) @binding(0) var VelocityBuffer: texture_2d<f32>;
23
25
  @group(1) @binding(1) var DepthBuffer: texture_2d<f32>;
24
26
  @group(1) @binding(2) var PrevDepthBuffer: texture_2d<f32>;
25
- @group(1) @binding(3) var NormalBuffer: texture_2d<u32>;
27
+ @group(1) @binding(3) var PBRBuffer: texture_2d<f32>;
26
28
  @group(1) @binding(4) var<uniform> Jitter: vec2<f32>;
27
29
  @group(1) @binding(5) var<uniform> camera_current: ${CAMERA_UNIFORM_STRUCT.wgsl_ref};
28
30
  @group(1) @binding(6) var<uniform> camera_previous: ${CAMERA_UNIFORM_STRUCT.wgsl_ref};
@@ -44,7 +46,7 @@ fn main(
44
46
 
45
47
  let previous_coord = current_coord_f - velocity.xy;
46
48
 
47
- let normal = decode_g_buffer_normal( textureLoad(NormalBuffer, current_coord, 0).zw );
49
+ let normal = decode_g_buffer_face_normal( textureLoad(PBRBuffer, current_coord, 0) );
48
50
 
49
51
  let texel = compute_reprojection_weight(
50
52
  current_coord_f,
@@ -62,7 +64,7 @@ fn main(
62
64
  `,[
63
65
  chunk_compute_reprojection_weight,
64
66
  CAMERA_UNIFORM_STRUCT.declaration_chunk,
65
- chunk_decode_g_buffer_normal,
67
+ chunk_decode_g_buffer_face_normal,
66
68
  ]).compile().text;
67
69
 
68
70
  const pipeline_descriptor = ComputePipelineDescriptor.simplified({
@@ -80,7 +82,7 @@ const pipeline_descriptor = ComputePipelineDescriptor.simplified({
80
82
  TextureBindingLayout.unfilterableFloat,
81
83
  TextureBindingLayout.unfilterableFloat,
82
84
  TextureBindingLayout.unfilterableFloat,
83
- TextureBindingLayout.uint,
85
+ TextureBindingLayout.unfilterableFloat,
84
86
  BufferBindingLayout.uniform,
85
87
  BufferBindingLayout.uniform,
86
88
  BufferBindingLayout.uniform,
@@ -94,7 +96,7 @@ const pipeline_descriptor = ComputePipelineDescriptor.simplified({
94
96
  * @param {FrameGraph} options.graph
95
97
  * @param {number} options.input_current_depth
96
98
  * @param {number} options.input_previous_depth
97
- * @param {number} options.input_current_normal
99
+ * @param {number} options.input_current_pbr the G-buffer's PBR target, for its face normal
98
100
  * @param {number} options.input_velocity
99
101
  * @param {GPUCameraContext} options.camera_current
100
102
  * @param {GPUCameraContext} options.camera_previous
@@ -105,7 +107,7 @@ export function graph_pass_debug_reprojection({
105
107
  graph,
106
108
  input_current_depth,
107
109
  input_previous_depth,
108
- input_current_normal,
110
+ input_current_pbr,
109
111
  input_velocity,
110
112
  camera_current,
111
113
  camera_previous,
@@ -129,7 +131,7 @@ export function graph_pass_debug_reprojection({
129
131
  const velocity = resources.get(data.velocity);
130
132
  const depth_current = resources.get(data.depth_current);
131
133
  const depth_previous = resources.get(data.depth_previous);
132
- const normal = resources.get(data.normal);
134
+ const pbr = resources.get(data.pbr);
133
135
 
134
136
  const out = resources.get(data.output);
135
137
 
@@ -145,7 +147,7 @@ export function graph_pass_debug_reprojection({
145
147
  velocity.obtainView(),
146
148
  depth_current.obtainView(),
147
149
  depth_previous.obtainView(),
148
- normal.obtainView(),
150
+ pbr.obtainView(),
149
151
  { buffer: jitter_buffer },
150
152
  { buffer: camera_current.gpu_buffer },
151
153
  { buffer: camera_previous.gpu_buffer },
@@ -168,7 +170,7 @@ export function graph_pass_debug_reprojection({
168
170
  reprojection_data.depth_current = reprojection_builder.read(input_current_depth);
169
171
  reprojection_data.velocity = reprojection_builder.read(input_velocity);
170
172
  reprojection_data.depth_previous = reprojection_builder.read(input_previous_depth);
171
- reprojection_data.normal = reprojection_builder.read(input_current_normal);
173
+ reprojection_data.pbr = reprojection_builder.read(input_current_pbr);
172
174
  reprojection_data.history = reprojection_builder.create("fake history", TextureResourceDescriptor.from({
173
175
  resolution,
174
176
  format: "rgba8unorm",
@@ -59,7 +59,7 @@ fn main(
59
59
  var sum_visibility = center_visibility;
60
60
 
61
61
 
62
- let current_normal = decode_g_buffer_normal(textureLoad(tNormal, ipos, 0).xy);
62
+ let current_normal = decode_g_buffer_normal(textureLoad(tNormal, ipos, 0).x);
63
63
  let center_depth = textureLoad(tDepth, ipos, 0).r;
64
64
 
65
65
  const offsets = array< vec2<i32>,8>(
@@ -92,7 +92,7 @@ fn main(
92
92
 
93
93
  let sample_visibility = textureLoad(tInput, p, 0).rg;
94
94
 
95
- let sample_normal = decode_g_buffer_normal(textureLoad(tNormal, p, 0).xy);
95
+ let sample_normal = decode_g_buffer_normal(textureLoad(tNormal, p, 0).x);
96
96
  let sample_depth = textureLoad(tDepth, p, 0).r;
97
97
 
98
98
  // compute the edge-stopping functions
@@ -1 +1 @@
1
- {"version":3,"file":"shader_temporal_reprojection_luma.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.js"],"names":[],"mappings":"AAkSA;;;GAGG;AACH,8DAII;8BA3R0B,+BAA+B"}
1
+ {"version":3,"file":"shader_temporal_reprojection_luma.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/denoise/shader_temporal_reprojection_luma.js"],"names":[],"mappings":"AAoSA;;;GAGG;AACH,8DAII;8BA3R0B,+BAA+B"}
@@ -1,6 +1,8 @@
1
1
  import { CAMERA_UNIFORM_STRUCT } from "../../camera/CAMERA_UNIFORM_STRUCT.js";
2
2
  import { chunk_project_position_from_depth } from "../../shader/chunk/camera/chunk_project_position_from_depth.js";
3
- import { chunk_decode_g_buffer_normal } from "../../shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
3
+ import {
4
+ chunk_decode_g_buffer_face_normal
5
+ } from "../../shader/chunk/geometry/normal/chunk_decode_g_buffer_face_normal.js";
4
6
  import { chunk_get_std_dev } from "../../shader/chunk/math/statistics/chunk_get_std_dev.js";
5
7
  import {
6
8
  chunk_texture_sample_bilinear_exact
@@ -33,7 +35,7 @@ resources.createGroup()
33
35
  .addTexture("VelocityBuffer")
34
36
  .addTexture("DepthBuffer")
35
37
  .addTexture("PrevDepthBuffer")
36
- .addTexture("NormalBuffer", "uint")
38
+ .addTexture("PBRBuffer")
37
39
  .addTexture("tOcclusion")
38
40
  .addUniform("Jitter","vec2<f32>")
39
41
  .addUniform("camera_current",CAMERA_UNIFORM_STRUCT)
@@ -184,7 +186,7 @@ fn main(
184
186
  // 0.5 to account for texel center offset
185
187
  let previous_coord = current_coord_f - velocity.xy - Jitter;
186
188
 
187
- let normal = decode_g_buffer_normal( textureLoad(NormalBuffer, current_coord, 0).zw );
189
+ let normal = decode_g_buffer_face_normal( textureLoad(PBRBuffer, current_coord, 0) );
188
190
 
189
191
  let reprojection_confidence = textureLoad(tOcclusion, current_coord, 0).r;
190
192
 
@@ -276,7 +278,7 @@ fn main(
276
278
 
277
279
  `, [
278
280
 
279
- chunk_decode_g_buffer_normal,
281
+ chunk_decode_g_buffer_face_normal,
280
282
  chunk_clip_history_colour_YCoCg,
281
283
  chunk_texture_sample_red_min_st,
282
284
  chunk_taa_get_velocity,
@@ -26,9 +26,10 @@ export class GTAO {
26
26
  * @param {number} options.camera this frame's camera uniform
27
27
  * @param {number} options.input_depth this frame's depth
28
28
  * @param {number} options.input_hzb hierarchical depth built from it
29
- * @param {number} options.input_normal G-buffer normals
30
- * @param {number} options.input_normal_previous last frame's G-buffer normals, at the size last frame was
31
- * drawn at: which surface each history texel was written on
29
+ * @param {number} options.input_normal the G-buffer's shading normal
30
+ * @param {number} options.input_pbr the G-buffer's PBR target, for the face normal it holds
31
+ * @param {number} options.input_pbr_previous last frame's PBR target, at the size last frame was drawn
32
+ * at: its face normal says which surface each history texel was written on
32
33
  * @param {number} options.input_velocity per-pixel velocity, in this frame's pixels
33
34
  * @param {number} options.input_occlusion depth-clip pass output: history confidence in r
34
35
  * @param {number} options.frame_index the renderer's frame counter: drives the noise, the history
@@ -36,16 +37,17 @@ export class GTAO {
36
37
  * @param {number} options.output G-buffer albedo; AO is blended into its alpha
37
38
  * @param {number[]} options.resolution this frame's render size
38
39
  * @returns {{visibility:number, occlusion:number, bent_normals:number}} the accumulated visibility and
39
- * bend (`rgba16float`), `output` after the composite, and the accumulated bent normals, octahedral in
40
- * `rg16uint` as `input_normal` is
40
+ * bend (`rgba16float`), `output` after the composite, and the accumulated bent normals, packed
41
+ * into an `r32uint` as `input_normal` is
41
42
  */
42
- graph_pass({ graph, camera, input_depth, input_hzb, input_normal, input_normal_previous, input_velocity, input_occlusion, frame_index, output, resolution }: {
43
+ graph_pass({ graph, camera, input_depth, input_hzb, input_normal, input_pbr, input_pbr_previous, input_velocity, input_occlusion, frame_index, output, resolution }: {
43
44
  graph: FrameGraph;
44
45
  camera: number;
45
46
  input_depth: number;
46
47
  input_hzb: number;
47
48
  input_normal: number;
48
- input_normal_previous: number;
49
+ input_pbr: number;
50
+ input_pbr_previous: number;
49
51
  input_velocity: number;
50
52
  input_occlusion: number;
51
53
  frame_index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"GTAO.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/gtao/GTAO.js"],"names":[],"mappings":"AASA;;GAEG;AAEH;IAqBI;;;OAGG;IACH,uCAWC;IA7BD;;;;OAIG;IACH,eAFU,OAAO,CAEI;IA0BrB;;;;OAIG;IACH,0BAFW,eAAe,QAOzB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH;QAjB+B,KAAK;QACT,MAAM,EAAtB,MAAM;QACU,WAAW,EAA3B,MAAM;QACU,SAAS,EAAzB,MAAM;QACU,YAAY,EAA5B,MAAM;QACU,qBAAqB,EAArC,MAAM;QAEU,cAAc,EAA9B,MAAM;QACU,eAAe,EAA/B,MAAM;QACU,WAAW,EAA3B,MAAM;QAEU,MAAM,EAAtB,MAAM;QACY,UAAU,EAA5B,MAAM,EAAE;QACN;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,MAAM,CAAC;QAAC,YAAY,EAAC,MAAM,CAAA;KAAC,CAqHtE;;CACJ;8BA3LY,OAAO,6CAA6C,EAAE,eAAe"}
1
+ {"version":3,"file":"GTAO.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/gtao/GTAO.js"],"names":[],"mappings":"AASA;;GAEG;AAEH;IAqBI;;;OAGG;IACH,uCAWC;IA7BD;;;;OAIG;IACH,eAFU,OAAO,CAEI;IA0BrB;;;;OAIG;IACH,0BAFW,eAAe,QAOzB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH;QAlB+B,KAAK;QACT,MAAM,EAAtB,MAAM;QACU,WAAW,EAA3B,MAAM;QACU,SAAS,EAAzB,MAAM;QACU,YAAY,EAA5B,MAAM;QACU,SAAS,EAAzB,MAAM;QACU,kBAAkB,EAAlC,MAAM;QAEU,cAAc,EAA9B,MAAM;QACU,eAAe,EAA/B,MAAM;QACU,WAAW,EAA3B,MAAM;QAEU,MAAM,EAAtB,MAAM;QACY,UAAU,EAA5B,MAAM,EAAE;QACN;QAAC,UAAU,EAAC,MAAM,CAAC;QAAC,SAAS,EAAC,MAAM,CAAC;QAAC,YAAY,EAAC,MAAM,CAAA;KAAC,CAuHtE;;CACJ;8BA9LY,OAAO,6CAA6C,EAAE,eAAe"}
@@ -68,9 +68,10 @@ export class GTAO {
68
68
  * @param {number} options.camera this frame's camera uniform
69
69
  * @param {number} options.input_depth this frame's depth
70
70
  * @param {number} options.input_hzb hierarchical depth built from it
71
- * @param {number} options.input_normal G-buffer normals
72
- * @param {number} options.input_normal_previous last frame's G-buffer normals, at the size last frame was
73
- * drawn at: which surface each history texel was written on
71
+ * @param {number} options.input_normal the G-buffer's shading normal
72
+ * @param {number} options.input_pbr the G-buffer's PBR target, for the face normal it holds
73
+ * @param {number} options.input_pbr_previous last frame's PBR target, at the size last frame was drawn
74
+ * at: its face normal says which surface each history texel was written on
74
75
  * @param {number} options.input_velocity per-pixel velocity, in this frame's pixels
75
76
  * @param {number} options.input_occlusion depth-clip pass output: history confidence in r
76
77
  * @param {number} options.frame_index the renderer's frame counter: drives the noise, the history
@@ -78,8 +79,8 @@ export class GTAO {
78
79
  * @param {number} options.output G-buffer albedo; AO is blended into its alpha
79
80
  * @param {number[]} options.resolution this frame's render size
80
81
  * @returns {{visibility:number, occlusion:number, bent_normals:number}} the accumulated visibility and
81
- * bend (`rgba16float`), `output` after the composite, and the accumulated bent normals, octahedral in
82
- * `rg16uint` as `input_normal` is
82
+ * bend (`rgba16float`), `output` after the composite, and the accumulated bent normals, packed
83
+ * into an `r32uint` as `input_normal` is
83
84
  */
84
85
  graph_pass({
85
86
  graph,
@@ -87,7 +88,8 @@ export class GTAO {
87
88
  input_depth,
88
89
  input_hzb,
89
90
  input_normal,
90
- input_normal_previous,
91
+ input_pbr,
92
+ input_pbr_previous,
91
93
  input_velocity,
92
94
  input_occlusion,
93
95
  frame_index,
@@ -112,7 +114,7 @@ export class GTAO {
112
114
  let bent_normals = graph.create_resource("bent normals", TextureResourceDescriptor.from({
113
115
  resolution,
114
116
  dimension: "2d",
115
- format: "rg16uint",
117
+ format: "r32uint",
116
118
  usage: GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.RENDER_ATTACHMENT
117
119
  }));
118
120
 
@@ -166,7 +168,8 @@ export class GTAO {
166
168
  tVelocity: input_velocity,
167
169
  tOcclusion: input_occlusion,
168
170
  tNormal: input_normal,
169
- tNormalPrevious: input_normal_previous,
171
+ tPBR: input_pbr,
172
+ tPBRPrevious: input_pbr_previous,
170
173
  settings: {
171
174
  history_validity: history_valid ? 1 : 0,
172
175
  frame_index,
@@ -2,13 +2,13 @@
2
2
  * Accumulates GTAO over time: visibility, and the bend that makes the bent normal.
3
3
  *
4
4
  * The bend takes the history only where the history was written on this texel's surface, by the face normals of
5
- * `tNormalPrevious` — last frame's G-buffer normal — against this frame's.
5
+ * `tPBRPrevious` — last frame's G-buffer PBR target — against this frame's.
6
6
  *
7
7
  * `tInput`, `tHistory` and the first target are `rgba16float`: visibility in `x`, and in `yzw` the world-space
8
8
  * bend — the bent normal minus the shading normal. Each is clamped to this frame's 3x3 neighbourhood before it
9
9
  * blends, visibility to a box and the bend to a ball. The second target is the bent normal itself,
10
- * `normalize(shading normal + bend)`, octahedral in `rg16uint` as the G-buffer normal is, which is what lighting
11
- * reads.
10
+ * `normalize(shading normal + bend)`, packed into an `r32uint` as the G-buffer's shading normal is, which is what
11
+ * lighting reads.
12
12
  *
13
13
  * @type {ImageShader}
14
14
  */