@babylonjs/core 6.14.2 → 6.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1070) hide show
  1. package/Actions/actionManager.js +8 -3
  2. package/Actions/actionManager.js.map +1 -1
  3. package/Behaviors/Cameras/framingBehavior.d.ts +2 -1
  4. package/Behaviors/Cameras/framingBehavior.js +3 -1
  5. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  6. package/Bones/skeleton.js +1 -0
  7. package/Bones/skeleton.js.map +1 -1
  8. package/Compute/computeEffect.js +1 -1
  9. package/Compute/computeEffect.js.map +1 -1
  10. package/{Materials/Node/nodeMaterialDecorator.d.ts → Decorators/nodeDecorator.d.ts} +6 -7
  11. package/{Materials/Node/nodeMaterialDecorator.js → Decorators/nodeDecorator.js} +3 -3
  12. package/Decorators/nodeDecorator.js.map +1 -0
  13. package/Engines/Processors/shaderCodeNode.js +1 -1
  14. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  15. package/Engines/WebGL/webGL2ShaderProcessors.js +2 -1
  16. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  17. package/Engines/WebGPU/webgpuShaderProcessor.js +3 -0
  18. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  19. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +11 -10
  20. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  21. package/Engines/WebGPU/webgpuTextureHelper.js +3 -3
  22. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  23. package/Engines/nativeEngine.js +5 -4
  24. package/Engines/nativeEngine.js.map +1 -1
  25. package/Engines/thinEngine.d.ts +2 -0
  26. package/Engines/thinEngine.js +35 -4
  27. package/Engines/thinEngine.js.map +1 -1
  28. package/Engines/webgpuEngine.js +12 -2
  29. package/Engines/webgpuEngine.js.map +1 -1
  30. package/FlowGraph/Blocks/Data/flowGraphBinaryOpBlocks.d.ts +34 -0
  31. package/FlowGraph/Blocks/Data/flowGraphBinaryOpBlocks.js +29 -0
  32. package/FlowGraph/Blocks/Data/flowGraphBinaryOpBlocks.js.map +1 -0
  33. package/FlowGraph/Blocks/Data/index.d.ts +1 -0
  34. package/FlowGraph/Blocks/Data/index.js +2 -0
  35. package/FlowGraph/Blocks/Data/index.js.map +1 -0
  36. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +23 -0
  37. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +51 -0
  38. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -0
  39. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +20 -0
  40. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +29 -0
  41. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -0
  42. package/FlowGraph/Blocks/Event/index.d.ts +2 -0
  43. package/FlowGraph/Blocks/Event/index.js +3 -0
  44. package/FlowGraph/Blocks/Event/index.js.map +1 -0
  45. package/FlowGraph/Blocks/Execution/flowGraphForLoopBlock.d.ts +43 -0
  46. package/FlowGraph/Blocks/Execution/flowGraphForLoopBlock.js +40 -0
  47. package/FlowGraph/Blocks/Execution/flowGraphForLoopBlock.js.map +1 -0
  48. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.d.ts +18 -0
  49. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js +21 -0
  50. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +1 -0
  51. package/FlowGraph/Blocks/Execution/index.d.ts +2 -0
  52. package/FlowGraph/Blocks/Execution/index.js +3 -0
  53. package/FlowGraph/Blocks/Execution/index.js.map +1 -0
  54. package/FlowGraph/Blocks/index.d.ts +3 -0
  55. package/FlowGraph/Blocks/index.js +5 -0
  56. package/FlowGraph/Blocks/index.js.map +1 -0
  57. package/FlowGraph/flowGraph.d.ts +34 -0
  58. package/FlowGraph/flowGraph.js +54 -0
  59. package/FlowGraph/flowGraph.js.map +1 -0
  60. package/FlowGraph/flowGraphBlock.d.ts +33 -0
  61. package/FlowGraph/flowGraphBlock.js +39 -0
  62. package/FlowGraph/flowGraphBlock.js.map +1 -0
  63. package/FlowGraph/flowGraphConnection.d.ts +38 -0
  64. package/FlowGraph/flowGraphConnection.js +40 -0
  65. package/FlowGraph/flowGraphConnection.js.map +1 -0
  66. package/FlowGraph/flowGraphDataConnection.d.ts +15 -0
  67. package/FlowGraph/flowGraphDataConnection.js +30 -0
  68. package/FlowGraph/flowGraphDataConnection.js.map +1 -0
  69. package/FlowGraph/flowGraphEventBlock.d.ts +20 -0
  70. package/FlowGraph/flowGraphEventBlock.js +15 -0
  71. package/FlowGraph/flowGraphEventBlock.js.map +1 -0
  72. package/FlowGraph/flowGraphExecutionBlock.d.ts +24 -0
  73. package/FlowGraph/flowGraphExecutionBlock.js +27 -0
  74. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -0
  75. package/FlowGraph/flowGraphSignalConnection.d.ts +14 -0
  76. package/FlowGraph/flowGraphSignalConnection.js +22 -0
  77. package/FlowGraph/flowGraphSignalConnection.js.map +1 -0
  78. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +7 -0
  79. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +8 -0
  80. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -0
  81. package/FlowGraph/index.d.ts +6 -0
  82. package/FlowGraph/index.js +8 -0
  83. package/FlowGraph/index.js.map +1 -0
  84. package/Gizmos/lightGizmo.d.ts +5 -0
  85. package/Gizmos/lightGizmo.js +21 -7
  86. package/Gizmos/lightGizmo.js.map +1 -1
  87. package/Gizmos/planeRotationGizmo.d.ts +6 -0
  88. package/Gizmos/planeRotationGizmo.js +5 -1
  89. package/Gizmos/planeRotationGizmo.js.map +1 -1
  90. package/Gizmos/rotationGizmo.d.ts +8 -0
  91. package/Gizmos/rotationGizmo.js +15 -0
  92. package/Gizmos/rotationGizmo.js.map +1 -1
  93. package/Layers/layer.js +1 -1
  94. package/Layers/layer.js.map +1 -1
  95. package/Lights/Shadows/cascadedShadowGenerator.d.ts +2 -1
  96. package/Lights/Shadows/cascadedShadowGenerator.js +4 -3
  97. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  98. package/Lights/Shadows/shadowGenerator.d.ts +3 -1
  99. package/Lights/Shadows/shadowGenerator.js +4 -2
  100. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  101. package/Lights/directionalLight.d.ts +1 -1
  102. package/Lights/directionalLight.js.map +1 -1
  103. package/Lights/hemisphericLight.d.ts +1 -1
  104. package/Lights/hemisphericLight.js.map +1 -1
  105. package/Lights/light.d.ts +1 -1
  106. package/Lights/light.js.map +1 -1
  107. package/Lights/pointLight.d.ts +1 -1
  108. package/Lights/pointLight.js.map +1 -1
  109. package/Lights/spotLight.d.ts +1 -1
  110. package/Lights/spotLight.js.map +1 -1
  111. package/Loading/sceneLoader.js +2 -0
  112. package/Loading/sceneLoader.js.map +1 -1
  113. package/Materials/Node/Blocks/Dual/currentScreenBlock.js +13 -13
  114. package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
  115. package/Materials/Node/Blocks/Dual/fogBlock.js +6 -6
  116. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  117. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +11 -11
  118. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  119. package/Materials/Node/Blocks/Dual/lightBlock.js +16 -16
  120. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  121. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +27 -27
  122. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  123. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +1 -1
  124. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
  125. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +8 -8
  126. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  127. package/Materials/Node/Blocks/Dual/textureBlock.js +28 -28
  128. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  129. package/Materials/Node/Blocks/Fragment/TBNBlock.js +3 -5
  130. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  131. package/Materials/Node/Blocks/Fragment/derivativeBlock.js +2 -2
  132. package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
  133. package/Materials/Node/Blocks/Fragment/discardBlock.js +1 -1
  134. package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
  135. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +1 -1
  136. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
  137. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js +1 -1
  138. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js.map +1 -1
  139. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +15 -15
  140. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  141. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +1 -1
  142. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
  143. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +6 -6
  144. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
  145. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +13 -13
  146. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  147. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +13 -13
  148. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  149. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +1 -1
  150. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  151. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +5 -5
  152. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
  153. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js +7 -7
  154. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
  155. package/Materials/Node/Blocks/Fragment/twirlBlock.js +3 -3
  156. package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -1
  157. package/Materials/Node/Blocks/Input/inputBlock.js +11 -11
  158. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  159. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +6 -6
  160. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  161. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +9 -9
  162. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  163. package/Materials/Node/Blocks/PBR/iridescenceBlock.js +1 -1
  164. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
  165. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +47 -47
  166. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  167. package/Materials/Node/Blocks/PBR/reflectionBlock.js +9 -9
  168. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  169. package/Materials/Node/Blocks/PBR/refractionBlock.js +14 -14
  170. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  171. package/Materials/Node/Blocks/PBR/sheenBlock.js +4 -4
  172. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  173. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +1 -1
  174. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  175. package/Materials/Node/Blocks/Particle/particleTextureBlock.js +8 -8
  176. package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
  177. package/Materials/Node/Blocks/Teleport/index.d.ts +2 -0
  178. package/Materials/Node/Blocks/Teleport/index.js +3 -0
  179. package/Materials/Node/Blocks/Teleport/index.js.map +1 -0
  180. package/Materials/Node/Blocks/Teleport/teleportInBlock.d.ts +42 -0
  181. package/Materials/Node/Blocks/Teleport/teleportInBlock.js +83 -0
  182. package/Materials/Node/Blocks/Teleport/teleportInBlock.js.map +1 -0
  183. package/Materials/Node/Blocks/Teleport/teleportOutBlock.d.ts +59 -0
  184. package/Materials/Node/Blocks/Teleport/teleportOutBlock.js +122 -0
  185. package/Materials/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -0
  186. package/Materials/Node/Blocks/Vertex/bonesBlock.js +5 -5
  187. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  188. package/Materials/Node/Blocks/Vertex/instancesBlock.js +11 -11
  189. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  190. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +11 -11
  191. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
  192. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +39 -39
  193. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  194. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +3 -3
  195. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  196. package/Materials/Node/Blocks/addBlock.js +1 -1
  197. package/Materials/Node/Blocks/addBlock.js.map +1 -1
  198. package/Materials/Node/Blocks/arcTan2Block.js +1 -1
  199. package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
  200. package/Materials/Node/Blocks/clampBlock.js +4 -4
  201. package/Materials/Node/Blocks/clampBlock.js.map +1 -1
  202. package/Materials/Node/Blocks/cloudBlock.js +7 -7
  203. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  204. package/Materials/Node/Blocks/colorMergerBlock.js +8 -8
  205. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  206. package/Materials/Node/Blocks/colorSplitterBlock.js +5 -5
  207. package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
  208. package/Materials/Node/Blocks/conditionalBlock.js +10 -10
  209. package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
  210. package/Materials/Node/Blocks/crossBlock.js +1 -1
  211. package/Materials/Node/Blocks/crossBlock.js.map +1 -1
  212. package/Materials/Node/Blocks/curveBlock.js +5 -5
  213. package/Materials/Node/Blocks/curveBlock.js.map +1 -1
  214. package/Materials/Node/Blocks/customBlock.js +4 -4
  215. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  216. package/Materials/Node/Blocks/desaturateBlock.js +4 -4
  217. package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
  218. package/Materials/Node/Blocks/distanceBlock.js +1 -1
  219. package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
  220. package/Materials/Node/Blocks/divideBlock.js +1 -1
  221. package/Materials/Node/Blocks/divideBlock.js.map +1 -1
  222. package/Materials/Node/Blocks/dotBlock.js +1 -1
  223. package/Materials/Node/Blocks/dotBlock.js.map +1 -1
  224. package/Materials/Node/Blocks/elbowBlock.js +1 -1
  225. package/Materials/Node/Blocks/elbowBlock.js.map +1 -1
  226. package/Materials/Node/Blocks/fresnelBlock.js +1 -1
  227. package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
  228. package/Materials/Node/Blocks/gradientBlock.js +8 -8
  229. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  230. package/Materials/Node/Blocks/index.d.ts +1 -0
  231. package/Materials/Node/Blocks/index.js +1 -0
  232. package/Materials/Node/Blocks/index.js.map +1 -1
  233. package/Materials/Node/Blocks/lengthBlock.js +1 -1
  234. package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
  235. package/Materials/Node/Blocks/lerpBlock.js +1 -1
  236. package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
  237. package/Materials/Node/Blocks/matrixBuilderBlock.js +1 -1
  238. package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
  239. package/Materials/Node/Blocks/matrixDeterminantBlock.js +1 -1
  240. package/Materials/Node/Blocks/matrixDeterminantBlock.js.map +1 -1
  241. package/Materials/Node/Blocks/matrixTransposeBlock.js +1 -1
  242. package/Materials/Node/Blocks/matrixTransposeBlock.js.map +1 -1
  243. package/Materials/Node/Blocks/maxBlock.js +1 -1
  244. package/Materials/Node/Blocks/maxBlock.js.map +1 -1
  245. package/Materials/Node/Blocks/meshAttributeExistsBlock.js +7 -7
  246. package/Materials/Node/Blocks/meshAttributeExistsBlock.js.map +1 -1
  247. package/Materials/Node/Blocks/minBlock.js +1 -1
  248. package/Materials/Node/Blocks/minBlock.js.map +1 -1
  249. package/Materials/Node/Blocks/modBlock.js +1 -1
  250. package/Materials/Node/Blocks/modBlock.js.map +1 -1
  251. package/Materials/Node/Blocks/multiplyBlock.js +1 -1
  252. package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
  253. package/Materials/Node/Blocks/nLerpBlock.js +1 -1
  254. package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
  255. package/Materials/Node/Blocks/negateBlock.js +1 -1
  256. package/Materials/Node/Blocks/negateBlock.js.map +1 -1
  257. package/Materials/Node/Blocks/normalBlendBlock.js +6 -6
  258. package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
  259. package/Materials/Node/Blocks/normalizeBlock.js +1 -1
  260. package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
  261. package/Materials/Node/Blocks/oneMinusBlock.js +1 -1
  262. package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
  263. package/Materials/Node/Blocks/posterizeBlock.js +1 -1
  264. package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
  265. package/Materials/Node/Blocks/powBlock.js +1 -1
  266. package/Materials/Node/Blocks/powBlock.js.map +1 -1
  267. package/Materials/Node/Blocks/randomNumberBlock.js +1 -1
  268. package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
  269. package/Materials/Node/Blocks/reciprocalBlock.js +2 -2
  270. package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
  271. package/Materials/Node/Blocks/reflectBlock.js +1 -1
  272. package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
  273. package/Materials/Node/Blocks/refractBlock.js +1 -1
  274. package/Materials/Node/Blocks/refractBlock.js.map +1 -1
  275. package/Materials/Node/Blocks/remapBlock.js +4 -4
  276. package/Materials/Node/Blocks/remapBlock.js.map +1 -1
  277. package/Materials/Node/Blocks/replaceColorBlock.js +6 -6
  278. package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
  279. package/Materials/Node/Blocks/rotate2dBlock.js +1 -1
  280. package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
  281. package/Materials/Node/Blocks/scaleBlock.js +1 -1
  282. package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
  283. package/Materials/Node/Blocks/simplexPerlin3DBlock.js +41 -41
  284. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  285. package/Materials/Node/Blocks/smoothStepBlock.js +1 -1
  286. package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
  287. package/Materials/Node/Blocks/stepBlock.js +1 -1
  288. package/Materials/Node/Blocks/stepBlock.js.map +1 -1
  289. package/Materials/Node/Blocks/subtractBlock.js +1 -1
  290. package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
  291. package/Materials/Node/Blocks/transformBlock.js +13 -14
  292. package/Materials/Node/Blocks/transformBlock.js.map +1 -1
  293. package/Materials/Node/Blocks/triPlanarBlock.js +17 -17
  294. package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
  295. package/Materials/Node/Blocks/trigonometryBlock.js +2 -2
  296. package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
  297. package/Materials/Node/Blocks/vectorMergerBlock.js +22 -22
  298. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  299. package/Materials/Node/Blocks/vectorSplitterBlock.js +8 -8
  300. package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
  301. package/Materials/Node/Blocks/viewDirectionBlock.js +1 -1
  302. package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
  303. package/Materials/Node/Blocks/voronoiNoiseBlock.js +5 -5
  304. package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -1
  305. package/Materials/Node/Blocks/waveBlock.js +3 -4
  306. package/Materials/Node/Blocks/waveBlock.js.map +1 -1
  307. package/Materials/Node/Blocks/worleyNoise3DBlock.js +155 -155
  308. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  309. package/Materials/Node/index.d.ts +1 -1
  310. package/Materials/Node/index.js +1 -1
  311. package/Materials/Node/index.js.map +1 -1
  312. package/Materials/Node/nodeMaterial.d.ts +1 -0
  313. package/Materials/Node/nodeMaterial.js +50 -15
  314. package/Materials/Node/nodeMaterial.js.map +1 -1
  315. package/Materials/Node/nodeMaterialBlock.d.ts +14 -2
  316. package/Materials/Node/nodeMaterialBlock.js +34 -11
  317. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  318. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +1 -1
  319. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  320. package/Materials/Node/nodeMaterialBuildState.js +36 -36
  321. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  322. package/Materials/Node/nodeMaterialBuildStateSharedData.js +4 -4
  323. package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
  324. package/Materials/Textures/Filtering/hdrFiltering.js +1 -0
  325. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  326. package/Materials/effect.js +1 -1
  327. package/Materials/effect.js.map +1 -1
  328. package/Materials/effectRenderer.d.ts +4 -0
  329. package/Materials/effectRenderer.js +8 -2
  330. package/Materials/effectRenderer.js.map +1 -1
  331. package/Materials/greasedLinePluginMaterial.d.ts +4 -0
  332. package/Materials/greasedLinePluginMaterial.js +12 -1
  333. package/Materials/greasedLinePluginMaterial.js.map +1 -1
  334. package/Materials/materialPluginManager.js +5 -5
  335. package/Materials/materialPluginManager.js.map +1 -1
  336. package/Materials/meshDebugPluginMaterial.d.ts +4 -15
  337. package/Materials/meshDebugPluginMaterial.js +8 -29
  338. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  339. package/Materials/shadowDepthWrapper.js +5 -5
  340. package/Materials/shadowDepthWrapper.js.map +1 -1
  341. package/Meshes/Builders/boxBuilder.d.ts +31 -0
  342. package/Meshes/Builders/boxBuilder.js +65 -1
  343. package/Meshes/Builders/boxBuilder.js.map +1 -1
  344. package/Meshes/Builders/capsuleBuilder.js +3 -3
  345. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  346. package/Meshes/Builders/cylinderBuilder.js +2 -2
  347. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  348. package/Meshes/Builders/groundBuilder.js +2 -2
  349. package/Meshes/Builders/groundBuilder.js.map +1 -1
  350. package/Meshes/Builders/icoSphereBuilder.js +1 -1
  351. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  352. package/Meshes/Builders/linesBuilder.d.ts +1 -1
  353. package/Meshes/Builders/linesBuilder.js +1 -1
  354. package/Meshes/Builders/linesBuilder.js.map +1 -1
  355. package/Meshes/Builders/sphereBuilder.js +1 -1
  356. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  357. package/Meshes/Builders/torusBuilder.js +1 -1
  358. package/Meshes/Builders/torusBuilder.js.map +1 -1
  359. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.d.ts +85 -0
  360. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js +210 -0
  361. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js.map +1 -0
  362. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.d.ts +68 -0
  363. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js +186 -0
  364. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -0
  365. package/Meshes/Node/Blocks/IntFloatConverterBlock.d.ts +35 -0
  366. package/Meshes/Node/Blocks/IntFloatConverterBlock.js +81 -0
  367. package/Meshes/Node/Blocks/IntFloatConverterBlock.js.map +1 -0
  368. package/Meshes/Node/Blocks/Matrices/alignBlock.d.ts +31 -0
  369. package/Meshes/Node/Blocks/Matrices/alignBlock.js +58 -0
  370. package/Meshes/Node/Blocks/Matrices/alignBlock.js.map +1 -0
  371. package/Meshes/Node/Blocks/Matrices/rotationXBlock.d.ts +28 -0
  372. package/Meshes/Node/Blocks/Matrices/rotationXBlock.js +53 -0
  373. package/Meshes/Node/Blocks/Matrices/rotationXBlock.js.map +1 -0
  374. package/Meshes/Node/Blocks/Matrices/rotationYBlock.d.ts +28 -0
  375. package/Meshes/Node/Blocks/Matrices/rotationYBlock.js +53 -0
  376. package/Meshes/Node/Blocks/Matrices/rotationYBlock.js.map +1 -0
  377. package/Meshes/Node/Blocks/Matrices/rotationZBlock.d.ts +28 -0
  378. package/Meshes/Node/Blocks/Matrices/rotationZBlock.js +53 -0
  379. package/Meshes/Node/Blocks/Matrices/rotationZBlock.js.map +1 -0
  380. package/Meshes/Node/Blocks/Matrices/scalingBlock.d.ts +28 -0
  381. package/Meshes/Node/Blocks/Matrices/scalingBlock.js +54 -0
  382. package/Meshes/Node/Blocks/Matrices/scalingBlock.js.map +1 -0
  383. package/Meshes/Node/Blocks/Matrices/translationBlock.d.ts +28 -0
  384. package/Meshes/Node/Blocks/Matrices/translationBlock.js +54 -0
  385. package/Meshes/Node/Blocks/Matrices/translationBlock.js.map +1 -0
  386. package/Meshes/Node/Blocks/Set/setColorsBlock.d.ts +44 -0
  387. package/Meshes/Node/Blocks/Set/setColorsBlock.js +91 -0
  388. package/Meshes/Node/Blocks/Set/setColorsBlock.js.map +1 -0
  389. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.d.ts +36 -0
  390. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js +84 -0
  391. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js.map +1 -0
  392. package/Meshes/Node/Blocks/Set/setNormalsBlock.d.ts +44 -0
  393. package/Meshes/Node/Blocks/Set/setNormalsBlock.js +91 -0
  394. package/Meshes/Node/Blocks/Set/setNormalsBlock.js.map +1 -0
  395. package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +44 -0
  396. package/Meshes/Node/Blocks/Set/setPositionsBlock.js +82 -0
  397. package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -0
  398. package/Meshes/Node/Blocks/Set/setTangentsBlock.d.ts +44 -0
  399. package/Meshes/Node/Blocks/Set/setTangentsBlock.js +91 -0
  400. package/Meshes/Node/Blocks/Set/setTangentsBlock.js.map +1 -0
  401. package/Meshes/Node/Blocks/Set/setUVsBlock.d.ts +55 -0
  402. package/Meshes/Node/Blocks/Set/setUVsBlock.js +145 -0
  403. package/Meshes/Node/Blocks/Set/setUVsBlock.js.map +1 -0
  404. package/Meshes/Node/Blocks/Sources/boxBlock.d.ts +68 -0
  405. package/Meshes/Node/Blocks/Sources/boxBlock.js +175 -0
  406. package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -0
  407. package/Meshes/Node/Blocks/Sources/capsuleBlock.d.ts +52 -0
  408. package/Meshes/Node/Blocks/Sources/capsuleBlock.js +117 -0
  409. package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -0
  410. package/Meshes/Node/Blocks/Sources/cylinderBlock.d.ts +64 -0
  411. package/Meshes/Node/Blocks/Sources/cylinderBlock.js +143 -0
  412. package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -0
  413. package/Meshes/Node/Blocks/Sources/discBlock.d.ts +48 -0
  414. package/Meshes/Node/Blocks/Sources/discBlock.js +104 -0
  415. package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -0
  416. package/Meshes/Node/Blocks/Sources/gridBlock.d.ts +56 -0
  417. package/Meshes/Node/Blocks/Sources/gridBlock.js +125 -0
  418. package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -0
  419. package/Meshes/Node/Blocks/Sources/icoSphereBlock.d.ts +56 -0
  420. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js +120 -0
  421. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -0
  422. package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +38 -0
  423. package/Meshes/Node/Blocks/Sources/meshBlock.js +78 -0
  424. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -0
  425. package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +48 -0
  426. package/Meshes/Node/Blocks/Sources/planeBlock.js +118 -0
  427. package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -0
  428. package/Meshes/Node/Blocks/Sources/sphereBlock.d.ts +64 -0
  429. package/Meshes/Node/Blocks/Sources/sphereBlock.js +136 -0
  430. package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -0
  431. package/Meshes/Node/Blocks/Sources/torusBlock.d.ts +48 -0
  432. package/Meshes/Node/Blocks/Sources/torusBlock.js +104 -0
  433. package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -0
  434. package/Meshes/Node/Blocks/Teleport/teleportInBlock.d.ts +37 -0
  435. package/Meshes/Node/Blocks/Teleport/teleportInBlock.js +75 -0
  436. package/Meshes/Node/Blocks/Teleport/teleportInBlock.js.map +1 -0
  437. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.d.ts +50 -0
  438. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js +105 -0
  439. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -0
  440. package/Meshes/Node/Blocks/computeNormalsBlock.d.ts +26 -0
  441. package/Meshes/Node/Blocks/computeNormalsBlock.js +49 -0
  442. package/Meshes/Node/Blocks/computeNormalsBlock.js.map +1 -0
  443. package/Meshes/Node/Blocks/conditionBlock.d.ts +72 -0
  444. package/Meshes/Node/Blocks/conditionBlock.js +174 -0
  445. package/Meshes/Node/Blocks/conditionBlock.js.map +1 -0
  446. package/Meshes/Node/Blocks/debugBlock.d.ts +34 -0
  447. package/Meshes/Node/Blocks/debugBlock.js +63 -0
  448. package/Meshes/Node/Blocks/debugBlock.js.map +1 -0
  449. package/Meshes/Node/Blocks/geometryElbowBlock.d.ts +31 -0
  450. package/Meshes/Node/Blocks/geometryElbowBlock.js +53 -0
  451. package/Meshes/Node/Blocks/geometryElbowBlock.js.map +1 -0
  452. package/Meshes/Node/Blocks/geometryInputBlock.d.ts +71 -0
  453. package/Meshes/Node/Blocks/geometryInputBlock.js +218 -0
  454. package/Meshes/Node/Blocks/geometryInputBlock.js.map +1 -0
  455. package/Meshes/Node/Blocks/geometryOutputBlock.d.ts +30 -0
  456. package/Meshes/Node/Blocks/geometryOutputBlock.js +42 -0
  457. package/Meshes/Node/Blocks/geometryOutputBlock.js.map +1 -0
  458. package/Meshes/Node/Blocks/geometryTransformBlock.d.ts +53 -0
  459. package/Meshes/Node/Blocks/geometryTransformBlock.js +134 -0
  460. package/Meshes/Node/Blocks/geometryTransformBlock.js.map +1 -0
  461. package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +77 -0
  462. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +248 -0
  463. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -0
  464. package/Meshes/Node/Blocks/mapRangeBlock.d.ts +42 -0
  465. package/Meshes/Node/Blocks/mapRangeBlock.js +84 -0
  466. package/Meshes/Node/Blocks/mapRangeBlock.js.map +1 -0
  467. package/Meshes/Node/Blocks/mathBlock.d.ts +58 -0
  468. package/Meshes/Node/Blocks/mathBlock.js +233 -0
  469. package/Meshes/Node/Blocks/mathBlock.js.map +1 -0
  470. package/Meshes/Node/Blocks/mergeGeometryBlock.d.ts +55 -0
  471. package/Meshes/Node/Blocks/mergeGeometryBlock.js +123 -0
  472. package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -0
  473. package/Meshes/Node/Blocks/noiseBlock.d.ts +49 -0
  474. package/Meshes/Node/Blocks/noiseBlock.js +149 -0
  475. package/Meshes/Node/Blocks/noiseBlock.js.map +1 -0
  476. package/Meshes/Node/Blocks/normalizeVectorBlock.d.ts +27 -0
  477. package/Meshes/Node/Blocks/normalizeVectorBlock.js +51 -0
  478. package/Meshes/Node/Blocks/normalizeVectorBlock.js.map +1 -0
  479. package/Meshes/Node/Blocks/randomBlock.d.ts +31 -0
  480. package/Meshes/Node/Blocks/randomBlock.js +99 -0
  481. package/Meshes/Node/Blocks/randomBlock.js.map +1 -0
  482. package/Meshes/Node/Blocks/vectorConverterBlock.d.ts +84 -0
  483. package/Meshes/Node/Blocks/vectorConverterBlock.js +238 -0
  484. package/Meshes/Node/Blocks/vectorConverterBlock.js.map +1 -0
  485. package/Meshes/Node/Enums/nodeGeometryConnectionPointTypes.d.ts +27 -0
  486. package/Meshes/Node/Enums/nodeGeometryConnectionPointTypes.js +29 -0
  487. package/Meshes/Node/Enums/nodeGeometryConnectionPointTypes.js.map +1 -0
  488. package/Meshes/Node/Enums/nodeGeometryContextualSources.d.ts +33 -0
  489. package/Meshes/Node/Enums/nodeGeometryContextualSources.js +35 -0
  490. package/Meshes/Node/Enums/nodeGeometryContextualSources.js.map +1 -0
  491. package/Meshes/Node/Interfaces/nodeGeometryExecutionContext.d.ts +25 -0
  492. package/Meshes/Node/Interfaces/nodeGeometryExecutionContext.js +2 -0
  493. package/Meshes/Node/Interfaces/nodeGeometryExecutionContext.js.map +1 -0
  494. package/Meshes/Node/index.d.ts +49 -0
  495. package/Meshes/Node/index.js +50 -0
  496. package/Meshes/Node/index.js.map +1 -0
  497. package/Meshes/Node/nodeGeometry.d.ts +180 -0
  498. package/Meshes/Node/nodeGeometry.js +529 -0
  499. package/Meshes/Node/nodeGeometry.js.map +1 -0
  500. package/Meshes/Node/nodeGeometryBlock.d.ts +166 -0
  501. package/Meshes/Node/nodeGeometryBlock.js +432 -0
  502. package/Meshes/Node/nodeGeometryBlock.js.map +1 -0
  503. package/Meshes/Node/nodeGeometryBlockConnectionPoint.d.ts +176 -0
  504. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +305 -0
  505. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -0
  506. package/Meshes/Node/nodeGeometryBuildState.d.ts +57 -0
  507. package/Meshes/Node/nodeGeometryBuildState.js +178 -0
  508. package/Meshes/Node/nodeGeometryBuildState.js.map +1 -0
  509. package/Meshes/index.d.ts +1 -0
  510. package/Meshes/index.js +1 -0
  511. package/Meshes/index.js.map +1 -1
  512. package/Meshes/mesh.vertexData.d.ts +37 -2
  513. package/Meshes/mesh.vertexData.js +425 -95
  514. package/Meshes/mesh.vertexData.js.map +1 -1
  515. package/Meshes/meshUVSpaceRenderer.js +1 -0
  516. package/Meshes/meshUVSpaceRenderer.js.map +1 -1
  517. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -0
  518. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  519. package/Particles/computeShaderParticleSystem.d.ts +1 -0
  520. package/Particles/computeShaderParticleSystem.js +5 -0
  521. package/Particles/computeShaderParticleSystem.js.map +1 -1
  522. package/Particles/gpuParticleSystem.js +11 -1
  523. package/Particles/gpuParticleSystem.js.map +1 -1
  524. package/Particles/webgl2ParticleSystem.d.ts +1 -0
  525. package/Particles/webgl2ParticleSystem.js +5 -0
  526. package/Particles/webgl2ParticleSystem.js.map +1 -1
  527. package/Physics/v2/IPhysicsEnginePlugin.d.ts +20 -2
  528. package/Physics/v2/IPhysicsEnginePlugin.js +8 -0
  529. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  530. package/Physics/v2/Plugins/havokPlugin.d.ts +27 -2
  531. package/Physics/v2/Plugins/havokPlugin.js +98 -11
  532. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  533. package/Physics/v2/physicsAggregate.d.ts +4 -0
  534. package/Physics/v2/physicsAggregate.js +3 -0
  535. package/Physics/v2/physicsAggregate.js.map +1 -1
  536. package/Physics/v2/physicsBody.d.ts +7 -0
  537. package/Physics/v2/physicsBody.js +10 -0
  538. package/Physics/v2/physicsBody.js.map +1 -1
  539. package/Physics/v2/physicsShape.d.ts +3 -0
  540. package/Physics/v2/physicsShape.js +11 -0
  541. package/Physics/v2/physicsShape.js.map +1 -1
  542. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +6 -4
  543. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  544. package/PostProcesses/blurPostProcess.js +5 -5
  545. package/PostProcesses/blurPostProcess.js.map +1 -1
  546. package/PostProcesses/depthOfFieldBlurPostProcess.js +1 -1
  547. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  548. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  549. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  550. package/Rendering/fluidRenderer/fluidRenderer.d.ts +0 -1
  551. package/Rendering/fluidRenderer/fluidRenderer.js +0 -1
  552. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  553. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +16 -8
  554. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  555. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +9 -4
  556. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  557. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +8 -4
  558. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  559. package/Shaders/ShadersInclude/bakedVertexAnimation.js +20 -10
  560. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  561. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -3
  562. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  563. package/Shaders/ShadersInclude/bayerDitherFunctions.js +9 -1
  564. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  565. package/Shaders/ShadersInclude/bonesDeclaration.js +13 -6
  566. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  567. package/Shaders/ShadersInclude/bonesVertex.js +36 -18
  568. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  569. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +2 -1
  570. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  571. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +6 -3
  572. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  573. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +4 -2
  574. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  575. package/Shaders/ShadersInclude/bumpFragment.js +40 -20
  576. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  577. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +11 -1
  578. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  579. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +57 -7
  580. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  581. package/Shaders/ShadersInclude/bumpVertex.js +2 -1
  582. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  583. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +2 -1
  584. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  585. package/Shaders/ShadersInclude/clipPlaneFragment.js +20 -7
  586. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  587. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +12 -6
  588. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  589. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +12 -6
  590. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  591. package/Shaders/ShadersInclude/clipPlaneVertex.js +12 -6
  592. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  593. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +12 -6
  594. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  595. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +12 -6
  596. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  597. package/Shaders/ShadersInclude/decalFragment.js +6 -3
  598. package/Shaders/ShadersInclude/decalFragment.js.map +1 -1
  599. package/Shaders/ShadersInclude/decalFragmentDeclaration.js +2 -1
  600. package/Shaders/ShadersInclude/decalFragmentDeclaration.js.map +1 -1
  601. package/Shaders/ShadersInclude/decalVertexDeclaration.js +2 -1
  602. package/Shaders/ShadersInclude/decalVertexDeclaration.js.map +1 -1
  603. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +48 -24
  604. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  605. package/Shaders/ShadersInclude/defaultUboDeclaration.js +5 -2
  606. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  607. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +22 -11
  608. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  609. package/Shaders/ShadersInclude/depthPrePass.js +2 -1
  610. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  611. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  612. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  613. package/Shaders/ShadersInclude/fibonacci.js +4 -1
  614. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  615. package/Shaders/ShadersInclude/fogFragment.js +6 -3
  616. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  617. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +9 -1
  618. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  619. package/Shaders/ShadersInclude/fogVertex.js +2 -1
  620. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  621. package/Shaders/ShadersInclude/fogVertexDeclaration.js +2 -1
  622. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  623. package/Shaders/ShadersInclude/fresnelFunction.js +3 -1
  624. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  625. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  626. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  627. package/Shaders/ShadersInclude/harmonicsFunctions.js +20 -2
  628. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  629. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +48 -17
  630. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  631. package/Shaders/ShadersInclude/helperFunctions.js +98 -28
  632. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  633. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +2 -1
  634. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  635. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +18 -9
  636. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  637. package/Shaders/ShadersInclude/imageProcessingFunctions.js +71 -28
  638. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  639. package/Shaders/ShadersInclude/importanceSampling.js +4 -1
  640. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  641. package/Shaders/ShadersInclude/instancesDeclaration.js +14 -7
  642. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  643. package/Shaders/ShadersInclude/instancesVertex.js +12 -6
  644. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  645. package/Shaders/ShadersInclude/kernelBlurFragment.js +9 -4
  646. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  647. package/Shaders/ShadersInclude/kernelBlurFragment2.js +8 -4
  648. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  649. package/Shaders/ShadersInclude/lightFragment.js +186 -93
  650. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  651. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +54 -22
  652. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  653. package/Shaders/ShadersInclude/lightUboDeclaration.js +51 -20
  654. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  655. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +18 -9
  656. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  657. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +15 -7
  658. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  659. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +48 -20
  660. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  661. package/Shaders/ShadersInclude/logDepthDeclaration.js +2 -1
  662. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  663. package/Shaders/ShadersInclude/logDepthFragment.js +2 -1
  664. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  665. package/Shaders/ShadersInclude/logDepthVertex.js +2 -1
  666. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  667. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +2 -1
  668. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  669. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +2 -1
  670. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  671. package/Shaders/ShadersInclude/meshUboDeclaration.js +5 -2
  672. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  673. package/Shaders/ShadersInclude/meshVertexDeclaration.js +2 -1
  674. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  675. package/Shaders/ShadersInclude/morphTargetsVertex.js +16 -8
  676. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  677. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +8 -4
  678. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  679. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +2 -1
  680. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  681. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +7 -2
  682. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  683. package/Shaders/ShadersInclude/oitDeclaration.js +5 -2
  684. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  685. package/Shaders/ShadersInclude/oitFragment.js +24 -12
  686. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  687. package/Shaders/ShadersInclude/packingFunctions.js +4 -1
  688. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  689. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +118 -42
  690. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  691. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +49 -20
  692. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  693. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +25 -8
  694. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  695. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +26 -11
  696. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  697. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +32 -12
  698. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  699. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +194 -84
  700. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  701. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +12 -6
  702. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  703. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +30 -14
  704. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  705. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +56 -28
  706. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  707. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +18 -9
  708. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  709. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +14 -7
  710. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  711. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +8 -4
  712. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  713. package/Shaders/ShadersInclude/pbrBlockIridescence.js +36 -15
  714. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  715. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +8 -4
  716. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  717. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +8 -4
  718. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  719. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +10 -5
  720. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  721. package/Shaders/ShadersInclude/pbrBlockReflectance.js +12 -6
  722. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  723. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +8 -4
  724. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  725. package/Shaders/ShadersInclude/pbrBlockReflection.js +197 -77
  726. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  727. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +79 -36
  728. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  729. package/Shaders/ShadersInclude/pbrBlockSheen.js +145 -60
  730. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  731. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +226 -100
  732. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  733. package/Shaders/ShadersInclude/pbrDebug.js +146 -67
  734. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  735. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +34 -8
  736. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  737. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +53 -22
  738. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  739. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +12 -5
  740. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  741. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +88 -44
  742. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  743. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +10 -5
  744. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  745. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +30 -15
  746. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  747. package/Shaders/ShadersInclude/pbrHelperFunctions.js +27 -8
  748. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  749. package/Shaders/ShadersInclude/pbrIBLFunctions.js +9 -4
  750. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  751. package/Shaders/ShadersInclude/pbrUboDeclaration.js +4 -2
  752. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  753. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +64 -32
  754. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  755. package/Shaders/ShadersInclude/pointCloudVertex.js +2 -1
  756. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  757. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +2 -1
  758. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  759. package/Shaders/ShadersInclude/prePassVertex.js +24 -12
  760. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  761. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +4 -2
  762. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  763. package/Shaders/ShadersInclude/reflectionFunction.js +52 -17
  764. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  765. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +2 -1
  766. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  767. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +4 -2
  768. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  769. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +2 -1
  770. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  771. package/Shaders/ShadersInclude/samplerVertexImplementation.js +18 -6
  772. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  773. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +6 -3
  774. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  775. package/Shaders/ShadersInclude/sceneUboDeclaration.js +6 -3
  776. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  777. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +6 -3
  778. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  779. package/Shaders/ShadersInclude/screenSpaceRayTrace.js +109 -24
  780. package/Shaders/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
  781. package/Shaders/ShadersInclude/shadowMapFragment.js +20 -10
  782. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  783. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +10 -5
  784. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  785. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +2 -1
  786. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  787. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +2 -1
  788. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  789. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +8 -4
  790. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  791. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +12 -6
  792. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  793. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +6 -3
  794. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  795. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +311 -54
  796. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  797. package/Shaders/ShadersInclude/shadowsVertex.js +14 -7
  798. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  799. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +2 -1
  800. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  801. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +2 -1
  802. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  803. package/Shaders/ShadersInclude/uvVariableDeclaration.js +4 -2
  804. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  805. package/Shaders/ShadersInclude/vertexColorMixing.js +8 -4
  806. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  807. package/Shaders/anaglyph.fragment.js +4 -2
  808. package/Shaders/anaglyph.fragment.js.map +1 -1
  809. package/Shaders/background.fragment.js +133 -62
  810. package/Shaders/background.fragment.js.map +1 -1
  811. package/Shaders/background.vertex.js +63 -30
  812. package/Shaders/background.vertex.js.map +1 -1
  813. package/Shaders/blackAndWhite.fragment.js +5 -2
  814. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  815. package/Shaders/bloomMerge.fragment.js +5 -2
  816. package/Shaders/bloomMerge.fragment.js.map +1 -1
  817. package/Shaders/blur.fragment.js +6 -2
  818. package/Shaders/blur.fragment.js.map +1 -1
  819. package/Shaders/boundingBoxRenderer.fragment.js +4 -2
  820. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  821. package/Shaders/boundingBoxRenderer.vertex.js +12 -6
  822. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  823. package/Shaders/chromaticAberration.fragment.js +8 -2
  824. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  825. package/Shaders/circleOfConfusion.fragment.js +9 -4
  826. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  827. package/Shaders/clearQuad.fragment.js +2 -1
  828. package/Shaders/clearQuad.fragment.js.map +1 -1
  829. package/Shaders/clearQuad.vertex.js +11 -4
  830. package/Shaders/clearQuad.vertex.js.map +1 -1
  831. package/Shaders/color.fragment.js +10 -5
  832. package/Shaders/color.fragment.js.map +1 -1
  833. package/Shaders/color.vertex.js +18 -9
  834. package/Shaders/color.vertex.js.map +1 -1
  835. package/Shaders/colorCorrection.fragment.js +10 -2
  836. package/Shaders/colorCorrection.fragment.js.map +1 -1
  837. package/Shaders/convolution.fragment.js +23 -2
  838. package/Shaders/convolution.fragment.js.map +1 -1
  839. package/Shaders/copyTextureToTexture.fragment.js +12 -5
  840. package/Shaders/copyTextureToTexture.fragment.js.map +1 -1
  841. package/Shaders/default.fragment.js +142 -71
  842. package/Shaders/default.fragment.js.map +1 -1
  843. package/Shaders/default.vertex.js +58 -29
  844. package/Shaders/default.vertex.js.map +1 -1
  845. package/Shaders/depth.fragment.js +24 -11
  846. package/Shaders/depth.fragment.js.map +1 -1
  847. package/Shaders/depth.vertex.js +35 -17
  848. package/Shaders/depth.vertex.js.map +1 -1
  849. package/Shaders/depthBoxBlur.fragment.js +6 -2
  850. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  851. package/Shaders/depthOfField.fragment.js +28 -3
  852. package/Shaders/depthOfField.fragment.js.map +1 -1
  853. package/Shaders/depthOfFieldMerge.fragment.js +17 -8
  854. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  855. package/Shaders/displayPass.fragment.js +4 -2
  856. package/Shaders/displayPass.fragment.js.map +1 -1
  857. package/Shaders/extractHighlights.fragment.js +4 -2
  858. package/Shaders/extractHighlights.fragment.js.map +1 -1
  859. package/Shaders/filter.fragment.js +4 -2
  860. package/Shaders/filter.fragment.js.map +1 -1
  861. package/Shaders/fluidRenderingBilateralBlur.fragment.js +4 -1
  862. package/Shaders/fluidRenderingBilateralBlur.fragment.js.map +1 -1
  863. package/Shaders/fluidRenderingParticleDepth.fragment.js +22 -11
  864. package/Shaders/fluidRenderingParticleDepth.fragment.js.map +1 -1
  865. package/Shaders/fluidRenderingParticleDepth.vertex.js +10 -5
  866. package/Shaders/fluidRenderingParticleDepth.vertex.js.map +1 -1
  867. package/Shaders/fluidRenderingParticleDiffuse.fragment.js +2 -1
  868. package/Shaders/fluidRenderingParticleDiffuse.fragment.js.map +1 -1
  869. package/Shaders/fluidRenderingParticleDiffuse.vertex.js +0 -1
  870. package/Shaders/fluidRenderingParticleDiffuse.vertex.js.map +1 -1
  871. package/Shaders/fluidRenderingParticleThickness.fragment.js +2 -1
  872. package/Shaders/fluidRenderingParticleThickness.fragment.js.map +1 -1
  873. package/Shaders/fluidRenderingParticleThickness.vertex.js +2 -1
  874. package/Shaders/fluidRenderingParticleThickness.vertex.js.map +1 -1
  875. package/Shaders/fluidRenderingRender.fragment.js +76 -35
  876. package/Shaders/fluidRenderingRender.fragment.js.map +1 -1
  877. package/Shaders/fluidRenderingStandardBlur.fragment.js +4 -1
  878. package/Shaders/fluidRenderingStandardBlur.fragment.js.map +1 -1
  879. package/Shaders/fxaa.fragment.js +47 -6
  880. package/Shaders/fxaa.fragment.js.map +1 -1
  881. package/Shaders/fxaa.vertex.js +6 -3
  882. package/Shaders/fxaa.vertex.js.map +1 -1
  883. package/Shaders/geometry.fragment.js +85 -42
  884. package/Shaders/geometry.fragment.js.map +1 -1
  885. package/Shaders/geometry.vertex.js +91 -45
  886. package/Shaders/geometry.vertex.js.map +1 -1
  887. package/Shaders/glowBlurPostProcess.fragment.js +7 -2
  888. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  889. package/Shaders/glowMapGeneration.fragment.js +46 -22
  890. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  891. package/Shaders/glowMapGeneration.vertex.js +41 -20
  892. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  893. package/Shaders/glowMapMerge.fragment.js +20 -10
  894. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  895. package/Shaders/glowMapMerge.vertex.js +6 -3
  896. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  897. package/Shaders/gpuRenderParticles.fragment.js +16 -8
  898. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  899. package/Shaders/gpuRenderParticles.vertex.js +77 -39
  900. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  901. package/Shaders/gpuUpdateParticles.fragment.js +2 -1
  902. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  903. package/Shaders/gpuUpdateParticles.vertex.js +206 -100
  904. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  905. package/Shaders/grain.fragment.js +5 -2
  906. package/Shaders/grain.fragment.js.map +1 -1
  907. package/Shaders/hdrFiltering.fragment.js +1 -1
  908. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  909. package/Shaders/hdrFiltering.vertex.js +6 -3
  910. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  911. package/Shaders/highlights.fragment.js +4 -2
  912. package/Shaders/highlights.fragment.js.map +1 -1
  913. package/Shaders/imageProcessing.fragment.js +12 -6
  914. package/Shaders/imageProcessing.fragment.js.map +1 -1
  915. package/Shaders/kernelBlur.fragment.js +24 -11
  916. package/Shaders/kernelBlur.fragment.js.map +1 -1
  917. package/Shaders/kernelBlur.vertex.js +10 -5
  918. package/Shaders/kernelBlur.vertex.js.map +1 -1
  919. package/Shaders/layer.fragment.js +13 -6
  920. package/Shaders/layer.fragment.js.map +1 -1
  921. package/Shaders/layer.vertex.js +6 -3
  922. package/Shaders/layer.vertex.js.map +1 -1
  923. package/Shaders/lensFlare.fragment.js +6 -3
  924. package/Shaders/lensFlare.fragment.js.map +1 -1
  925. package/Shaders/lensFlare.vertex.js +6 -3
  926. package/Shaders/lensFlare.vertex.js.map +1 -1
  927. package/Shaders/lensHighlights.fragment.js +14 -5
  928. package/Shaders/lensHighlights.fragment.js.map +1 -1
  929. package/Shaders/line.fragment.js +6 -3
  930. package/Shaders/line.fragment.js.map +1 -1
  931. package/Shaders/line.vertex.js +8 -4
  932. package/Shaders/line.vertex.js.map +1 -1
  933. package/Shaders/meshUVSpaceRenderer.fragment.js +3 -1
  934. package/Shaders/meshUVSpaceRenderer.fragment.js.map +1 -1
  935. package/Shaders/meshUVSpaceRenderer.vertex.js +14 -7
  936. package/Shaders/meshUVSpaceRenderer.vertex.js.map +1 -1
  937. package/Shaders/minmaxRedux.fragment.js +21 -8
  938. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  939. package/Shaders/motionBlur.fragment.js +35 -14
  940. package/Shaders/motionBlur.fragment.js.map +1 -1
  941. package/Shaders/noise.fragment.js +13 -2
  942. package/Shaders/noise.fragment.js.map +1 -1
  943. package/Shaders/oitBackBlend.fragment.js +2 -1
  944. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  945. package/Shaders/oitFinal.fragment.js +4 -1
  946. package/Shaders/oitFinal.fragment.js.map +1 -1
  947. package/Shaders/outline.fragment.js +11 -5
  948. package/Shaders/outline.fragment.js.map +1 -1
  949. package/Shaders/outline.vertex.js +27 -13
  950. package/Shaders/outline.vertex.js.map +1 -1
  951. package/Shaders/particles.fragment.js +18 -9
  952. package/Shaders/particles.fragment.js.map +1 -1
  953. package/Shaders/particles.vertex.js +58 -29
  954. package/Shaders/particles.vertex.js.map +1 -1
  955. package/Shaders/pass.fragment.js +4 -2
  956. package/Shaders/pass.fragment.js.map +1 -1
  957. package/Shaders/passCube.fragment.js +17 -8
  958. package/Shaders/passCube.fragment.js.map +1 -1
  959. package/Shaders/pbr.fragment.js +389 -154
  960. package/Shaders/pbr.fragment.js.map +1 -1
  961. package/Shaders/pbr.vertex.js +70 -35
  962. package/Shaders/pbr.vertex.js.map +1 -1
  963. package/Shaders/postprocess.vertex.js +6 -3
  964. package/Shaders/postprocess.vertex.js.map +1 -1
  965. package/Shaders/procedural.vertex.js +6 -3
  966. package/Shaders/procedural.vertex.js.map +1 -1
  967. package/Shaders/refraction.fragment.js +1 -1
  968. package/Shaders/refraction.fragment.js.map +1 -1
  969. package/Shaders/rgbdDecode.fragment.js +4 -2
  970. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  971. package/Shaders/rgbdEncode.fragment.js +4 -2
  972. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  973. package/Shaders/screenSpaceCurvature.fragment.js +11 -3
  974. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  975. package/Shaders/screenSpaceReflection.fragment.js +57 -15
  976. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  977. package/Shaders/screenSpaceReflection2.fragment.js +125 -51
  978. package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
  979. package/Shaders/screenSpaceReflection2Blur.fragment.js +7 -1
  980. package/Shaders/screenSpaceReflection2Blur.fragment.js.map +1 -1
  981. package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js +28 -13
  982. package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
  983. package/Shaders/shadowMap.fragment.js +14 -6
  984. package/Shaders/shadowMap.fragment.js.map +1 -1
  985. package/Shaders/shadowMap.vertex.js +35 -17
  986. package/Shaders/shadowMap.vertex.js.map +1 -1
  987. package/Shaders/sharpen.fragment.js +8 -2
  988. package/Shaders/sharpen.fragment.js.map +1 -1
  989. package/Shaders/spriteMap.fragment.js +17 -4
  990. package/Shaders/spriteMap.fragment.js.map +1 -1
  991. package/Shaders/spriteMap.vertex.js +2 -1
  992. package/Shaders/spriteMap.vertex.js.map +1 -1
  993. package/Shaders/sprites.fragment.js +17 -7
  994. package/Shaders/sprites.fragment.js.map +1 -1
  995. package/Shaders/sprites.vertex.js +10 -4
  996. package/Shaders/sprites.vertex.js.map +1 -1
  997. package/Shaders/ssao.fragment.js +0 -2
  998. package/Shaders/ssao.fragment.js.map +1 -1
  999. package/Shaders/ssao2.fragment.js +0 -2
  1000. package/Shaders/ssao2.fragment.js.map +1 -1
  1001. package/Shaders/ssaoCombine.fragment.js +8 -4
  1002. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1003. package/Shaders/standard.fragment.js +101 -25
  1004. package/Shaders/standard.fragment.js.map +1 -1
  1005. package/Shaders/stereoscopicInterlace.fragment.js +14 -6
  1006. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1007. package/Shaders/subSurfaceScattering.fragment.js +58 -12
  1008. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1009. package/Shaders/tonemap.fragment.js +21 -9
  1010. package/Shaders/tonemap.fragment.js.map +1 -1
  1011. package/Shaders/velocity.fragment.js +8 -4
  1012. package/Shaders/velocity.fragment.js.map +1 -1
  1013. package/Shaders/velocity.vertex.js +18 -9
  1014. package/Shaders/velocity.vertex.js.map +1 -1
  1015. package/Shaders/volumetricLightScattering.fragment.js +9 -4
  1016. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1017. package/Shaders/volumetricLightScatteringPass.fragment.js +12 -5
  1018. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1019. package/Shaders/volumetricLightScatteringPass.vertex.js +23 -11
  1020. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1021. package/Shaders/vrDistortionCorrection.fragment.js +6 -2
  1022. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1023. package/Shaders/vrMultiviewToSingleview.fragment.js +4 -2
  1024. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1025. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +24 -12
  1026. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1027. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -3
  1028. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1029. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +14 -6
  1030. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1031. package/ShadersWGSL/ShadersInclude/bonesVertex.js +36 -18
  1032. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1033. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +20 -7
  1034. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1035. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +12 -6
  1036. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1037. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +12 -6
  1038. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1039. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +12 -6
  1040. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1041. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +14 -7
  1042. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1043. package/ShadersWGSL/ShadersInclude/instancesVertex.js +16 -8
  1044. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1045. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +3 -1
  1046. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1047. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +16 -8
  1048. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1049. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +8 -4
  1050. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1051. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +2 -1
  1052. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1053. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +6 -2
  1054. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1055. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +8 -3
  1056. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1057. package/ShadersWGSL/gpuUpdateParticles.compute.js +229 -90
  1058. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1059. package/ShadersWGSL/postprocess.vertex.js +9 -4
  1060. package/ShadersWGSL/postprocess.vertex.js.map +1 -1
  1061. package/assetContainer.d.ts +7 -0
  1062. package/assetContainer.js +46 -0
  1063. package/assetContainer.js.map +1 -1
  1064. package/index.d.ts +1 -0
  1065. package/index.js +1 -0
  1066. package/index.js.map +1 -1
  1067. package/package.json +1 -1
  1068. package/scene.js +5 -0
  1069. package/scene.js.map +1 -1
  1070. package/Materials/Node/nodeMaterialDecorator.js.map +0 -1
@@ -3,7 +3,7 @@ import { NodeMaterialBlock } from "../nodeMaterialBlock.js";
3
3
  import { NodeMaterialBlockConnectionPointTypes } from "../Enums/nodeMaterialBlockConnectionPointTypes.js";
4
4
  import { NodeMaterialBlockTargets } from "../Enums/nodeMaterialBlockTargets.js";
5
5
  import { RegisterClass } from "../../../Misc/typeStore.js";
6
- import { editableInPropertyPage, PropertyTypeForEdition } from "../nodeMaterialDecorator.js";
6
+ import { editableInPropertyPage, PropertyTypeForEdition } from "../../../Decorators/nodeDecorator.js";
7
7
  /**
8
8
  * block used to Generate a Worley Noise 3D Noise Pattern
9
9
  */
@@ -72,166 +72,166 @@ export class WorleyNoise3DBlock extends NodeMaterialBlock {
72
72
  if (!this.output.hasEndpoints && !this.x.hasEndpoints && !this.y.hasEndpoints) {
73
73
  return;
74
74
  }
75
- let functionString = `vec3 permute(vec3 x){\r\n`;
76
- functionString += ` return mod((34.0 * x + 1.0) * x, 289.0);\r\n`;
77
- functionString += `}\r\n\r\n`;
78
- functionString += `vec3 dist(vec3 x, vec3 y, vec3 z, bool manhattanDistance){\r\n`;
79
- functionString += ` return manhattanDistance ? abs(x) + abs(y) + abs(z) : (x * x + y * y + z * z);\r\n`;
80
- functionString += `}\r\n\r\n`;
81
- functionString += `vec2 worley(vec3 P, float jitter, bool manhattanDistance){\r\n`;
82
- functionString += ` float K = 0.142857142857; // 1/7\r\n`;
83
- functionString += ` float Ko = 0.428571428571; // 1/2-K/2\r\n`;
84
- functionString += ` float K2 = 0.020408163265306; // 1/(7*7)\r\n`;
85
- functionString += ` float Kz = 0.166666666667; // 1/6\r\n`;
86
- functionString += ` float Kzo = 0.416666666667; // 1/2-1/6*2\r\n`;
87
- functionString += `\r\n`;
88
- functionString += ` vec3 Pi = mod(floor(P), 289.0);\r\n`;
89
- functionString += ` vec3 Pf = fract(P) - 0.5;\r\n`;
90
- functionString += `\r\n`;
91
- functionString += ` vec3 Pfx = Pf.x + vec3(1.0, 0.0, -1.0);\r\n`;
92
- functionString += ` vec3 Pfy = Pf.y + vec3(1.0, 0.0, -1.0);\r\n`;
93
- functionString += ` vec3 Pfz = Pf.z + vec3(1.0, 0.0, -1.0);\r\n`;
94
- functionString += `\r\n`;
95
- functionString += ` vec3 p = permute(Pi.x + vec3(-1.0, 0.0, 1.0));\r\n`;
96
- functionString += ` vec3 p1 = permute(p + Pi.y - 1.0);\r\n`;
97
- functionString += ` vec3 p2 = permute(p + Pi.y);\r\n`;
98
- functionString += ` vec3 p3 = permute(p + Pi.y + 1.0);\r\n`;
99
- functionString += `\r\n`;
100
- functionString += ` vec3 p11 = permute(p1 + Pi.z - 1.0);\r\n`;
101
- functionString += ` vec3 p12 = permute(p1 + Pi.z);\r\n`;
102
- functionString += ` vec3 p13 = permute(p1 + Pi.z + 1.0);\r\n`;
103
- functionString += `\r\n`;
104
- functionString += ` vec3 p21 = permute(p2 + Pi.z - 1.0);\r\n`;
105
- functionString += ` vec3 p22 = permute(p2 + Pi.z);\r\n`;
106
- functionString += ` vec3 p23 = permute(p2 + Pi.z + 1.0);\r\n`;
107
- functionString += `\r\n`;
108
- functionString += ` vec3 p31 = permute(p3 + Pi.z - 1.0);\r\n`;
109
- functionString += ` vec3 p32 = permute(p3 + Pi.z);\r\n`;
110
- functionString += ` vec3 p33 = permute(p3 + Pi.z + 1.0);\r\n`;
111
- functionString += `\r\n`;
112
- functionString += ` vec3 ox11 = fract(p11*K) - Ko;\r\n`;
113
- functionString += ` vec3 oy11 = mod(floor(p11*K), 7.0)*K - Ko;\r\n`;
114
- functionString += ` vec3 oz11 = floor(p11*K2)*Kz - Kzo; // p11 < 289 guaranteed\r\n`;
115
- functionString += `\r\n`;
116
- functionString += ` vec3 ox12 = fract(p12*K) - Ko;\r\n`;
117
- functionString += ` vec3 oy12 = mod(floor(p12*K), 7.0)*K - Ko;\r\n`;
118
- functionString += ` vec3 oz12 = floor(p12*K2)*Kz - Kzo;\r\n`;
119
- functionString += `\r\n`;
120
- functionString += ` vec3 ox13 = fract(p13*K) - Ko;\r\n`;
121
- functionString += ` vec3 oy13 = mod(floor(p13*K), 7.0)*K - Ko;\r\n`;
122
- functionString += ` vec3 oz13 = floor(p13*K2)*Kz - Kzo;\r\n`;
123
- functionString += `\r\n`;
124
- functionString += ` vec3 ox21 = fract(p21*K) - Ko;\r\n`;
125
- functionString += ` vec3 oy21 = mod(floor(p21*K), 7.0)*K - Ko;\r\n`;
126
- functionString += ` vec3 oz21 = floor(p21*K2)*Kz - Kzo;\r\n`;
127
- functionString += `\r\n`;
128
- functionString += ` vec3 ox22 = fract(p22*K) - Ko;\r\n`;
129
- functionString += ` vec3 oy22 = mod(floor(p22*K), 7.0)*K - Ko;\r\n`;
130
- functionString += ` vec3 oz22 = floor(p22*K2)*Kz - Kzo;\r\n`;
131
- functionString += `\r\n`;
132
- functionString += ` vec3 ox23 = fract(p23*K) - Ko;\r\n`;
133
- functionString += ` vec3 oy23 = mod(floor(p23*K), 7.0)*K - Ko;\r\n`;
134
- functionString += ` vec3 oz23 = floor(p23*K2)*Kz - Kzo;\r\n`;
135
- functionString += `\r\n`;
136
- functionString += ` vec3 ox31 = fract(p31*K) - Ko;\r\n`;
137
- functionString += ` vec3 oy31 = mod(floor(p31*K), 7.0)*K - Ko;\r\n`;
138
- functionString += ` vec3 oz31 = floor(p31*K2)*Kz - Kzo;\r\n`;
139
- functionString += `\r\n`;
140
- functionString += ` vec3 ox32 = fract(p32*K) - Ko;\r\n`;
141
- functionString += ` vec3 oy32 = mod(floor(p32*K), 7.0)*K - Ko;\r\n`;
142
- functionString += ` vec3 oz32 = floor(p32*K2)*Kz - Kzo;\r\n`;
143
- functionString += `\r\n`;
144
- functionString += ` vec3 ox33 = fract(p33*K) - Ko;\r\n`;
145
- functionString += ` vec3 oy33 = mod(floor(p33*K), 7.0)*K - Ko;\r\n`;
146
- functionString += ` vec3 oz33 = floor(p33*K2)*Kz - Kzo;\r\n`;
147
- functionString += `\r\n`;
148
- functionString += ` vec3 dx11 = Pfx + jitter*ox11;\r\n`;
149
- functionString += ` vec3 dy11 = Pfy.x + jitter*oy11;\r\n`;
150
- functionString += ` vec3 dz11 = Pfz.x + jitter*oz11;\r\n`;
151
- functionString += `\r\n`;
152
- functionString += ` vec3 dx12 = Pfx + jitter*ox12;\r\n`;
153
- functionString += ` vec3 dy12 = Pfy.x + jitter*oy12;\r\n`;
154
- functionString += ` vec3 dz12 = Pfz.y + jitter*oz12;\r\n`;
155
- functionString += `\r\n`;
156
- functionString += ` vec3 dx13 = Pfx + jitter*ox13;\r\n`;
157
- functionString += ` vec3 dy13 = Pfy.x + jitter*oy13;\r\n`;
158
- functionString += ` vec3 dz13 = Pfz.z + jitter*oz13;\r\n`;
159
- functionString += `\r\n`;
160
- functionString += ` vec3 dx21 = Pfx + jitter*ox21;\r\n`;
161
- functionString += ` vec3 dy21 = Pfy.y + jitter*oy21;\r\n`;
162
- functionString += ` vec3 dz21 = Pfz.x + jitter*oz21;\r\n`;
163
- functionString += `\r\n`;
164
- functionString += ` vec3 dx22 = Pfx + jitter*ox22;\r\n`;
165
- functionString += ` vec3 dy22 = Pfy.y + jitter*oy22;\r\n`;
166
- functionString += ` vec3 dz22 = Pfz.y + jitter*oz22;\r\n`;
167
- functionString += `\r\n`;
168
- functionString += ` vec3 dx23 = Pfx + jitter*ox23;\r\n`;
169
- functionString += ` vec3 dy23 = Pfy.y + jitter*oy23;\r\n`;
170
- functionString += ` vec3 dz23 = Pfz.z + jitter*oz23;\r\n`;
171
- functionString += `\r\n`;
172
- functionString += ` vec3 dx31 = Pfx + jitter*ox31;\r\n`;
173
- functionString += ` vec3 dy31 = Pfy.z + jitter*oy31;\r\n`;
174
- functionString += ` vec3 dz31 = Pfz.x + jitter*oz31;\r\n`;
175
- functionString += `\r\n`;
176
- functionString += ` vec3 dx32 = Pfx + jitter*ox32;\r\n`;
177
- functionString += ` vec3 dy32 = Pfy.z + jitter*oy32;\r\n`;
178
- functionString += ` vec3 dz32 = Pfz.y + jitter*oz32;\r\n`;
179
- functionString += `\r\n`;
180
- functionString += ` vec3 dx33 = Pfx + jitter*ox33;\r\n`;
181
- functionString += ` vec3 dy33 = Pfy.z + jitter*oy33;\r\n`;
182
- functionString += ` vec3 dz33 = Pfz.z + jitter*oz33;\r\n`;
183
- functionString += `\r\n`;
184
- functionString += ` vec3 d11 = dist(dx11, dy11, dz11, manhattanDistance);\r\n`;
185
- functionString += ` vec3 d12 =dist(dx12, dy12, dz12, manhattanDistance);\r\n`;
186
- functionString += ` vec3 d13 = dist(dx13, dy13, dz13, manhattanDistance);\r\n`;
187
- functionString += ` vec3 d21 = dist(dx21, dy21, dz21, manhattanDistance);\r\n`;
188
- functionString += ` vec3 d22 = dist(dx22, dy22, dz22, manhattanDistance);\r\n`;
189
- functionString += ` vec3 d23 = dist(dx23, dy23, dz23, manhattanDistance);\r\n`;
190
- functionString += ` vec3 d31 = dist(dx31, dy31, dz31, manhattanDistance);\r\n`;
191
- functionString += ` vec3 d32 = dist(dx32, dy32, dz32, manhattanDistance);\r\n`;
192
- functionString += ` vec3 d33 = dist(dx33, dy33, dz33, manhattanDistance);\r\n`;
193
- functionString += `\r\n`;
194
- functionString += ` vec3 d1a = min(d11, d12);\r\n`;
195
- functionString += ` d12 = max(d11, d12);\r\n`;
196
- functionString += ` d11 = min(d1a, d13); // Smallest now not in d12 or d13\r\n`;
197
- functionString += ` d13 = max(d1a, d13);\r\n`;
198
- functionString += ` d12 = min(d12, d13); // 2nd smallest now not in d13\r\n`;
199
- functionString += ` vec3 d2a = min(d21, d22);\r\n`;
200
- functionString += ` d22 = max(d21, d22);\r\n`;
201
- functionString += ` d21 = min(d2a, d23); // Smallest now not in d22 or d23\r\n`;
202
- functionString += ` d23 = max(d2a, d23);\r\n`;
203
- functionString += ` d22 = min(d22, d23); // 2nd smallest now not in d23\r\n`;
204
- functionString += ` vec3 d3a = min(d31, d32);\r\n`;
205
- functionString += ` d32 = max(d31, d32);\r\n`;
206
- functionString += ` d31 = min(d3a, d33); // Smallest now not in d32 or d33\r\n`;
207
- functionString += ` d33 = max(d3a, d33);\r\n`;
208
- functionString += ` d32 = min(d32, d33); // 2nd smallest now not in d33\r\n`;
209
- functionString += ` vec3 da = min(d11, d21);\r\n`;
210
- functionString += ` d21 = max(d11, d21);\r\n`;
211
- functionString += ` d11 = min(da, d31); // Smallest now in d11\r\n`;
212
- functionString += ` d31 = max(da, d31); // 2nd smallest now not in d31\r\n`;
213
- functionString += ` d11.xy = (d11.x < d11.y) ? d11.xy : d11.yx;\r\n`;
214
- functionString += ` d11.xz = (d11.x < d11.z) ? d11.xz : d11.zx; // d11.x now smallest\r\n`;
215
- functionString += ` d12 = min(d12, d21); // 2nd smallest now not in d21\r\n`;
216
- functionString += ` d12 = min(d12, d22); // nor in d22\r\n`;
217
- functionString += ` d12 = min(d12, d31); // nor in d31\r\n`;
218
- functionString += ` d12 = min(d12, d32); // nor in d32\r\n`;
219
- functionString += ` d11.yz = min(d11.yz,d12.xy); // nor in d12.yz\r\n`;
220
- functionString += ` d11.y = min(d11.y,d12.z); // Only two more to go\r\n`;
221
- functionString += ` d11.y = min(d11.y,d11.z); // Done! (Phew!)\r\n`;
222
- functionString += ` return sqrt(d11.xy); // F1, F2\r\n`;
223
- functionString += `}\r\n\r\n`;
75
+ let functionString = `vec3 permute(vec3 x){\n`;
76
+ functionString += ` return mod((34.0 * x + 1.0) * x, 289.0);\n`;
77
+ functionString += `}\n\n`;
78
+ functionString += `vec3 dist(vec3 x, vec3 y, vec3 z, bool manhattanDistance){\n`;
79
+ functionString += ` return manhattanDistance ? abs(x) + abs(y) + abs(z) : (x * x + y * y + z * z);\n`;
80
+ functionString += `}\n\n`;
81
+ functionString += `vec2 worley(vec3 P, float jitter, bool manhattanDistance){\n`;
82
+ functionString += ` float K = 0.142857142857; // 1/7\n`;
83
+ functionString += ` float Ko = 0.428571428571; // 1/2-K/2\n`;
84
+ functionString += ` float K2 = 0.020408163265306; // 1/(7*7)\n`;
85
+ functionString += ` float Kz = 0.166666666667; // 1/6\n`;
86
+ functionString += ` float Kzo = 0.416666666667; // 1/2-1/6*2\n`;
87
+ functionString += `\n`;
88
+ functionString += ` vec3 Pi = mod(floor(P), 289.0);\n`;
89
+ functionString += ` vec3 Pf = fract(P) - 0.5;\n`;
90
+ functionString += `\n`;
91
+ functionString += ` vec3 Pfx = Pf.x + vec3(1.0, 0.0, -1.0);\n`;
92
+ functionString += ` vec3 Pfy = Pf.y + vec3(1.0, 0.0, -1.0);\n`;
93
+ functionString += ` vec3 Pfz = Pf.z + vec3(1.0, 0.0, -1.0);\n`;
94
+ functionString += `\n`;
95
+ functionString += ` vec3 p = permute(Pi.x + vec3(-1.0, 0.0, 1.0));\n`;
96
+ functionString += ` vec3 p1 = permute(p + Pi.y - 1.0);\n`;
97
+ functionString += ` vec3 p2 = permute(p + Pi.y);\n`;
98
+ functionString += ` vec3 p3 = permute(p + Pi.y + 1.0);\n`;
99
+ functionString += `\n`;
100
+ functionString += ` vec3 p11 = permute(p1 + Pi.z - 1.0);\n`;
101
+ functionString += ` vec3 p12 = permute(p1 + Pi.z);\n`;
102
+ functionString += ` vec3 p13 = permute(p1 + Pi.z + 1.0);\n`;
103
+ functionString += `\n`;
104
+ functionString += ` vec3 p21 = permute(p2 + Pi.z - 1.0);\n`;
105
+ functionString += ` vec3 p22 = permute(p2 + Pi.z);\n`;
106
+ functionString += ` vec3 p23 = permute(p2 + Pi.z + 1.0);\n`;
107
+ functionString += `\n`;
108
+ functionString += ` vec3 p31 = permute(p3 + Pi.z - 1.0);\n`;
109
+ functionString += ` vec3 p32 = permute(p3 + Pi.z);\n`;
110
+ functionString += ` vec3 p33 = permute(p3 + Pi.z + 1.0);\n`;
111
+ functionString += `\n`;
112
+ functionString += ` vec3 ox11 = fract(p11*K) - Ko;\n`;
113
+ functionString += ` vec3 oy11 = mod(floor(p11*K), 7.0)*K - Ko;\n`;
114
+ functionString += ` vec3 oz11 = floor(p11*K2)*Kz - Kzo; // p11 < 289 guaranteed\n`;
115
+ functionString += `\n`;
116
+ functionString += ` vec3 ox12 = fract(p12*K) - Ko;\n`;
117
+ functionString += ` vec3 oy12 = mod(floor(p12*K), 7.0)*K - Ko;\n`;
118
+ functionString += ` vec3 oz12 = floor(p12*K2)*Kz - Kzo;\n`;
119
+ functionString += `\n`;
120
+ functionString += ` vec3 ox13 = fract(p13*K) - Ko;\n`;
121
+ functionString += ` vec3 oy13 = mod(floor(p13*K), 7.0)*K - Ko;\n`;
122
+ functionString += ` vec3 oz13 = floor(p13*K2)*Kz - Kzo;\n`;
123
+ functionString += `\n`;
124
+ functionString += ` vec3 ox21 = fract(p21*K) - Ko;\n`;
125
+ functionString += ` vec3 oy21 = mod(floor(p21*K), 7.0)*K - Ko;\n`;
126
+ functionString += ` vec3 oz21 = floor(p21*K2)*Kz - Kzo;\n`;
127
+ functionString += `\n`;
128
+ functionString += ` vec3 ox22 = fract(p22*K) - Ko;\n`;
129
+ functionString += ` vec3 oy22 = mod(floor(p22*K), 7.0)*K - Ko;\n`;
130
+ functionString += ` vec3 oz22 = floor(p22*K2)*Kz - Kzo;\n`;
131
+ functionString += `\n`;
132
+ functionString += ` vec3 ox23 = fract(p23*K) - Ko;\n`;
133
+ functionString += ` vec3 oy23 = mod(floor(p23*K), 7.0)*K - Ko;\n`;
134
+ functionString += ` vec3 oz23 = floor(p23*K2)*Kz - Kzo;\n`;
135
+ functionString += `\n`;
136
+ functionString += ` vec3 ox31 = fract(p31*K) - Ko;\n`;
137
+ functionString += ` vec3 oy31 = mod(floor(p31*K), 7.0)*K - Ko;\n`;
138
+ functionString += ` vec3 oz31 = floor(p31*K2)*Kz - Kzo;\n`;
139
+ functionString += `\n`;
140
+ functionString += ` vec3 ox32 = fract(p32*K) - Ko;\n`;
141
+ functionString += ` vec3 oy32 = mod(floor(p32*K), 7.0)*K - Ko;\n`;
142
+ functionString += ` vec3 oz32 = floor(p32*K2)*Kz - Kzo;\n`;
143
+ functionString += `\n`;
144
+ functionString += ` vec3 ox33 = fract(p33*K) - Ko;\n`;
145
+ functionString += ` vec3 oy33 = mod(floor(p33*K), 7.0)*K - Ko;\n`;
146
+ functionString += ` vec3 oz33 = floor(p33*K2)*Kz - Kzo;\n`;
147
+ functionString += `\n`;
148
+ functionString += ` vec3 dx11 = Pfx + jitter*ox11;\n`;
149
+ functionString += ` vec3 dy11 = Pfy.x + jitter*oy11;\n`;
150
+ functionString += ` vec3 dz11 = Pfz.x + jitter*oz11;\n`;
151
+ functionString += `\n`;
152
+ functionString += ` vec3 dx12 = Pfx + jitter*ox12;\n`;
153
+ functionString += ` vec3 dy12 = Pfy.x + jitter*oy12;\n`;
154
+ functionString += ` vec3 dz12 = Pfz.y + jitter*oz12;\n`;
155
+ functionString += `\n`;
156
+ functionString += ` vec3 dx13 = Pfx + jitter*ox13;\n`;
157
+ functionString += ` vec3 dy13 = Pfy.x + jitter*oy13;\n`;
158
+ functionString += ` vec3 dz13 = Pfz.z + jitter*oz13;\n`;
159
+ functionString += `\n`;
160
+ functionString += ` vec3 dx21 = Pfx + jitter*ox21;\n`;
161
+ functionString += ` vec3 dy21 = Pfy.y + jitter*oy21;\n`;
162
+ functionString += ` vec3 dz21 = Pfz.x + jitter*oz21;\n`;
163
+ functionString += `\n`;
164
+ functionString += ` vec3 dx22 = Pfx + jitter*ox22;\n`;
165
+ functionString += ` vec3 dy22 = Pfy.y + jitter*oy22;\n`;
166
+ functionString += ` vec3 dz22 = Pfz.y + jitter*oz22;\n`;
167
+ functionString += `\n`;
168
+ functionString += ` vec3 dx23 = Pfx + jitter*ox23;\n`;
169
+ functionString += ` vec3 dy23 = Pfy.y + jitter*oy23;\n`;
170
+ functionString += ` vec3 dz23 = Pfz.z + jitter*oz23;\n`;
171
+ functionString += `\n`;
172
+ functionString += ` vec3 dx31 = Pfx + jitter*ox31;\n`;
173
+ functionString += ` vec3 dy31 = Pfy.z + jitter*oy31;\n`;
174
+ functionString += ` vec3 dz31 = Pfz.x + jitter*oz31;\n`;
175
+ functionString += `\n`;
176
+ functionString += ` vec3 dx32 = Pfx + jitter*ox32;\n`;
177
+ functionString += ` vec3 dy32 = Pfy.z + jitter*oy32;\n`;
178
+ functionString += ` vec3 dz32 = Pfz.y + jitter*oz32;\n`;
179
+ functionString += `\n`;
180
+ functionString += ` vec3 dx33 = Pfx + jitter*ox33;\n`;
181
+ functionString += ` vec3 dy33 = Pfy.z + jitter*oy33;\n`;
182
+ functionString += ` vec3 dz33 = Pfz.z + jitter*oz33;\n`;
183
+ functionString += `\n`;
184
+ functionString += ` vec3 d11 = dist(dx11, dy11, dz11, manhattanDistance);\n`;
185
+ functionString += ` vec3 d12 =dist(dx12, dy12, dz12, manhattanDistance);\n`;
186
+ functionString += ` vec3 d13 = dist(dx13, dy13, dz13, manhattanDistance);\n`;
187
+ functionString += ` vec3 d21 = dist(dx21, dy21, dz21, manhattanDistance);\n`;
188
+ functionString += ` vec3 d22 = dist(dx22, dy22, dz22, manhattanDistance);\n`;
189
+ functionString += ` vec3 d23 = dist(dx23, dy23, dz23, manhattanDistance);\n`;
190
+ functionString += ` vec3 d31 = dist(dx31, dy31, dz31, manhattanDistance);\n`;
191
+ functionString += ` vec3 d32 = dist(dx32, dy32, dz32, manhattanDistance);\n`;
192
+ functionString += ` vec3 d33 = dist(dx33, dy33, dz33, manhattanDistance);\n`;
193
+ functionString += `\n`;
194
+ functionString += ` vec3 d1a = min(d11, d12);\n`;
195
+ functionString += ` d12 = max(d11, d12);\n`;
196
+ functionString += ` d11 = min(d1a, d13); // Smallest now not in d12 or d13\n`;
197
+ functionString += ` d13 = max(d1a, d13);\n`;
198
+ functionString += ` d12 = min(d12, d13); // 2nd smallest now not in d13\n`;
199
+ functionString += ` vec3 d2a = min(d21, d22);\n`;
200
+ functionString += ` d22 = max(d21, d22);\n`;
201
+ functionString += ` d21 = min(d2a, d23); // Smallest now not in d22 or d23\n`;
202
+ functionString += ` d23 = max(d2a, d23);\n`;
203
+ functionString += ` d22 = min(d22, d23); // 2nd smallest now not in d23\n`;
204
+ functionString += ` vec3 d3a = min(d31, d32);\n`;
205
+ functionString += ` d32 = max(d31, d32);\n`;
206
+ functionString += ` d31 = min(d3a, d33); // Smallest now not in d32 or d33\n`;
207
+ functionString += ` d33 = max(d3a, d33);\n`;
208
+ functionString += ` d32 = min(d32, d33); // 2nd smallest now not in d33\n`;
209
+ functionString += ` vec3 da = min(d11, d21);\n`;
210
+ functionString += ` d21 = max(d11, d21);\n`;
211
+ functionString += ` d11 = min(da, d31); // Smallest now in d11\n`;
212
+ functionString += ` d31 = max(da, d31); // 2nd smallest now not in d31\n`;
213
+ functionString += ` d11.xy = (d11.x < d11.y) ? d11.xy : d11.yx;\n`;
214
+ functionString += ` d11.xz = (d11.x < d11.z) ? d11.xz : d11.zx; // d11.x now smallest\n`;
215
+ functionString += ` d12 = min(d12, d21); // 2nd smallest now not in d21\n`;
216
+ functionString += ` d12 = min(d12, d22); // nor in d22\n`;
217
+ functionString += ` d12 = min(d12, d31); // nor in d31\n`;
218
+ functionString += ` d12 = min(d12, d32); // nor in d32\n`;
219
+ functionString += ` d11.yz = min(d11.yz,d12.xy); // nor in d12.yz\n`;
220
+ functionString += ` d11.y = min(d11.y,d12.z); // Only two more to go\n`;
221
+ functionString += ` d11.y = min(d11.y,d11.z); // Done! (Phew!)\n`;
222
+ functionString += ` return sqrt(d11.xy); // F1, F2\n`;
223
+ functionString += `}\n\n`;
224
224
  state._emitFunction("worley3D", functionString, "// Worley3D");
225
225
  const tempVariable = state._getFreeVariableName("worleyTemp");
226
- state.compilationString += `vec2 ${tempVariable} = worley(${this.seed.associatedVariableName}, ${this.jitter.associatedVariableName}, ${this.manhattanDistance});\r\n`;
226
+ state.compilationString += `vec2 ${tempVariable} = worley(${this.seed.associatedVariableName}, ${this.jitter.associatedVariableName}, ${this.manhattanDistance});\n`;
227
227
  if (this.output.hasEndpoints) {
228
- state.compilationString += this._declareOutput(this.output, state) + ` = ${tempVariable};\r\n`;
228
+ state.compilationString += this._declareOutput(this.output, state) + ` = ${tempVariable};\n`;
229
229
  }
230
230
  if (this.x.hasEndpoints) {
231
- state.compilationString += this._declareOutput(this.x, state) + ` = ${tempVariable}.x;\r\n`;
231
+ state.compilationString += this._declareOutput(this.x, state) + ` = ${tempVariable}.x;\n`;
232
232
  }
233
233
  if (this.y.hasEndpoints) {
234
- state.compilationString += this._declareOutput(this.y, state) + ` = ${tempVariable}.y;\r\n`;
234
+ state.compilationString += this._declareOutput(this.y, state) + ` = ${tempVariable}.y;\n`;
235
235
  }
236
236
  return this;
237
237
  }
@@ -239,7 +239,7 @@ export class WorleyNoise3DBlock extends NodeMaterialBlock {
239
239
  * Exposes the properties to the UI?
240
240
  */
241
241
  _dumpPropertiesCode() {
242
- const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.manhattanDistance = ${this.manhattanDistance};\r\n`;
242
+ const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.manhattanDistance = ${this.manhattanDistance};\n`;
243
243
  return codeString;
244
244
  }
245
245
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"worleyNoise3DBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Materials/Node/Blocks/worleyNoise3DBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from \"../nodeMaterialBlock\";\r\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes\";\r\nimport type { NodeMaterialBuildState } from \"../nodeMaterialBuildState\";\r\nimport type { NodeMaterialConnectionPoint } from \"../nodeMaterialBlockConnectionPoint\";\r\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport type { Scene } from \"../../../scene\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../nodeMaterialDecorator\";\r\n\r\n/**\r\n * block used to Generate a Worley Noise 3D Noise Pattern\r\n */\r\n\r\n// Source: https://github.com/Erkaman/glsl-worley\r\n// Converted to BJS by Pryme8\r\n//\r\n// Worley Noise 3D\r\n// Return vec2 value range of -1.0->1.0, F1-F2 respectivly\r\n\r\nexport class WorleyNoise3DBlock extends NodeMaterialBlock {\r\n /** Gets or sets a boolean indicating that normal should be inverted on X axis */\r\n @editableInPropertyPage(\"Use Manhattan Distance\", PropertyTypeForEdition.Boolean, \"PROPERTIES\", { notifiers: { update: false } })\r\n public manhattanDistance = false;\r\n\r\n /**\r\n * Creates a new WorleyNoise3DBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n this.registerInput(\"seed\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n this.registerInput(\"jitter\", NodeMaterialBlockConnectionPointTypes.Float);\r\n\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"x\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"y\", NodeMaterialBlockConnectionPointTypes.Float);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"WorleyNoise3DBlock\";\r\n }\r\n\r\n /**\r\n * Gets the seed input component\r\n */\r\n public get seed(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the jitter input component\r\n */\r\n public get jitter(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the x component\r\n */\r\n public get x(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the y component\r\n */\r\n public get y(): NodeMaterialConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n if (!this.seed.isConnected) {\r\n return;\r\n }\r\n\r\n if (!this.output.hasEndpoints && !this.x.hasEndpoints && !this.y.hasEndpoints) {\r\n return;\r\n }\r\n\r\n let functionString = `vec3 permute(vec3 x){\\r\\n`;\r\n functionString += ` return mod((34.0 * x + 1.0) * x, 289.0);\\r\\n`;\r\n functionString += `}\\r\\n\\r\\n`;\r\n\r\n functionString += `vec3 dist(vec3 x, vec3 y, vec3 z, bool manhattanDistance){\\r\\n`;\r\n functionString += ` return manhattanDistance ? abs(x) + abs(y) + abs(z) : (x * x + y * y + z * z);\\r\\n`;\r\n functionString += `}\\r\\n\\r\\n`;\r\n\r\n functionString += `vec2 worley(vec3 P, float jitter, bool manhattanDistance){\\r\\n`;\r\n functionString += ` float K = 0.142857142857; // 1/7\\r\\n`;\r\n functionString += ` float Ko = 0.428571428571; // 1/2-K/2\\r\\n`;\r\n functionString += ` float K2 = 0.020408163265306; // 1/(7*7)\\r\\n`;\r\n functionString += ` float Kz = 0.166666666667; // 1/6\\r\\n`;\r\n functionString += ` float Kzo = 0.416666666667; // 1/2-1/6*2\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 Pi = mod(floor(P), 289.0);\\r\\n`;\r\n functionString += ` vec3 Pf = fract(P) - 0.5;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 Pfx = Pf.x + vec3(1.0, 0.0, -1.0);\\r\\n`;\r\n functionString += ` vec3 Pfy = Pf.y + vec3(1.0, 0.0, -1.0);\\r\\n`;\r\n functionString += ` vec3 Pfz = Pf.z + vec3(1.0, 0.0, -1.0);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 p = permute(Pi.x + vec3(-1.0, 0.0, 1.0));\\r\\n`;\r\n functionString += ` vec3 p1 = permute(p + Pi.y - 1.0);\\r\\n`;\r\n functionString += ` vec3 p2 = permute(p + Pi.y);\\r\\n`;\r\n functionString += ` vec3 p3 = permute(p + Pi.y + 1.0);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 p11 = permute(p1 + Pi.z - 1.0);\\r\\n`;\r\n functionString += ` vec3 p12 = permute(p1 + Pi.z);\\r\\n`;\r\n functionString += ` vec3 p13 = permute(p1 + Pi.z + 1.0);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 p21 = permute(p2 + Pi.z - 1.0);\\r\\n`;\r\n functionString += ` vec3 p22 = permute(p2 + Pi.z);\\r\\n`;\r\n functionString += ` vec3 p23 = permute(p2 + Pi.z + 1.0);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 p31 = permute(p3 + Pi.z - 1.0);\\r\\n`;\r\n functionString += ` vec3 p32 = permute(p3 + Pi.z);\\r\\n`;\r\n functionString += ` vec3 p33 = permute(p3 + Pi.z + 1.0);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox11 = fract(p11*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy11 = mod(floor(p11*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz11 = floor(p11*K2)*Kz - Kzo; // p11 < 289 guaranteed\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox12 = fract(p12*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy12 = mod(floor(p12*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz12 = floor(p12*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox13 = fract(p13*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy13 = mod(floor(p13*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz13 = floor(p13*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox21 = fract(p21*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy21 = mod(floor(p21*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz21 = floor(p21*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox22 = fract(p22*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy22 = mod(floor(p22*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz22 = floor(p22*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox23 = fract(p23*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy23 = mod(floor(p23*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz23 = floor(p23*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox31 = fract(p31*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy31 = mod(floor(p31*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz31 = floor(p31*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox32 = fract(p32*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy32 = mod(floor(p32*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz32 = floor(p32*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 ox33 = fract(p33*K) - Ko;\\r\\n`;\r\n functionString += ` vec3 oy33 = mod(floor(p33*K), 7.0)*K - Ko;\\r\\n`;\r\n functionString += ` vec3 oz33 = floor(p33*K2)*Kz - Kzo;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx11 = Pfx + jitter*ox11;\\r\\n`;\r\n functionString += ` vec3 dy11 = Pfy.x + jitter*oy11;\\r\\n`;\r\n functionString += ` vec3 dz11 = Pfz.x + jitter*oz11;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx12 = Pfx + jitter*ox12;\\r\\n`;\r\n functionString += ` vec3 dy12 = Pfy.x + jitter*oy12;\\r\\n`;\r\n functionString += ` vec3 dz12 = Pfz.y + jitter*oz12;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx13 = Pfx + jitter*ox13;\\r\\n`;\r\n functionString += ` vec3 dy13 = Pfy.x + jitter*oy13;\\r\\n`;\r\n functionString += ` vec3 dz13 = Pfz.z + jitter*oz13;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx21 = Pfx + jitter*ox21;\\r\\n`;\r\n functionString += ` vec3 dy21 = Pfy.y + jitter*oy21;\\r\\n`;\r\n functionString += ` vec3 dz21 = Pfz.x + jitter*oz21;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx22 = Pfx + jitter*ox22;\\r\\n`;\r\n functionString += ` vec3 dy22 = Pfy.y + jitter*oy22;\\r\\n`;\r\n functionString += ` vec3 dz22 = Pfz.y + jitter*oz22;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx23 = Pfx + jitter*ox23;\\r\\n`;\r\n functionString += ` vec3 dy23 = Pfy.y + jitter*oy23;\\r\\n`;\r\n functionString += ` vec3 dz23 = Pfz.z + jitter*oz23;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx31 = Pfx + jitter*ox31;\\r\\n`;\r\n functionString += ` vec3 dy31 = Pfy.z + jitter*oy31;\\r\\n`;\r\n functionString += ` vec3 dz31 = Pfz.x + jitter*oz31;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx32 = Pfx + jitter*ox32;\\r\\n`;\r\n functionString += ` vec3 dy32 = Pfy.z + jitter*oy32;\\r\\n`;\r\n functionString += ` vec3 dz32 = Pfz.y + jitter*oz32;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 dx33 = Pfx + jitter*ox33;\\r\\n`;\r\n functionString += ` vec3 dy33 = Pfy.z + jitter*oy33;\\r\\n`;\r\n functionString += ` vec3 dz33 = Pfz.z + jitter*oz33;\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 d11 = dist(dx11, dy11, dz11, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d12 =dist(dx12, dy12, dz12, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d13 = dist(dx13, dy13, dz13, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d21 = dist(dx21, dy21, dz21, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d22 = dist(dx22, dy22, dz22, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d23 = dist(dx23, dy23, dz23, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d31 = dist(dx31, dy31, dz31, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d32 = dist(dx32, dy32, dz32, manhattanDistance);\\r\\n`;\r\n functionString += ` vec3 d33 = dist(dx33, dy33, dz33, manhattanDistance);\\r\\n`;\r\n functionString += `\\r\\n`;\r\n functionString += ` vec3 d1a = min(d11, d12);\\r\\n`;\r\n functionString += ` d12 = max(d11, d12);\\r\\n`;\r\n functionString += ` d11 = min(d1a, d13); // Smallest now not in d12 or d13\\r\\n`;\r\n functionString += ` d13 = max(d1a, d13);\\r\\n`;\r\n functionString += ` d12 = min(d12, d13); // 2nd smallest now not in d13\\r\\n`;\r\n functionString += ` vec3 d2a = min(d21, d22);\\r\\n`;\r\n functionString += ` d22 = max(d21, d22);\\r\\n`;\r\n functionString += ` d21 = min(d2a, d23); // Smallest now not in d22 or d23\\r\\n`;\r\n functionString += ` d23 = max(d2a, d23);\\r\\n`;\r\n functionString += ` d22 = min(d22, d23); // 2nd smallest now not in d23\\r\\n`;\r\n functionString += ` vec3 d3a = min(d31, d32);\\r\\n`;\r\n functionString += ` d32 = max(d31, d32);\\r\\n`;\r\n functionString += ` d31 = min(d3a, d33); // Smallest now not in d32 or d33\\r\\n`;\r\n functionString += ` d33 = max(d3a, d33);\\r\\n`;\r\n functionString += ` d32 = min(d32, d33); // 2nd smallest now not in d33\\r\\n`;\r\n functionString += ` vec3 da = min(d11, d21);\\r\\n`;\r\n functionString += ` d21 = max(d11, d21);\\r\\n`;\r\n functionString += ` d11 = min(da, d31); // Smallest now in d11\\r\\n`;\r\n functionString += ` d31 = max(da, d31); // 2nd smallest now not in d31\\r\\n`;\r\n functionString += ` d11.xy = (d11.x < d11.y) ? d11.xy : d11.yx;\\r\\n`;\r\n functionString += ` d11.xz = (d11.x < d11.z) ? d11.xz : d11.zx; // d11.x now smallest\\r\\n`;\r\n functionString += ` d12 = min(d12, d21); // 2nd smallest now not in d21\\r\\n`;\r\n functionString += ` d12 = min(d12, d22); // nor in d22\\r\\n`;\r\n functionString += ` d12 = min(d12, d31); // nor in d31\\r\\n`;\r\n functionString += ` d12 = min(d12, d32); // nor in d32\\r\\n`;\r\n functionString += ` d11.yz = min(d11.yz,d12.xy); // nor in d12.yz\\r\\n`;\r\n functionString += ` d11.y = min(d11.y,d12.z); // Only two more to go\\r\\n`;\r\n functionString += ` d11.y = min(d11.y,d11.z); // Done! (Phew!)\\r\\n`;\r\n functionString += ` return sqrt(d11.xy); // F1, F2\\r\\n`;\r\n functionString += `}\\r\\n\\r\\n`;\r\n\r\n state._emitFunction(\"worley3D\", functionString, \"// Worley3D\");\r\n\r\n const tempVariable = state._getFreeVariableName(\"worleyTemp\");\r\n\r\n state.compilationString += `vec2 ${tempVariable} = worley(${this.seed.associatedVariableName}, ${this.jitter.associatedVariableName}, ${this.manhattanDistance});\\r\\n`;\r\n\r\n if (this.output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${tempVariable};\\r\\n`;\r\n }\r\n\r\n if (this.x.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.x, state) + ` = ${tempVariable}.x;\\r\\n`;\r\n }\r\n\r\n if (this.y.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.y, state) + ` = ${tempVariable}.y;\\r\\n`;\r\n }\r\n return this;\r\n }\r\n /**\r\n * Exposes the properties to the UI?\r\n */\r\n protected _dumpPropertiesCode() {\r\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.manhattanDistance = ${this.manhattanDistance};\\r\\n`;\r\n\r\n return codeString;\r\n }\r\n /**\r\n * Exposes the properties to the Serialize?\r\n */\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n\r\n serializationObject.manhattanDistance = this.manhattanDistance;\r\n\r\n return serializationObject;\r\n }\r\n /**\r\n * Exposes the properties to the deserialize?\r\n * @param serializationObject\r\n * @param scene\r\n * @param rootUrl\r\n */\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.manhattanDistance = serializationObject.manhattanDistance;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.WorleyNoise3DBlock\", WorleyNoise3DBlock);\r\n"]}
1
+ {"version":3,"file":"worleyNoise3DBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Materials/Node/Blocks/worleyNoise3DBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeMaterialBlock } from \"../nodeMaterialBlock\";\r\nimport { NodeMaterialBlockConnectionPointTypes } from \"../Enums/nodeMaterialBlockConnectionPointTypes\";\r\nimport type { NodeMaterialBuildState } from \"../nodeMaterialBuildState\";\r\nimport type { NodeMaterialConnectionPoint } from \"../nodeMaterialBlockConnectionPoint\";\r\nimport { NodeMaterialBlockTargets } from \"../Enums/nodeMaterialBlockTargets\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport type { Scene } from \"../../../scene\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../Decorators/nodeDecorator\";\r\n\r\n/**\r\n * block used to Generate a Worley Noise 3D Noise Pattern\r\n */\r\n\r\n// Source: https://github.com/Erkaman/glsl-worley\r\n// Converted to BJS by Pryme8\r\n//\r\n// Worley Noise 3D\r\n// Return vec2 value range of -1.0->1.0, F1-F2 respectivly\r\n\r\nexport class WorleyNoise3DBlock extends NodeMaterialBlock {\r\n /** Gets or sets a boolean indicating that normal should be inverted on X axis */\r\n @editableInPropertyPage(\"Use Manhattan Distance\", PropertyTypeForEdition.Boolean, \"PROPERTIES\", { notifiers: { update: false } })\r\n public manhattanDistance = false;\r\n\r\n /**\r\n * Creates a new WorleyNoise3DBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name, NodeMaterialBlockTargets.Neutral);\r\n this.registerInput(\"seed\", NodeMaterialBlockConnectionPointTypes.Vector3);\r\n this.registerInput(\"jitter\", NodeMaterialBlockConnectionPointTypes.Float);\r\n\r\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"x\", NodeMaterialBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"y\", NodeMaterialBlockConnectionPointTypes.Float);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public getClassName() {\r\n return \"WorleyNoise3DBlock\";\r\n }\r\n\r\n /**\r\n * Gets the seed input component\r\n */\r\n public get seed(): NodeMaterialConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the jitter input component\r\n */\r\n public get jitter(): NodeMaterialConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeMaterialConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the x component\r\n */\r\n public get x(): NodeMaterialConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the y component\r\n */\r\n public get y(): NodeMaterialConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n protected _buildBlock(state: NodeMaterialBuildState) {\r\n super._buildBlock(state);\r\n\r\n if (!this.seed.isConnected) {\r\n return;\r\n }\r\n\r\n if (!this.output.hasEndpoints && !this.x.hasEndpoints && !this.y.hasEndpoints) {\r\n return;\r\n }\r\n\r\n let functionString = `vec3 permute(vec3 x){\\n`;\r\n functionString += ` return mod((34.0 * x + 1.0) * x, 289.0);\\n`;\r\n functionString += `}\\n\\n`;\r\n\r\n functionString += `vec3 dist(vec3 x, vec3 y, vec3 z, bool manhattanDistance){\\n`;\r\n functionString += ` return manhattanDistance ? abs(x) + abs(y) + abs(z) : (x * x + y * y + z * z);\\n`;\r\n functionString += `}\\n\\n`;\r\n\r\n functionString += `vec2 worley(vec3 P, float jitter, bool manhattanDistance){\\n`;\r\n functionString += ` float K = 0.142857142857; // 1/7\\n`;\r\n functionString += ` float Ko = 0.428571428571; // 1/2-K/2\\n`;\r\n functionString += ` float K2 = 0.020408163265306; // 1/(7*7)\\n`;\r\n functionString += ` float Kz = 0.166666666667; // 1/6\\n`;\r\n functionString += ` float Kzo = 0.416666666667; // 1/2-1/6*2\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 Pi = mod(floor(P), 289.0);\\n`;\r\n functionString += ` vec3 Pf = fract(P) - 0.5;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 Pfx = Pf.x + vec3(1.0, 0.0, -1.0);\\n`;\r\n functionString += ` vec3 Pfy = Pf.y + vec3(1.0, 0.0, -1.0);\\n`;\r\n functionString += ` vec3 Pfz = Pf.z + vec3(1.0, 0.0, -1.0);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 p = permute(Pi.x + vec3(-1.0, 0.0, 1.0));\\n`;\r\n functionString += ` vec3 p1 = permute(p + Pi.y - 1.0);\\n`;\r\n functionString += ` vec3 p2 = permute(p + Pi.y);\\n`;\r\n functionString += ` vec3 p3 = permute(p + Pi.y + 1.0);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 p11 = permute(p1 + Pi.z - 1.0);\\n`;\r\n functionString += ` vec3 p12 = permute(p1 + Pi.z);\\n`;\r\n functionString += ` vec3 p13 = permute(p1 + Pi.z + 1.0);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 p21 = permute(p2 + Pi.z - 1.0);\\n`;\r\n functionString += ` vec3 p22 = permute(p2 + Pi.z);\\n`;\r\n functionString += ` vec3 p23 = permute(p2 + Pi.z + 1.0);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 p31 = permute(p3 + Pi.z - 1.0);\\n`;\r\n functionString += ` vec3 p32 = permute(p3 + Pi.z);\\n`;\r\n functionString += ` vec3 p33 = permute(p3 + Pi.z + 1.0);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox11 = fract(p11*K) - Ko;\\n`;\r\n functionString += ` vec3 oy11 = mod(floor(p11*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz11 = floor(p11*K2)*Kz - Kzo; // p11 < 289 guaranteed\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox12 = fract(p12*K) - Ko;\\n`;\r\n functionString += ` vec3 oy12 = mod(floor(p12*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz12 = floor(p12*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox13 = fract(p13*K) - Ko;\\n`;\r\n functionString += ` vec3 oy13 = mod(floor(p13*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz13 = floor(p13*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox21 = fract(p21*K) - Ko;\\n`;\r\n functionString += ` vec3 oy21 = mod(floor(p21*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz21 = floor(p21*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox22 = fract(p22*K) - Ko;\\n`;\r\n functionString += ` vec3 oy22 = mod(floor(p22*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz22 = floor(p22*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox23 = fract(p23*K) - Ko;\\n`;\r\n functionString += ` vec3 oy23 = mod(floor(p23*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz23 = floor(p23*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox31 = fract(p31*K) - Ko;\\n`;\r\n functionString += ` vec3 oy31 = mod(floor(p31*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz31 = floor(p31*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox32 = fract(p32*K) - Ko;\\n`;\r\n functionString += ` vec3 oy32 = mod(floor(p32*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz32 = floor(p32*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 ox33 = fract(p33*K) - Ko;\\n`;\r\n functionString += ` vec3 oy33 = mod(floor(p33*K), 7.0)*K - Ko;\\n`;\r\n functionString += ` vec3 oz33 = floor(p33*K2)*Kz - Kzo;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx11 = Pfx + jitter*ox11;\\n`;\r\n functionString += ` vec3 dy11 = Pfy.x + jitter*oy11;\\n`;\r\n functionString += ` vec3 dz11 = Pfz.x + jitter*oz11;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx12 = Pfx + jitter*ox12;\\n`;\r\n functionString += ` vec3 dy12 = Pfy.x + jitter*oy12;\\n`;\r\n functionString += ` vec3 dz12 = Pfz.y + jitter*oz12;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx13 = Pfx + jitter*ox13;\\n`;\r\n functionString += ` vec3 dy13 = Pfy.x + jitter*oy13;\\n`;\r\n functionString += ` vec3 dz13 = Pfz.z + jitter*oz13;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx21 = Pfx + jitter*ox21;\\n`;\r\n functionString += ` vec3 dy21 = Pfy.y + jitter*oy21;\\n`;\r\n functionString += ` vec3 dz21 = Pfz.x + jitter*oz21;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx22 = Pfx + jitter*ox22;\\n`;\r\n functionString += ` vec3 dy22 = Pfy.y + jitter*oy22;\\n`;\r\n functionString += ` vec3 dz22 = Pfz.y + jitter*oz22;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx23 = Pfx + jitter*ox23;\\n`;\r\n functionString += ` vec3 dy23 = Pfy.y + jitter*oy23;\\n`;\r\n functionString += ` vec3 dz23 = Pfz.z + jitter*oz23;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx31 = Pfx + jitter*ox31;\\n`;\r\n functionString += ` vec3 dy31 = Pfy.z + jitter*oy31;\\n`;\r\n functionString += ` vec3 dz31 = Pfz.x + jitter*oz31;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx32 = Pfx + jitter*ox32;\\n`;\r\n functionString += ` vec3 dy32 = Pfy.z + jitter*oy32;\\n`;\r\n functionString += ` vec3 dz32 = Pfz.y + jitter*oz32;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 dx33 = Pfx + jitter*ox33;\\n`;\r\n functionString += ` vec3 dy33 = Pfy.z + jitter*oy33;\\n`;\r\n functionString += ` vec3 dz33 = Pfz.z + jitter*oz33;\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 d11 = dist(dx11, dy11, dz11, manhattanDistance);\\n`;\r\n functionString += ` vec3 d12 =dist(dx12, dy12, dz12, manhattanDistance);\\n`;\r\n functionString += ` vec3 d13 = dist(dx13, dy13, dz13, manhattanDistance);\\n`;\r\n functionString += ` vec3 d21 = dist(dx21, dy21, dz21, manhattanDistance);\\n`;\r\n functionString += ` vec3 d22 = dist(dx22, dy22, dz22, manhattanDistance);\\n`;\r\n functionString += ` vec3 d23 = dist(dx23, dy23, dz23, manhattanDistance);\\n`;\r\n functionString += ` vec3 d31 = dist(dx31, dy31, dz31, manhattanDistance);\\n`;\r\n functionString += ` vec3 d32 = dist(dx32, dy32, dz32, manhattanDistance);\\n`;\r\n functionString += ` vec3 d33 = dist(dx33, dy33, dz33, manhattanDistance);\\n`;\r\n functionString += `\\n`;\r\n functionString += ` vec3 d1a = min(d11, d12);\\n`;\r\n functionString += ` d12 = max(d11, d12);\\n`;\r\n functionString += ` d11 = min(d1a, d13); // Smallest now not in d12 or d13\\n`;\r\n functionString += ` d13 = max(d1a, d13);\\n`;\r\n functionString += ` d12 = min(d12, d13); // 2nd smallest now not in d13\\n`;\r\n functionString += ` vec3 d2a = min(d21, d22);\\n`;\r\n functionString += ` d22 = max(d21, d22);\\n`;\r\n functionString += ` d21 = min(d2a, d23); // Smallest now not in d22 or d23\\n`;\r\n functionString += ` d23 = max(d2a, d23);\\n`;\r\n functionString += ` d22 = min(d22, d23); // 2nd smallest now not in d23\\n`;\r\n functionString += ` vec3 d3a = min(d31, d32);\\n`;\r\n functionString += ` d32 = max(d31, d32);\\n`;\r\n functionString += ` d31 = min(d3a, d33); // Smallest now not in d32 or d33\\n`;\r\n functionString += ` d33 = max(d3a, d33);\\n`;\r\n functionString += ` d32 = min(d32, d33); // 2nd smallest now not in d33\\n`;\r\n functionString += ` vec3 da = min(d11, d21);\\n`;\r\n functionString += ` d21 = max(d11, d21);\\n`;\r\n functionString += ` d11 = min(da, d31); // Smallest now in d11\\n`;\r\n functionString += ` d31 = max(da, d31); // 2nd smallest now not in d31\\n`;\r\n functionString += ` d11.xy = (d11.x < d11.y) ? d11.xy : d11.yx;\\n`;\r\n functionString += ` d11.xz = (d11.x < d11.z) ? d11.xz : d11.zx; // d11.x now smallest\\n`;\r\n functionString += ` d12 = min(d12, d21); // 2nd smallest now not in d21\\n`;\r\n functionString += ` d12 = min(d12, d22); // nor in d22\\n`;\r\n functionString += ` d12 = min(d12, d31); // nor in d31\\n`;\r\n functionString += ` d12 = min(d12, d32); // nor in d32\\n`;\r\n functionString += ` d11.yz = min(d11.yz,d12.xy); // nor in d12.yz\\n`;\r\n functionString += ` d11.y = min(d11.y,d12.z); // Only two more to go\\n`;\r\n functionString += ` d11.y = min(d11.y,d11.z); // Done! (Phew!)\\n`;\r\n functionString += ` return sqrt(d11.xy); // F1, F2\\n`;\r\n functionString += `}\\n\\n`;\r\n\r\n state._emitFunction(\"worley3D\", functionString, \"// Worley3D\");\r\n\r\n const tempVariable = state._getFreeVariableName(\"worleyTemp\");\r\n\r\n state.compilationString += `vec2 ${tempVariable} = worley(${this.seed.associatedVariableName}, ${this.jitter.associatedVariableName}, ${this.manhattanDistance});\\n`;\r\n\r\n if (this.output.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.output, state) + ` = ${tempVariable};\\n`;\r\n }\r\n\r\n if (this.x.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.x, state) + ` = ${tempVariable}.x;\\n`;\r\n }\r\n\r\n if (this.y.hasEndpoints) {\r\n state.compilationString += this._declareOutput(this.y, state) + ` = ${tempVariable}.y;\\n`;\r\n }\r\n return this;\r\n }\r\n /**\r\n * Exposes the properties to the UI?\r\n */\r\n protected _dumpPropertiesCode() {\r\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.manhattanDistance = ${this.manhattanDistance};\\n`;\r\n\r\n return codeString;\r\n }\r\n /**\r\n * Exposes the properties to the Serialize?\r\n */\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n\r\n serializationObject.manhattanDistance = this.manhattanDistance;\r\n\r\n return serializationObject;\r\n }\r\n /**\r\n * Exposes the properties to the deserialize?\r\n * @param serializationObject\r\n * @param scene\r\n * @param rootUrl\r\n */\r\n public _deserialize(serializationObject: any, scene: Scene, rootUrl: string) {\r\n super._deserialize(serializationObject, scene, rootUrl);\r\n\r\n this.manhattanDistance = serializationObject.manhattanDistance;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.WorleyNoise3DBlock\", WorleyNoise3DBlock);\r\n"]}
@@ -5,4 +5,4 @@ export * from "./nodeMaterialBlock";
5
5
  export * from "./nodeMaterial";
6
6
  export * from "./Blocks/index";
7
7
  export * from "./Optimizers/index";
8
- export * from "./nodeMaterialDecorator";
8
+ export * from "../../Decorators/nodeDecorator";
@@ -6,5 +6,5 @@ export * from "./nodeMaterialBlock.js";
6
6
  export * from "./nodeMaterial.js";
7
7
  export * from "./Blocks/index.js";
8
8
  export * from "./Optimizers/index.js";
9
- export * from "./nodeMaterialDecorator.js";
9
+ export * from "../../Decorators/nodeDecorator.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/Node/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nexport * from \"./Enums/index\";\r\nexport * from \"./nodeMaterialConnectionPointCustomObject\";\r\nexport * from \"./nodeMaterialBlockConnectionPoint\";\r\nexport * from \"./nodeMaterialBlock\";\r\nexport * from \"./nodeMaterial\";\r\nexport * from \"./Blocks/index\";\r\nexport * from \"./Optimizers/index\";\r\nexport * from \"./nodeMaterialDecorator\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/Node/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nexport * from \"./Enums/index\";\r\nexport * from \"./nodeMaterialConnectionPointCustomObject\";\r\nexport * from \"./nodeMaterialBlockConnectionPoint\";\r\nexport * from \"./nodeMaterialBlock\";\r\nexport * from \"./nodeMaterial\";\r\nexport * from \"./Blocks/index\";\r\nexport * from \"./Optimizers/index\";\r\nexport * from \"../../Decorators/nodeDecorator\";\r\n"]}
@@ -283,6 +283,7 @@ export declare class NodeMaterial extends PushMaterial {
283
283
  * @returns a boolean specifying if an alpha test is needed.
284
284
  */
285
285
  needAlphaTesting(): boolean;
286
+ private _processInitializeOnLink;
286
287
  private _initializeBlock;
287
288
  private _resetDualBlocks;
288
289
  /**
@@ -426,6 +426,15 @@ export class NodeMaterial extends PushMaterial {
426
426
  needAlphaTesting() {
427
427
  return this._sharedData && this._sharedData.hints.needAlphaTesting;
428
428
  }
429
+ _processInitializeOnLink(block, state, nodesToProcessForOtherBuildState, autoConfigure = true) {
430
+ if (block.target === NodeMaterialBlockTargets.VertexAndFragment) {
431
+ nodesToProcessForOtherBuildState.push(block);
432
+ }
433
+ else if (state.target === NodeMaterialBlockTargets.Fragment && block.target === NodeMaterialBlockTargets.Vertex && block._preparationId !== this._buildId) {
434
+ nodesToProcessForOtherBuildState.push(block);
435
+ }
436
+ this._initializeBlock(block, state, nodesToProcessForOtherBuildState, autoConfigure);
437
+ }
429
438
  _initializeBlock(node, state, nodesToProcessForOtherBuildState, autoConfigure = true) {
430
439
  node.initialize(state);
431
440
  if (autoConfigure) {
@@ -449,16 +458,17 @@ export class NodeMaterial extends PushMaterial {
449
458
  if (connectedPoint) {
450
459
  const block = connectedPoint.ownerBlock;
451
460
  if (block !== node) {
452
- if (block.target === NodeMaterialBlockTargets.VertexAndFragment) {
453
- nodesToProcessForOtherBuildState.push(block);
454
- }
455
- else if (state.target === NodeMaterialBlockTargets.Fragment && block.target === NodeMaterialBlockTargets.Vertex && block._preparationId !== this._buildId) {
456
- nodesToProcessForOtherBuildState.push(block);
457
- }
458
- this._initializeBlock(block, state, nodesToProcessForOtherBuildState, autoConfigure);
461
+ this._processInitializeOnLink(block, state, nodesToProcessForOtherBuildState, autoConfigure);
459
462
  }
460
463
  }
461
464
  }
465
+ // Teleportation
466
+ if (node.isTeleportOut) {
467
+ const teleport = node;
468
+ if (teleport.entryPoint) {
469
+ this._processInitializeOnLink(teleport.entryPoint, state, nodesToProcessForOtherBuildState, autoConfigure);
470
+ }
471
+ }
462
472
  for (const output of node.outputs) {
463
473
  output.associatedVariableName = "";
464
474
  }
@@ -476,6 +486,13 @@ export class NodeMaterial extends PushMaterial {
476
486
  }
477
487
  }
478
488
  }
489
+ // If this is a teleport out, we need to reset the connected block
490
+ if (node.isTeleportOut) {
491
+ const teleportOut = node;
492
+ if (teleportOut.entryPoint) {
493
+ this._resetDualBlocks(teleportOut.entryPoint, id);
494
+ }
495
+ }
479
496
  }
480
497
  /**
481
498
  * Remove a block from the current node material
@@ -972,7 +989,7 @@ export class NodeMaterial extends PushMaterial {
972
989
  * Get a string representing the shaders built by the current node graph
973
990
  */
974
991
  get compiledShaders() {
975
- return `// Vertex shader\r\n${this._vertexCompilationState.compilationString}\r\n\r\n// Fragment shader\r\n${this._fragmentCompilationState.compilationString}`;
992
+ return `// Vertex shader\n${this._vertexCompilationState.compilationString}\n\n// Fragment shader\n${this._fragmentCompilationState.compilationString}`;
976
993
  }
977
994
  /**
978
995
  * Binds the world matrix to the material
@@ -1313,6 +1330,13 @@ export class NodeMaterial extends PushMaterial {
1313
1330
  }
1314
1331
  }
1315
1332
  }
1333
+ // Teleportation
1334
+ if (rootNode.isTeleportOut) {
1335
+ const block = rootNode;
1336
+ if (block.entryPoint) {
1337
+ this._gatherBlocks(block.entryPoint, list);
1338
+ }
1339
+ }
1316
1340
  }
1317
1341
  /**
1318
1342
  * Generate a string containing the code declaration required to create an equivalent of this material
@@ -1331,8 +1355,8 @@ export class NodeMaterial extends PushMaterial {
1331
1355
  this._gatherBlocks(outputNode, fragmentBlocks);
1332
1356
  }
1333
1357
  // Generate vertex shader
1334
- let codeString = `var nodeMaterial = new BABYLON.NodeMaterial("${this.name || "node material"}");\r\n`;
1335
- codeString += `nodeMaterial.mode = BABYLON.NodeMaterialModes.${NodeMaterialModes[this.mode]};\r\n`;
1358
+ let codeString = `var nodeMaterial = new BABYLON.NodeMaterial("${this.name || "node material"}");\n`;
1359
+ codeString += `nodeMaterial.mode = BABYLON.NodeMaterialModes.${NodeMaterialModes[this.mode]};\n`;
1336
1360
  for (const node of vertexBlocks) {
1337
1361
  if (node.isInput && alreadyDumped.indexOf(node) === -1) {
1338
1362
  codeString += node._dumpCode(uniqueNames, alreadyDumped);
@@ -1346,7 +1370,7 @@ export class NodeMaterial extends PushMaterial {
1346
1370
  }
1347
1371
  // Connections
1348
1372
  alreadyDumped = [];
1349
- codeString += "\r\n// Connections\r\n";
1373
+ codeString += "\n// Connections\n";
1350
1374
  for (const node of this._vertexOutputNodes) {
1351
1375
  codeString += node._dumpCodeForOutputConnections(alreadyDumped);
1352
1376
  }
@@ -1354,14 +1378,14 @@ export class NodeMaterial extends PushMaterial {
1354
1378
  codeString += node._dumpCodeForOutputConnections(alreadyDumped);
1355
1379
  }
1356
1380
  // Output nodes
1357
- codeString += "\r\n// Output nodes\r\n";
1381
+ codeString += "\n// Output nodes\n";
1358
1382
  for (const node of this._vertexOutputNodes) {
1359
- codeString += `nodeMaterial.addOutputNode(${node._codeVariableName});\r\n`;
1383
+ codeString += `nodeMaterial.addOutputNode(${node._codeVariableName});\n`;
1360
1384
  }
1361
1385
  for (const node of this._fragmentOutputNodes) {
1362
- codeString += `nodeMaterial.addOutputNode(${node._codeVariableName});\r\n`;
1386
+ codeString += `nodeMaterial.addOutputNode(${node._codeVariableName});\n`;
1363
1387
  }
1364
- codeString += `nodeMaterial.build();\r\n`;
1388
+ codeString += `nodeMaterial.build();\n`;
1365
1389
  return codeString;
1366
1390
  }
1367
1391
  /**
@@ -1449,6 +1473,17 @@ export class NodeMaterial extends PushMaterial {
1449
1473
  this.attachedBlocks.push(block);
1450
1474
  }
1451
1475
  }
1476
+ // Reconnect teleportation
1477
+ for (const block of this.attachedBlocks) {
1478
+ if (block.isTeleportOut) {
1479
+ const teleportOut = block;
1480
+ const id = teleportOut._tempEntryPointUniqueId;
1481
+ if (id) {
1482
+ const source = map[id];
1483
+ source.attachToEndpoint(teleportOut);
1484
+ }
1485
+ }
1486
+ }
1452
1487
  // Connections - Starts with input blocks only (except if in "merge" mode where we scan all blocks)
1453
1488
  for (let blockIndex = 0; blockIndex < source.blocks.length; blockIndex++) {
1454
1489
  const parsedBlock = source.blocks[blockIndex];