@onerjs/core 8.56.4 → 9.0.1

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 (722) hide show
  1. package/Animations/animatable.core.js +36 -0
  2. package/Animations/animatable.core.js.map +1 -1
  3. package/Animations/animationGroup.pure.d.ts +61 -1
  4. package/Animations/animationGroup.pure.js +191 -2
  5. package/Animations/animationGroup.pure.js.map +1 -1
  6. package/Animations/index.d.ts +1 -0
  7. package/Animations/index.js +1 -0
  8. package/Animations/index.js.map +1 -1
  9. package/Animations/pure.d.ts +1 -0
  10. package/Animations/pure.js +1 -0
  11. package/Animations/pure.js.map +1 -1
  12. package/Animations/rootMotion.d.ts +560 -0
  13. package/Animations/rootMotion.js +1709 -0
  14. package/Animations/rootMotion.js.map +1 -0
  15. package/Animations/runtimeAnimation.d.ts +57 -0
  16. package/Animations/runtimeAnimation.js +127 -3
  17. package/Animations/runtimeAnimation.js.map +1 -1
  18. package/Cameras/arcRotateCamera.pure.d.ts +2 -0
  19. package/Cameras/arcRotateCamera.pure.js +2 -0
  20. package/Cameras/arcRotateCamera.pure.js.map +1 -1
  21. package/Cameras/targetCamera.pure.d.ts +2 -0
  22. package/Cameras/targetCamera.pure.js +13 -2
  23. package/Cameras/targetCamera.pure.js.map +1 -1
  24. package/Collisions/gpuPicker.js +5 -5
  25. package/Collisions/gpuPicker.js.map +1 -1
  26. package/Engines/AbstractEngine/abstractEngine.query.pure.js +4 -2
  27. package/Engines/AbstractEngine/abstractEngine.query.pure.js.map +1 -1
  28. package/Engines/AbstractEngine/abstractEngine.query.types.d.ts +11 -2
  29. package/Engines/AbstractEngine/abstractEngine.query.types.js.map +1 -1
  30. package/Engines/AbstractEngine/abstractEngine.renderPass.pure.js +1 -0
  31. package/Engines/AbstractEngine/abstractEngine.renderPass.pure.js.map +1 -1
  32. package/Engines/Extensions/engine.multiRender.pure.js +63 -0
  33. package/Engines/Extensions/engine.multiRender.pure.js.map +1 -1
  34. package/Engines/Extensions/engine.multiRender.types.d.ts +13 -0
  35. package/Engines/Extensions/engine.multiRender.types.js.map +1 -1
  36. package/Engines/Extensions/engine.prefilteredCubeTexture.pure.js +2 -2
  37. package/Engines/Extensions/engine.prefilteredCubeTexture.pure.js.map +1 -1
  38. package/Engines/Extensions/engine.prefilteredCubeTexture.types.d.ts +2 -1
  39. package/Engines/Extensions/engine.prefilteredCubeTexture.types.js.map +1 -1
  40. package/Engines/Extensions/index.d.ts +1 -0
  41. package/Engines/Extensions/index.js +1 -0
  42. package/Engines/Extensions/index.js.map +1 -1
  43. package/Engines/Extensions/pure.d.ts +1 -1
  44. package/Engines/Extensions/pure.js +1 -1
  45. package/Engines/Extensions/pure.js.map +1 -1
  46. package/Engines/Native/Extensions/nativeEngine.cubeTexture.pure.js +88 -39
  47. package/Engines/Native/Extensions/nativeEngine.cubeTexture.pure.js.map +1 -1
  48. package/Engines/Native/Extensions/nativeEngine.cubeTexture.types.d.ts +20 -2
  49. package/Engines/Native/Extensions/nativeEngine.cubeTexture.types.js.map +1 -1
  50. package/Engines/Native/nativeHardwareTexture.d.ts +8 -1
  51. package/Engines/Native/nativeHardwareTexture.js +7 -0
  52. package/Engines/Native/nativeHardwareTexture.js.map +1 -1
  53. package/Engines/Native/nativeHelpers.js +56 -1
  54. package/Engines/Native/nativeHelpers.js.map +1 -1
  55. package/Engines/Native/nativeInterfaces.d.ts +37 -8
  56. package/Engines/Native/nativeInterfaces.js.map +1 -1
  57. package/Engines/Native/nativeRenderTargetWrapper.d.ts +40 -0
  58. package/Engines/Native/nativeRenderTargetWrapper.js +265 -5
  59. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  60. package/Engines/Processors/shaderCodeCursor.d.ts +1 -0
  61. package/Engines/Processors/shaderCodeCursor.js +40 -3
  62. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  63. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js +4 -0
  64. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js.map +1 -1
  65. package/Engines/WebGPU/Extensions/engine.multiRender.types.d.ts +13 -0
  66. package/Engines/WebGPU/Extensions/engine.multiRender.types.js.map +1 -1
  67. package/Engines/WebGPU/Extensions/engine.query.pure.js +11 -3
  68. package/Engines/WebGPU/Extensions/engine.query.pure.js.map +1 -1
  69. package/Engines/WebGPU/Extensions/engine.renderTarget.pure.js +1 -0
  70. package/Engines/WebGPU/Extensions/engine.renderTarget.pure.js.map +1 -1
  71. package/Engines/WebGPU/Extensions/index.d.ts +1 -0
  72. package/Engines/WebGPU/Extensions/index.js +1 -0
  73. package/Engines/WebGPU/Extensions/index.js.map +1 -1
  74. package/Engines/WebGPU/Extensions/pure.d.ts +1 -1
  75. package/Engines/WebGPU/Extensions/pure.js +1 -1
  76. package/Engines/WebGPU/Extensions/pure.js.map +1 -1
  77. package/Engines/WebGPU/webgpuBundleList.d.ts +2 -0
  78. package/Engines/WebGPU/webgpuBundleList.js +4 -0
  79. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  80. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +5 -2
  81. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  82. package/Engines/WebGPU/webgpuHardwareTexture.js +3 -1
  83. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  84. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  85. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  86. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +4 -0
  87. package/Engines/WebGPU/webgpuSnapshotRendering.js +40 -7
  88. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  89. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  90. package/Engines/WebGPU/webgpuTextureHelper.js +2 -2
  91. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  92. package/Engines/WebGPU/webgpuTextureManager.d.ts +2 -0
  93. package/Engines/WebGPU/webgpuTextureManager.js +286 -13
  94. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  95. package/Engines/abstractEngine.pure.d.ts +17 -1
  96. package/Engines/abstractEngine.pure.js +17 -5
  97. package/Engines/abstractEngine.pure.js.map +1 -1
  98. package/Engines/constants.d.ts +4 -0
  99. package/Engines/constants.js +4 -0
  100. package/Engines/constants.js.map +1 -1
  101. package/Engines/engine.pure.d.ts +0 -1
  102. package/Engines/engine.pure.js +0 -7
  103. package/Engines/engine.pure.js.map +1 -1
  104. package/Engines/nativeEngine.pure.js +1 -1
  105. package/Engines/nativeEngine.pure.js.map +1 -1
  106. package/Engines/thinEngine.pure.d.ts +15 -0
  107. package/Engines/thinEngine.pure.js +61 -14
  108. package/Engines/thinEngine.pure.js.map +1 -1
  109. package/Engines/thinNativeEngine.pure.d.ts +218 -17
  110. package/Engines/thinNativeEngine.pure.js +1438 -165
  111. package/Engines/thinNativeEngine.pure.js.map +1 -1
  112. package/Engines/thinWebGPUEngine.d.ts +4 -0
  113. package/Engines/thinWebGPUEngine.js +16 -2
  114. package/Engines/thinWebGPUEngine.js.map +1 -1
  115. package/Engines/webgpuEngine.pure.d.ts +17 -3
  116. package/Engines/webgpuEngine.pure.js +56 -13
  117. package/Engines/webgpuEngine.pure.js.map +1 -1
  118. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.pure.js +2 -2
  119. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.pure.js.map +1 -1
  120. package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.d.ts +10 -0
  121. package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.js +24 -12
  122. package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.pure.js.map +1 -1
  123. package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.d.ts +11 -2
  124. package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.js +1 -1
  125. package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.pure.js.map +1 -1
  126. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.d.ts +7 -0
  127. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.js +43 -0
  128. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.pure.js.map +1 -1
  129. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.d.ts +9 -1
  130. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.js +6 -8
  131. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.pure.js.map +1 -1
  132. package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.d.ts +2 -0
  133. package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.js +5 -1
  134. package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.pure.js.map +1 -1
  135. package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.d.ts +2 -0
  136. package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.js +5 -1
  137. package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.pure.js.map +1 -1
  138. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.d.ts +9 -0
  139. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.js +34 -9
  140. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.pure.js.map +1 -1
  141. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.d.ts +2 -0
  142. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.js +4 -0
  143. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.pure.js.map +1 -1
  144. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.d.ts +18 -4
  145. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.js +24 -6
  146. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.pure.js.map +1 -1
  147. package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.pure.js +19 -7
  148. package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.pure.js.map +1 -1
  149. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js +3 -3
  150. package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.pure.js.map +1 -1
  151. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.d.ts +20 -2
  152. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.js +85 -25
  153. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.pure.js.map +1 -1
  154. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.d.ts +16 -1
  155. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.js +64 -14
  156. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.pure.js.map +1 -1
  157. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.d.ts +12 -1
  158. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js +8 -0
  159. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.pure.js.map +1 -1
  160. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.pure.js +4 -1
  161. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.pure.js.map +1 -1
  162. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.d.ts +12 -1
  163. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.js +5 -1
  164. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.pure.js.map +1 -1
  165. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.pure.js +64 -16
  166. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.pure.js.map +1 -1
  167. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.d.ts +2 -0
  168. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.js +14 -2
  169. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.pure.js.map +1 -1
  170. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.d.ts +5 -1
  171. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.js +23 -8
  172. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.pure.js.map +1 -1
  173. package/FlowGraph/CustomTypes/flowGraphInteger.pure.d.ts +5 -0
  174. package/FlowGraph/CustomTypes/flowGraphInteger.pure.js +7 -0
  175. package/FlowGraph/CustomTypes/flowGraphInteger.pure.js.map +1 -1
  176. package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +10 -0
  177. package/FlowGraph/CustomTypes/flowGraphMatrix.js +14 -0
  178. package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -1
  179. package/FlowGraph/flowGraph.d.ts +6 -1
  180. package/FlowGraph/flowGraph.js +41 -9
  181. package/FlowGraph/flowGraph.js.map +1 -1
  182. package/FlowGraph/flowGraphAnimationHelpers.d.ts +24 -0
  183. package/FlowGraph/flowGraphAnimationHelpers.js +21 -0
  184. package/FlowGraph/flowGraphAnimationHelpers.js.map +1 -0
  185. package/FlowGraph/flowGraphBlock.js +3 -0
  186. package/FlowGraph/flowGraphBlock.js.map +1 -1
  187. package/FlowGraph/flowGraphConnection.d.ts +7 -0
  188. package/FlowGraph/flowGraphConnection.js +7 -0
  189. package/FlowGraph/flowGraphConnection.js.map +1 -1
  190. package/FlowGraph/flowGraphContext.d.ts +2 -1
  191. package/FlowGraph/flowGraphContext.js +5 -3
  192. package/FlowGraph/flowGraphContext.js.map +1 -1
  193. package/FlowGraph/flowGraphCoordinator.d.ts +15 -1
  194. package/FlowGraph/flowGraphCoordinator.js +47 -16
  195. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  196. package/FlowGraph/flowGraphEventBlock.d.ts +5 -0
  197. package/FlowGraph/flowGraphEventBlock.js +7 -0
  198. package/FlowGraph/flowGraphEventBlock.js.map +1 -1
  199. package/FlowGraph/flowGraphHostResolver.d.ts +2 -1
  200. package/FlowGraph/flowGraphHostResolver.js.map +1 -1
  201. package/FlowGraph/flowGraphParser.js +60 -2
  202. package/FlowGraph/flowGraphParser.js.map +1 -1
  203. package/FlowGraph/flowGraphValidator.js +0 -4
  204. package/FlowGraph/flowGraphValidator.js.map +1 -1
  205. package/FlowGraph/index.d.ts +2 -0
  206. package/FlowGraph/index.js +2 -0
  207. package/FlowGraph/index.js.map +1 -1
  208. package/FlowGraph/pure.d.ts +2 -0
  209. package/FlowGraph/pure.js +2 -0
  210. package/FlowGraph/pure.js.map +1 -1
  211. package/FlowGraph/serialization.d.ts +4 -2
  212. package/FlowGraph/serialization.js +12 -24
  213. package/FlowGraph/serialization.js.map +1 -1
  214. package/FlowGraph/typeDefinitions.d.ts +9 -1
  215. package/FlowGraph/typeDefinitions.js.map +1 -1
  216. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.d.ts +5 -0
  217. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.js +8 -0
  218. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.js.map +1 -0
  219. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.d.ts +87 -0
  220. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.js +295 -0
  221. package/FrameGraph/Node/Blocks/PostProcesses/meshBlendingPostProcessBlock.pure.js.map +1 -0
  222. package/FrameGraph/Node/Blocks/PostProcesses/pure.d.ts +1 -0
  223. package/FrameGraph/Node/Blocks/PostProcesses/pure.js +1 -0
  224. package/FrameGraph/Node/Blocks/PostProcesses/pure.js.map +1 -1
  225. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +4 -4
  226. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  227. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.d.ts +5 -1
  228. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +13 -1
  229. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
  230. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.d.ts +1 -0
  231. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.js +4 -0
  232. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.js.map +1 -0
  233. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.d.ts +54 -0
  234. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.js +155 -0
  235. package/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.js.map +1 -0
  236. package/FrameGraph/Node/Blocks/Textures/pure.d.ts +1 -0
  237. package/FrameGraph/Node/Blocks/Textures/pure.js +1 -0
  238. package/FrameGraph/Node/Blocks/Textures/pure.js.map +1 -1
  239. package/FrameGraph/Node/Blocks/allBlocks.pure.js +4 -0
  240. package/FrameGraph/Node/Blocks/allBlocks.pure.js.map +1 -1
  241. package/FrameGraph/Node/Blocks/index.d.ts +2 -0
  242. package/FrameGraph/Node/Blocks/index.js +2 -0
  243. package/FrameGraph/Node/Blocks/index.js.map +1 -1
  244. package/FrameGraph/Node/Blocks/inputBlock.pure.js +20 -1
  245. package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
  246. package/FrameGraph/Node/Blocks/pure.d.ts +2 -0
  247. package/FrameGraph/Node/Blocks/pure.js +2 -0
  248. package/FrameGraph/Node/Blocks/pure.js.map +1 -1
  249. package/FrameGraph/Node/Types/nodeRenderGraphTypes.d.ts +4 -2
  250. package/FrameGraph/Node/Types/nodeRenderGraphTypes.js +4 -2
  251. package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -1
  252. package/FrameGraph/Node/nodeRenderGraph.js +1 -1
  253. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  254. package/FrameGraph/Tasks/Layers/selectionOutlineTask.js +1 -0
  255. package/FrameGraph/Tasks/Layers/selectionOutlineTask.js.map +1 -1
  256. package/FrameGraph/Tasks/Misc/cullObjectsTask.js +5 -1
  257. package/FrameGraph/Tasks/Misc/cullObjectsTask.js.map +1 -1
  258. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js +1 -0
  259. package/FrameGraph/Tasks/Misc/lightingVolumeTask.js.map +1 -1
  260. package/FrameGraph/Tasks/Misc/minMaxReducerTask.d.ts +62 -0
  261. package/FrameGraph/Tasks/Misc/minMaxReducerTask.js +159 -0
  262. package/FrameGraph/Tasks/Misc/minMaxReducerTask.js.map +1 -0
  263. package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.d.ts +69 -0
  264. package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.js +223 -0
  265. package/FrameGraph/Tasks/PostProcesses/meshBlendingTask.js.map +1 -0
  266. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +25 -3
  267. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +72 -34
  268. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  269. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +3 -1
  270. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  271. package/FrameGraph/frameGraph.d.ts +4 -0
  272. package/FrameGraph/frameGraph.js +14 -0
  273. package/FrameGraph/frameGraph.js.map +1 -1
  274. package/FrameGraph/frameGraphObjectList.d.ts +6 -1
  275. package/FrameGraph/frameGraphObjectList.js.map +1 -1
  276. package/FrameGraph/frameGraphRenderContext.d.ts +3 -1
  277. package/FrameGraph/frameGraphRenderContext.js +5 -5
  278. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  279. package/FrameGraph/index.d.ts +2 -0
  280. package/FrameGraph/index.js +2 -0
  281. package/FrameGraph/index.js.map +1 -1
  282. package/FrameGraph/pure.d.ts +2 -0
  283. package/FrameGraph/pure.js +2 -0
  284. package/FrameGraph/pure.js.map +1 -1
  285. package/Inputs/scene.inputManager.d.ts +4 -0
  286. package/Inputs/scene.inputManager.js +50 -8
  287. package/Inputs/scene.inputManager.js.map +1 -1
  288. package/Lights/Clustered/clusteredLightingSceneComponent.pure.d.ts +5 -0
  289. package/Lights/Clustered/clusteredLightingSceneComponent.pure.js +22 -1
  290. package/Lights/Clustered/clusteredLightingSceneComponent.pure.js.map +1 -1
  291. package/Lights/Shadows/cascadedShadowGenerator.pure.js +7 -3
  292. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -1
  293. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.d.ts +7 -0
  294. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.js +8 -0
  295. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.js.map +1 -0
  296. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.d.ts +54 -0
  297. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.js +81 -0
  298. package/Materials/GaussianSplatting/gaussianPointSplattingBlitMaterial.pure.js.map +1 -0
  299. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.d.ts +7 -0
  300. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.js +8 -0
  301. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.js.map +1 -0
  302. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.d.ts +60 -0
  303. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.js +90 -0
  304. package/Materials/GaussianSplatting/gaussianPointSplattingDepthBlitMaterial.pure.js.map +1 -0
  305. package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.d.ts +31 -0
  306. package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.js +103 -5
  307. package/Materials/GaussianSplatting/gaussianSplattingDebugMaterialPlugin.pure.js.map +1 -1
  308. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +6 -6
  309. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
  310. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +26 -1
  311. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +153 -49
  312. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  313. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.d.ts +1 -0
  314. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.js +4 -0
  315. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.js.map +1 -0
  316. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.d.ts +83 -0
  317. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.js +191 -0
  318. package/Materials/GaussianSplatting/gaussianSplattingOverdrawMaterialPlugin.pure.js.map +1 -0
  319. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.d.ts +1 -0
  320. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.js +4 -0
  321. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.js.map +1 -0
  322. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.d.ts +62 -0
  323. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.js +125 -0
  324. package/Materials/GaussianSplatting/gaussianSplattingSizeMaterialPlugin.pure.js.map +1 -0
  325. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +5 -5
  326. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
  327. package/Materials/GaussianSplatting/pure.d.ts +4 -0
  328. package/Materials/GaussianSplatting/pure.js +4 -0
  329. package/Materials/GaussianSplatting/pure.js.map +1 -1
  330. package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.d.ts +1 -0
  331. package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +12 -0
  332. package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js.map +1 -1
  333. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +11 -1
  334. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
  335. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js +17 -2
  336. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.pure.js.map +1 -1
  337. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +2 -2
  338. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
  339. package/Materials/Node/nodeMaterial.pure.d.ts +4 -0
  340. package/Materials/Node/nodeMaterial.pure.js +4 -0
  341. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  342. package/Materials/Node/nodeMaterialBuildState.d.ts +1 -1
  343. package/Materials/Node/nodeMaterialBuildState.js +25 -3
  344. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  345. package/Materials/PBR/openpbrMaterial.pure.d.ts +2 -0
  346. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +2 -0
  347. package/Materials/Textures/Procedurals/proceduralTexture.pure.d.ts +14 -14
  348. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +37 -13
  349. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  350. package/Materials/Textures/baseTexture.pure.js +3 -0
  351. package/Materials/Textures/baseTexture.pure.js.map +1 -1
  352. package/Materials/Textures/cubeTexture.pure.js +1 -1
  353. package/Materials/Textures/cubeTexture.pure.js.map +1 -1
  354. package/Materials/Textures/internalTexture.d.ts +8 -1
  355. package/Materials/Textures/internalTexture.js +9 -2
  356. package/Materials/Textures/internalTexture.js.map +1 -1
  357. package/Materials/Textures/mirrorTexture.pure.js +3 -1
  358. package/Materials/Textures/mirrorTexture.pure.js.map +1 -1
  359. package/Materials/Textures/rawTexture2DArray.functions.d.ts +3 -3
  360. package/Materials/Textures/rawTexture2DArray.functions.js.map +1 -1
  361. package/Materials/Textures/rawTexture3D.d.ts +1 -1
  362. package/Materials/Textures/rawTexture3D.js +1 -1
  363. package/Materials/Textures/rawTexture3D.js.map +1 -1
  364. package/Materials/Textures/texture.pure.js +1 -1
  365. package/Materials/Textures/texture.pure.js.map +1 -1
  366. package/Materials/Textures/textureHelper.functions.d.ts +14 -0
  367. package/Materials/Textures/textureHelper.functions.js +24 -0
  368. package/Materials/Textures/textureHelper.functions.js.map +1 -1
  369. package/Materials/ditheredTileFadeMaterialPlugin.d.ts +210 -0
  370. package/Materials/ditheredTileFadeMaterialPlugin.js +509 -0
  371. package/Materials/ditheredTileFadeMaterialPlugin.js.map +1 -0
  372. package/Materials/effectRenderer.pure.d.ts +4 -0
  373. package/Materials/effectRenderer.pure.js +3 -2
  374. package/Materials/effectRenderer.pure.js.map +1 -1
  375. package/Materials/index.d.ts +5 -0
  376. package/Materials/index.js +5 -0
  377. package/Materials/index.js.map +1 -1
  378. package/Materials/material.pure.js +25 -12
  379. package/Materials/material.pure.js.map +1 -1
  380. package/Materials/materialHelper.geometryrendering.d.ts +46 -1
  381. package/Materials/materialHelper.geometryrendering.js +105 -8
  382. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  383. package/Materials/prepass.defines.d.ts +2 -0
  384. package/Materials/prepass.defines.js +2 -0
  385. package/Materials/prepass.defines.js.map +1 -1
  386. package/Materials/pure.d.ts +5 -0
  387. package/Materials/pure.js +5 -0
  388. package/Materials/pure.js.map +1 -1
  389. package/Materials/standardMaterial.pure.d.ts +10 -0
  390. package/Materials/standardMaterial.pure.js +30 -5
  391. package/Materials/standardMaterial.pure.js.map +1 -1
  392. package/Meshes/Builders/polygonBuilder.pure.d.ts +4 -0
  393. package/Meshes/Builders/polygonBuilder.pure.js +3 -0
  394. package/Meshes/Builders/polygonBuilder.pure.js.map +1 -1
  395. package/Meshes/GaussianSplatting/gaussianPointSplattingController.d.ts +8 -0
  396. package/Meshes/GaussianSplatting/gaussianPointSplattingController.js +11 -0
  397. package/Meshes/GaussianSplatting/gaussianPointSplattingController.js.map +1 -0
  398. package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.d.ts +231 -0
  399. package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.js +1212 -0
  400. package/Meshes/GaussianSplatting/gaussianPointSplattingController.pure.js.map +1 -0
  401. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.d.ts +14 -0
  402. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.js +15 -0
  403. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.js.map +1 -0
  404. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.d.ts +285 -0
  405. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.js +812 -0
  406. package/Meshes/GaussianSplatting/gaussianPointSplattingRenderer.pure.js.map +1 -0
  407. package/Meshes/GaussianSplatting/gaussianSplatting.functions.d.ts +19 -0
  408. package/Meshes/GaussianSplatting/gaussianSplatting.functions.js +23 -0
  409. package/Meshes/GaussianSplatting/gaussianSplatting.functions.js.map +1 -0
  410. package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +1 -0
  411. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +2 -0
  412. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  413. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +163 -14
  414. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +239 -24
  415. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  416. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +34 -4
  417. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +125 -25
  418. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  419. package/Meshes/GaussianSplatting/pure.d.ts +2 -0
  420. package/Meshes/GaussianSplatting/pure.js +2 -0
  421. package/Meshes/GaussianSplatting/pure.js.map +1 -1
  422. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +25 -11
  423. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
  424. package/Meshes/abstractMesh.pure.d.ts +30 -0
  425. package/Meshes/abstractMesh.pure.js +54 -0
  426. package/Meshes/abstractMesh.pure.js.map +1 -1
  427. package/Meshes/index.d.ts +2 -0
  428. package/Meshes/index.js +2 -0
  429. package/Meshes/index.js.map +1 -1
  430. package/Meshes/instancedMesh.pure.d.ts +5 -0
  431. package/Meshes/instancedMesh.pure.js +12 -0
  432. package/Meshes/instancedMesh.pure.js.map +1 -1
  433. package/Meshes/mesh.pure.js +23 -8
  434. package/Meshes/mesh.pure.js.map +1 -1
  435. package/Meshes/meshBlendingTag.d.ts +47 -0
  436. package/Meshes/meshBlendingTag.js +64 -0
  437. package/Meshes/meshBlendingTag.js.map +1 -0
  438. package/Meshes/polygonMesh.js +2 -2
  439. package/Meshes/polygonMesh.js.map +1 -1
  440. package/Meshes/pure.d.ts +2 -0
  441. package/Meshes/pure.js +2 -0
  442. package/Meshes/pure.js.map +1 -1
  443. package/Meshes/subMesh.pure.d.ts +11 -2
  444. package/Meshes/subMesh.pure.js +20 -5
  445. package/Meshes/subMesh.pure.js.map +1 -1
  446. package/Meshes/thinInstanceMesh.pure.js +1 -0
  447. package/Meshes/thinInstanceMesh.pure.js.map +1 -1
  448. package/Misc/andOrNotEvaluator.js +4 -0
  449. package/Misc/andOrNotEvaluator.js.map +1 -1
  450. package/Misc/fileTools.pure.js +21 -0
  451. package/Misc/fileTools.pure.js.map +1 -1
  452. package/Misc/minMaxReducer.pure.d.ts +6 -0
  453. package/Misc/minMaxReducer.pure.js +10 -0
  454. package/Misc/minMaxReducer.pure.js.map +1 -1
  455. package/Misc/snapshotRenderingHelper.js +2 -2
  456. package/Misc/snapshotRenderingHelper.js.map +1 -1
  457. package/Misc/thinMinMaxReducer.d.ts +19 -2
  458. package/Misc/thinMinMaxReducer.js +74 -21
  459. package/Misc/thinMinMaxReducer.js.map +1 -1
  460. package/Misc/tools.pure.js +1 -1
  461. package/Misc/tools.pure.js.map +1 -1
  462. package/Particles/Node/Blocks/Update/updateNoiseBlock.pure.js +19 -7
  463. package/Particles/Node/Blocks/Update/updateNoiseBlock.pure.js.map +1 -1
  464. package/Particles/Node/Blocks/particleSourceTextureBlock.pure.js +3 -2
  465. package/Particles/Node/Blocks/particleSourceTextureBlock.pure.js.map +1 -1
  466. package/Particles/gpuParticleSystem.pure.d.ts +4 -0
  467. package/Particles/gpuParticleSystem.pure.js +101 -32
  468. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  469. package/Particles/particle.js +3 -2
  470. package/Particles/particle.js.map +1 -1
  471. package/Particles/solidParticleSystem.js +7 -1
  472. package/Particles/solidParticleSystem.js.map +1 -1
  473. package/Particles/thinParticleSystem.function.d.ts +6 -0
  474. package/Particles/thinParticleSystem.function.js +144 -88
  475. package/Particles/thinParticleSystem.function.js.map +1 -1
  476. package/Particles/thinParticleSystem.pure.d.ts +8 -0
  477. package/Particles/thinParticleSystem.pure.js +154 -28
  478. package/Particles/thinParticleSystem.pure.js.map +1 -1
  479. package/Particles/webgl2ParticleSystem.pure.d.ts +1 -0
  480. package/Particles/webgl2ParticleSystem.pure.js +12 -4
  481. package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
  482. package/Physics/v2/ragdoll.d.ts +2 -4
  483. package/Physics/v2/ragdoll.js +11 -4
  484. package/Physics/v2/ragdoll.js.map +1 -1
  485. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.pure.js +7 -0
  486. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.pure.js.map +1 -1
  487. package/PostProcesses/index.d.ts +2 -0
  488. package/PostProcesses/index.js +2 -0
  489. package/PostProcesses/index.js.map +1 -1
  490. package/PostProcesses/meshBlendingBlueNoise.d.ts +15 -0
  491. package/PostProcesses/meshBlendingBlueNoise.js +77 -0
  492. package/PostProcesses/meshBlendingBlueNoise.js.map +1 -0
  493. package/PostProcesses/meshBlendingPostProcess.d.ts +131 -0
  494. package/PostProcesses/meshBlendingPostProcess.js +315 -0
  495. package/PostProcesses/meshBlendingPostProcess.js.map +1 -0
  496. package/PostProcesses/pure.d.ts +2 -0
  497. package/PostProcesses/pure.js +2 -0
  498. package/PostProcesses/pure.js.map +1 -1
  499. package/PostProcesses/thinMeshBlendingPostProcess.d.ts +339 -0
  500. package/PostProcesses/thinMeshBlendingPostProcess.js +771 -0
  501. package/PostProcesses/thinMeshBlendingPostProcess.js.map +1 -0
  502. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +6 -6
  503. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
  504. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +12 -0
  505. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +50 -25
  506. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
  507. package/Rendering/boundingBoxRenderer.pure.js +2 -1
  508. package/Rendering/boundingBoxRenderer.pure.js.map +1 -1
  509. package/Rendering/depthRenderer.pure.d.ts +9 -0
  510. package/Rendering/depthRenderer.pure.js +15 -4
  511. package/Rendering/depthRenderer.pure.js.map +1 -1
  512. package/Rendering/edgesRenderer.pure.d.ts +4 -2
  513. package/Rendering/edgesRenderer.pure.js +11 -2
  514. package/Rendering/edgesRenderer.pure.js.map +1 -1
  515. package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +14 -0
  516. package/Rendering/fluidRenderer/fluidRenderingObject.js +26 -0
  517. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  518. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.d.ts +13 -3
  519. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js +22 -9
  520. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
  521. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +3 -0
  522. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  523. package/Rendering/geometryBufferRenderer.pure.d.ts +38 -4
  524. package/Rendering/geometryBufferRenderer.pure.js +130 -18
  525. package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
  526. package/Rendering/objectRenderer.d.ts +7 -1
  527. package/Rendering/objectRenderer.js +45 -7
  528. package/Rendering/objectRenderer.js.map +1 -1
  529. package/Rendering/outlineRenderer.pure.js +6 -2
  530. package/Rendering/outlineRenderer.pure.js.map +1 -1
  531. package/Rendering/prePassRenderer.pure.js +3 -3
  532. package/Rendering/prePassRenderer.pure.js.map +1 -1
  533. package/Rendering/renderingManager.d.ts +1 -1
  534. package/Rendering/renderingManager.js +5 -4
  535. package/Rendering/renderingManager.js.map +1 -1
  536. package/Shaders/ShadersInclude/defaultFragmentAlpha.d.ts +5 -0
  537. package/Shaders/ShadersInclude/defaultFragmentAlpha.js +34 -0
  538. package/Shaders/ShadersInclude/defaultFragmentAlpha.js.map +1 -0
  539. package/Shaders/ShadersInclude/gaussianSplatting.js +3 -1
  540. package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
  541. package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js +5 -1
  542. package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -1
  543. package/Shaders/ShadersInclude/geometryRenderingFragment.d.ts +5 -0
  544. package/Shaders/ShadersInclude/geometryRenderingFragment.js +74 -0
  545. package/Shaders/ShadersInclude/geometryRenderingFragment.js.map +1 -0
  546. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +27 -3
  547. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  548. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +89 -0
  549. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  550. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  551. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  552. package/Shaders/ShadersInclude/openpbrBlockPrePass.js +24 -17
  553. package/Shaders/ShadersInclude/openpbrBlockPrePass.js.map +1 -1
  554. package/Shaders/ShadersInclude/pbrBlockPrePass.js +27 -20
  555. package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -1
  556. package/Shaders/ShadersInclude/pbrDebug.js +6 -2
  557. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  558. package/Shaders/ShadersInclude/prePassDeclaration.js +95 -2
  559. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  560. package/Shaders/default.fragment.js +31 -40
  561. package/Shaders/default.fragment.js.map +1 -1
  562. package/Shaders/depthOfField.fragment.js +13 -9
  563. package/Shaders/depthOfField.fragment.js.map +1 -1
  564. package/Shaders/fluidRenderingParticleDepth.vertex.js +16 -1
  565. package/Shaders/fluidRenderingParticleDepth.vertex.js.map +1 -1
  566. package/Shaders/fluidRenderingParticleThickness.vertex.js +16 -1
  567. package/Shaders/fluidRenderingParticleThickness.vertex.js.map +1 -1
  568. package/Shaders/gaussianSplatting.fragment.js +63 -3
  569. package/Shaders/gaussianSplatting.fragment.js.map +1 -1
  570. package/Shaders/gaussianSplatting.vertex.js +80 -0
  571. package/Shaders/gaussianSplatting.vertex.js.map +1 -1
  572. package/Shaders/geometry.fragment.js +17 -11
  573. package/Shaders/geometry.fragment.js.map +1 -1
  574. package/Shaders/gpuRenderParticles.fragment.js +43 -1
  575. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  576. package/Shaders/gpuRenderParticles.vertex.js +96 -16
  577. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  578. package/Shaders/meshBlending.fragment.d.ts +5 -0
  579. package/Shaders/meshBlending.fragment.js +519 -0
  580. package/Shaders/meshBlending.fragment.js.map +1 -0
  581. package/Shaders/minmaxRedux.fragment.js +6 -1
  582. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  583. package/Shaders/particles.fragment.js +43 -1
  584. package/Shaders/particles.fragment.js.map +1 -1
  585. package/Shaders/particles.vertex.js +84 -3
  586. package/Shaders/particles.vertex.js.map +1 -1
  587. package/Shaders/sprites.fragment.js +52 -2
  588. package/Shaders/sprites.fragment.js.map +1 -1
  589. package/Shaders/sprites.vertex.js +62 -1
  590. package/Shaders/sprites.vertex.js.map +1 -1
  591. package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.d.ts +5 -0
  592. package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.js +33 -0
  593. package/ShadersWGSL/ShadersInclude/defaultFragmentAlpha.js.map +1 -0
  594. package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.d.ts +5 -0
  595. package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.js +65 -0
  596. package/ShadersWGSL/ShadersInclude/gaussianPointSplatting.js.map +1 -0
  597. package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.d.ts +5 -0
  598. package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.js +17 -0
  599. package/ShadersWGSL/ShadersInclude/gaussianPointSplattingScan.js.map +1 -0
  600. package/ShadersWGSL/ShadersInclude/gaussianSplatting.d.ts +1 -0
  601. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +6 -78
  602. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
  603. package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js +2 -2
  604. package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.js.map +1 -1
  605. package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.d.ts +5 -0
  606. package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.js +79 -0
  607. package/ShadersWGSL/ShadersInclude/gaussianSplattingShared.js.map +1 -0
  608. package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.d.ts +6 -0
  609. package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.js +76 -0
  610. package/ShadersWGSL/ShadersInclude/geometryRenderingFragment.js.map +1 -0
  611. package/ShadersWGSL/ShadersInclude/lightFragment.js +1 -1
  612. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  613. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +27 -3
  614. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  615. package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.d.ts +5 -0
  616. package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.js +18 -0
  617. package/ShadersWGSL/ShadersInclude/meshBlendTagFragmentOutput.js.map +1 -0
  618. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.d.ts +1 -0
  619. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js +11 -25
  620. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js.map +1 -1
  621. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.d.ts +1 -0
  622. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +11 -25
  623. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -1
  624. package/ShadersWGSL/ShadersInclude/pbrDebug.js +5 -1
  625. package/ShadersWGSL/ShadersInclude/pbrDebug.js.map +1 -1
  626. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +6 -1
  627. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -1
  628. package/ShadersWGSL/default.fragment.js +17 -48
  629. package/ShadersWGSL/default.fragment.js.map +1 -1
  630. package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js +15 -2
  631. package/ShadersWGSL/fluidRenderingParticleDepth.vertex.js.map +1 -1
  632. package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js +15 -2
  633. package/ShadersWGSL/fluidRenderingParticleThickness.vertex.js.map +1 -1
  634. package/ShadersWGSL/gaussianPointSplattingBlit.fragment.d.ts +5 -0
  635. package/ShadersWGSL/gaussianPointSplattingBlit.fragment.js +22 -0
  636. package/ShadersWGSL/gaussianPointSplattingBlit.fragment.js.map +1 -0
  637. package/ShadersWGSL/gaussianPointSplattingBlit.vertex.d.ts +5 -0
  638. package/ShadersWGSL/gaussianPointSplattingBlit.vertex.js +19 -0
  639. package/ShadersWGSL/gaussianPointSplattingBlit.vertex.js.map +1 -0
  640. package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.d.ts +5 -0
  641. package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.js +21 -0
  642. package/ShadersWGSL/gaussianPointSplattingDepthBlit.fragment.js.map +1 -0
  643. package/ShadersWGSL/gaussianSplatting.fragment.js +63 -2
  644. package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
  645. package/ShadersWGSL/gaussianSplatting.vertex.js +82 -1
  646. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  647. package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -1
  648. package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
  649. package/ShadersWGSL/gaussianSplattingVoxel.vertex.js +2 -1
  650. package/ShadersWGSL/gaussianSplattingVoxel.vertex.js.map +1 -1
  651. package/ShadersWGSL/geometry.fragment.js +37 -2
  652. package/ShadersWGSL/geometry.fragment.js.map +1 -1
  653. package/ShadersWGSL/gpsHiZBuild.compute.d.ts +5 -0
  654. package/ShadersWGSL/gpsHiZBuild.compute.js +16 -0
  655. package/ShadersWGSL/gpsHiZBuild.compute.js.map +1 -0
  656. package/ShadersWGSL/gpsPartition.compute.d.ts +5 -0
  657. package/ShadersWGSL/gpsPartition.compute.js +27 -0
  658. package/ShadersWGSL/gpsPartition.compute.js.map +1 -0
  659. package/ShadersWGSL/gpsPreprocess.compute.d.ts +5 -0
  660. package/ShadersWGSL/gpsPreprocess.compute.js +86 -0
  661. package/ShadersWGSL/gpsPreprocess.compute.js.map +1 -0
  662. package/ShadersWGSL/gpsResolve.compute.d.ts +5 -0
  663. package/ShadersWGSL/gpsResolve.compute.js +41 -0
  664. package/ShadersWGSL/gpsResolve.compute.js.map +1 -0
  665. package/ShadersWGSL/gpsScanAdd.compute.d.ts +5 -0
  666. package/ShadersWGSL/gpsScanAdd.compute.js +22 -0
  667. package/ShadersWGSL/gpsScanAdd.compute.js.map +1 -0
  668. package/ShadersWGSL/gpsScanBlocks.compute.d.ts +5 -0
  669. package/ShadersWGSL/gpsScanBlocks.compute.js +23 -0
  670. package/ShadersWGSL/gpsScanBlocks.compute.js.map +1 -0
  671. package/ShadersWGSL/gpsScanSums.compute.d.ts +5 -0
  672. package/ShadersWGSL/gpsScanSums.compute.js +30 -0
  673. package/ShadersWGSL/gpsScanSums.compute.js.map +1 -0
  674. package/ShadersWGSL/gpsSplat.compute.d.ts +5 -0
  675. package/ShadersWGSL/gpsSplat.compute.js +37 -0
  676. package/ShadersWGSL/gpsSplat.compute.js.map +1 -0
  677. package/ShadersWGSL/gpuRenderParticles.fragment.js +47 -2
  678. package/ShadersWGSL/gpuRenderParticles.fragment.js.map +1 -1
  679. package/ShadersWGSL/gpuRenderParticles.vertex.js +110 -7
  680. package/ShadersWGSL/gpuRenderParticles.vertex.js.map +1 -1
  681. package/ShadersWGSL/meshBlending.fragment.d.ts +5 -0
  682. package/ShadersWGSL/meshBlending.fragment.js +576 -0
  683. package/ShadersWGSL/meshBlending.fragment.js.map +1 -0
  684. package/ShadersWGSL/minmaxRedux.fragment.js +20 -3
  685. package/ShadersWGSL/minmaxRedux.fragment.js.map +1 -1
  686. package/ShadersWGSL/openpbr.fragment.js +2 -1
  687. package/ShadersWGSL/openpbr.fragment.js.map +1 -1
  688. package/ShadersWGSL/particles.fragment.js +45 -1
  689. package/ShadersWGSL/particles.fragment.js.map +1 -1
  690. package/ShadersWGSL/particles.vertex.js +86 -4
  691. package/ShadersWGSL/particles.vertex.js.map +1 -1
  692. package/ShadersWGSL/pbr.fragment.js +2 -1
  693. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  694. package/ShadersWGSL/sprites.fragment.js +56 -2
  695. package/ShadersWGSL/sprites.fragment.js.map +1 -1
  696. package/ShadersWGSL/sprites.vertex.js +62 -1
  697. package/ShadersWGSL/sprites.vertex.js.map +1 -1
  698. package/Sprites/spriteManager.d.ts +13 -0
  699. package/Sprites/spriteManager.js +15 -0
  700. package/Sprites/spriteManager.js.map +1 -1
  701. package/Sprites/spriteRenderer.d.ts +24 -1
  702. package/Sprites/spriteRenderer.js +368 -50
  703. package/Sprites/spriteRenderer.js.map +1 -1
  704. package/Sprites/thinSprite.d.ts +4 -0
  705. package/Sprites/thinSprite.js +4 -0
  706. package/Sprites/thinSprite.js.map +1 -1
  707. package/States/alphaCullingState.d.ts +3 -1
  708. package/States/alphaCullingState.js +18 -3
  709. package/States/alphaCullingState.js.map +1 -1
  710. package/XR/features/WebXRSpaceWarp.pure.js +2 -1
  711. package/XR/features/WebXRSpaceWarp.pure.js.map +1 -1
  712. package/XR/webXRDefaultExperience.d.ts +5 -1
  713. package/XR/webXRDefaultExperience.js.map +1 -1
  714. package/XR/webXREnterExitUI.d.ts +2 -1
  715. package/XR/webXREnterExitUI.js.map +1 -1
  716. package/assetContainer.d.ts +1 -0
  717. package/assetContainer.js +5 -1
  718. package/assetContainer.js.map +1 -1
  719. package/package.json +1 -1
  720. package/scene.pure.d.ts +36 -2
  721. package/scene.pure.js +63 -4
  722. package/scene.pure.js.map +1 -1
@@ -0,0 +1,54 @@
1
+ /** This file must only contain pure code and pure imports */
2
+ import { type FrameGraph, type NodeRenderGraphBuildState, type NodeRenderGraphConnectionPoint, type Scene } from "../../../../index.js";
3
+ import { DepthTextureType } from "../../../../Misc/thinMinMaxReducer.js";
4
+ import { FrameGraphMinMaxReducerTask } from "../../../Tasks/Misc/minMaxReducerTask.js";
5
+ import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
6
+ /**
7
+ * Block that reduces a color texture's red channel to its minimum and maximum values.
8
+ * When using a geometry depth-as-color output, enable depthRedux and select the matching depthTextureType.
9
+ * WebGPU depth/stencil attachments are reduced as screen depth automatically.
10
+ * Connect the output to a downstream texture input or a dependency so the block is included in the graph.
11
+ */
12
+ export declare class NodeRenderGraphMinMaxReducerBlock extends NodeRenderGraphBlock {
13
+ protected _frameGraphTask: FrameGraphMinMaxReducerTask;
14
+ /**
15
+ * Gets the frame graph task associated with this block.
16
+ */
17
+ get task(): FrameGraphMinMaxReducerTask;
18
+ /**
19
+ * Creates a min/max reducer block.
20
+ * @param name The block name.
21
+ * @param frameGraph The hosting frame graph.
22
+ * @param scene The hosting scene.
23
+ */
24
+ constructor(name: string, frameGraph: FrameGraph, scene: Scene);
25
+ /** Whether to ignore the depth clear value of a depth-as-color source. Depth/stencil attachments are handled automatically. */
26
+ get depthRedux(): boolean;
27
+ set depthRedux(value: boolean);
28
+ /** The kind of depth values stored in a depth-as-color source when depth reduction is enabled. */
29
+ get depthTextureType(): DepthTextureType;
30
+ set depthTextureType(value: DepthTextureType);
31
+ /** The texture type used for the reduction steps and the 1x1 result. */
32
+ get textureType(): number;
33
+ set textureType(value: number);
34
+ /** Wait for WebGPU readback before notifying observers, without blocking the render loop. */
35
+ get waitForReadback(): boolean;
36
+ set waitForReadback(value: boolean);
37
+ /**
38
+ * Gets the source texture input.
39
+ */
40
+ get source(): NodeRenderGraphConnectionPoint;
41
+ /**
42
+ * Gets the 1x1 RG texture containing the minimum in red and maximum in green.
43
+ */
44
+ get output(): NodeRenderGraphConnectionPoint;
45
+ getClassName(): string;
46
+ protected _buildBlock(state: NodeRenderGraphBuildState): void;
47
+ protected _dumpPropertiesCode(): string;
48
+ serialize(): any;
49
+ _deserialize(serializationObject: any): void;
50
+ }
51
+ /**
52
+ * Registers the min/max reducer block for node render graph deserialization.
53
+ */
54
+ export declare function RegisterMinMaxReducerBlock(): void;
@@ -0,0 +1,155 @@
1
+ /** This file must only contain pure code and pure imports */
2
+ import { __esDecorate, __runInitializers } from "../../../../tslib.es6.js";
3
+
4
+ import { FrameGraphMinMaxReducerTask } from "../../../Tasks/Misc/minMaxReducerTask.js";
5
+ import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
6
+ import { RegisterClass } from "../../../../Misc/typeStore.js";
7
+ import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
8
+ import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRenderGraphTypes.js";
9
+ /**
10
+ * Block that reduces a color texture's red channel to its minimum and maximum values.
11
+ * When using a geometry depth-as-color output, enable depthRedux and select the matching depthTextureType.
12
+ * WebGPU depth/stencil attachments are reduced as screen depth automatically.
13
+ * Connect the output to a downstream texture input or a dependency so the block is included in the graph.
14
+ */
15
+ let NodeRenderGraphMinMaxReducerBlock = (() => {
16
+ var _a;
17
+ let _classSuper = NodeRenderGraphBlock;
18
+ let _instanceExtraInitializers = [];
19
+ let _get_depthRedux_decorators;
20
+ let _get_depthTextureType_decorators;
21
+ let _get_textureType_decorators;
22
+ let _get_waitForReadback_decorators;
23
+ return _a = class NodeRenderGraphMinMaxReducerBlock extends _classSuper {
24
+ /**
25
+ * Gets the frame graph task associated with this block.
26
+ */
27
+ get task() {
28
+ return this._frameGraphTask;
29
+ }
30
+ /**
31
+ * Creates a min/max reducer block.
32
+ * @param name The block name.
33
+ * @param frameGraph The hosting frame graph.
34
+ * @param scene The hosting scene.
35
+ */
36
+ constructor(name, frameGraph, scene) {
37
+ super(name, frameGraph, scene);
38
+ this._frameGraphTask = __runInitializers(this, _instanceExtraInitializers);
39
+ this.registerInput("source", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);
40
+ this._addDependenciesInput();
41
+ this.registerOutput("output", NodeRenderGraphBlockConnectionPointTypes.Texture);
42
+ this.source.addExcludedConnectionPointFromAllowedTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer & ~NodeRenderGraphBlockConnectionPointTypes.TextureMeshBlendTag);
43
+ this._frameGraphTask = new FrameGraphMinMaxReducerTask(name, frameGraph);
44
+ }
45
+ /** Whether to ignore the depth clear value of a depth-as-color source. Depth/stencil attachments are handled automatically. */
46
+ get depthRedux() {
47
+ return this._frameGraphTask.depthRedux;
48
+ }
49
+ set depthRedux(value) {
50
+ this._frameGraphTask.depthRedux = value;
51
+ }
52
+ /** The kind of depth values stored in a depth-as-color source when depth reduction is enabled. */
53
+ get depthTextureType() {
54
+ return this._frameGraphTask.depthTextureType;
55
+ }
56
+ set depthTextureType(value) {
57
+ this._frameGraphTask.depthTextureType = value;
58
+ }
59
+ /** The texture type used for the reduction steps and the 1x1 result. */
60
+ get textureType() {
61
+ return this._frameGraphTask.textureType;
62
+ }
63
+ set textureType(value) {
64
+ this._frameGraphTask.textureType = value;
65
+ }
66
+ /** Wait for WebGPU readback before notifying observers, without blocking the render loop. */
67
+ get waitForReadback() {
68
+ return this._frameGraphTask.waitForReadback;
69
+ }
70
+ set waitForReadback(value) {
71
+ this._frameGraphTask.waitForReadback = value;
72
+ }
73
+ /**
74
+ * Gets the source texture input.
75
+ */
76
+ get source() {
77
+ return this._inputs[0];
78
+ }
79
+ /**
80
+ * Gets the 1x1 RG texture containing the minimum in red and maximum in green.
81
+ */
82
+ get output() {
83
+ return this._outputs[0];
84
+ }
85
+ getClassName() {
86
+ return "NodeRenderGraphMinMaxReducerBlock";
87
+ }
88
+ _buildBlock(state) {
89
+ super._buildBlock(state);
90
+ this.output.value = this._frameGraphTask.outputTexture;
91
+ this._frameGraphTask.sourceTexture = this.source.connectedPoint?.value;
92
+ }
93
+ _dumpPropertiesCode() {
94
+ const codes = [];
95
+ codes.push(`${this._codeVariableName}.depthRedux = ${this.depthRedux};`);
96
+ codes.push(`${this._codeVariableName}.depthTextureType = ${this.depthTextureType};`);
97
+ codes.push(`${this._codeVariableName}.textureType = ${this.textureType};`);
98
+ codes.push(`${this._codeVariableName}.waitForReadback = ${this.waitForReadback};`);
99
+ return super._dumpPropertiesCode() + codes.join("\n");
100
+ }
101
+ serialize() {
102
+ const serializationObject = super.serialize();
103
+ serializationObject.depthRedux = this.depthRedux;
104
+ serializationObject.depthTextureType = this.depthTextureType;
105
+ serializationObject.textureType = this.textureType;
106
+ serializationObject.waitForReadback = this.waitForReadback;
107
+ return serializationObject;
108
+ }
109
+ _deserialize(serializationObject) {
110
+ super._deserialize(serializationObject);
111
+ this.depthRedux = serializationObject.depthRedux ?? false;
112
+ this.depthTextureType = serializationObject.depthTextureType ?? 0 /* DepthTextureType.NormalizedViewDepth */;
113
+ this.textureType = serializationObject.textureType ?? 2;
114
+ this.waitForReadback = serializationObject.waitForReadback ?? false;
115
+ }
116
+ },
117
+ (() => {
118
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
119
+ _get_depthRedux_decorators = [editableInPropertyPage("Depth-as-color reduction", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")];
120
+ _get_depthTextureType_decorators = [editableInPropertyPage("Depth-as-color type", 5 /* PropertyTypeForEdition.List */, "PROPERTIES", {
121
+ options: [
122
+ { label: "Normalized view depth", value: 0 /* DepthTextureType.NormalizedViewDepth */ },
123
+ { label: "View depth", value: 1 /* DepthTextureType.ViewDepth */ },
124
+ { label: "Screen depth", value: 2 /* DepthTextureType.ScreenDepth */ },
125
+ ],
126
+ })];
127
+ _get_textureType_decorators = [editableInPropertyPage("Texture type", 5 /* PropertyTypeForEdition.List */, "PROPERTIES", {
128
+ options: [
129
+ { label: "Half float", value: 2 },
130
+ { label: "Float", value: 1 },
131
+ { label: "Unsigned byte", value: 0 },
132
+ ],
133
+ })];
134
+ _get_waitForReadback_decorators = [editableInPropertyPage("Wait for readback", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")];
135
+ __esDecorate(_a, null, _get_depthRedux_decorators, { kind: "getter", name: "depthRedux", static: false, private: false, access: { has: obj => "depthRedux" in obj, get: obj => obj.depthRedux }, metadata: _metadata }, null, _instanceExtraInitializers);
136
+ __esDecorate(_a, null, _get_depthTextureType_decorators, { kind: "getter", name: "depthTextureType", static: false, private: false, access: { has: obj => "depthTextureType" in obj, get: obj => obj.depthTextureType }, metadata: _metadata }, null, _instanceExtraInitializers);
137
+ __esDecorate(_a, null, _get_textureType_decorators, { kind: "getter", name: "textureType", static: false, private: false, access: { has: obj => "textureType" in obj, get: obj => obj.textureType }, metadata: _metadata }, null, _instanceExtraInitializers);
138
+ __esDecorate(_a, null, _get_waitForReadback_decorators, { kind: "getter", name: "waitForReadback", static: false, private: false, access: { has: obj => "waitForReadback" in obj, get: obj => obj.waitForReadback }, metadata: _metadata }, null, _instanceExtraInitializers);
139
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
140
+ })(),
141
+ _a;
142
+ })();
143
+ export { NodeRenderGraphMinMaxReducerBlock };
144
+ let _Registered = false;
145
+ /**
146
+ * Registers the min/max reducer block for node render graph deserialization.
147
+ */
148
+ export function RegisterMinMaxReducerBlock() {
149
+ if (_Registered) {
150
+ return;
151
+ }
152
+ _Registered = true;
153
+ RegisterClass("BABYLON.NodeRenderGraphMinMaxReducerBlock", NodeRenderGraphMinMaxReducerBlock);
154
+ }
155
+ //# sourceMappingURL=minMaxReducerBlock.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minMaxReducerBlock.pure.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Textures/minMaxReducerBlock.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport { type FrameGraph, type FrameGraphTextureHandle, type NodeRenderGraphBuildState, type NodeRenderGraphConnectionPoint, type Scene } from \"core/index\";\r\nimport { Constants } from \"core/Engines/constants\";\r\nimport { DepthTextureType } from \"core/Misc/thinMinMaxReducer\";\r\nimport { FrameGraphMinMaxReducerTask } from \"../../../Tasks/Misc/minMaxReducerTask\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\n\r\n/**\r\n * Block that reduces a color texture's red channel to its minimum and maximum values.\r\n * When using a geometry depth-as-color output, enable depthRedux and select the matching depthTextureType.\r\n * WebGPU depth/stencil attachments are reduced as screen depth automatically.\r\n * Connect the output to a downstream texture input or a dependency so the block is included in the graph.\r\n */\r\nexport class NodeRenderGraphMinMaxReducerBlock extends NodeRenderGraphBlock {\r\n protected override _frameGraphTask: FrameGraphMinMaxReducerTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block.\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Creates a min/max reducer block.\r\n * @param name The block name.\r\n * @param frameGraph The hosting frame graph.\r\n * @param scene The hosting scene.\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this.registerInput(\"source\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);\r\n this._addDependenciesInput();\r\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.Texture);\r\n\r\n this.source.addExcludedConnectionPointFromAllowedTypes(\r\n NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer & ~NodeRenderGraphBlockConnectionPointTypes.TextureMeshBlendTag\r\n );\r\n\r\n this._frameGraphTask = new FrameGraphMinMaxReducerTask(name, frameGraph);\r\n }\r\n\r\n /** Whether to ignore the depth clear value of a depth-as-color source. Depth/stencil attachments are handled automatically. */\r\n @editableInPropertyPage(\"Depth-as-color reduction\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthRedux(): boolean {\r\n return this._frameGraphTask.depthRedux;\r\n }\r\n\r\n public set depthRedux(value: boolean) {\r\n this._frameGraphTask.depthRedux = value;\r\n }\r\n\r\n /** The kind of depth values stored in a depth-as-color source when depth reduction is enabled. */\r\n @editableInPropertyPage(\"Depth-as-color type\", PropertyTypeForEdition.List, \"PROPERTIES\", {\r\n options: [\r\n { label: \"Normalized view depth\", value: DepthTextureType.NormalizedViewDepth },\r\n { label: \"View depth\", value: DepthTextureType.ViewDepth },\r\n { label: \"Screen depth\", value: DepthTextureType.ScreenDepth },\r\n ],\r\n })\r\n public get depthTextureType(): DepthTextureType {\r\n return this._frameGraphTask.depthTextureType;\r\n }\r\n\r\n public set depthTextureType(value: DepthTextureType) {\r\n this._frameGraphTask.depthTextureType = value;\r\n }\r\n\r\n /** The texture type used for the reduction steps and the 1x1 result. */\r\n @editableInPropertyPage(\"Texture type\", PropertyTypeForEdition.List, \"PROPERTIES\", {\r\n options: [\r\n { label: \"Half float\", value: Constants.TEXTURETYPE_HALF_FLOAT },\r\n { label: \"Float\", value: Constants.TEXTURETYPE_FLOAT },\r\n { label: \"Unsigned byte\", value: Constants.TEXTURETYPE_UNSIGNED_BYTE },\r\n ],\r\n })\r\n public get textureType(): number {\r\n return this._frameGraphTask.textureType;\r\n }\r\n\r\n public set textureType(value: number) {\r\n this._frameGraphTask.textureType = value;\r\n }\r\n\r\n /** Wait for WebGPU readback before notifying observers, without blocking the render loop. */\r\n @editableInPropertyPage(\"Wait for readback\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get waitForReadback(): boolean {\r\n return this._frameGraphTask.waitForReadback;\r\n }\r\n\r\n public set waitForReadback(value: boolean) {\r\n this._frameGraphTask.waitForReadback = value;\r\n }\r\n\r\n /**\r\n * Gets the source texture input.\r\n */\r\n public get source(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the 1x1 RG texture containing the minimum in red and maximum in green.\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n public override getClassName() {\r\n return \"NodeRenderGraphMinMaxReducerBlock\";\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n this.output.value = this._frameGraphTask.outputTexture;\r\n this._frameGraphTask.sourceTexture = this.source.connectedPoint?.value as FrameGraphTextureHandle;\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthRedux = ${this.depthRedux};`);\r\n codes.push(`${this._codeVariableName}.depthTextureType = ${this.depthTextureType};`);\r\n codes.push(`${this._codeVariableName}.textureType = ${this.textureType};`);\r\n codes.push(`${this._codeVariableName}.waitForReadback = ${this.waitForReadback};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.depthRedux = this.depthRedux;\r\n serializationObject.depthTextureType = this.depthTextureType;\r\n serializationObject.textureType = this.textureType;\r\n serializationObject.waitForReadback = this.waitForReadback;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthRedux = serializationObject.depthRedux ?? false;\r\n this.depthTextureType = serializationObject.depthTextureType ?? DepthTextureType.NormalizedViewDepth;\r\n this.textureType = serializationObject.textureType ?? Constants.TEXTURETYPE_HALF_FLOAT;\r\n this.waitForReadback = serializationObject.waitForReadback ?? false;\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the min/max reducer block for node render graph deserialization.\r\n */\r\nexport function RegisterMinMaxReducerBlock(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.NodeRenderGraphMinMaxReducerBlock\", NodeRenderGraphMinMaxReducerBlock);\r\n}\r\n"]}
@@ -2,3 +2,4 @@
2
2
  export * from "./clearBlock.pure.js";
3
3
  export * from "./copyTextureBlock.pure.js";
4
4
  export * from "./generateMipmapsBlock.pure.js";
5
+ export * from "./minMaxReducerBlock.pure.js";
@@ -2,4 +2,5 @@
2
2
  export * from "./clearBlock.pure.js";
3
3
  export * from "./copyTextureBlock.pure.js";
4
4
  export * from "./generateMipmapsBlock.pure.js";
5
+ export * from "./minMaxReducerBlock.pure.js";
5
6
  //# sourceMappingURL=pure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Textures/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./clearBlock.pure\";\nexport * from \"./copyTextureBlock.pure\";\nexport * from \"./generateMipmapsBlock.pure\";\n"]}
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Textures/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./clearBlock.pure\";\nexport * from \"./copyTextureBlock.pure\";\nexport * from \"./generateMipmapsBlock.pure\";\nexport * from \"./minMaxReducerBlock.pure\";\n"]}
@@ -17,6 +17,7 @@ import { RegisterFilterPostProcessBlock } from "./PostProcesses/filterPostProces
17
17
  import { RegisterFxaaPostProcessBlock } from "./PostProcesses/fxaaPostProcessBlock.pure.js";
18
18
  import { RegisterGrainPostProcessBlock } from "./PostProcesses/grainPostProcessBlock.pure.js";
19
19
  import { RegisterImageProcessingPostProcessBlock } from "./PostProcesses/imageProcessingPostProcessBlock.pure.js";
20
+ import { RegisterMeshBlendingPostProcessBlock } from "./PostProcesses/meshBlendingPostProcessBlock.pure.js";
20
21
  import { RegisterMotionBlurPostProcessBlock } from "./PostProcesses/motionBlurPostProcessBlock.pure.js";
21
22
  import { RegisterPassPostProcessBlock } from "./PostProcesses/passPostProcessBlock.pure.js";
22
23
  import { RegisterScreenSpaceCurvaturePostProcessBlock } from "./PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js";
@@ -39,6 +40,7 @@ import { RegisterFrameGraphNodeBlocksTeleportTeleportOutBlock } from "./Teleport
39
40
  import { RegisterClearBlock } from "./Textures/clearBlock.pure.js";
40
41
  import { RegisterCopyTextureBlock } from "./Textures/copyTextureBlock.pure.js";
41
42
  import { RegisterGenerateMipmapsBlock } from "./Textures/generateMipmapsBlock.pure.js";
43
+ import { RegisterMinMaxReducerBlock } from "./Textures/minMaxReducerBlock.pure.js";
42
44
  // Root-level blocks
43
45
  import { RegisterComputeShaderBlock } from "./computeShaderBlock.pure.js";
44
46
  import { RegisterCullObjectsBlock } from "./cullObjectsBlock.pure.js";
@@ -74,6 +76,7 @@ export function RegisterNodeRenderGraphPostProcessesBlocks() {
74
76
  RegisterFxaaPostProcessBlock();
75
77
  RegisterGrainPostProcessBlock();
76
78
  RegisterImageProcessingPostProcessBlock();
79
+ RegisterMeshBlendingPostProcessBlock();
77
80
  RegisterMotionBlurPostProcessBlock();
78
81
  RegisterPassPostProcessBlock();
79
82
  RegisterScreenSpaceCurvaturePostProcessBlock();
@@ -108,6 +111,7 @@ export function RegisterNodeRenderGraphTexturesBlocks() {
108
111
  RegisterClearBlock();
109
112
  RegisterCopyTextureBlock();
110
113
  RegisterGenerateMipmapsBlock();
114
+ RegisterMinMaxReducerBlock();
111
115
  }
112
116
  /**
113
117
  * Registers all core (root-level) node render graph blocks for deserialization.
@@ -1 +1 @@
1
- {"version":3,"file":"allBlocks.pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/allBlocks.pure.ts"],"names":[],"mappings":"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","sourcesContent":["// Layers blocks\nimport { RegisterGlowLayerBlock } from \"./Layers/glowLayerBlock.pure\";\nimport { RegisterHighlightLayerBlock } from \"./Layers/highlightLayerBlock.pure\";\nimport { RegisterSelectionOutlineLayerBlock } from \"./Layers/selectionOutlineLayerBlock.pure\";\n\n// PostProcesses blocks\nimport { RegisterAnaglyphPostProcessBlock } from \"./PostProcesses/anaglyphPostProcessBlock.pure\";\nimport { RegisterBlackAndWhitePostProcessBlock } from \"./PostProcesses/blackAndWhitePostProcessBlock.pure\";\nimport { RegisterBloomPostProcessBlock } from \"./PostProcesses/bloomPostProcessBlock.pure\";\nimport { RegisterBlurPostProcessBlock } from \"./PostProcesses/blurPostProcessBlock.pure\";\nimport { RegisterChromaticAberrationPostProcessBlock } from \"./PostProcesses/chromaticAberrationPostProcessBlock.pure\";\nimport { RegisterCircleOfConfusionPostProcessBlock } from \"./PostProcesses/circleOfConfusionPostProcessBlock.pure\";\nimport { RegisterColorCorrectionPostProcessBlock } from \"./PostProcesses/colorCorrectionPostProcessBlock.pure\";\nimport { RegisterConvolutionPostProcessBlock } from \"./PostProcesses/convolutionPostProcessBlock.pure\";\nimport { RegisterDepthOfFieldPostProcessBlock } from \"./PostProcesses/depthOfFieldPostProcessBlock.pure\";\nimport { RegisterExtractHighlightsPostProcessBlock } from \"./PostProcesses/extractHighlightsPostProcessBlock.pure\";\nimport { RegisterFilterPostProcessBlock } from \"./PostProcesses/filterPostProcessBlock.pure\";\nimport { RegisterFxaaPostProcessBlock } from \"./PostProcesses/fxaaPostProcessBlock.pure\";\nimport { RegisterGrainPostProcessBlock } from \"./PostProcesses/grainPostProcessBlock.pure\";\nimport { RegisterImageProcessingPostProcessBlock } from \"./PostProcesses/imageProcessingPostProcessBlock.pure\";\nimport { RegisterMotionBlurPostProcessBlock } from \"./PostProcesses/motionBlurPostProcessBlock.pure\";\nimport { RegisterPassPostProcessBlock } from \"./PostProcesses/passPostProcessBlock.pure\";\nimport { RegisterScreenSpaceCurvaturePostProcessBlock } from \"./PostProcesses/screenSpaceCurvaturePostProcessBlock.pure\";\nimport { RegisterSharpenPostProcessBlock } from \"./PostProcesses/sharpenPostProcessBlock.pure\";\nimport { RegisterSsao2PostProcessBlock } from \"./PostProcesses/ssao2PostProcessBlock.pure\";\nimport { RegisterSsrPostProcessBlock } from \"./PostProcesses/ssrPostProcessBlock.pure\";\nimport { RegisterTaaPostProcessBlock } from \"./PostProcesses/taaPostProcessBlock.pure\";\nimport { RegisterTonemapPostProcessBlock } from \"./PostProcesses/tonemapPostProcessBlock.pure\";\nimport { RegisterVolumetricLightingBlock } from \"./PostProcesses/volumetricLightingBlock.pure\";\n\n// Rendering blocks\nimport { RegisterCsmShadowGeneratorBlock } from \"./Rendering/csmShadowGeneratorBlock.pure\";\nimport { RegisterGeometryRendererBlock } from \"./Rendering/geometryRendererBlock.pure\";\nimport { RegisterObjectRendererBlock } from \"./Rendering/objectRendererBlock.pure\";\nimport { RegisterShadowGeneratorBlock } from \"./Rendering/shadowGeneratorBlock.pure\";\nimport { RegisterUtilityLayerRendererBlock } from \"./Rendering/utilityLayerRendererBlock.pure\";\n\n// Teleport blocks\nimport { RegisterFrameGraphNodeBlocksTeleportTeleportInBlock } from \"./Teleport/teleportInBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksTeleportTeleportOutBlock } from \"./Teleport/teleportOutBlock.pure\";\n\n// Textures blocks\nimport { RegisterClearBlock } from \"./Textures/clearBlock.pure\";\nimport { RegisterCopyTextureBlock } from \"./Textures/copyTextureBlock.pure\";\nimport { RegisterGenerateMipmapsBlock } from \"./Textures/generateMipmapsBlock.pure\";\n\n// Root-level blocks\nimport { RegisterComputeShaderBlock } from \"./computeShaderBlock.pure\";\nimport { RegisterCullObjectsBlock } from \"./cullObjectsBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksElbowBlock } from \"./elbowBlock.pure\";\nimport { RegisterExecuteBlock } from \"./executeBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksInputBlock } from \"./inputBlock.pure\";\nimport { RegisterLightingVolumeBlock } from \"./lightingVolumeBlock.pure\";\nimport { RegisterOutputBlock } from \"./outputBlock.pure\";\nimport { RegisterResourceContainerBlock } from \"./resourceContainerBlock.pure\";\n\n/**\n * Registers all layer node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphLayersBlocks(): void {\n RegisterGlowLayerBlock();\n RegisterHighlightLayerBlock();\n RegisterSelectionOutlineLayerBlock();\n}\n\n/**\n * Registers all post-process node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphPostProcessesBlocks(): void {\n RegisterAnaglyphPostProcessBlock();\n RegisterBlackAndWhitePostProcessBlock();\n RegisterBloomPostProcessBlock();\n RegisterBlurPostProcessBlock();\n RegisterChromaticAberrationPostProcessBlock();\n RegisterCircleOfConfusionPostProcessBlock();\n RegisterColorCorrectionPostProcessBlock();\n RegisterConvolutionPostProcessBlock();\n RegisterDepthOfFieldPostProcessBlock();\n RegisterExtractHighlightsPostProcessBlock();\n RegisterFilterPostProcessBlock();\n RegisterFxaaPostProcessBlock();\n RegisterGrainPostProcessBlock();\n RegisterImageProcessingPostProcessBlock();\n RegisterMotionBlurPostProcessBlock();\n RegisterPassPostProcessBlock();\n RegisterScreenSpaceCurvaturePostProcessBlock();\n RegisterSharpenPostProcessBlock();\n RegisterSsao2PostProcessBlock();\n RegisterSsrPostProcessBlock();\n RegisterTaaPostProcessBlock();\n RegisterTonemapPostProcessBlock();\n RegisterVolumetricLightingBlock();\n}\n\n/**\n * Registers all rendering node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphRenderingBlocks(): void {\n RegisterCsmShadowGeneratorBlock();\n RegisterGeometryRendererBlock();\n RegisterObjectRendererBlock();\n RegisterShadowGeneratorBlock();\n RegisterUtilityLayerRendererBlock();\n}\n\n/**\n * Registers all teleport node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphTeleportBlocks(): void {\n RegisterFrameGraphNodeBlocksTeleportTeleportInBlock();\n RegisterFrameGraphNodeBlocksTeleportTeleportOutBlock();\n}\n\n/**\n * Registers all texture node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphTexturesBlocks(): void {\n RegisterClearBlock();\n RegisterCopyTextureBlock();\n RegisterGenerateMipmapsBlock();\n}\n\n/**\n * Registers all core (root-level) node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphCoreBlocks(): void {\n RegisterComputeShaderBlock();\n RegisterCullObjectsBlock();\n RegisterFrameGraphNodeBlocksElbowBlock();\n RegisterExecuteBlock();\n RegisterFrameGraphNodeBlocksInputBlock();\n RegisterLightingVolumeBlock();\n RegisterOutputBlock();\n RegisterResourceContainerBlock();\n}\n\nlet _Registered = false;\n/**\n * Registers all node render graph blocks for deserialization.\n * Call this function when you need to deserialize node render graphs from JSON/snippets.\n *\n * This is the tree-shakeable replacement for:\n * ```ts\n * import \"@babylonjs/core/FrameGraph/Node/Blocks/index\";\n * ```\n */\nexport function RegisterAllNodeRenderGraphBlocks(): void {\n if (_Registered) {\n return;\n }\n _Registered = true;\n\n RegisterNodeRenderGraphLayersBlocks();\n RegisterNodeRenderGraphPostProcessesBlocks();\n RegisterNodeRenderGraphRenderingBlocks();\n RegisterNodeRenderGraphTeleportBlocks();\n RegisterNodeRenderGraphTexturesBlocks();\n RegisterNodeRenderGraphCoreBlocks();\n}\n"]}
1
+ {"version":3,"file":"allBlocks.pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/allBlocks.pure.ts"],"names":[],"mappings":"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","sourcesContent":["// Layers blocks\nimport { RegisterGlowLayerBlock } from \"./Layers/glowLayerBlock.pure\";\nimport { RegisterHighlightLayerBlock } from \"./Layers/highlightLayerBlock.pure\";\nimport { RegisterSelectionOutlineLayerBlock } from \"./Layers/selectionOutlineLayerBlock.pure\";\n\n// PostProcesses blocks\nimport { RegisterAnaglyphPostProcessBlock } from \"./PostProcesses/anaglyphPostProcessBlock.pure\";\nimport { RegisterBlackAndWhitePostProcessBlock } from \"./PostProcesses/blackAndWhitePostProcessBlock.pure\";\nimport { RegisterBloomPostProcessBlock } from \"./PostProcesses/bloomPostProcessBlock.pure\";\nimport { RegisterBlurPostProcessBlock } from \"./PostProcesses/blurPostProcessBlock.pure\";\nimport { RegisterChromaticAberrationPostProcessBlock } from \"./PostProcesses/chromaticAberrationPostProcessBlock.pure\";\nimport { RegisterCircleOfConfusionPostProcessBlock } from \"./PostProcesses/circleOfConfusionPostProcessBlock.pure\";\nimport { RegisterColorCorrectionPostProcessBlock } from \"./PostProcesses/colorCorrectionPostProcessBlock.pure\";\nimport { RegisterConvolutionPostProcessBlock } from \"./PostProcesses/convolutionPostProcessBlock.pure\";\nimport { RegisterDepthOfFieldPostProcessBlock } from \"./PostProcesses/depthOfFieldPostProcessBlock.pure\";\nimport { RegisterExtractHighlightsPostProcessBlock } from \"./PostProcesses/extractHighlightsPostProcessBlock.pure\";\nimport { RegisterFilterPostProcessBlock } from \"./PostProcesses/filterPostProcessBlock.pure\";\nimport { RegisterFxaaPostProcessBlock } from \"./PostProcesses/fxaaPostProcessBlock.pure\";\nimport { RegisterGrainPostProcessBlock } from \"./PostProcesses/grainPostProcessBlock.pure\";\nimport { RegisterImageProcessingPostProcessBlock } from \"./PostProcesses/imageProcessingPostProcessBlock.pure\";\nimport { RegisterMeshBlendingPostProcessBlock } from \"./PostProcesses/meshBlendingPostProcessBlock.pure\";\nimport { RegisterMotionBlurPostProcessBlock } from \"./PostProcesses/motionBlurPostProcessBlock.pure\";\nimport { RegisterPassPostProcessBlock } from \"./PostProcesses/passPostProcessBlock.pure\";\nimport { RegisterScreenSpaceCurvaturePostProcessBlock } from \"./PostProcesses/screenSpaceCurvaturePostProcessBlock.pure\";\nimport { RegisterSharpenPostProcessBlock } from \"./PostProcesses/sharpenPostProcessBlock.pure\";\nimport { RegisterSsao2PostProcessBlock } from \"./PostProcesses/ssao2PostProcessBlock.pure\";\nimport { RegisterSsrPostProcessBlock } from \"./PostProcesses/ssrPostProcessBlock.pure\";\nimport { RegisterTaaPostProcessBlock } from \"./PostProcesses/taaPostProcessBlock.pure\";\nimport { RegisterTonemapPostProcessBlock } from \"./PostProcesses/tonemapPostProcessBlock.pure\";\nimport { RegisterVolumetricLightingBlock } from \"./PostProcesses/volumetricLightingBlock.pure\";\n\n// Rendering blocks\nimport { RegisterCsmShadowGeneratorBlock } from \"./Rendering/csmShadowGeneratorBlock.pure\";\nimport { RegisterGeometryRendererBlock } from \"./Rendering/geometryRendererBlock.pure\";\nimport { RegisterObjectRendererBlock } from \"./Rendering/objectRendererBlock.pure\";\nimport { RegisterShadowGeneratorBlock } from \"./Rendering/shadowGeneratorBlock.pure\";\nimport { RegisterUtilityLayerRendererBlock } from \"./Rendering/utilityLayerRendererBlock.pure\";\n\n// Teleport blocks\nimport { RegisterFrameGraphNodeBlocksTeleportTeleportInBlock } from \"./Teleport/teleportInBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksTeleportTeleportOutBlock } from \"./Teleport/teleportOutBlock.pure\";\n\n// Textures blocks\nimport { RegisterClearBlock } from \"./Textures/clearBlock.pure\";\nimport { RegisterCopyTextureBlock } from \"./Textures/copyTextureBlock.pure\";\nimport { RegisterGenerateMipmapsBlock } from \"./Textures/generateMipmapsBlock.pure\";\nimport { RegisterMinMaxReducerBlock } from \"./Textures/minMaxReducerBlock.pure\";\n\n// Root-level blocks\nimport { RegisterComputeShaderBlock } from \"./computeShaderBlock.pure\";\nimport { RegisterCullObjectsBlock } from \"./cullObjectsBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksElbowBlock } from \"./elbowBlock.pure\";\nimport { RegisterExecuteBlock } from \"./executeBlock.pure\";\nimport { RegisterFrameGraphNodeBlocksInputBlock } from \"./inputBlock.pure\";\nimport { RegisterLightingVolumeBlock } from \"./lightingVolumeBlock.pure\";\nimport { RegisterOutputBlock } from \"./outputBlock.pure\";\nimport { RegisterResourceContainerBlock } from \"./resourceContainerBlock.pure\";\n\n/**\n * Registers all layer node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphLayersBlocks(): void {\n RegisterGlowLayerBlock();\n RegisterHighlightLayerBlock();\n RegisterSelectionOutlineLayerBlock();\n}\n\n/**\n * Registers all post-process node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphPostProcessesBlocks(): void {\n RegisterAnaglyphPostProcessBlock();\n RegisterBlackAndWhitePostProcessBlock();\n RegisterBloomPostProcessBlock();\n RegisterBlurPostProcessBlock();\n RegisterChromaticAberrationPostProcessBlock();\n RegisterCircleOfConfusionPostProcessBlock();\n RegisterColorCorrectionPostProcessBlock();\n RegisterConvolutionPostProcessBlock();\n RegisterDepthOfFieldPostProcessBlock();\n RegisterExtractHighlightsPostProcessBlock();\n RegisterFilterPostProcessBlock();\n RegisterFxaaPostProcessBlock();\n RegisterGrainPostProcessBlock();\n RegisterImageProcessingPostProcessBlock();\n RegisterMeshBlendingPostProcessBlock();\n RegisterMotionBlurPostProcessBlock();\n RegisterPassPostProcessBlock();\n RegisterScreenSpaceCurvaturePostProcessBlock();\n RegisterSharpenPostProcessBlock();\n RegisterSsao2PostProcessBlock();\n RegisterSsrPostProcessBlock();\n RegisterTaaPostProcessBlock();\n RegisterTonemapPostProcessBlock();\n RegisterVolumetricLightingBlock();\n}\n\n/**\n * Registers all rendering node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphRenderingBlocks(): void {\n RegisterCsmShadowGeneratorBlock();\n RegisterGeometryRendererBlock();\n RegisterObjectRendererBlock();\n RegisterShadowGeneratorBlock();\n RegisterUtilityLayerRendererBlock();\n}\n\n/**\n * Registers all teleport node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphTeleportBlocks(): void {\n RegisterFrameGraphNodeBlocksTeleportTeleportInBlock();\n RegisterFrameGraphNodeBlocksTeleportTeleportOutBlock();\n}\n\n/**\n * Registers all texture node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphTexturesBlocks(): void {\n RegisterClearBlock();\n RegisterCopyTextureBlock();\n RegisterGenerateMipmapsBlock();\n RegisterMinMaxReducerBlock();\n}\n\n/**\n * Registers all core (root-level) node render graph blocks for deserialization.\n */\nexport function RegisterNodeRenderGraphCoreBlocks(): void {\n RegisterComputeShaderBlock();\n RegisterCullObjectsBlock();\n RegisterFrameGraphNodeBlocksElbowBlock();\n RegisterExecuteBlock();\n RegisterFrameGraphNodeBlocksInputBlock();\n RegisterLightingVolumeBlock();\n RegisterOutputBlock();\n RegisterResourceContainerBlock();\n}\n\nlet _Registered = false;\n/**\n * Registers all node render graph blocks for deserialization.\n * Call this function when you need to deserialize node render graphs from JSON/snippets.\n *\n * This is the tree-shakeable replacement for:\n * ```ts\n * import \"@babylonjs/core/FrameGraph/Node/Blocks/index\";\n * ```\n */\nexport function RegisterAllNodeRenderGraphBlocks(): void {\n if (_Registered) {\n return;\n }\n _Registered = true;\n\n RegisterNodeRenderGraphLayersBlocks();\n RegisterNodeRenderGraphPostProcessesBlocks();\n RegisterNodeRenderGraphRenderingBlocks();\n RegisterNodeRenderGraphTeleportBlocks();\n RegisterNodeRenderGraphTexturesBlocks();\n RegisterNodeRenderGraphCoreBlocks();\n}\n"]}
@@ -26,6 +26,7 @@ export * from "./PostProcesses/fxaaPostProcessBlock.js";
26
26
  export * from "./PostProcesses/grainPostProcessBlock.js";
27
27
  export * from "./PostProcesses/imageProcessingPostProcessBlock.js";
28
28
  export * from "./PostProcesses/motionBlurPostProcessBlock.js";
29
+ export * from "./PostProcesses/meshBlendingPostProcessBlock.js";
29
30
  export * from "./PostProcesses/passPostProcessBlock.js";
30
31
  export * from "./PostProcesses/sharpenPostProcessBlock.js";
31
32
  export * from "./PostProcesses/screenSpaceCurvaturePostProcessBlock.js";
@@ -45,3 +46,4 @@ export * from "./Teleport/teleportOutBlock.js";
45
46
  export * from "./Textures/clearBlock.js";
46
47
  export * from "./Textures/copyTextureBlock.js";
47
48
  export * from "./Textures/generateMipmapsBlock.js";
49
+ export * from "./Textures/minMaxReducerBlock.js";
@@ -26,6 +26,7 @@ export * from "./PostProcesses/fxaaPostProcessBlock.js";
26
26
  export * from "./PostProcesses/grainPostProcessBlock.js";
27
27
  export * from "./PostProcesses/imageProcessingPostProcessBlock.js";
28
28
  export * from "./PostProcesses/motionBlurPostProcessBlock.js";
29
+ export * from "./PostProcesses/meshBlendingPostProcessBlock.js";
29
30
  export * from "./PostProcesses/passPostProcessBlock.js";
30
31
  export * from "./PostProcesses/sharpenPostProcessBlock.js";
31
32
  export * from "./PostProcesses/screenSpaceCurvaturePostProcessBlock.js";
@@ -45,4 +46,5 @@ export * from "./Teleport/teleportOutBlock.js";
45
46
  export * from "./Textures/clearBlock.js";
46
47
  export * from "./Textures/copyTextureBlock.js";
47
48
  export * from "./Textures/generateMipmapsBlock.js";
49
+ export * from "./Textures/minMaxReducerBlock.js";
48
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oDAAoD,CAAC;AACnE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AACrE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AAExD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC","sourcesContent":["export * from \"./computeShaderBlock\";\r\nexport * from \"./cullObjectsBlock\";\r\nexport * from \"./elbowBlock\";\r\nexport * from \"./executeBlock\";\r\nexport * from \"./inputBlock\";\r\nexport * from \"./lightingVolumeBlock\";\r\nexport * from \"./outputBlock\";\r\nexport * from \"./resourceContainerBlock\";\r\n\r\nexport * from \"./Layers/glowLayerBlock\";\r\nexport * from \"./Layers/highlightLayerBlock\";\r\nexport * from \"./Layers/selectionOutlineLayerBlock\";\r\n\r\nexport * from \"./PostProcesses/anaglyphPostProcessBlock\";\r\nexport * from \"./PostProcesses/basePostProcessBlock\";\r\nexport * from \"./PostProcesses/baseWithPropertiesPostProcessBlock\";\r\nexport * from \"./PostProcesses/blackAndWhitePostProcessBlock\";\r\nexport * from \"./PostProcesses/bloomPostProcessBlock\";\r\nexport * from \"./PostProcesses/blurPostProcessBlock\";\r\nexport * from \"./PostProcesses/chromaticAberrationPostProcessBlock\";\r\nexport * from \"./PostProcesses/circleOfConfusionPostProcessBlock\";\r\nexport * from \"./PostProcesses/colorCorrectionPostProcessBlock\";\r\nexport * from \"./PostProcesses/convolutionPostProcessBlock\";\r\nexport * from \"./PostProcesses/depthOfFieldPostProcessBlock\";\r\nexport * from \"./PostProcesses/extractHighlightsPostProcessBlock\";\r\nexport * from \"./PostProcesses/filterPostProcessBlock\";\r\nexport * from \"./PostProcesses/fxaaPostProcessBlock\";\r\nexport * from \"./PostProcesses/grainPostProcessBlock\";\r\nexport * from \"./PostProcesses/imageProcessingPostProcessBlock\";\r\nexport * from \"./PostProcesses/motionBlurPostProcessBlock\";\r\nexport * from \"./PostProcesses/passPostProcessBlock\";\r\nexport * from \"./PostProcesses/sharpenPostProcessBlock\";\r\nexport * from \"./PostProcesses/screenSpaceCurvaturePostProcessBlock\";\r\nexport * from \"./PostProcesses/ssao2PostProcessBlock\";\r\nexport * from \"./PostProcesses/ssrPostProcessBlock\";\r\nexport * from \"./PostProcesses/taaPostProcessBlock\";\r\nexport * from \"./PostProcesses/tonemapPostProcessBlock\";\r\nexport * from \"./PostProcesses/volumetricLightingBlock\";\r\n\r\nexport * from \"./Rendering/csmShadowGeneratorBlock\";\r\nexport * from \"./Rendering/geometryRendererBlock\";\r\nexport * from \"./Rendering/iblShadowsRendererBlock\";\r\nexport * from \"./Rendering/objectRendererBlock\";\r\nexport * from \"./Rendering/shadowGeneratorBlock\";\r\nexport * from \"./Rendering/utilityLayerRendererBlock\";\r\n\r\nexport * from \"./Teleport/teleportInBlock\";\r\nexport * from \"./Teleport/teleportOutBlock\";\r\n\r\nexport * from \"./Textures/clearBlock\";\r\nexport * from \"./Textures/copyTextureBlock\";\r\nexport * from \"./Textures/generateMipmapsBlock\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oDAAoD,CAAC;AACnE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC;AAClE,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sDAAsD,CAAC;AACrE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AAExD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC","sourcesContent":["export * from \"./computeShaderBlock\";\r\nexport * from \"./cullObjectsBlock\";\r\nexport * from \"./elbowBlock\";\r\nexport * from \"./executeBlock\";\r\nexport * from \"./inputBlock\";\r\nexport * from \"./lightingVolumeBlock\";\r\nexport * from \"./outputBlock\";\r\nexport * from \"./resourceContainerBlock\";\r\n\r\nexport * from \"./Layers/glowLayerBlock\";\r\nexport * from \"./Layers/highlightLayerBlock\";\r\nexport * from \"./Layers/selectionOutlineLayerBlock\";\r\n\r\nexport * from \"./PostProcesses/anaglyphPostProcessBlock\";\r\nexport * from \"./PostProcesses/basePostProcessBlock\";\r\nexport * from \"./PostProcesses/baseWithPropertiesPostProcessBlock\";\r\nexport * from \"./PostProcesses/blackAndWhitePostProcessBlock\";\r\nexport * from \"./PostProcesses/bloomPostProcessBlock\";\r\nexport * from \"./PostProcesses/blurPostProcessBlock\";\r\nexport * from \"./PostProcesses/chromaticAberrationPostProcessBlock\";\r\nexport * from \"./PostProcesses/circleOfConfusionPostProcessBlock\";\r\nexport * from \"./PostProcesses/colorCorrectionPostProcessBlock\";\r\nexport * from \"./PostProcesses/convolutionPostProcessBlock\";\r\nexport * from \"./PostProcesses/depthOfFieldPostProcessBlock\";\r\nexport * from \"./PostProcesses/extractHighlightsPostProcessBlock\";\r\nexport * from \"./PostProcesses/filterPostProcessBlock\";\r\nexport * from \"./PostProcesses/fxaaPostProcessBlock\";\r\nexport * from \"./PostProcesses/grainPostProcessBlock\";\r\nexport * from \"./PostProcesses/imageProcessingPostProcessBlock\";\r\nexport * from \"./PostProcesses/motionBlurPostProcessBlock\";\r\nexport * from \"./PostProcesses/meshBlendingPostProcessBlock\";\r\nexport * from \"./PostProcesses/passPostProcessBlock\";\r\nexport * from \"./PostProcesses/sharpenPostProcessBlock\";\r\nexport * from \"./PostProcesses/screenSpaceCurvaturePostProcessBlock\";\r\nexport * from \"./PostProcesses/ssao2PostProcessBlock\";\r\nexport * from \"./PostProcesses/ssrPostProcessBlock\";\r\nexport * from \"./PostProcesses/taaPostProcessBlock\";\r\nexport * from \"./PostProcesses/tonemapPostProcessBlock\";\r\nexport * from \"./PostProcesses/volumetricLightingBlock\";\r\n\r\nexport * from \"./Rendering/csmShadowGeneratorBlock\";\r\nexport * from \"./Rendering/geometryRendererBlock\";\r\nexport * from \"./Rendering/iblShadowsRendererBlock\";\r\nexport * from \"./Rendering/objectRendererBlock\";\r\nexport * from \"./Rendering/shadowGeneratorBlock\";\r\nexport * from \"./Rendering/utilityLayerRendererBlock\";\r\n\r\nexport * from \"./Teleport/teleportInBlock\";\r\nexport * from \"./Teleport/teleportOutBlock\";\r\n\r\nexport * from \"./Textures/clearBlock\";\r\nexport * from \"./Textures/copyTextureBlock\";\r\nexport * from \"./Textures/generateMipmapsBlock\";\r\nexport * from \"./Textures/minMaxReducerBlock\";\r\n"]}
@@ -50,6 +50,25 @@ let NodeRenderGraphInputBlock = (() => {
50
50
  */
51
51
  setDefaultValue() {
52
52
  switch (this.type) {
53
+ case NodeRenderGraphBlockConnectionPointTypes.TextureMeshBlendTag: {
54
+ const options = {
55
+ size: { width: 100, height: 100 },
56
+ options: {
57
+ createMipMaps: false,
58
+ targetTypes: [3553],
59
+ types: [0],
60
+ formats: [8],
61
+ layerCounts: [0],
62
+ samples: 1,
63
+ useSRGBBuffers: [false],
64
+ creationFlags: [0],
65
+ },
66
+ sizeIsPercentage: true,
67
+ isHistoryTexture: false,
68
+ };
69
+ this.creationOptions = options;
70
+ break;
71
+ }
53
72
  case NodeRenderGraphBlockConnectionPointTypes.Texture:
54
73
  case NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth:
55
74
  case NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth:
@@ -104,7 +123,7 @@ let NodeRenderGraphInputBlock = (() => {
104
123
  break;
105
124
  }
106
125
  case NodeRenderGraphBlockConnectionPointTypes.ObjectList:
107
- this.value = { meshes: null, particleSystems: null };
126
+ this.value = { meshes: null, particleSystems: null, spriteManagers: null };
108
127
  this.isExternal = true;
109
128
  break;
110
129
  case NodeRenderGraphBlockConnectionPointTypes.Camera:
@@ -1 +1 @@
1
- {"version":3,"file":"inputBlock.pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/inputBlock.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport {\r\n type NodeRenderGraphConnectionPoint,\r\n type Scene,\r\n type FrameGraph,\r\n type NodeRenderGraphBuildState,\r\n type Camera,\r\n type InternalTexture,\r\n type Nullable,\r\n type FrameGraphTextureCreationOptions,\r\n type FrameGraphTextureHandle,\r\n type FrameGraphObjectList,\r\n type IShadowLight,\r\n} from \"core/index\";\r\nimport { Observable } from \"../../../Misc/observable.pure\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../Types/nodeRenderGraphTypes\";\r\nimport { NodeRenderGraphBlock } from \"../nodeRenderGraphBlock\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../Decorators/nodeDecorator\";\r\nimport { backbufferColorTextureHandle, backbufferDepthStencilTextureHandle } from \"../../../FrameGraph/frameGraphTypes\";\r\nimport { Constants } from \"../../../Engines/constants\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n\r\nexport type NodeRenderGraphValueType = InternalTexture | Camera | FrameGraphObjectList | IShadowLight;\r\n\r\nexport type NodeRenderGraphInputCreationOptions = FrameGraphTextureCreationOptions;\r\n\r\n/**\r\n * Block used to expose an input value\r\n */\r\nexport class NodeRenderGraphInputBlock extends NodeRenderGraphBlock {\r\n private _storedValue: Nullable<NodeRenderGraphValueType> = null;\r\n private _type: NodeRenderGraphBlockConnectionPointTypes = NodeRenderGraphBlockConnectionPointTypes.Undefined;\r\n\r\n /** Gets an observable raised when the value is changed */\r\n public onValueChangedObservable = new Observable<NodeRenderGraphInputBlock>();\r\n\r\n /** Indicates that the input is externally managed */\r\n @editableInPropertyPage(\"Is external\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public isExternal = false;\r\n\r\n /** Gets or sets the options to create the input value */\r\n public creationOptions: NodeRenderGraphInputCreationOptions;\r\n\r\n /**\r\n * Gets or sets the connection point type (default is Undefined)\r\n */\r\n public get type(): NodeRenderGraphBlockConnectionPointTypes {\r\n return this._type;\r\n }\r\n\r\n /**\r\n * Creates a new NodeRenderGraphInputBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n * @param type defines the type of the input (can be set to NodeRenderGraphBlockConnectionPointTypes.Undefined)\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, type: NodeRenderGraphBlockConnectionPointTypes = NodeRenderGraphBlockConnectionPointTypes.Undefined) {\r\n super(name, frameGraph, scene);\r\n\r\n this._type = type;\r\n this._isInput = true;\r\n this.registerOutput(\"output\", type);\r\n this.setDefaultValue();\r\n }\r\n\r\n /**\r\n * Set the input block to its default value (based on its type)\r\n */\r\n public setDefaultValue() {\r\n switch (this.type) {\r\n case NodeRenderGraphBlockConnectionPointTypes.Texture:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureNormalizedViewDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldNormal:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureVelocity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureIrradiance:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedoSqrt:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureObjectId: {\r\n const options: FrameGraphTextureCreationOptions = {\r\n size: { width: 100, height: 100 },\r\n options: {\r\n createMipMaps: false,\r\n targetTypes: [Constants.TEXTURE_2D],\r\n types: [Constants.TEXTURETYPE_UNSIGNED_BYTE],\r\n formats: [Constants.TEXTUREFORMAT_RGBA],\r\n layerCounts: [0],\r\n samples: 1,\r\n useSRGBBuffers: [false],\r\n creationFlags: [0],\r\n },\r\n sizeIsPercentage: true,\r\n isHistoryTexture: false,\r\n };\r\n this.creationOptions = options;\r\n break;\r\n }\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment: {\r\n const options: FrameGraphTextureCreationOptions = {\r\n size: { width: 100, height: 100 },\r\n options: {\r\n createMipMaps: false,\r\n targetTypes: [Constants.TEXTURE_2D],\r\n types: [Constants.TEXTURETYPE_UNSIGNED_BYTE],\r\n formats: [Constants.TEXTUREFORMAT_DEPTH24_STENCIL8],\r\n layerCounts: [0],\r\n useSRGBBuffers: [false],\r\n creationFlags: [0],\r\n labels: [this.name],\r\n samples: 1,\r\n },\r\n sizeIsPercentage: true,\r\n isHistoryTexture: false,\r\n };\r\n this.creationOptions = options;\r\n break;\r\n }\r\n case NodeRenderGraphBlockConnectionPointTypes.ObjectList:\r\n this.value = { meshes: null, particleSystems: null };\r\n this.isExternal = true;\r\n break;\r\n case NodeRenderGraphBlockConnectionPointTypes.Camera:\r\n this.value = this._scene.cameras[0];\r\n this.isExternal = true;\r\n break;\r\n default:\r\n this.isExternal = true;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets the value of that point.\r\n */\r\n public get value(): Nullable<NodeRenderGraphValueType> {\r\n return this._storedValue;\r\n }\r\n\r\n public set value(value: Nullable<NodeRenderGraphValueType>) {\r\n this._storedValue = value;\r\n this.output.value = undefined;\r\n this.onValueChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Gets the value as a specific type\r\n * @returns the value as a specific type\r\n */\r\n public getTypedValue<T extends NodeRenderGraphValueType>(): T {\r\n return this._storedValue as T;\r\n }\r\n\r\n /**\r\n * Gets the value as an internal texture\r\n * @returns The internal texture stored in value if value is an internal texture, otherwise null\r\n */\r\n public getInternalTextureFromValue(): Nullable<InternalTexture> {\r\n if ((this._storedValue as InternalTexture)._swapAndDie) {\r\n return this._storedValue as InternalTexture;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphInputBlock\";\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Check if the block is a texture of any type\r\n * @returns true if the block is a texture\r\n */\r\n public isAnyTexture(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAll) !== 0;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the connection point is the back buffer texture\r\n * @returns true if the connection point is the back buffer texture\r\n */\r\n public isBackBuffer() {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBuffer) !== 0;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the connection point is a depth/stencil attachment texture\r\n * @returns true if the connection point is a depth/stencil attachment texture\r\n */\r\n public isBackBufferDepthStencilAttachment() {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is a camera\r\n * @returns true if the block is a camera\r\n */\r\n public isCamera(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.Camera) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is an object list\r\n * @returns true if the block is an object list\r\n */\r\n public isObjectList(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ObjectList) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is a shadow light\r\n * @returns true if the block is a shadow light\r\n */\r\n public isShadowLight(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ShadowLight) !== 0;\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n if (this.isExternal) {\r\n if (this.isBackBuffer()) {\r\n this.output.value = backbufferColorTextureHandle;\r\n } else if (this.isBackBufferDepthStencilAttachment()) {\r\n this.output.value = backbufferDepthStencilTextureHandle;\r\n } else if (this.isCamera()) {\r\n this.output.value = this.getTypedValue<Camera>();\r\n } else if (this.isObjectList()) {\r\n this.output.value = this.getTypedValue<FrameGraphObjectList>();\r\n } else if (this.isShadowLight()) {\r\n this.output.value = this.getTypedValue<IShadowLight>();\r\n } else {\r\n if (this._storedValue === undefined || this._storedValue === null) {\r\n throw new Error(`NodeRenderGraphInputBlock: External input \"${this.name}\" is not set`);\r\n }\r\n const texture = this.getInternalTextureFromValue();\r\n if (texture) {\r\n this.output.value = this._frameGraph.textureManager.importTexture(this.name, texture, this.output.value as FrameGraphTextureHandle);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if ((this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer) !== 0) {\r\n const textureCreateOptions = this.creationOptions;\r\n\r\n if (!textureCreateOptions) {\r\n throw new Error(`NodeRenderGraphInputBlock: Creation options are missing for texture \"${this.name}\"`);\r\n }\r\n\r\n this.output.value = this._frameGraph.textureManager.createRenderTargetTexture(this.name, textureCreateOptions);\r\n }\r\n }\r\n\r\n public override dispose() {\r\n this._storedValue = null;\r\n this.onValueChangedObservable.clear();\r\n super.dispose();\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.isExternal = ${this.isExternal};`);\r\n if (this.isAnyTexture()) {\r\n if (!this.isExternal) {\r\n codes.push(`${this._codeVariableName}.creationOptions = ${JSON.stringify(this.creationOptions)};`);\r\n } else {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_TEXTURE; // TODO: set the external texture`);\r\n }\r\n } else if (this.isCamera()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_CAMERA; // TODO: set the external camera`);\r\n } else if (this.isObjectList()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_OBJECT_LIST; // TODO: set the external object list`);\r\n } else if (this.isShadowLight()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_SHADOW_LIGHT; // TODO: set the external shadow light`);\r\n }\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.type = this.type;\r\n serializationObject.isExternal = this.isExternal;\r\n if (this.creationOptions) {\r\n serializationObject.creationOptions = this.creationOptions;\r\n }\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this._type = serializationObject.type;\r\n this.output.type = this._type;\r\n this.isExternal = serializationObject.isExternal;\r\n if (serializationObject.creationOptions) {\r\n if (serializationObject.creationOptions.options.depthTextureFormat !== undefined) {\r\n // Backward compatibility - remove this code in the future\r\n serializationObject.creationOptions.options.formats = [serializationObject.creationOptions.options.depthTextureFormat];\r\n }\r\n this.creationOptions = serializationObject.creationOptions;\r\n }\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Register side effects for frameGraphNodeBlocksInputBlock.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterFrameGraphNodeBlocksInputBlock(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.NodeRenderGraphInputBlock\", NodeRenderGraphInputBlock);\r\n}\r\n"]}
1
+ {"version":3,"file":"inputBlock.pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/inputBlock.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport {\r\n type NodeRenderGraphConnectionPoint,\r\n type Scene,\r\n type FrameGraph,\r\n type NodeRenderGraphBuildState,\r\n type Camera,\r\n type InternalTexture,\r\n type Nullable,\r\n type FrameGraphTextureCreationOptions,\r\n type FrameGraphTextureHandle,\r\n type FrameGraphObjectList,\r\n type IShadowLight,\r\n} from \"core/index\";\r\nimport { Observable } from \"../../../Misc/observable.pure\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../Types/nodeRenderGraphTypes\";\r\nimport { NodeRenderGraphBlock } from \"../nodeRenderGraphBlock\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../Decorators/nodeDecorator\";\r\nimport { backbufferColorTextureHandle, backbufferDepthStencilTextureHandle } from \"../../../FrameGraph/frameGraphTypes\";\r\nimport { Constants } from \"../../../Engines/constants\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n\r\nexport type NodeRenderGraphValueType = InternalTexture | Camera | FrameGraphObjectList | IShadowLight;\r\n\r\nexport type NodeRenderGraphInputCreationOptions = FrameGraphTextureCreationOptions;\r\n\r\n/**\r\n * Block used to expose an input value\r\n */\r\nexport class NodeRenderGraphInputBlock extends NodeRenderGraphBlock {\r\n private _storedValue: Nullable<NodeRenderGraphValueType> = null;\r\n private _type: NodeRenderGraphBlockConnectionPointTypes = NodeRenderGraphBlockConnectionPointTypes.Undefined;\r\n\r\n /** Gets an observable raised when the value is changed */\r\n public onValueChangedObservable = new Observable<NodeRenderGraphInputBlock>();\r\n\r\n /** Indicates that the input is externally managed */\r\n @editableInPropertyPage(\"Is external\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public isExternal = false;\r\n\r\n /** Gets or sets the options to create the input value */\r\n public creationOptions: NodeRenderGraphInputCreationOptions;\r\n\r\n /**\r\n * Gets or sets the connection point type (default is Undefined)\r\n */\r\n public get type(): NodeRenderGraphBlockConnectionPointTypes {\r\n return this._type;\r\n }\r\n\r\n /**\r\n * Creates a new NodeRenderGraphInputBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n * @param type defines the type of the input (can be set to NodeRenderGraphBlockConnectionPointTypes.Undefined)\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, type: NodeRenderGraphBlockConnectionPointTypes = NodeRenderGraphBlockConnectionPointTypes.Undefined) {\r\n super(name, frameGraph, scene);\r\n\r\n this._type = type;\r\n this._isInput = true;\r\n this.registerOutput(\"output\", type);\r\n this.setDefaultValue();\r\n }\r\n\r\n /**\r\n * Set the input block to its default value (based on its type)\r\n */\r\n public setDefaultValue() {\r\n switch (this.type) {\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureMeshBlendTag: {\r\n const options: FrameGraphTextureCreationOptions = {\r\n size: { width: 100, height: 100 },\r\n options: {\r\n createMipMaps: false,\r\n targetTypes: [Constants.TEXTURE_2D],\r\n types: [Constants.TEXTURETYPE_UNSIGNED_BYTE],\r\n formats: [Constants.TEXTUREFORMAT_RED_INTEGER],\r\n layerCounts: [0],\r\n samples: 1,\r\n useSRGBBuffers: [false],\r\n creationFlags: [0],\r\n },\r\n sizeIsPercentage: true,\r\n isHistoryTexture: false,\r\n };\r\n this.creationOptions = options;\r\n break;\r\n }\r\n case NodeRenderGraphBlockConnectionPointTypes.Texture:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureNormalizedViewDepth:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldNormal:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureVelocity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureIrradiance:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedoSqrt:\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureObjectId: {\r\n const options: FrameGraphTextureCreationOptions = {\r\n size: { width: 100, height: 100 },\r\n options: {\r\n createMipMaps: false,\r\n targetTypes: [Constants.TEXTURE_2D],\r\n types: [Constants.TEXTURETYPE_UNSIGNED_BYTE],\r\n formats: [Constants.TEXTUREFORMAT_RGBA],\r\n layerCounts: [0],\r\n samples: 1,\r\n useSRGBBuffers: [false],\r\n creationFlags: [0],\r\n },\r\n sizeIsPercentage: true,\r\n isHistoryTexture: false,\r\n };\r\n this.creationOptions = options;\r\n break;\r\n }\r\n case NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment: {\r\n const options: FrameGraphTextureCreationOptions = {\r\n size: { width: 100, height: 100 },\r\n options: {\r\n createMipMaps: false,\r\n targetTypes: [Constants.TEXTURE_2D],\r\n types: [Constants.TEXTURETYPE_UNSIGNED_BYTE],\r\n formats: [Constants.TEXTUREFORMAT_DEPTH24_STENCIL8],\r\n layerCounts: [0],\r\n useSRGBBuffers: [false],\r\n creationFlags: [0],\r\n labels: [this.name],\r\n samples: 1,\r\n },\r\n sizeIsPercentage: true,\r\n isHistoryTexture: false,\r\n };\r\n this.creationOptions = options;\r\n break;\r\n }\r\n case NodeRenderGraphBlockConnectionPointTypes.ObjectList:\r\n this.value = { meshes: null, particleSystems: null, spriteManagers: null };\r\n this.isExternal = true;\r\n break;\r\n case NodeRenderGraphBlockConnectionPointTypes.Camera:\r\n this.value = this._scene.cameras[0];\r\n this.isExternal = true;\r\n break;\r\n default:\r\n this.isExternal = true;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets the value of that point.\r\n */\r\n public get value(): Nullable<NodeRenderGraphValueType> {\r\n return this._storedValue;\r\n }\r\n\r\n public set value(value: Nullable<NodeRenderGraphValueType>) {\r\n this._storedValue = value;\r\n this.output.value = undefined;\r\n this.onValueChangedObservable.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Gets the value as a specific type\r\n * @returns the value as a specific type\r\n */\r\n public getTypedValue<T extends NodeRenderGraphValueType>(): T {\r\n return this._storedValue as T;\r\n }\r\n\r\n /**\r\n * Gets the value as an internal texture\r\n * @returns The internal texture stored in value if value is an internal texture, otherwise null\r\n */\r\n public getInternalTextureFromValue(): Nullable<InternalTexture> {\r\n if ((this._storedValue as InternalTexture)._swapAndDie) {\r\n return this._storedValue as InternalTexture;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphInputBlock\";\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Check if the block is a texture of any type\r\n * @returns true if the block is a texture\r\n */\r\n public isAnyTexture(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAll) !== 0;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the connection point is the back buffer texture\r\n * @returns true if the connection point is the back buffer texture\r\n */\r\n public isBackBuffer() {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBuffer) !== 0;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the connection point is a depth/stencil attachment texture\r\n * @returns true if the connection point is a depth/stencil attachment texture\r\n */\r\n public isBackBufferDepthStencilAttachment() {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is a camera\r\n * @returns true if the block is a camera\r\n */\r\n public isCamera(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.Camera) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is an object list\r\n * @returns true if the block is an object list\r\n */\r\n public isObjectList(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ObjectList) !== 0;\r\n }\r\n\r\n /**\r\n * Check if the block is a shadow light\r\n * @returns true if the block is a shadow light\r\n */\r\n public isShadowLight(): boolean {\r\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ShadowLight) !== 0;\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n if (this.isExternal) {\r\n if (this.isBackBuffer()) {\r\n this.output.value = backbufferColorTextureHandle;\r\n } else if (this.isBackBufferDepthStencilAttachment()) {\r\n this.output.value = backbufferDepthStencilTextureHandle;\r\n } else if (this.isCamera()) {\r\n this.output.value = this.getTypedValue<Camera>();\r\n } else if (this.isObjectList()) {\r\n this.output.value = this.getTypedValue<FrameGraphObjectList>();\r\n } else if (this.isShadowLight()) {\r\n this.output.value = this.getTypedValue<IShadowLight>();\r\n } else {\r\n if (this._storedValue === undefined || this._storedValue === null) {\r\n throw new Error(`NodeRenderGraphInputBlock: External input \"${this.name}\" is not set`);\r\n }\r\n const texture = this.getInternalTextureFromValue();\r\n if (texture) {\r\n this.output.value = this._frameGraph.textureManager.importTexture(this.name, texture, this.output.value as FrameGraphTextureHandle);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if ((this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer) !== 0) {\r\n const textureCreateOptions = this.creationOptions;\r\n\r\n if (!textureCreateOptions) {\r\n throw new Error(`NodeRenderGraphInputBlock: Creation options are missing for texture \"${this.name}\"`);\r\n }\r\n\r\n this.output.value = this._frameGraph.textureManager.createRenderTargetTexture(this.name, textureCreateOptions);\r\n }\r\n }\r\n\r\n public override dispose() {\r\n this._storedValue = null;\r\n this.onValueChangedObservable.clear();\r\n super.dispose();\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.isExternal = ${this.isExternal};`);\r\n if (this.isAnyTexture()) {\r\n if (!this.isExternal) {\r\n codes.push(`${this._codeVariableName}.creationOptions = ${JSON.stringify(this.creationOptions)};`);\r\n } else {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_TEXTURE; // TODO: set the external texture`);\r\n }\r\n } else if (this.isCamera()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_CAMERA; // TODO: set the external camera`);\r\n } else if (this.isObjectList()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_OBJECT_LIST; // TODO: set the external object list`);\r\n } else if (this.isShadowLight()) {\r\n codes.push(`${this._codeVariableName}.value = EXTERNAL_SHADOW_LIGHT; // TODO: set the external shadow light`);\r\n }\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.type = this.type;\r\n serializationObject.isExternal = this.isExternal;\r\n if (this.creationOptions) {\r\n serializationObject.creationOptions = this.creationOptions;\r\n }\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this._type = serializationObject.type;\r\n this.output.type = this._type;\r\n this.isExternal = serializationObject.isExternal;\r\n if (serializationObject.creationOptions) {\r\n if (serializationObject.creationOptions.options.depthTextureFormat !== undefined) {\r\n // Backward compatibility - remove this code in the future\r\n serializationObject.creationOptions.options.formats = [serializationObject.creationOptions.options.depthTextureFormat];\r\n }\r\n this.creationOptions = serializationObject.creationOptions;\r\n }\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Register side effects for frameGraphNodeBlocksInputBlock.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterFrameGraphNodeBlocksInputBlock(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.NodeRenderGraphInputBlock\", NodeRenderGraphInputBlock);\r\n}\r\n"]}
@@ -27,6 +27,7 @@ export * from "./PostProcesses/fxaaPostProcessBlock.pure.js";
27
27
  export * from "./PostProcesses/grainPostProcessBlock.pure.js";
28
28
  export * from "./PostProcesses/imageProcessingPostProcessBlock.pure.js";
29
29
  export * from "./PostProcesses/motionBlurPostProcessBlock.pure.js";
30
+ export * from "./PostProcesses/meshBlendingPostProcessBlock.pure.js";
30
31
  export * from "./PostProcesses/passPostProcessBlock.pure.js";
31
32
  export * from "./PostProcesses/sharpenPostProcessBlock.pure.js";
32
33
  export * from "./PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js";
@@ -46,6 +47,7 @@ export * from "./Teleport/teleportOutBlock.pure.js";
46
47
  export * from "./Textures/clearBlock.pure.js";
47
48
  export * from "./Textures/copyTextureBlock.pure.js";
48
49
  export * from "./Textures/generateMipmapsBlock.pure.js";
50
+ export * from "./Textures/minMaxReducerBlock.pure.js";
49
51
  export * from "./allBlocks.pure.js";
50
52
  export * from "./Layers/pure.js";
51
53
  export * from "./PostProcesses/pure.js";
@@ -27,6 +27,7 @@ export * from "./PostProcesses/fxaaPostProcessBlock.pure.js";
27
27
  export * from "./PostProcesses/grainPostProcessBlock.pure.js";
28
28
  export * from "./PostProcesses/imageProcessingPostProcessBlock.pure.js";
29
29
  export * from "./PostProcesses/motionBlurPostProcessBlock.pure.js";
30
+ export * from "./PostProcesses/meshBlendingPostProcessBlock.pure.js";
30
31
  export * from "./PostProcesses/passPostProcessBlock.pure.js";
31
32
  export * from "./PostProcesses/sharpenPostProcessBlock.pure.js";
32
33
  export * from "./PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js";
@@ -46,6 +47,7 @@ export * from "./Teleport/teleportOutBlock.pure.js";
46
47
  export * from "./Textures/clearBlock.pure.js";
47
48
  export * from "./Textures/copyTextureBlock.pure.js";
48
49
  export * from "./Textures/generateMipmapsBlock.pure.js";
50
+ export * from "./Textures/minMaxReducerBlock.pure.js";
49
51
  export * from "./allBlocks.pure.js";
50
52
  export * from "./Layers/pure.js";
51
53
  export * from "./PostProcesses/pure.js";