@babylonjs/core 7.3.1 → 7.3.3

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 (510) hide show
  1. package/Actions/condition.js.map +1 -1
  2. package/Actions/directActions.js.map +1 -1
  3. package/Actions/directAudioActions.js.map +1 -1
  4. package/Actions/interpolateValueAction.js.map +1 -1
  5. package/Animations/easing.js.map +1 -1
  6. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  7. package/Bones/bone.js.map +1 -1
  8. package/Cameras/Inputs/arcRotateCameraPointersInput.js.map +1 -1
  9. package/Cameras/Inputs/followCameraPointersInput.js.map +1 -1
  10. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  11. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js.map +1 -1
  12. package/Cameras/Stereoscopic/anaglyphFreeCamera.js.map +1 -1
  13. package/Cameras/Stereoscopic/anaglyphGamepadCamera.js.map +1 -1
  14. package/Cameras/Stereoscopic/anaglyphUniversalCamera.js.map +1 -1
  15. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js.map +1 -1
  16. package/Cameras/Stereoscopic/stereoscopicFreeCamera.js.map +1 -1
  17. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js.map +1 -1
  18. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  19. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js.map +1 -1
  20. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
  21. package/Cameras/VR/vrDeviceOrientationFreeCamera.js.map +1 -1
  22. package/Cameras/VR/vrDeviceOrientationGamepadCamera.js.map +1 -1
  23. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  24. package/Cameras/arcRotateCamera.js.map +1 -1
  25. package/Cameras/camera.js.map +1 -1
  26. package/Cameras/deviceOrientationCamera.js.map +1 -1
  27. package/Cameras/flyCamera.js.map +1 -1
  28. package/Cameras/followCamera.js.map +1 -1
  29. package/Cameras/freeCamera.js.map +1 -1
  30. package/Cameras/freeCameraInputsManager.js.map +1 -1
  31. package/Cameras/gamepadCamera.js.map +1 -1
  32. package/Cameras/targetCamera.js.map +1 -1
  33. package/Cameras/touchCamera.js.map +1 -1
  34. package/Cameras/universalCamera.js.map +1 -1
  35. package/Cameras/virtualJoysticksCamera.js.map +1 -1
  36. package/Compute/computeEffect.js +4 -4
  37. package/Compute/computeEffect.js.map +1 -1
  38. package/Debug/boneAxesViewer.js.map +1 -1
  39. package/Engines/IPipelineContext.d.ts +3 -0
  40. package/Engines/IPipelineContext.js.map +1 -1
  41. package/Engines/Native/nativePipelineContext.d.ts +2 -0
  42. package/Engines/Native/nativePipelineContext.js +3 -0
  43. package/Engines/Native/nativePipelineContext.js.map +1 -1
  44. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  45. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  46. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  47. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  48. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  49. package/Engines/Processors/iShaderProcessor.d.ts +3 -2
  50. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  51. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  52. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  53. package/Engines/Processors/shaderProcessor.d.ts +15 -23
  54. package/Engines/Processors/shaderProcessor.js +332 -320
  55. package/Engines/Processors/shaderProcessor.js.map +1 -1
  56. package/Engines/WebGL/webGLPipelineContext.d.ts +2 -0
  57. package/Engines/WebGL/webGLPipelineContext.js +3 -0
  58. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  59. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  60. package/Engines/WebGL/webGLShaderProcessors.d.ts +3 -2
  61. package/Engines/WebGL/webGLShaderProcessors.js +2 -2
  62. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  63. package/Engines/WebGPU/Extensions/engine.computeShader.js +1 -1
  64. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  65. package/Engines/WebGPU/Extensions/engine.rawTexture.js +10 -10
  66. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  67. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  68. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  69. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +2 -0
  70. package/Engines/WebGPU/webgpuHardwareTexture.js +2 -0
  71. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  72. package/Engines/WebGPU/webgpuPipelineContext.d.ts +2 -0
  73. package/Engines/WebGPU/webgpuPipelineContext.js +3 -0
  74. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  75. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +3 -2
  76. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +2 -4
  77. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  78. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  79. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  80. package/Engines/abstractEngine.d.ts +10 -5
  81. package/Engines/abstractEngine.functions.d.ts +38 -0
  82. package/Engines/abstractEngine.functions.js +75 -0
  83. package/Engines/abstractEngine.functions.js.map +1 -0
  84. package/Engines/abstractEngine.js +34 -14
  85. package/Engines/abstractEngine.js.map +1 -1
  86. package/Engines/constants.d.ts +2 -0
  87. package/Engines/constants.js +2 -0
  88. package/Engines/constants.js.map +1 -1
  89. package/Engines/engine.d.ts +0 -8
  90. package/Engines/engine.js +0 -28
  91. package/Engines/engine.js.map +1 -1
  92. package/Engines/nativeEngine.js.map +1 -1
  93. package/Engines/nullEngine.js.map +1 -1
  94. package/Engines/thinEngine.d.ts +11 -6
  95. package/Engines/thinEngine.functions.d.ts +96 -0
  96. package/Engines/thinEngine.functions.js +249 -0
  97. package/Engines/thinEngine.functions.js.map +1 -0
  98. package/Engines/thinEngine.js +50 -129
  99. package/Engines/thinEngine.js.map +1 -1
  100. package/Engines/webgpuEngine.js +5 -1
  101. package/Engines/webgpuEngine.js.map +1 -1
  102. package/Events/keyboardEvents.js.map +1 -1
  103. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
  104. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
  105. package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
  106. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
  107. package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
  108. package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js.map +1 -1
  109. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -1
  110. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
  111. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -1
  112. package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
  113. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  114. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
  115. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
  116. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
  117. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
  118. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  119. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
  120. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
  121. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
  122. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -1
  123. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  124. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
  125. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
  126. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -1
  127. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
  128. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
  129. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -1
  130. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -1
  131. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
  132. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
  133. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
  134. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  135. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -1
  136. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
  137. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
  138. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
  139. package/FlowGraph/flowGraphDataConnection.js.map +1 -1
  140. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  141. package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
  142. package/Gamepads/dualShockGamepad.js.map +1 -1
  143. package/Gamepads/gamepad.js.map +1 -1
  144. package/Gamepads/xboxGamepad.js.map +1 -1
  145. package/Gizmos/axisDragGizmo.js.map +1 -1
  146. package/Gizmos/axisScaleGizmo.js.map +1 -1
  147. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  148. package/Gizmos/cameraGizmo.js.map +1 -1
  149. package/Gizmos/lightGizmo.js.map +1 -1
  150. package/Gizmos/planeDragGizmo.js.map +1 -1
  151. package/Gizmos/planeRotationGizmo.js.map +1 -1
  152. package/Gizmos/positionGizmo.js.map +1 -1
  153. package/Gizmos/rotationGizmo.js.map +1 -1
  154. package/Gizmos/scaleGizmo.js.map +1 -1
  155. package/Helpers/photoDome.js.map +1 -1
  156. package/Helpers/textureDome.js.map +1 -1
  157. package/Helpers/videoDome.js.map +1 -1
  158. package/Layers/glowLayer.js.map +1 -1
  159. package/Layers/highlightLayer.js.map +1 -1
  160. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  161. package/Lights/directionalLight.js.map +1 -1
  162. package/Lights/hemisphericLight.js.map +1 -1
  163. package/Lights/light.js.map +1 -1
  164. package/Lights/pointLight.js.map +1 -1
  165. package/Lights/shadowLight.js.map +1 -1
  166. package/Lights/spotLight.js.map +1 -1
  167. package/Materials/Background/backgroundMaterial.js.map +1 -1
  168. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  169. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
  170. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  171. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
  172. package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
  173. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  174. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  175. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  176. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  177. package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
  178. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  179. package/Materials/Node/Blocks/Dual/textureBlock.js +3 -3
  180. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  181. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  182. package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
  183. package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
  184. package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
  185. package/Materials/Node/Blocks/Fragment/fragDepthBlock.js.map +1 -1
  186. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  187. package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
  188. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
  189. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  190. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  191. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.js.map +1 -1
  192. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  193. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
  194. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
  195. package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -1
  196. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  197. package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
  198. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  199. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  200. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
  201. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  202. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  203. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  204. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  205. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  206. package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
  207. package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js.map +1 -1
  208. package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
  209. package/Materials/Node/Blocks/Teleport/teleportInBlock.js.map +1 -1
  210. package/Materials/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
  211. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  212. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  213. package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
  214. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  215. package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
  216. package/Materials/Node/Blocks/addBlock.js.map +1 -1
  217. package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
  218. package/Materials/Node/Blocks/biPlanarBlock.js.map +1 -1
  219. package/Materials/Node/Blocks/clampBlock.js.map +1 -1
  220. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  221. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  222. package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
  223. package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
  224. package/Materials/Node/Blocks/crossBlock.js.map +1 -1
  225. package/Materials/Node/Blocks/curveBlock.js.map +1 -1
  226. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  227. package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
  228. package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
  229. package/Materials/Node/Blocks/divideBlock.js.map +1 -1
  230. package/Materials/Node/Blocks/dotBlock.js.map +1 -1
  231. package/Materials/Node/Blocks/elbowBlock.js.map +1 -1
  232. package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
  233. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  234. package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
  235. package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
  236. package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
  237. package/Materials/Node/Blocks/matrixDeterminantBlock.js.map +1 -1
  238. package/Materials/Node/Blocks/matrixTransposeBlock.js.map +1 -1
  239. package/Materials/Node/Blocks/maxBlock.js.map +1 -1
  240. package/Materials/Node/Blocks/meshAttributeExistsBlock.js.map +1 -1
  241. package/Materials/Node/Blocks/minBlock.js.map +1 -1
  242. package/Materials/Node/Blocks/modBlock.js.map +1 -1
  243. package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
  244. package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
  245. package/Materials/Node/Blocks/negateBlock.js.map +1 -1
  246. package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
  247. package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
  248. package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
  249. package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
  250. package/Materials/Node/Blocks/powBlock.js.map +1 -1
  251. package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
  252. package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
  253. package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
  254. package/Materials/Node/Blocks/refractBlock.js.map +1 -1
  255. package/Materials/Node/Blocks/remapBlock.js.map +1 -1
  256. package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
  257. package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
  258. package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
  259. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  260. package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
  261. package/Materials/Node/Blocks/stepBlock.js.map +1 -1
  262. package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
  263. package/Materials/Node/Blocks/transformBlock.js.map +1 -1
  264. package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
  265. package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
  266. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  267. package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
  268. package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
  269. package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -1
  270. package/Materials/Node/Blocks/waveBlock.js.map +1 -1
  271. package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
  272. package/Materials/Node/nodeMaterial.js.map +1 -1
  273. package/Materials/Node/nodeMaterialConnectionPointCustomObject.js.map +1 -1
  274. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  275. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  276. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  277. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  278. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  279. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  280. package/Materials/PBR/pbrMaterial.js.map +1 -1
  281. package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
  282. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  283. package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
  284. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  285. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  286. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  287. package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
  288. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +9 -1
  289. package/Materials/Textures/Procedurals/proceduralTexture.js +16 -0
  290. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  291. package/Materials/Textures/baseTexture.js.map +1 -1
  292. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  293. package/Materials/Textures/cubeTexture.js.map +1 -1
  294. package/Materials/Textures/dynamicTexture.js.map +1 -1
  295. package/Materials/Textures/equiRectangularCubeTexture.js +1 -1
  296. package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
  297. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  298. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  299. package/Materials/Textures/internalTexture.js.map +1 -1
  300. package/Materials/Textures/mirrorTexture.js.map +1 -1
  301. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  302. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  303. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  304. package/Materials/Textures/refractionTexture.js.map +1 -1
  305. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  306. package/Materials/Textures/texture.js.map +1 -1
  307. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  308. package/Materials/Textures/videoTexture.js.map +1 -1
  309. package/Materials/effect.d.ts +11 -6
  310. package/Materials/effect.functions.d.ts +86 -0
  311. package/Materials/effect.functions.js +185 -0
  312. package/Materials/effect.functions.js.map +1 -0
  313. package/Materials/effect.js +94 -153
  314. package/Materials/effect.js.map +1 -1
  315. package/Materials/effect.webgl.functions.d.ts +13 -0
  316. package/Materials/effect.webgl.functions.js +83 -0
  317. package/Materials/effect.webgl.functions.js.map +1 -0
  318. package/Materials/material.decalMapConfiguration.js.map +1 -1
  319. package/Materials/material.detailMapConfiguration.js.map +1 -1
  320. package/Materials/materialPluginManager.js +2 -2
  321. package/Materials/materialPluginManager.js.map +1 -1
  322. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  323. package/Materials/multiMaterial.js.map +1 -1
  324. package/Materials/pushMaterial.js.map +1 -1
  325. package/Materials/shaderMaterial.js.map +1 -1
  326. package/Materials/standardMaterial.js.map +1 -1
  327. package/Meshes/Compression/dracoCompression.js.map +1 -1
  328. package/Meshes/Compression/dracoCompressionWorker.d.ts +1 -1
  329. package/Meshes/Compression/dracoCompressionWorker.js +21 -10
  330. package/Meshes/Compression/dracoCompressionWorker.js.map +1 -1
  331. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  332. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  333. package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
  334. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
  335. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
  336. package/Meshes/Node/Blocks/Instances/instantiateBlock.js.map +1 -1
  337. package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.js.map +1 -1
  338. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js.map +1 -1
  339. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -1
  340. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js.map +1 -1
  341. package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.js.map +1 -1
  342. package/Meshes/Node/Blocks/Matrices/alignBlock.js.map +1 -1
  343. package/Meshes/Node/Blocks/Matrices/rotationXBlock.js.map +1 -1
  344. package/Meshes/Node/Blocks/Matrices/rotationYBlock.js.map +1 -1
  345. package/Meshes/Node/Blocks/Matrices/rotationZBlock.js.map +1 -1
  346. package/Meshes/Node/Blocks/Matrices/scalingBlock.js.map +1 -1
  347. package/Meshes/Node/Blocks/Matrices/translationBlock.js.map +1 -1
  348. package/Meshes/Node/Blocks/Set/setColorsBlock.js.map +1 -1
  349. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js.map +1 -1
  350. package/Meshes/Node/Blocks/Set/setNormalsBlock.js.map +1 -1
  351. package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
  352. package/Meshes/Node/Blocks/Set/setTangentsBlock.js.map +1 -1
  353. package/Meshes/Node/Blocks/Set/setUVsBlock.js.map +1 -1
  354. package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -1
  355. package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -1
  356. package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -1
  357. package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -1
  358. package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -1
  359. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -1
  360. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
  361. package/Meshes/Node/Blocks/Sources/nullBlock.js.map +1 -1
  362. package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
  363. package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -1
  364. package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -1
  365. package/Meshes/Node/Blocks/Teleport/teleportInBlock.js.map +1 -1
  366. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
  367. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
  368. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
  369. package/Meshes/Node/Blocks/booleanGeometryBlock.js.map +1 -1
  370. package/Meshes/Node/Blocks/boundingBlock.js.map +1 -1
  371. package/Meshes/Node/Blocks/computeNormalsBlock.js.map +1 -1
  372. package/Meshes/Node/Blocks/conditionBlock.js.map +1 -1
  373. package/Meshes/Node/Blocks/debugBlock.js.map +1 -1
  374. package/Meshes/Node/Blocks/geometryArcTan2Block.js.map +1 -1
  375. package/Meshes/Node/Blocks/geometryClampBlock.js.map +1 -1
  376. package/Meshes/Node/Blocks/geometryCollectionBlock.js.map +1 -1
  377. package/Meshes/Node/Blocks/geometryCrossBlock.js.map +1 -1
  378. package/Meshes/Node/Blocks/geometryCurveBlock.js.map +1 -1
  379. package/Meshes/Node/Blocks/geometryDesaturateBlock.js.map +1 -1
  380. package/Meshes/Node/Blocks/geometryDistanceBlock.js.map +1 -1
  381. package/Meshes/Node/Blocks/geometryDotBlock.js.map +1 -1
  382. package/Meshes/Node/Blocks/geometryElbowBlock.js.map +1 -1
  383. package/Meshes/Node/Blocks/geometryInfoBlock.js.map +1 -1
  384. package/Meshes/Node/Blocks/geometryInputBlock.js.map +1 -1
  385. package/Meshes/Node/Blocks/geometryLengthBlock.js.map +1 -1
  386. package/Meshes/Node/Blocks/geometryLerpBlock.js.map +1 -1
  387. package/Meshes/Node/Blocks/geometryModBlock.js.map +1 -1
  388. package/Meshes/Node/Blocks/geometryNLerpBlock.js.map +1 -1
  389. package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
  390. package/Meshes/Node/Blocks/geometryOutputBlock.js.map +1 -1
  391. package/Meshes/Node/Blocks/geometryPosterizeBlock.js.map +1 -1
  392. package/Meshes/Node/Blocks/geometryPowBlock.js.map +1 -1
  393. package/Meshes/Node/Blocks/geometryReplaceColorBlock.js.map +1 -1
  394. package/Meshes/Node/Blocks/geometryRotate2dBlock.js.map +1 -1
  395. package/Meshes/Node/Blocks/geometrySmoothStepBlock.js.map +1 -1
  396. package/Meshes/Node/Blocks/geometryStepBlock.js.map +1 -1
  397. package/Meshes/Node/Blocks/geometryTransformBlock.js.map +1 -1
  398. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
  399. package/Meshes/Node/Blocks/intFloatConverterBlock.js.map +1 -1
  400. package/Meshes/Node/Blocks/mapRangeBlock.js.map +1 -1
  401. package/Meshes/Node/Blocks/mappingBlock.js.map +1 -1
  402. package/Meshes/Node/Blocks/mathBlock.js.map +1 -1
  403. package/Meshes/Node/Blocks/matrixComposeBlock.js.map +1 -1
  404. package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -1
  405. package/Meshes/Node/Blocks/noiseBlock.js.map +1 -1
  406. package/Meshes/Node/Blocks/normalizeVectorBlock.js.map +1 -1
  407. package/Meshes/Node/Blocks/randomBlock.js.map +1 -1
  408. package/Meshes/Node/Blocks/vectorConverterBlock.js.map +1 -1
  409. package/Meshes/Node/nodeGeometryBlock.js +1 -0
  410. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  411. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  412. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  413. package/Meshes/abstractMesh.js.map +1 -1
  414. package/Meshes/geodesicMesh.js.map +1 -1
  415. package/Meshes/goldbergMesh.js.map +1 -1
  416. package/Meshes/groundMesh.js.map +1 -1
  417. package/Meshes/instancedMesh.js.map +1 -1
  418. package/Meshes/linesMesh.js.map +1 -1
  419. package/Meshes/mesh.js.map +1 -1
  420. package/Meshes/trailMesh.js.map +1 -1
  421. package/Meshes/transformNode.js.map +1 -1
  422. package/Misc/assetsManager.js.map +1 -1
  423. package/Misc/depthReducer.js.map +1 -1
  424. package/Misc/fileTools.js +4 -3
  425. package/Misc/fileTools.js.map +1 -1
  426. package/Misc/sceneOptimizer.js.map +1 -1
  427. package/Misc/smartArray.js.map +1 -1
  428. package/Misc/workerPool.js.map +1 -1
  429. package/Particles/EmitterTypes/cylinderParticleEmitter.js.map +1 -1
  430. package/Particles/EmitterTypes/sphereParticleEmitter.js.map +1 -1
  431. package/Particles/gpuParticleSystem.js.map +1 -1
  432. package/Particles/particleSystem.js.map +1 -1
  433. package/Particles/thinParticleSystem.js.map +1 -1
  434. package/Physics/physicsRaycastResult.js.map +1 -1
  435. package/Physics/proximityCastResult.js.map +1 -1
  436. package/Physics/v1/physicsJoint.js.map +1 -1
  437. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  438. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
  439. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  440. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  441. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js.map +1 -1
  442. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
  443. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js.map +1 -1
  444. package/PostProcesses/anaglyphPostProcess.js.map +1 -1
  445. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  446. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  447. package/PostProcesses/blurPostProcess.js.map +1 -1
  448. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  449. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  450. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  451. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  452. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  453. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  454. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  455. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  456. package/PostProcesses/filterPostProcess.js.map +1 -1
  457. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  458. package/PostProcesses/grainPostProcess.js.map +1 -1
  459. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  460. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  461. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  462. package/PostProcesses/passPostProcess.js.map +1 -1
  463. package/PostProcesses/refractionPostProcess.js.map +1 -1
  464. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  465. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  466. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  467. package/PostProcesses/stereoscopicInterlacePostProcess.js.map +1 -1
  468. package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
  469. package/PostProcesses/tonemapPostProcess.js.map +1 -1
  470. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  471. package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
  472. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  473. package/Rendering/GlobalIllumination/giRSMManager.js.map +1 -1
  474. package/Rendering/edgesRenderer.js.map +1 -1
  475. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  476. package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
  477. package/Rendering/reflectiveShadowMap.js.map +1 -1
  478. package/Sprites/sprite.js.map +1 -1
  479. package/Sprites/spritePackedManager.js.map +1 -1
  480. package/XR/features/Layers/WebXRCompositionLayer.js.map +1 -1
  481. package/XR/features/Layers/WebXRProjectionLayer.js.map +1 -1
  482. package/XR/features/WebXRAnchorSystem.js.map +1 -1
  483. package/XR/features/WebXRBackgroundRemover.js.map +1 -1
  484. package/XR/features/WebXRControllerMovement.js.map +1 -1
  485. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  486. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  487. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  488. package/XR/features/WebXRDOMOverlay.js.map +1 -1
  489. package/XR/features/WebXRDepthSensing.js.map +1 -1
  490. package/XR/features/WebXREyeTracking.js.map +1 -1
  491. package/XR/features/WebXRFeaturePointSystem.js.map +1 -1
  492. package/XR/features/WebXRHandTracking.js.map +1 -1
  493. package/XR/features/WebXRHitTest.js.map +1 -1
  494. package/XR/features/WebXRHitTestLegacy.js.map +1 -1
  495. package/XR/features/WebXRImageTracking.js.map +1 -1
  496. package/XR/features/WebXRLayers.js.map +1 -1
  497. package/XR/features/WebXRLightEstimation.js.map +1 -1
  498. package/XR/features/WebXRMeshDetector.js.map +1 -1
  499. package/XR/features/WebXRNearInteraction.js.map +1 -1
  500. package/XR/features/WebXRPlaneDetector.js.map +1 -1
  501. package/XR/features/WebXRRawCameraAccess.js.map +1 -1
  502. package/XR/features/WebXRSpaceWarp.js.map +1 -1
  503. package/XR/features/WebXRWalkingLocomotion.js.map +1 -1
  504. package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
  505. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  506. package/XR/webXRCamera.js.map +1 -1
  507. package/XR/webXRWebGLLayer.js.map +1 -1
  508. package/assets/Draco/draco_wasm_wrapper.js +115 -115
  509. package/package.json +1 -1
  510. package/scene.js.map +1 -1
@@ -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 \"../../../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 += state._declareOutput(this.output) + ` = ${tempVariable};\\n`;\r\n }\r\n\r\n if (this.x.hasEndpoints) {\r\n state.compilationString += state._declareOutput(this.x) + ` = ${tempVariable}.x;\\n`;\r\n }\r\n\r\n if (this.y.hasEndpoints) {\r\n state.compilationString += state._declareOutput(this.y) + ` = ${tempVariable}.y;\\n`;\r\n }\r\n return this;\r\n }\r\n /**\r\n * Exposes the properties to the UI?\r\n * @returns - boolean indicating if the block has properties or not\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 * @returns - a serialized object\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 override 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 override _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 += state._declareOutput(this.output) + ` = ${tempVariable};\\n`;\r\n }\r\n\r\n if (this.x.hasEndpoints) {\r\n state.compilationString += state._declareOutput(this.x) + ` = ${tempVariable}.x;\\n`;\r\n }\r\n\r\n if (this.y.hasEndpoints) {\r\n state.compilationString += state._declareOutput(this.y) + ` = ${tempVariable}.y;\\n`;\r\n }\r\n return this;\r\n }\r\n /**\r\n * Exposes the properties to the UI?\r\n * @returns - boolean indicating if the block has properties or not\r\n */\r\n protected override _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 * @returns - a serialized object\r\n */\r\n public override 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 override _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"]}