@babylonjs/core 7.32.0 → 7.32.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 (367) hide show
  1. package/Behaviors/Cameras/autoRotationBehavior.js +1 -0
  2. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  3. package/Cameras/camera.d.ts +5 -2
  4. package/Cameras/camera.js +1 -0
  5. package/Cameras/camera.js.map +1 -1
  6. package/Decorators/nodeDecorator.d.ts +9 -1
  7. package/Decorators/nodeDecorator.js +8 -0
  8. package/Decorators/nodeDecorator.js.map +1 -1
  9. package/Engines/Extensions/engine.multiRender.js +40 -53
  10. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  11. package/Engines/Extensions/engine.renderTarget.js +20 -8
  12. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  13. package/Engines/WebGPU/Extensions/engine.debugging.js +16 -7
  14. package/Engines/WebGPU/Extensions/engine.debugging.js.map +1 -1
  15. package/Engines/WebGPU/Extensions/engine.multiRender.js +43 -44
  16. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  17. package/Engines/WebGPU/Extensions/engine.renderTarget.js +8 -6
  18. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  19. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +3 -3
  20. package/Engines/WebGPU/webgpuHardwareTexture.js +12 -9
  21. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  22. package/Engines/WebGPU/webgpuTextureHelper.js +25 -19
  23. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  24. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -1
  25. package/Engines/WebGPU/webgpuTextureManager.js +5 -3
  26. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  27. package/Engines/abstractEngine.d.ts +6 -1
  28. package/Engines/abstractEngine.js +2 -2
  29. package/Engines/abstractEngine.js.map +1 -1
  30. package/Engines/constants.d.ts +6 -1
  31. package/Engines/constants.js +6 -1
  32. package/Engines/constants.js.map +1 -1
  33. package/Engines/renderTargetWrapper.d.ts +7 -0
  34. package/Engines/renderTargetWrapper.js +15 -0
  35. package/Engines/renderTargetWrapper.js.map +1 -1
  36. package/Engines/webgpuEngine.d.ts +3 -1
  37. package/Engines/webgpuEngine.js +9 -8
  38. package/Engines/webgpuEngine.js.map +1 -1
  39. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.d.ts +47 -0
  40. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js +113 -0
  41. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js.map +1 -0
  42. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.d.ts +62 -0
  43. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.js +171 -0
  44. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.js.map +1 -0
  45. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.d.ts +51 -0
  46. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js +127 -0
  47. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js.map +1 -0
  48. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.d.ts +67 -0
  49. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js +187 -0
  50. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js.map +1 -0
  51. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.d.ts +77 -0
  52. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js +232 -0
  53. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js.map +1 -0
  54. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.d.ts +47 -0
  55. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js +113 -0
  56. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js.map +1 -0
  57. package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.d.ts +41 -0
  58. package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.js +79 -0
  59. package/FrameGraph/Node/Blocks/Rendering/cullObjectsBlock.js.map +1 -0
  60. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +119 -0
  61. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +451 -0
  62. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -0
  63. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +63 -0
  64. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +154 -0
  65. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -0
  66. package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.d.ts +59 -0
  67. package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.js +131 -0
  68. package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.js.map +1 -0
  69. package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.d.ts +49 -0
  70. package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.js +107 -0
  71. package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -0
  72. package/FrameGraph/Node/Blocks/Textures/clearBlock.d.ts +50 -0
  73. package/FrameGraph/Node/Blocks/Textures/clearBlock.js +125 -0
  74. package/FrameGraph/Node/Blocks/Textures/clearBlock.js.map +1 -0
  75. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.d.ts +38 -0
  76. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +71 -0
  77. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js.map +1 -0
  78. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.d.ts +34 -0
  79. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js +59 -0
  80. package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.js.map +1 -0
  81. package/FrameGraph/Node/Blocks/elbowBlock.d.ts +28 -0
  82. package/FrameGraph/Node/Blocks/elbowBlock.js +47 -0
  83. package/FrameGraph/Node/Blocks/elbowBlock.js.map +1 -0
  84. package/FrameGraph/Node/Blocks/index.d.ts +17 -0
  85. package/FrameGraph/Node/Blocks/index.js +18 -0
  86. package/FrameGraph/Node/Blocks/index.js.map +1 -0
  87. package/FrameGraph/Node/Blocks/inputBlock.d.ts +94 -0
  88. package/FrameGraph/Node/Blocks/inputBlock.js +270 -0
  89. package/FrameGraph/Node/Blocks/inputBlock.js.map +1 -0
  90. package/FrameGraph/Node/Blocks/outputBlock.d.ts +30 -0
  91. package/FrameGraph/Node/Blocks/outputBlock.js +51 -0
  92. package/FrameGraph/Node/Blocks/outputBlock.js.map +1 -0
  93. package/FrameGraph/Node/Types/nodeRenderGraphTypes.d.ts +110 -0
  94. package/FrameGraph/Node/Types/nodeRenderGraphTypes.js +78 -0
  95. package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -0
  96. package/FrameGraph/Node/nodeRenderGraph.d.ts +196 -0
  97. package/FrameGraph/Node/nodeRenderGraph.js +614 -0
  98. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -0
  99. package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +190 -0
  100. package/FrameGraph/Node/nodeRenderGraphBlock.js +495 -0
  101. package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -0
  102. package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.d.ts +143 -0
  103. package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.js +275 -0
  104. package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.js.map +1 -0
  105. package/FrameGraph/Node/nodeRenderGraphBuildState.d.ts +21 -0
  106. package/FrameGraph/Node/nodeRenderGraphBuildState.js +35 -0
  107. package/FrameGraph/Node/nodeRenderGraphBuildState.js.map +1 -0
  108. package/FrameGraph/Passes/cullPass.d.ts +28 -0
  109. package/FrameGraph/Passes/cullPass.js +38 -0
  110. package/FrameGraph/Passes/cullPass.js.map +1 -0
  111. package/FrameGraph/Passes/pass.d.ts +14 -0
  112. package/FrameGraph/Passes/pass.js +20 -0
  113. package/FrameGraph/Passes/pass.js.map +1 -0
  114. package/FrameGraph/Passes/renderPass.d.ts +49 -0
  115. package/FrameGraph/Passes/renderPass.js +72 -0
  116. package/FrameGraph/Passes/renderPass.js.map +1 -0
  117. package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.d.ts +16 -0
  118. package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js +17 -0
  119. package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js.map +1 -0
  120. package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.d.ts +12 -0
  121. package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js +21 -0
  122. package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js.map +1 -0
  123. package/FrameGraph/Tasks/PostProcesses/bloomTask.d.ts +54 -0
  124. package/FrameGraph/Tasks/PostProcesses/bloomTask.js +114 -0
  125. package/FrameGraph/Tasks/PostProcesses/bloomTask.js.map +1 -0
  126. package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +17 -0
  127. package/FrameGraph/Tasks/PostProcesses/blurTask.js +24 -0
  128. package/FrameGraph/Tasks/PostProcesses/blurTask.js.map +1 -0
  129. package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.d.ts +30 -0
  130. package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js +35 -0
  131. package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js.map +1 -0
  132. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.d.ts +12 -0
  133. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +26 -0
  134. package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -0
  135. package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.d.ts +12 -0
  136. package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js +29 -0
  137. package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js.map +1 -0
  138. package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.d.ts +65 -0
  139. package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js +134 -0
  140. package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js.map +1 -0
  141. package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.d.ts +16 -0
  142. package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js +17 -0
  143. package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js.map +1 -0
  144. package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +41 -0
  145. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +64 -0
  146. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -0
  147. package/FrameGraph/Tasks/Rendering/cullObjectsTask.d.ts +28 -0
  148. package/FrameGraph/Tasks/Rendering/cullObjectsTask.js +52 -0
  149. package/FrameGraph/Tasks/Rendering/cullObjectsTask.js.map +1 -0
  150. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +145 -0
  151. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +259 -0
  152. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -0
  153. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +66 -0
  154. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +127 -0
  155. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -0
  156. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +34 -0
  157. package/FrameGraph/Tasks/Texture/clearTextureTask.js +42 -0
  158. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -0
  159. package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.d.ts +12 -0
  160. package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js +23 -0
  161. package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js.map +1 -0
  162. package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +26 -0
  163. package/FrameGraph/Tasks/Texture/copyToTextureTask.js +31 -0
  164. package/FrameGraph/Tasks/Texture/copyToTextureTask.js.map +1 -0
  165. package/FrameGraph/Tasks/Texture/generateMipMapsTask.d.ts +22 -0
  166. package/FrameGraph/Tasks/Texture/generateMipMapsTask.js +34 -0
  167. package/FrameGraph/Tasks/Texture/generateMipMapsTask.js.map +1 -0
  168. package/FrameGraph/frameGraph.d.ts +143 -0
  169. package/FrameGraph/frameGraph.js +275 -0
  170. package/FrameGraph/frameGraph.js.map +1 -0
  171. package/FrameGraph/frameGraphContext.d.ts +5 -0
  172. package/FrameGraph/frameGraphContext.js +6 -0
  173. package/FrameGraph/frameGraphContext.js.map +1 -0
  174. package/FrameGraph/frameGraphObjectList.d.ts +15 -0
  175. package/FrameGraph/frameGraphObjectList.js +7 -0
  176. package/FrameGraph/frameGraphObjectList.js.map +1 -0
  177. package/FrameGraph/frameGraphRenderContext.d.ts +110 -0
  178. package/FrameGraph/frameGraphRenderContext.js +237 -0
  179. package/FrameGraph/frameGraphRenderContext.js.map +1 -0
  180. package/FrameGraph/frameGraphTask.d.ts +49 -0
  181. package/FrameGraph/frameGraphTask.js +117 -0
  182. package/FrameGraph/frameGraphTask.js.map +1 -0
  183. package/FrameGraph/frameGraphTextureManager.d.ts +50 -0
  184. package/FrameGraph/frameGraphTextureManager.js +277 -0
  185. package/FrameGraph/frameGraphTextureManager.js.map +1 -0
  186. package/FrameGraph/frameGraphTypes.d.ts +59 -0
  187. package/FrameGraph/frameGraphTypes.js +9 -0
  188. package/FrameGraph/frameGraphTypes.js.map +1 -0
  189. package/FrameGraph/index.d.ts +28 -0
  190. package/FrameGraph/index.js +30 -0
  191. package/FrameGraph/index.js.map +1 -0
  192. package/Gamepads/gamepadSceneComponent.d.ts +0 -1
  193. package/Gamepads/gamepadSceneComponent.js +1 -7
  194. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  195. package/Gizmos/boundingBoxGizmo.d.ts +7 -0
  196. package/Gizmos/boundingBoxGizmo.js +19 -6
  197. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  198. package/Inputs/scene.inputManager.d.ts +3 -1
  199. package/Inputs/scene.inputManager.js +20 -8
  200. package/Inputs/scene.inputManager.js.map +1 -1
  201. package/Layers/layer.d.ts +1 -1
  202. package/Layers/layer.js +1 -1
  203. package/Layers/layer.js.map +1 -1
  204. package/Materials/PBR/pbrBaseMaterial.d.ts +4 -0
  205. package/Materials/PBR/pbrBaseMaterial.js +8 -0
  206. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  207. package/Materials/Textures/dynamicTexture.d.ts +32 -2
  208. package/Materials/Textures/dynamicTexture.js +13 -18
  209. package/Materials/Textures/dynamicTexture.js.map +1 -1
  210. package/Materials/Textures/index.d.ts +1 -0
  211. package/Materials/Textures/index.js +1 -0
  212. package/Materials/Textures/index.js.map +1 -1
  213. package/Materials/Textures/mirrorTexture.js +0 -6
  214. package/Materials/Textures/mirrorTexture.js.map +1 -1
  215. package/Materials/Textures/multiRenderTarget.d.ts +20 -8
  216. package/Materials/Textures/multiRenderTarget.js +2 -0
  217. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  218. package/Materials/Textures/renderTargetTexture.d.ts +8 -1
  219. package/Materials/Textures/renderTargetTexture.js +28 -10
  220. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  221. package/Materials/Textures/textureCreationOptions.d.ts +20 -2
  222. package/Materials/Textures/textureCreationOptions.js +20 -1
  223. package/Materials/Textures/textureCreationOptions.js.map +1 -1
  224. package/Materials/effectRenderer.d.ts +132 -14
  225. package/Materials/effectRenderer.js +229 -33
  226. package/Materials/effectRenderer.js.map +1 -1
  227. package/Materials/index.d.ts +1 -0
  228. package/Materials/index.js +1 -0
  229. package/Materials/index.js.map +1 -1
  230. package/Materials/materialHelper.functions.js +2 -0
  231. package/Materials/materialHelper.functions.js.map +1 -1
  232. package/Materials/materialHelper.geometryrendering.d.ts +122 -0
  233. package/Materials/materialHelper.geometryrendering.js +259 -0
  234. package/Materials/materialHelper.geometryrendering.js.map +1 -0
  235. package/Materials/standardMaterial.d.ts +4 -0
  236. package/Materials/standardMaterial.js +8 -0
  237. package/Materials/standardMaterial.js.map +1 -1
  238. package/Maths/index.d.ts +1 -0
  239. package/Maths/index.js +1 -0
  240. package/Maths/index.js.map +1 -1
  241. package/Meshes/Builders/greasedLineBuilder.d.ts +1 -1
  242. package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +22 -1
  243. package/Meshes/Node/Blocks/geometryOptimizeBlock.js +39 -0
  244. package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
  245. package/Misc/copyTextureToTexture.d.ts +3 -2
  246. package/Misc/copyTextureToTexture.js +11 -5
  247. package/Misc/copyTextureToTexture.js.map +1 -1
  248. package/PostProcesses/blackAndWhitePostProcess.d.ts +5 -3
  249. package/PostProcesses/blackAndWhitePostProcess.js +24 -19
  250. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  251. package/PostProcesses/bloomEffect.d.ts +7 -5
  252. package/PostProcesses/bloomEffect.js +49 -23
  253. package/PostProcesses/bloomEffect.js.map +1 -1
  254. package/PostProcesses/bloomMergePostProcess.d.ts +5 -5
  255. package/PostProcesses/bloomMergePostProcess.js +28 -19
  256. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  257. package/PostProcesses/blurPostProcess.d.ts +7 -43
  258. package/PostProcesses/blurPostProcess.js +47 -185
  259. package/PostProcesses/blurPostProcess.js.map +1 -1
  260. package/PostProcesses/circleOfConfusionPostProcess.d.ts +13 -6
  261. package/PostProcesses/circleOfConfusionPostProcess.js +59 -38
  262. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  263. package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +2 -6
  264. package/PostProcesses/depthOfFieldBlurPostProcess.js +14 -11
  265. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  266. package/PostProcesses/depthOfFieldEffect.d.ts +5 -2
  267. package/PostProcesses/depthOfFieldEffect.js +53 -45
  268. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  269. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +0 -1
  270. package/PostProcesses/depthOfFieldMergePostProcess.js +18 -12
  271. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  272. package/PostProcesses/extractHighlightsPostProcess.d.ts +8 -4
  273. package/PostProcesses/extractHighlightsPostProcess.js +35 -22
  274. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  275. package/PostProcesses/index.d.ts +6 -0
  276. package/PostProcesses/index.js +6 -0
  277. package/PostProcesses/index.js.map +1 -1
  278. package/PostProcesses/postProcess.d.ts +15 -70
  279. package/PostProcesses/postProcess.js +80 -97
  280. package/PostProcesses/postProcess.js.map +1 -1
  281. package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +28 -0
  282. package/PostProcesses/thinBlackAndWhitePostProcess.js +50 -0
  283. package/PostProcesses/thinBlackAndWhitePostProcess.js.map +1 -0
  284. package/PostProcesses/thinBloomEffect.d.ts +49 -0
  285. package/PostProcesses/thinBloomEffect.js +59 -0
  286. package/PostProcesses/thinBloomEffect.js.map +1 -0
  287. package/PostProcesses/thinBloomMergePostProcess.d.ts +15 -0
  288. package/PostProcesses/thinBloomMergePostProcess.js +38 -0
  289. package/PostProcesses/thinBloomMergePostProcess.js.map +1 -0
  290. package/PostProcesses/thinBlurPostProcess.d.ts +89 -0
  291. package/PostProcesses/thinBlurPostProcess.js +242 -0
  292. package/PostProcesses/thinBlurPostProcess.js.map +1 -0
  293. package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +62 -0
  294. package/PostProcesses/thinCircleOfConfusionPostProcess.js +81 -0
  295. package/PostProcesses/thinCircleOfConfusionPostProcess.js.map +1 -0
  296. package/PostProcesses/thinDepthOfFieldBlurPostProcess.d.ts +8 -0
  297. package/PostProcesses/thinDepthOfFieldBlurPostProcess.js +13 -0
  298. package/PostProcesses/thinDepthOfFieldBlurPostProcess.js.map +1 -0
  299. package/PostProcesses/thinDepthOfFieldEffect.d.ts +70 -0
  300. package/PostProcesses/thinDepthOfFieldEffect.js +115 -0
  301. package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -0
  302. package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +11 -0
  303. package/PostProcesses/thinDepthOfFieldMergePostProcess.js +30 -0
  304. package/PostProcesses/thinDepthOfFieldMergePostProcess.js.map +1 -0
  305. package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +30 -0
  306. package/PostProcesses/thinExtractHighlightsPostProcess.js +55 -0
  307. package/PostProcesses/thinExtractHighlightsPostProcess.js.map +1 -0
  308. package/Rendering/depthPeelingRenderer.js +2 -2
  309. package/Rendering/depthPeelingRenderer.js.map +1 -1
  310. package/Rendering/fluidRenderer/fluidRenderingObject.js +4 -4
  311. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  312. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +1 -1
  313. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  314. package/Shaders/ShadersInclude/pbrBlockPrePass.d.ts +5 -0
  315. package/Shaders/ShadersInclude/pbrBlockPrePass.js +75 -0
  316. package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -0
  317. package/Shaders/ShadersInclude/prePassVertex.js +1 -2
  318. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  319. package/Shaders/circleOfConfusion.fragment.js +9 -1
  320. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  321. package/Shaders/colorCorrection.fragment.js +1 -0
  322. package/Shaders/colorCorrection.fragment.js.map +1 -1
  323. package/Shaders/default.fragment.js +17 -25
  324. package/Shaders/default.fragment.js.map +1 -1
  325. package/Shaders/default.vertex.js +4 -6
  326. package/Shaders/default.vertex.js.map +1 -1
  327. package/Shaders/pbr.fragment.d.ts +1 -0
  328. package/Shaders/pbr.fragment.js +2 -74
  329. package/Shaders/pbr.fragment.js.map +1 -1
  330. package/Shaders/pbr.vertex.js +3 -3
  331. package/Shaders/pbr.vertex.js.map +1 -1
  332. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.d.ts +5 -0
  333. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +100 -0
  334. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -0
  335. package/ShadersWGSL/ShadersInclude/prePassVertex.js +1 -2
  336. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
  337. package/ShadersWGSL/background.vertex.js +1 -1
  338. package/ShadersWGSL/background.vertex.js.map +1 -1
  339. package/ShadersWGSL/circleOfConfusion.fragment.js +10 -2
  340. package/ShadersWGSL/circleOfConfusion.fragment.js.map +1 -1
  341. package/ShadersWGSL/default.fragment.js +20 -31
  342. package/ShadersWGSL/default.fragment.js.map +1 -1
  343. package/ShadersWGSL/default.vertex.js +4 -5
  344. package/ShadersWGSL/default.vertex.js.map +1 -1
  345. package/ShadersWGSL/glowMapGeneration.fragment.js +1 -1
  346. package/ShadersWGSL/glowMapGeneration.fragment.js.map +1 -1
  347. package/ShadersWGSL/glowMapGeneration.vertex.js +1 -1
  348. package/ShadersWGSL/glowMapGeneration.vertex.js.map +1 -1
  349. package/ShadersWGSL/pbr.fragment.d.ts +1 -0
  350. package/ShadersWGSL/pbr.fragment.js +2 -100
  351. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  352. package/ShadersWGSL/pbr.vertex.js +4 -2
  353. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  354. package/XR/features/WebXRRawCameraAccess.js +1 -1
  355. package/XR/features/WebXRRawCameraAccess.js.map +1 -1
  356. package/index.d.ts +1 -0
  357. package/index.js +1 -0
  358. package/index.js.map +1 -1
  359. package/package.json +1 -1
  360. package/scene.d.ts +19 -2
  361. package/scene.js +110 -13
  362. package/scene.js.map +1 -1
  363. package/sceneComponent.d.ts +0 -1
  364. package/sceneComponent.js +0 -1
  365. package/sceneComponent.js.map +1 -1
  366. package/types.d.ts +12 -0
  367. package/types.js.map +1 -1
@@ -0,0 +1,451 @@
1
+ import { __decorate } from "../../../../tslib.es6.js";
2
+ import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock.js";
3
+ import { RegisterClass } from "../../../../Misc/typeStore.js";
4
+ import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRenderGraphTypes.js";
5
+ import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
6
+ import { FrameGraphGeometryRendererTask } from "../../../Tasks/Rendering/geometryRendererTask.js";
7
+
8
+ /**
9
+ * Block that render geometry of objects to a multi render target
10
+ */
11
+ export class NodeRenderGraphGeometryRendererBlock extends NodeRenderGraphBlock {
12
+ /**
13
+ * Gets the frame graph task associated with this block
14
+ */
15
+ get task() {
16
+ return this._frameGraphTask;
17
+ }
18
+ /**
19
+ * Create a new NodeRenderGraphGeometryRendererBlock
20
+ * @param name defines the block name
21
+ * @param frameGraph defines the hosting frame graph
22
+ * @param scene defines the hosting scene
23
+ */
24
+ constructor(name, frameGraph, scene) {
25
+ super(name, frameGraph, scene);
26
+ // View depth
27
+ this.viewDepthFormat = 6;
28
+ this.viewDepthType = 2;
29
+ // Screen depth
30
+ this.screenDepthFormat = 6;
31
+ this.screenDepthType = 2;
32
+ // View normal
33
+ this.viewNormalFormat = 5;
34
+ this.viewNormalType = 0;
35
+ // World normal
36
+ this.worldNormalFormat = 5;
37
+ this.worldNormalType = 0;
38
+ // Local position
39
+ this.localPositionFormat = 5;
40
+ this.localPositionType = 2;
41
+ // World Position
42
+ this.worldPositionFormat = 5;
43
+ this.worldPositionType = 2;
44
+ // Albedo
45
+ this.albedoFormat = 5;
46
+ this.albedoType = 0;
47
+ // Reflectivity
48
+ this.reflectivityFormat = 5;
49
+ this.reflectivityType = 0;
50
+ // Velocity
51
+ this.velocityFormat = 5;
52
+ this.velocityType = 0;
53
+ // Linear velocity
54
+ this.linearVelocityFormat = 5;
55
+ this.linearVelocityType = 0;
56
+ this.registerInput("depth", NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment, true);
57
+ this.registerInput("camera", NodeRenderGraphBlockConnectionPointTypes.Camera);
58
+ this.registerInput("objects", NodeRenderGraphBlockConnectionPointTypes.ObjectList);
59
+ this.registerOutput("outputDepth", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);
60
+ this.registerOutput("geomViewDepth", NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth);
61
+ this.registerOutput("geomScreenDepth", NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth);
62
+ this.registerOutput("geomViewNormal", NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal);
63
+ this.registerOutput("geomWorldNormal", NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal);
64
+ this.registerOutput("geomLocalPosition", NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition);
65
+ this.registerOutput("geomWorldPosition", NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition);
66
+ this.registerOutput("geomAlbedo", NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo);
67
+ this.registerOutput("geomReflectivity", NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity);
68
+ this.registerOutput("geomVelocity", NodeRenderGraphBlockConnectionPointTypes.TextureVelocity);
69
+ this.registerOutput("geomLinearVelocity", NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity);
70
+ this.depth.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment);
71
+ this.outputDepth._typeConnectionSource = this.depth;
72
+ this._frameGraphTask = new FrameGraphGeometryRendererTask(this.name, frameGraph, scene);
73
+ }
74
+ /** Indicates if depth testing must be enabled or disabled */
75
+ get depthTest() {
76
+ return this._frameGraphTask.depthTest;
77
+ }
78
+ set depthTest(value) {
79
+ this._frameGraphTask.depthTest = value;
80
+ }
81
+ /** Indicates if depth writing must be enabled or disabled */
82
+ get depthWrite() {
83
+ return this._frameGraphTask.depthWrite;
84
+ }
85
+ set depthWrite(value) {
86
+ this._frameGraphTask.depthWrite = value;
87
+ }
88
+ get width() {
89
+ return this._frameGraphTask.size.width;
90
+ }
91
+ set width(value) {
92
+ this._frameGraphTask.size.width = value;
93
+ }
94
+ get height() {
95
+ return this._frameGraphTask.size.height;
96
+ }
97
+ set height(value) {
98
+ this._frameGraphTask.size.height = value;
99
+ }
100
+ get sizeInPercentage() {
101
+ return this._frameGraphTask.sizeIsPercentage;
102
+ }
103
+ set sizeInPercentage(value) {
104
+ this._frameGraphTask.sizeIsPercentage = value;
105
+ }
106
+ get samples() {
107
+ return this._frameGraphTask.samples;
108
+ }
109
+ set samples(value) {
110
+ this._frameGraphTask.samples = value;
111
+ }
112
+ /**
113
+ * Gets the current class name
114
+ * @returns the class name
115
+ */
116
+ getClassName() {
117
+ return "NodeRenderGraphGeometryRendererBlock";
118
+ }
119
+ /**
120
+ * Gets the depth texture input component
121
+ */
122
+ get depth() {
123
+ return this._inputs[0];
124
+ }
125
+ /**
126
+ * Gets the camera input component
127
+ */
128
+ get camera() {
129
+ return this._inputs[1];
130
+ }
131
+ /**
132
+ * Gets the objects input component
133
+ */
134
+ get objects() {
135
+ return this._inputs[2];
136
+ }
137
+ /**
138
+ * Gets the output depth component
139
+ */
140
+ get outputDepth() {
141
+ return this._outputs[0];
142
+ }
143
+ /**
144
+ * Gets the geometry view depth component
145
+ */
146
+ get geomViewDepth() {
147
+ return this._outputs[1];
148
+ }
149
+ /**
150
+ * Gets the geometry screen depth component
151
+ */
152
+ get geomScreenDepth() {
153
+ return this._outputs[2];
154
+ }
155
+ /**
156
+ * Gets the geometry view normal component
157
+ */
158
+ get geomViewNormal() {
159
+ return this._outputs[3];
160
+ }
161
+ /**
162
+ * Gets the world geometry normal component
163
+ */
164
+ get geomWorldNormal() {
165
+ return this._outputs[4];
166
+ }
167
+ /**
168
+ * Gets the geometry local position component
169
+ */
170
+ get geomLocalPosition() {
171
+ return this._outputs[5];
172
+ }
173
+ /**
174
+ * Gets the geometry world position component
175
+ */
176
+ get geomWorldPosition() {
177
+ return this._outputs[6];
178
+ }
179
+ /**
180
+ * Gets the geometry albedo component
181
+ */
182
+ get geomAlbedo() {
183
+ return this._outputs[7];
184
+ }
185
+ /**
186
+ * Gets the geometry reflectivity component
187
+ */
188
+ get geomReflectivity() {
189
+ return this._outputs[8];
190
+ }
191
+ /**
192
+ * Gets the geometry velocity component
193
+ */
194
+ get geomVelocity() {
195
+ return this._outputs[9];
196
+ }
197
+ /**
198
+ * Gets the geometry linear velocity component
199
+ */
200
+ get geomLinearVelocity() {
201
+ return this._outputs[10];
202
+ }
203
+ _buildBlock(state) {
204
+ super._buildBlock(state);
205
+ const textureActivation = [
206
+ this.geomViewDepth.isConnected,
207
+ this.geomScreenDepth.isConnected,
208
+ this.geomViewNormal.isConnected,
209
+ this.geomWorldNormal.isConnected,
210
+ this.geomLocalPosition.isConnected,
211
+ this.geomWorldPosition.isConnected,
212
+ this.geomAlbedo.isConnected,
213
+ this.geomReflectivity.isConnected,
214
+ this.geomVelocity.isConnected,
215
+ this.geomLinearVelocity.isConnected,
216
+ ];
217
+ if (textureActivation.every((t) => !t)) {
218
+ throw new Error("NodeRenderGraphGeometryRendererBlock: At least one output geometry buffer must be connected");
219
+ }
220
+ this._frameGraphTask.name = this.name;
221
+ this.outputDepth.value = this._frameGraphTask.outputDepthTexture;
222
+ this.geomViewDepth.value = this._frameGraphTask.geometryViewDepthTexture;
223
+ this.geomScreenDepth.value = this._frameGraphTask.geometryScreenDepthTexture;
224
+ this.geomViewNormal.value = this._frameGraphTask.geometryViewNormalTexture;
225
+ this.geomWorldNormal.value = this._frameGraphTask.geometryWorldNormalTexture;
226
+ this.geomLocalPosition.value = this._frameGraphTask.geometryLocalPositionTexture;
227
+ this.geomWorldPosition.value = this._frameGraphTask.geometryWorldPositionTexture;
228
+ this.geomAlbedo.value = this._frameGraphTask.geometryAlbedoTexture;
229
+ this.geomReflectivity.value = this._frameGraphTask.geometryReflectivityTexture;
230
+ this.geomVelocity.value = this._frameGraphTask.geometryVelocityTexture;
231
+ this.geomLinearVelocity.value = this._frameGraphTask.geometryLinearVelocityTexture;
232
+ const depthConnectedPoint = this.depth.connectedPoint;
233
+ if (depthConnectedPoint) {
234
+ this._frameGraphTask.depthTexture = depthConnectedPoint.value;
235
+ }
236
+ const cameraConnectedPoint = this.camera.connectedPoint;
237
+ if (cameraConnectedPoint) {
238
+ this._frameGraphTask.camera = cameraConnectedPoint.value;
239
+ }
240
+ const objectsConnectedPoint = this.objects.connectedPoint;
241
+ if (objectsConnectedPoint) {
242
+ this._frameGraphTask.objectList = objectsConnectedPoint.value;
243
+ }
244
+ this._frameGraphTask.textureDescriptions = [];
245
+ const textureFormats = [
246
+ this.viewDepthFormat,
247
+ this.screenDepthFormat,
248
+ this.viewNormalFormat,
249
+ this.worldNormalFormat,
250
+ this.localPositionFormat,
251
+ this.worldPositionFormat,
252
+ this.albedoFormat,
253
+ this.reflectivityFormat,
254
+ this.velocityFormat,
255
+ this.linearVelocityFormat,
256
+ ];
257
+ const textureTypes = [
258
+ this.viewDepthType,
259
+ this.screenDepthType,
260
+ this.viewNormalType,
261
+ this.worldNormalType,
262
+ this.localPositionType,
263
+ this.worldPositionType,
264
+ this.albedoType,
265
+ this.reflectivityType,
266
+ this.velocityType,
267
+ this.linearVelocityType,
268
+ ];
269
+ const bufferTypes = [
270
+ 5,
271
+ 10,
272
+ 6,
273
+ 8,
274
+ 9,
275
+ 1,
276
+ 12,
277
+ 3,
278
+ 2,
279
+ 11,
280
+ ];
281
+ for (let i = 0; i < textureActivation.length; i++) {
282
+ if (textureActivation[i]) {
283
+ this._frameGraphTask.textureDescriptions.push({
284
+ textureFormat: textureFormats[i],
285
+ textureType: textureTypes[i],
286
+ type: bufferTypes[i],
287
+ });
288
+ }
289
+ }
290
+ }
291
+ _dumpPropertiesCode() {
292
+ const codes = [];
293
+ codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);
294
+ codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);
295
+ codes.push(`${this._codeVariableName}.samples = ${this.samples};`);
296
+ codes.push(`${this._codeVariableName}.viewDepthFormat = ${this.viewDepthFormat};`);
297
+ codes.push(`${this._codeVariableName}.viewDepthType = ${this.viewDepthType};`);
298
+ codes.push(`${this._codeVariableName}.screenDepthFormat = ${this.screenDepthFormat};`);
299
+ codes.push(`${this._codeVariableName}.screenDepthType = ${this.screenDepthType};`);
300
+ codes.push(`${this._codeVariableName}.localPositionFormat = ${this.localPositionFormat};`);
301
+ codes.push(`${this._codeVariableName}.localPositionType = ${this.localPositionType};`);
302
+ codes.push(`${this._codeVariableName}.worldPositionFormat = ${this.worldPositionFormat};`);
303
+ codes.push(`${this._codeVariableName}.worldPositionType = ${this.worldPositionType};`);
304
+ codes.push(`${this._codeVariableName}.viewNormalFormat = ${this.viewNormalFormat};`);
305
+ codes.push(`${this._codeVariableName}.viewNormalType = ${this.viewNormalType};`);
306
+ codes.push(`${this._codeVariableName}.worldNormalFormat = ${this.worldNormalFormat};`);
307
+ codes.push(`${this._codeVariableName}.worldNormalType = ${this.worldNormalType};`);
308
+ codes.push(`${this._codeVariableName}.albedoFormat = ${this.albedoFormat};`);
309
+ codes.push(`${this._codeVariableName}.albedoType = ${this.albedoType};`);
310
+ codes.push(`${this._codeVariableName}.reflectivityFormat = ${this.reflectivityFormat};`);
311
+ codes.push(`${this._codeVariableName}.reflectivityType = ${this.reflectivityType};`);
312
+ codes.push(`${this._codeVariableName}.velocityFormat = ${this.velocityFormat};`);
313
+ codes.push(`${this._codeVariableName}.velocityType = ${this.velocityType};`);
314
+ codes.push(`${this._codeVariableName}.linearVelocityFormat = ${this.linearVelocityFormat};`);
315
+ codes.push(`${this._codeVariableName}.linearVelocityType = ${this.linearVelocityType};`);
316
+ return super._dumpPropertiesCode() + codes.join("\n");
317
+ }
318
+ serialize() {
319
+ const serializationObject = super.serialize();
320
+ serializationObject.depthTest = this.depthTest;
321
+ serializationObject.depthWrite = this.depthWrite;
322
+ serializationObject.samples = this.samples;
323
+ serializationObject.viewDepthFormat = this.viewDepthFormat;
324
+ serializationObject.viewDepthType = this.viewDepthType;
325
+ serializationObject.screenDepthFormat = this.screenDepthFormat;
326
+ serializationObject.screenDepthType = this.screenDepthType;
327
+ serializationObject.localPositionFormat = this.localPositionFormat;
328
+ serializationObject.localPositionType = this.localPositionType;
329
+ serializationObject.worldPositionFormat = this.worldPositionFormat;
330
+ serializationObject.worldPositionType = this.worldPositionType;
331
+ serializationObject.viewNormalFormat = this.viewNormalFormat;
332
+ serializationObject.viewNormalType = this.viewNormalType;
333
+ serializationObject.worldNormalFormat = this.worldNormalFormat;
334
+ serializationObject.worldNormalType = this.worldNormalType;
335
+ serializationObject.albedoFormat = this.albedoFormat;
336
+ serializationObject.albedoType = this.albedoType;
337
+ serializationObject.reflectivityFormat = this.reflectivityFormat;
338
+ serializationObject.reflectivityType = this.reflectivityType;
339
+ serializationObject.velocityFormat = this.velocityFormat;
340
+ serializationObject.velocityType = this.velocityType;
341
+ serializationObject.linearVelocityFormat = this.linearVelocityFormat;
342
+ serializationObject.linearVelocityType = this.linearVelocityType;
343
+ return serializationObject;
344
+ }
345
+ _deserialize(serializationObject) {
346
+ super._deserialize(serializationObject);
347
+ this.depthTest = serializationObject.depthTest;
348
+ this.depthWrite = serializationObject.depthWrite;
349
+ this.samples = serializationObject.samples;
350
+ this.viewDepthFormat = serializationObject.viewDepthFormat;
351
+ this.viewDepthType = serializationObject.viewDepthType;
352
+ this.screenDepthFormat = serializationObject.screenDepthFormat;
353
+ this.screenDepthType = serializationObject.screenDepthType;
354
+ this.localPositionFormat = serializationObject.localPositionFormat;
355
+ this.localPositionType = serializationObject.localPositionType;
356
+ this.worldPositionFormat = serializationObject.worldPositionFormat;
357
+ this.worldPositionType = serializationObject.worldPositionType;
358
+ this.viewNormalFormat = serializationObject.viewNormalFormat;
359
+ this.viewNormalType = serializationObject.viewNormalType;
360
+ this.worldNormalFormat = serializationObject.worldNormalFormat;
361
+ this.worldNormalType = serializationObject.worldNormalType;
362
+ this.albedoFormat = serializationObject.albedoFormat;
363
+ this.albedoType = serializationObject.albedoType;
364
+ this.reflectivityFormat = serializationObject.reflectivityFormat;
365
+ this.reflectivityType = serializationObject.reflectivityType;
366
+ this.velocityFormat = serializationObject.velocityFormat;
367
+ this.velocityType = serializationObject.velocityType;
368
+ this.linearVelocityFormat = serializationObject.linearVelocityFormat;
369
+ this.linearVelocityType = serializationObject.linearVelocityType;
370
+ }
371
+ }
372
+ __decorate([
373
+ editableInPropertyPage("Depth test", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
374
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "depthTest", null);
375
+ __decorate([
376
+ editableInPropertyPage("Depth write", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
377
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "depthWrite", null);
378
+ __decorate([
379
+ editableInPropertyPage("Texture width", 2 /* PropertyTypeForEdition.Int */, "PROPERTIES")
380
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "width", null);
381
+ __decorate([
382
+ editableInPropertyPage("Texture height", 2 /* PropertyTypeForEdition.Int */, "PROPERTIES")
383
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "height", null);
384
+ __decorate([
385
+ editableInPropertyPage("Size is in percentage", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
386
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "sizeInPercentage", null);
387
+ __decorate([
388
+ editableInPropertyPage("Samples", 2 /* PropertyTypeForEdition.Int */, "PROPERTIES", { min: 1, max: 8 })
389
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "samples", null);
390
+ __decorate([
391
+ editableInPropertyPage("View depth format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
392
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "viewDepthFormat", void 0);
393
+ __decorate([
394
+ editableInPropertyPage("View depth type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
395
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "viewDepthType", void 0);
396
+ __decorate([
397
+ editableInPropertyPage("Screen depth format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
398
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "screenDepthFormat", void 0);
399
+ __decorate([
400
+ editableInPropertyPage("Screen depth type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
401
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "screenDepthType", void 0);
402
+ __decorate([
403
+ editableInPropertyPage("View normal format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
404
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "viewNormalFormat", void 0);
405
+ __decorate([
406
+ editableInPropertyPage("View normal type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
407
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "viewNormalType", void 0);
408
+ __decorate([
409
+ editableInPropertyPage("World normal format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
410
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "worldNormalFormat", void 0);
411
+ __decorate([
412
+ editableInPropertyPage("World normal type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
413
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "worldNormalType", void 0);
414
+ __decorate([
415
+ editableInPropertyPage("Local position format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
416
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "localPositionFormat", void 0);
417
+ __decorate([
418
+ editableInPropertyPage("Local position type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
419
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "localPositionType", void 0);
420
+ __decorate([
421
+ editableInPropertyPage("World position format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
422
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "worldPositionFormat", void 0);
423
+ __decorate([
424
+ editableInPropertyPage("World position type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
425
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "worldPositionType", void 0);
426
+ __decorate([
427
+ editableInPropertyPage("Albedo format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
428
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "albedoFormat", void 0);
429
+ __decorate([
430
+ editableInPropertyPage("Albedo type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
431
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "albedoType", void 0);
432
+ __decorate([
433
+ editableInPropertyPage("Reflectivity format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
434
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "reflectivityFormat", void 0);
435
+ __decorate([
436
+ editableInPropertyPage("Reflectivity type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
437
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "reflectivityType", void 0);
438
+ __decorate([
439
+ editableInPropertyPage("Velocity format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
440
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "velocityFormat", void 0);
441
+ __decorate([
442
+ editableInPropertyPage("Velocity type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
443
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "velocityType", void 0);
444
+ __decorate([
445
+ editableInPropertyPage("Linear velocity format", 7 /* PropertyTypeForEdition.TextureFormat */, "GEOMETRY BUFFERS")
446
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "linearVelocityFormat", void 0);
447
+ __decorate([
448
+ editableInPropertyPage("Linear velocity type", 8 /* PropertyTypeForEdition.TextureType */, "GEOMETRY BUFFERS")
449
+ ], NodeRenderGraphGeometryRendererBlock.prototype, "linearVelocityType", void 0);
450
+ RegisterClass("BABYLON.NodeRenderGraphGeometryRendererBlock", NodeRenderGraphGeometryRendererBlock);
451
+ //# sourceMappingURL=geometryRendererBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometryRendererBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport type { NodeRenderGraphConnectionPoint, Scene, NodeRenderGraphBuildState, FrameGraph, FrameGraphTextureHandle, FrameGraphObjectList, Camera } from \"core/index\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphGeometryRendererTask } from \"../../../Tasks/Rendering/geometryRendererTask\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\n/**\r\n * Block that render geometry of objects to a multi render target\r\n */\r\nexport class NodeRenderGraphGeometryRendererBlock extends NodeRenderGraphBlock {\r\n protected override _frameGraphTask: FrameGraphGeometryRendererTask;\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 * Create a new NodeRenderGraphGeometryRendererBlock\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 */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this.registerInput(\"depth\", NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment, true);\r\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\r\n this.registerInput(\"objects\", NodeRenderGraphBlockConnectionPointTypes.ObjectList);\r\n\r\n this.registerOutput(\"outputDepth\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\"geomViewDepth\", NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth);\r\n this.registerOutput(\"geomScreenDepth\", NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth);\r\n this.registerOutput(\"geomViewNormal\", NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal);\r\n this.registerOutput(\"geomWorldNormal\", NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal);\r\n this.registerOutput(\"geomLocalPosition\", NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition);\r\n this.registerOutput(\"geomWorldPosition\", NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition);\r\n this.registerOutput(\"geomAlbedo\", NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo);\r\n this.registerOutput(\"geomReflectivity\", NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity);\r\n this.registerOutput(\"geomVelocity\", NodeRenderGraphBlockConnectionPointTypes.TextureVelocity);\r\n this.registerOutput(\"geomLinearVelocity\", NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity);\r\n\r\n this.depth.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment);\r\n\r\n this.outputDepth._typeConnectionSource = this.depth;\r\n\r\n this._frameGraphTask = new FrameGraphGeometryRendererTask(this.name, frameGraph, scene);\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthTest() {\r\n return this._frameGraphTask.depthTest;\r\n }\r\n\r\n public set depthTest(value: boolean) {\r\n this._frameGraphTask.depthTest = value;\r\n }\r\n\r\n /** Indicates if depth writing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth write\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthWrite() {\r\n return this._frameGraphTask.depthWrite;\r\n }\r\n\r\n public set depthWrite(value: boolean) {\r\n this._frameGraphTask.depthWrite = value;\r\n }\r\n\r\n @editableInPropertyPage(\"Texture width\", PropertyTypeForEdition.Int, \"PROPERTIES\")\r\n public get width() {\r\n return this._frameGraphTask.size.width;\r\n }\r\n\r\n public set width(value: number) {\r\n this._frameGraphTask.size.width = value;\r\n }\r\n\r\n @editableInPropertyPage(\"Texture height\", PropertyTypeForEdition.Int, \"PROPERTIES\")\r\n public get height() {\r\n return this._frameGraphTask.size.height;\r\n }\r\n\r\n public set height(value: number) {\r\n this._frameGraphTask.size.height = value;\r\n }\r\n\r\n @editableInPropertyPage(\"Size is in percentage\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get sizeInPercentage() {\r\n return this._frameGraphTask.sizeIsPercentage;\r\n }\r\n\r\n public set sizeInPercentage(value: boolean) {\r\n this._frameGraphTask.sizeIsPercentage = value;\r\n }\r\n\r\n @editableInPropertyPage(\"Samples\", PropertyTypeForEdition.Int, \"PROPERTIES\", { min: 1, max: 8 })\r\n public get samples() {\r\n return this._frameGraphTask.samples;\r\n }\r\n\r\n public set samples(value: number) {\r\n this._frameGraphTask.samples = value;\r\n }\r\n\r\n // View depth\r\n @editableInPropertyPage(\"View depth format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public viewDepthFormat = Constants.TEXTUREFORMAT_RED;\r\n\r\n @editableInPropertyPage(\"View depth type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public viewDepthType = Constants.TEXTURETYPE_HALF_FLOAT;\r\n\r\n // Screen depth\r\n @editableInPropertyPage(\"Screen depth format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public screenDepthFormat = Constants.TEXTUREFORMAT_RED;\r\n\r\n @editableInPropertyPage(\"Screen depth type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public screenDepthType = Constants.TEXTURETYPE_HALF_FLOAT;\r\n\r\n // View normal\r\n @editableInPropertyPage(\"View normal format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public viewNormalFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"View normal type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public viewNormalType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\r\n\r\n // World normal\r\n @editableInPropertyPage(\"World normal format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public worldNormalFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"World normal type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public worldNormalType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\r\n\r\n // Local position\r\n @editableInPropertyPage(\"Local position format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public localPositionFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"Local position type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public localPositionType = Constants.TEXTURETYPE_HALF_FLOAT;\r\n\r\n // World Position\r\n @editableInPropertyPage(\"World position format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public worldPositionFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"World position type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public worldPositionType = Constants.TEXTURETYPE_HALF_FLOAT;\r\n\r\n // Albedo\r\n @editableInPropertyPage(\"Albedo format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public albedoFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"Albedo type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public albedoType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\r\n\r\n // Reflectivity\r\n @editableInPropertyPage(\"Reflectivity format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public reflectivityFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"Reflectivity type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public reflectivityType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\r\n\r\n // Velocity\r\n @editableInPropertyPage(\"Velocity format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public velocityFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"Velocity type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public velocityType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\r\n\r\n // Linear velocity\r\n @editableInPropertyPage(\"Linear velocity format\", PropertyTypeForEdition.TextureFormat, \"GEOMETRY BUFFERS\")\r\n public linearVelocityFormat = Constants.TEXTUREFORMAT_RGBA;\r\n\r\n @editableInPropertyPage(\"Linear velocity type\", PropertyTypeForEdition.TextureType, \"GEOMETRY BUFFERS\")\r\n public linearVelocityType = Constants.TEXTURETYPE_UNSIGNED_BYTE;\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 \"NodeRenderGraphGeometryRendererBlock\";\r\n }\r\n\r\n /**\r\n * Gets the depth texture input component\r\n */\r\n public get depth(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the camera input component\r\n */\r\n public get camera(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the objects input component\r\n */\r\n public get objects(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the output depth component\r\n */\r\n public get outputDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the geometry view depth component\r\n */\r\n public get geomViewDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the geometry screen depth component\r\n */\r\n public get geomScreenDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n /**\r\n * Gets the geometry view normal component\r\n */\r\n public get geomViewNormal(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[3];\r\n }\r\n\r\n /**\r\n * Gets the world geometry normal component\r\n */\r\n public get geomWorldNormal(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[4];\r\n }\r\n\r\n /**\r\n * Gets the geometry local position component\r\n */\r\n public get geomLocalPosition(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[5];\r\n }\r\n\r\n /**\r\n * Gets the geometry world position component\r\n */\r\n public get geomWorldPosition(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[6];\r\n }\r\n\r\n /**\r\n * Gets the geometry albedo component\r\n */\r\n public get geomAlbedo(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[7];\r\n }\r\n\r\n /**\r\n * Gets the geometry reflectivity component\r\n */\r\n public get geomReflectivity(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[8];\r\n }\r\n\r\n /**\r\n * Gets the geometry velocity component\r\n */\r\n public get geomVelocity(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[9];\r\n }\r\n\r\n /**\r\n * Gets the geometry linear velocity component\r\n */\r\n public get geomLinearVelocity(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[10];\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n const textureActivation = [\r\n this.geomViewDepth.isConnected,\r\n this.geomScreenDepth.isConnected,\r\n this.geomViewNormal.isConnected,\r\n this.geomWorldNormal.isConnected,\r\n this.geomLocalPosition.isConnected,\r\n this.geomWorldPosition.isConnected,\r\n this.geomAlbedo.isConnected,\r\n this.geomReflectivity.isConnected,\r\n this.geomVelocity.isConnected,\r\n this.geomLinearVelocity.isConnected,\r\n ];\r\n\r\n if (textureActivation.every((t) => !t)) {\r\n throw new Error(\"NodeRenderGraphGeometryRendererBlock: At least one output geometry buffer must be connected\");\r\n }\r\n\r\n this._frameGraphTask.name = this.name;\r\n\r\n this.outputDepth.value = this._frameGraphTask.outputDepthTexture;\r\n this.geomViewDepth.value = this._frameGraphTask.geometryViewDepthTexture;\r\n this.geomScreenDepth.value = this._frameGraphTask.geometryScreenDepthTexture;\r\n this.geomViewNormal.value = this._frameGraphTask.geometryViewNormalTexture;\r\n this.geomWorldNormal.value = this._frameGraphTask.geometryWorldNormalTexture;\r\n this.geomLocalPosition.value = this._frameGraphTask.geometryLocalPositionTexture;\r\n this.geomWorldPosition.value = this._frameGraphTask.geometryWorldPositionTexture;\r\n this.geomAlbedo.value = this._frameGraphTask.geometryAlbedoTexture;\r\n this.geomReflectivity.value = this._frameGraphTask.geometryReflectivityTexture;\r\n this.geomVelocity.value = this._frameGraphTask.geometryVelocityTexture;\r\n this.geomLinearVelocity.value = this._frameGraphTask.geometryLinearVelocityTexture;\r\n\r\n const depthConnectedPoint = this.depth.connectedPoint;\r\n if (depthConnectedPoint) {\r\n this._frameGraphTask.depthTexture = depthConnectedPoint.value as FrameGraphTextureHandle;\r\n }\r\n\r\n const cameraConnectedPoint = this.camera.connectedPoint;\r\n if (cameraConnectedPoint) {\r\n this._frameGraphTask.camera = cameraConnectedPoint.value as Camera;\r\n }\r\n\r\n const objectsConnectedPoint = this.objects.connectedPoint;\r\n if (objectsConnectedPoint) {\r\n this._frameGraphTask.objectList = objectsConnectedPoint.value as FrameGraphObjectList;\r\n }\r\n\r\n this._frameGraphTask.textureDescriptions = [];\r\n\r\n const textureFormats = [\r\n this.viewDepthFormat,\r\n this.screenDepthFormat,\r\n this.viewNormalFormat,\r\n this.worldNormalFormat,\r\n this.localPositionFormat,\r\n this.worldPositionFormat,\r\n this.albedoFormat,\r\n this.reflectivityFormat,\r\n this.velocityFormat,\r\n this.linearVelocityFormat,\r\n ];\r\n const textureTypes = [\r\n this.viewDepthType,\r\n this.screenDepthType,\r\n this.viewNormalType,\r\n this.worldNormalType,\r\n this.localPositionType,\r\n this.worldPositionType,\r\n this.albedoType,\r\n this.reflectivityType,\r\n this.velocityType,\r\n this.linearVelocityType,\r\n ];\r\n const bufferTypes = [\r\n Constants.PREPASS_DEPTH_TEXTURE_TYPE,\r\n Constants.PREPASS_SCREENSPACE_DEPTH_TEXTURE_TYPE,\r\n Constants.PREPASS_NORMAL_TEXTURE_TYPE,\r\n Constants.PREPASS_WORLD_NORMAL_TEXTURE_TYPE,\r\n Constants.PREPASS_LOCAL_POSITION_TEXTURE_TYPE,\r\n Constants.PREPASS_POSITION_TEXTURE_TYPE,\r\n Constants.PREPASS_ALBEDO_TEXTURE_TYPE,\r\n Constants.PREPASS_REFLECTIVITY_TEXTURE_TYPE,\r\n Constants.PREPASS_VELOCITY_TEXTURE_TYPE,\r\n Constants.PREPASS_VELOCITY_LINEAR_TEXTURE_TYPE,\r\n ];\r\n\r\n for (let i = 0; i < textureActivation.length; i++) {\r\n if (textureActivation[i]) {\r\n this._frameGraphTask.textureDescriptions.push({\r\n textureFormat: textureFormats[i],\r\n textureType: textureTypes[i],\r\n type: bufferTypes[i],\r\n });\r\n }\r\n }\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n codes.push(`${this._codeVariableName}.samples = ${this.samples};`);\r\n codes.push(`${this._codeVariableName}.viewDepthFormat = ${this.viewDepthFormat};`);\r\n codes.push(`${this._codeVariableName}.viewDepthType = ${this.viewDepthType};`);\r\n codes.push(`${this._codeVariableName}.screenDepthFormat = ${this.screenDepthFormat};`);\r\n codes.push(`${this._codeVariableName}.screenDepthType = ${this.screenDepthType};`);\r\n codes.push(`${this._codeVariableName}.localPositionFormat = ${this.localPositionFormat};`);\r\n codes.push(`${this._codeVariableName}.localPositionType = ${this.localPositionType};`);\r\n codes.push(`${this._codeVariableName}.worldPositionFormat = ${this.worldPositionFormat};`);\r\n codes.push(`${this._codeVariableName}.worldPositionType = ${this.worldPositionType};`);\r\n codes.push(`${this._codeVariableName}.viewNormalFormat = ${this.viewNormalFormat};`);\r\n codes.push(`${this._codeVariableName}.viewNormalType = ${this.viewNormalType};`);\r\n codes.push(`${this._codeVariableName}.worldNormalFormat = ${this.worldNormalFormat};`);\r\n codes.push(`${this._codeVariableName}.worldNormalType = ${this.worldNormalType};`);\r\n codes.push(`${this._codeVariableName}.albedoFormat = ${this.albedoFormat};`);\r\n codes.push(`${this._codeVariableName}.albedoType = ${this.albedoType};`);\r\n codes.push(`${this._codeVariableName}.reflectivityFormat = ${this.reflectivityFormat};`);\r\n codes.push(`${this._codeVariableName}.reflectivityType = ${this.reflectivityType};`);\r\n codes.push(`${this._codeVariableName}.velocityFormat = ${this.velocityFormat};`);\r\n codes.push(`${this._codeVariableName}.velocityType = ${this.velocityType};`);\r\n codes.push(`${this._codeVariableName}.linearVelocityFormat = ${this.linearVelocityFormat};`);\r\n codes.push(`${this._codeVariableName}.linearVelocityType = ${this.linearVelocityType};`);\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.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n serializationObject.samples = this.samples;\r\n serializationObject.viewDepthFormat = this.viewDepthFormat;\r\n serializationObject.viewDepthType = this.viewDepthType;\r\n serializationObject.screenDepthFormat = this.screenDepthFormat;\r\n serializationObject.screenDepthType = this.screenDepthType;\r\n serializationObject.localPositionFormat = this.localPositionFormat;\r\n serializationObject.localPositionType = this.localPositionType;\r\n serializationObject.worldPositionFormat = this.worldPositionFormat;\r\n serializationObject.worldPositionType = this.worldPositionType;\r\n serializationObject.viewNormalFormat = this.viewNormalFormat;\r\n serializationObject.viewNormalType = this.viewNormalType;\r\n serializationObject.worldNormalFormat = this.worldNormalFormat;\r\n serializationObject.worldNormalType = this.worldNormalType;\r\n serializationObject.albedoFormat = this.albedoFormat;\r\n serializationObject.albedoType = this.albedoType;\r\n serializationObject.reflectivityFormat = this.reflectivityFormat;\r\n serializationObject.reflectivityType = this.reflectivityType;\r\n serializationObject.velocityFormat = this.velocityFormat;\r\n serializationObject.velocityType = this.velocityType;\r\n serializationObject.linearVelocityFormat = this.linearVelocityFormat;\r\n serializationObject.linearVelocityType = this.linearVelocityType;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n this.samples = serializationObject.samples;\r\n this.viewDepthFormat = serializationObject.viewDepthFormat;\r\n this.viewDepthType = serializationObject.viewDepthType;\r\n this.screenDepthFormat = serializationObject.screenDepthFormat;\r\n this.screenDepthType = serializationObject.screenDepthType;\r\n this.localPositionFormat = serializationObject.localPositionFormat;\r\n this.localPositionType = serializationObject.localPositionType;\r\n this.worldPositionFormat = serializationObject.worldPositionFormat;\r\n this.worldPositionType = serializationObject.worldPositionType;\r\n this.viewNormalFormat = serializationObject.viewNormalFormat;\r\n this.viewNormalType = serializationObject.viewNormalType;\r\n this.worldNormalFormat = serializationObject.worldNormalFormat;\r\n this.worldNormalType = serializationObject.worldNormalType;\r\n this.albedoFormat = serializationObject.albedoFormat;\r\n this.albedoType = serializationObject.albedoType;\r\n this.reflectivityFormat = serializationObject.reflectivityFormat;\r\n this.reflectivityType = serializationObject.reflectivityType;\r\n this.velocityFormat = serializationObject.velocityFormat;\r\n this.velocityType = serializationObject.velocityType;\r\n this.linearVelocityFormat = serializationObject.linearVelocityFormat;\r\n this.linearVelocityType = serializationObject.linearVelocityType;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphGeometryRendererBlock\", NodeRenderGraphGeometryRendererBlock);\r\n"]}
@@ -0,0 +1,63 @@
1
+ import type { NodeRenderGraphConnectionPoint, Scene, NodeRenderGraphBuildState, FrameGraph } from "../../../../index.js";
2
+ import { NodeRenderGraphBlock } from "../../nodeRenderGraphBlock";
3
+ import { FrameGraphObjectRendererTask } from "../../../Tasks/Rendering/objectRendererTask";
4
+ /**
5
+ * Block that render objects to a render target
6
+ */
7
+ export declare class NodeRenderGraphObjectRendererBlock extends NodeRenderGraphBlock {
8
+ protected _frameGraphTask: FrameGraphObjectRendererTask;
9
+ /**
10
+ * Gets the frame graph task associated with this block
11
+ */
12
+ get task(): FrameGraphObjectRendererTask;
13
+ /**
14
+ * Create a new NodeRenderGraphObjectRendererBlock
15
+ * @param name defines the block name
16
+ * @param frameGraph defines the hosting frame graph
17
+ * @param scene defines the hosting scene
18
+ */
19
+ constructor(name: string, frameGraph: FrameGraph, scene: Scene);
20
+ /** Indicates if depth testing must be enabled or disabled */
21
+ get depthTest(): boolean;
22
+ set depthTest(value: boolean);
23
+ /** Indicates if depth writing must be enabled or disabled */
24
+ get depthWrite(): boolean;
25
+ set depthWrite(value: boolean);
26
+ /**
27
+ * Gets the current class name
28
+ * @returns the class name
29
+ */
30
+ getClassName(): string;
31
+ /**
32
+ * Gets the destination texture input component
33
+ */
34
+ get destination(): NodeRenderGraphConnectionPoint;
35
+ /**
36
+ * Gets the depth texture input component
37
+ */
38
+ get depth(): NodeRenderGraphConnectionPoint;
39
+ /**
40
+ * Gets the camera input component
41
+ */
42
+ get camera(): NodeRenderGraphConnectionPoint;
43
+ /**
44
+ * Gets the objects input component
45
+ */
46
+ get objects(): NodeRenderGraphConnectionPoint;
47
+ /**
48
+ * Gets the dependencies input component
49
+ */
50
+ get dependencies(): NodeRenderGraphConnectionPoint;
51
+ /**
52
+ * Gets the output component
53
+ */
54
+ get output(): NodeRenderGraphConnectionPoint;
55
+ /**
56
+ * Gets the output depth component
57
+ */
58
+ get outputDepth(): NodeRenderGraphConnectionPoint;
59
+ protected _buildBlock(state: NodeRenderGraphBuildState): void;
60
+ protected _dumpPropertiesCode(): string;
61
+ serialize(): any;
62
+ _deserialize(serializationObject: any): void;
63
+ }