@onerjs/core 8.53.5 → 8.53.6

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 (841) hide show
  1. package/Animations/animationGroup.d.ts +0 -1
  2. package/Animations/animationGroup.js +0 -1
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Animations/animationGroup.pure.js +2 -0
  5. package/Animations/animationGroup.pure.js.map +1 -1
  6. package/Animations/runtimeAnimation.js +11 -0
  7. package/Animations/runtimeAnimation.js.map +1 -1
  8. package/Audio/audioSceneComponent.pure.js +1 -1
  9. package/AudioV2/abstractAudio/abstractSound.d.ts +2 -1
  10. package/AudioV2/abstractAudio/abstractSound.js +7 -2
  11. package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
  12. package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +3 -1
  13. package/AudioV2/abstractAudio/abstractSoundInstance.js.map +1 -1
  14. package/AudioV2/abstractAudio/staticSound.d.ts +6 -0
  15. package/AudioV2/abstractAudio/staticSound.js +17 -1
  16. package/AudioV2/abstractAudio/staticSound.js.map +1 -1
  17. package/AudioV2/abstractAudio/staticSoundInstance.d.ts +4 -2
  18. package/AudioV2/abstractAudio/staticSoundInstance.js.map +1 -1
  19. package/AudioV2/abstractAudio/streamingSound.d.ts +6 -0
  20. package/AudioV2/abstractAudio/streamingSound.js +9 -1
  21. package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
  22. package/AudioV2/webAudio/webAudioStaticSound.d.ts +7 -1
  23. package/AudioV2/webAudio/webAudioStaticSound.js +56 -8
  24. package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
  25. package/AudioV2/webAudio/webAudioStreamingSound.d.ts +3 -1
  26. package/AudioV2/webAudio/webAudioStreamingSound.js +16 -4
  27. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  28. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +2 -2
  29. package/BakedVertexAnimation/bakedVertexAnimationManager.js +151 -121
  30. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  31. package/Behaviors/Cameras/interpolatingBehavior.d.ts +17 -2
  32. package/Behaviors/Cameras/interpolatingBehavior.js +53 -23
  33. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  34. package/Bones/bone.pure.js +3 -3
  35. package/Buffers/buffer.pure.js +0 -12
  36. package/Buffers/buffer.pure.js.map +1 -1
  37. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +141 -126
  38. package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
  39. package/Cameras/Inputs/BaseCameraPointersInput.d.ts +2 -1
  40. package/Cameras/Inputs/BaseCameraPointersInput.js +290 -277
  41. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  42. package/Cameras/Inputs/arcRotateCameraGamepadInput.js +115 -102
  43. package/Cameras/Inputs/arcRotateCameraGamepadInput.js.map +1 -1
  44. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +3 -0
  45. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +334 -273
  46. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  47. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +273 -258
  48. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  49. package/Cameras/Inputs/arcRotateCameraPointersInput.js +237 -213
  50. package/Cameras/Inputs/arcRotateCameraPointersInput.js.map +1 -1
  51. package/Cameras/Inputs/flyCameraKeyboardInput.js +199 -168
  52. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  53. package/Cameras/Inputs/flyCameraMouseInput.js +243 -229
  54. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  55. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +311 -266
  56. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  57. package/Cameras/Inputs/followCameraMouseWheelInput.js +139 -119
  58. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  59. package/Cameras/Inputs/followCameraPointersInput.js +239 -203
  60. package/Cameras/Inputs/followCameraPointersInput.js.map +1 -1
  61. package/Cameras/Inputs/freeCameraGamepadInput.js +127 -114
  62. package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
  63. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +278 -244
  64. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  65. package/Cameras/Inputs/freeCameraMouseInput.js +216 -202
  66. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  67. package/Cameras/Inputs/freeCameraMouseWheelInput.js +368 -353
  68. package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
  69. package/Cameras/Inputs/freeCameraTouchInput.js +185 -172
  70. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  71. package/Cameras/Inputs/geospatialCameraKeyboardInput.d.ts +2 -0
  72. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +291 -246
  73. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  74. package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +11 -1
  75. package/Cameras/Inputs/geospatialCameraPointersInput.js +18 -2
  76. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  77. package/Cameras/Inputs/orbitCameraPointersInput.js +112 -96
  78. package/Cameras/Inputs/orbitCameraPointersInput.js.map +1 -1
  79. package/Cameras/VR/vrExperienceHelper.d.ts +0 -2
  80. package/Cameras/VR/vrExperienceHelper.js +0 -2
  81. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  82. package/Cameras/VR/vrExperienceHelper.pure.js +5 -0
  83. package/Cameras/VR/vrExperienceHelper.pure.js.map +1 -1
  84. package/Cameras/arcRotateCamera.pure.js +1559 -1479
  85. package/Cameras/arcRotateCamera.pure.js.map +1 -1
  86. package/Cameras/camera.pure.js +1225 -1178
  87. package/Cameras/camera.pure.js.map +1 -1
  88. package/Cameras/flyCamera.pure.js +369 -351
  89. package/Cameras/flyCamera.pure.js.map +1 -1
  90. package/Cameras/followCamera.pure.js +229 -192
  91. package/Cameras/followCamera.pure.js.map +1 -1
  92. package/Cameras/freeCamera.pure.js +373 -351
  93. package/Cameras/freeCamera.pure.js.map +1 -1
  94. package/Cameras/geospatialCamera.pure.d.ts +30 -7
  95. package/Cameras/geospatialCamera.pure.js +502 -457
  96. package/Cameras/geospatialCamera.pure.js.map +1 -1
  97. package/Cameras/geospatialCameraMovement.js +2 -2
  98. package/Cameras/geospatialCameraMovement.js.map +1 -1
  99. package/Cameras/targetCamera.pure.d.ts +7 -0
  100. package/Cameras/targetCamera.pure.js +550 -509
  101. package/Cameras/targetCamera.pure.js.map +1 -1
  102. package/Cameras/universalCamera.pure.js +98 -85
  103. package/Cameras/universalCamera.pure.js.map +1 -1
  104. package/Collisions/gpuPicker.d.ts +111 -4
  105. package/Collisions/gpuPicker.js +696 -119
  106. package/Collisions/gpuPicker.js.map +1 -1
  107. package/Compute/computeShader.pure.js +372 -355
  108. package/Compute/computeShader.pure.js.map +1 -1
  109. package/Culling/Helper/transformFeedbackBoundingHelper.pure.js +2 -2
  110. package/Decorators/nodeDecorator.d.ts +11 -1
  111. package/Decorators/nodeDecorator.js +43 -6
  112. package/Decorators/nodeDecorator.js.map +1 -1
  113. package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js +8 -0
  114. package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js.map +1 -1
  115. package/Engines/Native/nativeHelpers.js +15 -0
  116. package/Engines/Native/nativeHelpers.js.map +1 -1
  117. package/Engines/Native/nativeInterfaces.d.ts +7 -2
  118. package/Engines/Native/nativeInterfaces.js.map +1 -1
  119. package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -0
  120. package/Engines/Native/nativeRenderTargetWrapper.js +35 -1
  121. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  122. package/Engines/Processors/shaderProcessor.js +5 -3
  123. package/Engines/Processors/shaderProcessor.js.map +1 -1
  124. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js +16 -3
  125. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js.map +1 -1
  126. package/Engines/WebGPU/webgpuClearQuad.pure.js +7 -1
  127. package/Engines/WebGPU/webgpuClearQuad.pure.js.map +1 -1
  128. package/Engines/abstractEngine.functions.d.ts +8 -2
  129. package/Engines/abstractEngine.functions.js +12 -4
  130. package/Engines/abstractEngine.functions.js.map +1 -1
  131. package/Engines/abstractEngine.pure.d.ts +20 -1
  132. package/Engines/abstractEngine.pure.js +21 -134
  133. package/Engines/abstractEngine.pure.js.map +1 -1
  134. package/Engines/engine.d.ts +208 -0
  135. package/Engines/engine.pure.js +0 -15
  136. package/Engines/engine.pure.js.map +1 -1
  137. package/Engines/nullEngine.pure.d.ts +66 -0
  138. package/Engines/nullEngine.pure.js +97 -0
  139. package/Engines/nullEngine.pure.js.map +1 -1
  140. package/Engines/thinEngine.pure.d.ts +0 -13
  141. package/Engines/thinEngine.pure.js +4 -23
  142. package/Engines/thinEngine.pure.js.map +1 -1
  143. package/Engines/thinNativeEngine.d.ts +0 -1
  144. package/Engines/thinNativeEngine.js +0 -1
  145. package/Engines/thinNativeEngine.js.map +1 -1
  146. package/Engines/thinNativeEngine.pure.d.ts +27 -0
  147. package/Engines/thinNativeEngine.pure.js +383 -17
  148. package/Engines/thinNativeEngine.pure.js.map +1 -1
  149. package/Engines/webgpuEngine.d.ts +1 -0
  150. package/Engines/webgpuEngine.js +1 -0
  151. package/Engines/webgpuEngine.js.map +1 -1
  152. package/Engines/webgpuEngine.pure.d.ts +9 -0
  153. package/Engines/webgpuEngine.pure.js +7 -0
  154. package/Engines/webgpuEngine.pure.js.map +1 -1
  155. package/FlowGraph/flowGraph.js +9 -0
  156. package/FlowGraph/flowGraph.js.map +1 -1
  157. package/FlowGraph/flowGraphContext.js +597 -584
  158. package/FlowGraph/flowGraphContext.js.map +1 -1
  159. package/FlowGraph/flowGraphDataConnection.pure.d.ts +14 -0
  160. package/FlowGraph/flowGraphDataConnection.pure.js +38 -1
  161. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  162. package/FlowGraph/serialization.d.ts +11 -0
  163. package/FlowGraph/serialization.js +11 -1
  164. package/FlowGraph/serialization.js.map +1 -1
  165. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js +182 -170
  166. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js.map +1 -1
  167. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js +196 -184
  168. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js.map +1 -1
  169. package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js +222 -210
  170. package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js.map +1 -1
  171. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +123 -111
  172. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
  173. package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +158 -146
  174. package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -1
  175. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js +63 -51
  176. package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js.map +1 -1
  177. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js +122 -110
  178. package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js.map +1 -1
  179. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js +76 -64
  180. package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js.map +1 -1
  181. package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js +89 -77
  182. package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js.map +1 -1
  183. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js +134 -122
  184. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js.map +1 -1
  185. package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js +58 -46
  186. package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js.map +1 -1
  187. package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js +107 -95
  188. package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js.map +1 -1
  189. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js +181 -169
  190. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js.map +1 -1
  191. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js +63 -51
  192. package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js.map +1 -1
  193. package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js +63 -51
  194. package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js.map +1 -1
  195. package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js +76 -64
  196. package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js.map +1 -1
  197. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js +246 -234
  198. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js.map +1 -1
  199. package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js +108 -96
  200. package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js.map +1 -1
  201. package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js +87 -75
  202. package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js.map +1 -1
  203. package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js +76 -64
  204. package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js.map +1 -1
  205. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js +313 -301
  206. package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js.map +1 -1
  207. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js +502 -490
  208. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js.map +1 -1
  209. package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js +147 -135
  210. package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js.map +1 -1
  211. package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js +90 -78
  212. package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js.map +1 -1
  213. package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js +179 -167
  214. package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js.map +1 -1
  215. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +462 -451
  216. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  217. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +265 -253
  218. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
  219. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js +204 -192
  220. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js.map +1 -1
  221. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +611 -550
  222. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
  223. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js +320 -308
  224. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js.map +1 -1
  225. package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js +87 -75
  226. package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js.map +1 -1
  227. package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js +154 -142
  228. package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js.map +1 -1
  229. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js +150 -138
  230. package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js.map +1 -1
  231. package/FrameGraph/Node/Blocks/inputBlock.pure.js +270 -256
  232. package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
  233. package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js +95 -83
  234. package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js.map +1 -1
  235. package/FrameGraph/Node/nodeRenderGraph.js +715 -693
  236. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  237. package/FrameGraph/Node/nodeRenderGraphBlock.js +548 -533
  238. package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
  239. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +2 -2
  240. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +43 -51
  241. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
  242. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +0 -1
  243. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +0 -1
  244. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -1
  245. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.d.ts +0 -1
  246. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js +66 -35
  247. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js.map +1 -1
  248. package/Helpers/environmentHelper.js +2 -2
  249. package/Helpers/environmentHelper.js.map +1 -1
  250. package/Layers/effectLayer.js +529 -519
  251. package/Layers/effectLayer.js.map +1 -1
  252. package/Layers/glowLayer.pure.js +428 -413
  253. package/Layers/glowLayer.pure.js.map +1 -1
  254. package/Layers/highlightLayer.pure.js +473 -458
  255. package/Layers/highlightLayer.pure.js.map +1 -1
  256. package/Layers/selectionOutlineLayer.pure.js +360 -345
  257. package/Layers/selectionOutlineLayer.pure.js.map +1 -1
  258. package/Lights/Clustered/clusteredLightContainer.pure.d.ts +1 -1
  259. package/Lights/Clustered/clusteredLightContainer.pure.js +583 -558
  260. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  261. package/Lights/Shadows/shadowGenerator.js +6 -1
  262. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  263. package/Lights/areaLight.pure.js +61 -39
  264. package/Lights/areaLight.pure.js.map +1 -1
  265. package/Lights/directionalLight.pure.js +308 -284
  266. package/Lights/directionalLight.pure.js.map +1 -1
  267. package/Lights/hemisphericLight.pure.js +123 -104
  268. package/Lights/hemisphericLight.pure.js.map +1 -1
  269. package/Lights/light.d.ts +5 -3
  270. package/Lights/light.js +869 -827
  271. package/Lights/light.js.map +1 -1
  272. package/Lights/pointLight.pure.js +185 -174
  273. package/Lights/pointLight.pure.js.map +1 -1
  274. package/Lights/rectAreaLight.pure.d.ts +17 -0
  275. package/Lights/rectAreaLight.pure.js +238 -159
  276. package/Lights/rectAreaLight.pure.js.map +1 -1
  277. package/Lights/shadowLight.js +280 -268
  278. package/Lights/shadowLight.js.map +1 -1
  279. package/Lights/spotLight.pure.js +460 -427
  280. package/Lights/spotLight.pure.js.map +1 -1
  281. package/Loading/Plugins/babylonFileLoader.pure.js +17 -5
  282. package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
  283. package/Loading/sceneLoader.d.ts +5 -1
  284. package/Loading/sceneLoader.js +299 -402
  285. package/Loading/sceneLoader.js.map +1 -1
  286. package/Materials/Background/backgroundMaterial.pure.d.ts +18 -18
  287. package/Materials/Background/backgroundMaterial.pure.js +949 -794
  288. package/Materials/Background/backgroundMaterial.pure.js.map +1 -1
  289. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.d.ts +15 -0
  290. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +34 -1
  291. package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
  292. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +9 -0
  293. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +26 -2
  294. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  295. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.d.ts +2 -1
  296. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +169 -149
  297. package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
  298. package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +1 -1
  299. package/Materials/Node/Blocks/Dual/lightBlock.pure.js +442 -429
  300. package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
  301. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js +396 -383
  302. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js.map +1 -1
  303. package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js +237 -220
  304. package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js.map +1 -1
  305. package/Materials/Node/Blocks/Dual/textureBlock.pure.js +1 -1
  306. package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js +150 -133
  307. package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js.map +1 -1
  308. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +265 -250
  309. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
  310. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js +159 -142
  311. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js.map +1 -1
  312. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js +214 -201
  313. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js.map +1 -1
  314. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js +419 -400
  315. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js.map +1 -1
  316. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +3 -1
  317. package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
  318. package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js +302 -289
  319. package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js.map +1 -1
  320. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +1327 -1272
  321. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
  322. package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js +352 -337
  323. package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js.map +1 -1
  324. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js +297 -277
  325. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js.map +1 -1
  326. package/Materials/Node/Blocks/PBR/sheenBlock.pure.js +146 -131
  327. package/Materials/Node/Blocks/PBR/sheenBlock.pure.js.map +1 -1
  328. package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js +158 -145
  329. package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js.map +1 -1
  330. package/Materials/Node/Blocks/clampBlock.pure.js +92 -77
  331. package/Materials/Node/Blocks/clampBlock.pure.js.map +1 -1
  332. package/Materials/Node/Blocks/cloudBlock.pure.js +145 -132
  333. package/Materials/Node/Blocks/cloudBlock.pure.js.map +1 -1
  334. package/Materials/Node/Blocks/conditionalBlock.pure.js +182 -169
  335. package/Materials/Node/Blocks/conditionalBlock.pure.js.map +1 -1
  336. package/Materials/Node/Blocks/curveBlock.pure.js +259 -246
  337. package/Materials/Node/Blocks/curveBlock.pure.js.map +1 -1
  338. package/Materials/Node/Blocks/debugBlock.pure.js +119 -106
  339. package/Materials/Node/Blocks/debugBlock.pure.js.map +1 -1
  340. package/Materials/Node/Blocks/loopBlock.pure.js +123 -110
  341. package/Materials/Node/Blocks/loopBlock.pure.js.map +1 -1
  342. package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js +185 -172
  343. package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js.map +1 -1
  344. package/Materials/Node/Blocks/remapBlock.pure.js +127 -112
  345. package/Materials/Node/Blocks/remapBlock.pure.js.map +1 -1
  346. package/Materials/Node/Blocks/transformBlock.pure.js +196 -185
  347. package/Materials/Node/Blocks/transformBlock.pure.js.map +1 -1
  348. package/Materials/Node/Blocks/triPlanarBlock.pure.js +451 -438
  349. package/Materials/Node/Blocks/triPlanarBlock.pure.js.map +1 -1
  350. package/Materials/Node/Blocks/trigonometryBlock.pure.js +184 -171
  351. package/Materials/Node/Blocks/trigonometryBlock.pure.js.map +1 -1
  352. package/Materials/Node/Blocks/waveBlock.pure.js +97 -84
  353. package/Materials/Node/Blocks/waveBlock.pure.js.map +1 -1
  354. package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js +276 -263
  355. package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js.map +1 -1
  356. package/Materials/Node/nodeMaterial.pure.js +1765 -1737
  357. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  358. package/Materials/Node/nodeMaterialBuildState.d.ts +3 -3
  359. package/Materials/PBR/openpbrMaterial.pure.d.ts +102 -102
  360. package/Materials/PBR/openpbrMaterial.pure.js +3115 -2243
  361. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  362. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  363. package/Materials/PBR/pbrAnisotropicConfiguration.js +255 -227
  364. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  365. package/Materials/PBR/pbrBRDFConfiguration.d.ts +9 -9
  366. package/Materials/PBR/pbrBRDFConfiguration.js +203 -155
  367. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  368. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +1 -1
  369. package/Materials/PBR/pbrBaseMaterial.pure.js +1751 -1736
  370. package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
  371. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +13 -13
  372. package/Materials/PBR/pbrBaseSimpleMaterial.js +205 -117
  373. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  374. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +9 -9
  375. package/Materials/PBR/pbrClearCoatConfiguration.js +464 -406
  376. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  377. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +3 -3
  378. package/Materials/PBR/pbrIridescenceConfiguration.js +271 -239
  379. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  380. package/Materials/PBR/pbrMaterial.pure.d.ts +66 -66
  381. package/Materials/PBR/pbrMaterial.pure.js +1041 -685
  382. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  383. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.d.ts +5 -5
  384. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js +176 -115
  385. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js.map +1 -1
  386. package/Materials/PBR/pbrSheenConfiguration.d.ts +7 -7
  387. package/Materials/PBR/pbrSheenConfiguration.js +314 -270
  388. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  389. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.d.ts +5 -5
  390. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js +172 -117
  391. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js.map +1 -1
  392. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +16 -16
  393. package/Materials/PBR/pbrSubSurfaceConfiguration.js +864 -764
  394. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  395. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +43 -0
  396. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +64 -0
  397. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -0
  398. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +69 -0
  399. package/Materials/Textures/HTML/htmlInteractionManager.js +130 -0
  400. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -0
  401. package/Materials/Textures/HTML/htmlRaycastInteractionManager.d.ts +84 -0
  402. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js +246 -0
  403. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js.map +1 -0
  404. package/Materials/Textures/HTML/htmlTexture.d.ts +148 -0
  405. package/Materials/Textures/HTML/htmlTexture.js +455 -0
  406. package/Materials/Textures/HTML/htmlTexture.js.map +1 -0
  407. package/Materials/Textures/HTML/index.d.ts +4 -0
  408. package/Materials/Textures/HTML/index.js +5 -0
  409. package/Materials/Textures/HTML/index.js.map +1 -0
  410. package/Materials/Textures/HTML/pure.d.ts +5 -0
  411. package/Materials/Textures/HTML/pure.js +6 -0
  412. package/Materials/Textures/HTML/pure.js.map +1 -0
  413. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +671 -643
  414. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  415. package/Materials/Textures/baseTexture.pure.js +880 -825
  416. package/Materials/Textures/baseTexture.pure.js.map +1 -1
  417. package/Materials/Textures/cubeTexture.d.ts +0 -1
  418. package/Materials/Textures/cubeTexture.js +0 -1
  419. package/Materials/Textures/cubeTexture.js.map +1 -1
  420. package/Materials/Textures/cubeTexture.pure.js +368 -333
  421. package/Materials/Textures/cubeTexture.pure.js.map +1 -1
  422. package/Materials/Textures/dynamicTexture.d.ts +0 -1
  423. package/Materials/Textures/dynamicTexture.js +0 -1
  424. package/Materials/Textures/dynamicTexture.js.map +1 -1
  425. package/Materials/Textures/dynamicTexture.pure.js +2 -0
  426. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  427. package/Materials/Textures/htmlElementTexture.d.ts +0 -2
  428. package/Materials/Textures/htmlElementTexture.js +0 -2
  429. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  430. package/Materials/Textures/htmlElementTexture.pure.js +4 -0
  431. package/Materials/Textures/htmlElementTexture.pure.js.map +1 -1
  432. package/Materials/Textures/index.d.ts +1 -0
  433. package/Materials/Textures/index.js +1 -1
  434. package/Materials/Textures/index.js.map +1 -1
  435. package/Materials/Textures/multiRenderTarget.d.ts +0 -1
  436. package/Materials/Textures/multiRenderTarget.js +0 -1
  437. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  438. package/Materials/Textures/multiRenderTarget.pure.js +2 -0
  439. package/Materials/Textures/multiRenderTarget.pure.js.map +1 -1
  440. package/Materials/Textures/pure.d.ts +1 -0
  441. package/Materials/Textures/pure.js +1 -0
  442. package/Materials/Textures/pure.js.map +1 -1
  443. package/Materials/Textures/texture.pure.js +961 -923
  444. package/Materials/Textures/texture.pure.js.map +1 -1
  445. package/Materials/Textures/videoTexture.pure.d.ts +3 -0
  446. package/Materials/Textures/videoTexture.pure.js +450 -401
  447. package/Materials/Textures/videoTexture.pure.js.map +1 -1
  448. package/Materials/colorCurves.pure.js +510 -477
  449. package/Materials/colorCurves.pure.js.map +1 -1
  450. package/Materials/effect.pure.js +0 -7
  451. package/Materials/effect.pure.js.map +1 -1
  452. package/Materials/imageProcessing.js +12 -4
  453. package/Materials/imageProcessing.js.map +1 -1
  454. package/Materials/imageProcessingConfiguration.pure.js +647 -587
  455. package/Materials/imageProcessingConfiguration.pure.js.map +1 -1
  456. package/Materials/material.decalMapConfiguration.pure.d.ts +2 -2
  457. package/Materials/material.decalMapConfiguration.pure.js +149 -130
  458. package/Materials/material.decalMapConfiguration.pure.js.map +1 -1
  459. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  460. package/Materials/material.detailMapConfiguration.js +213 -175
  461. package/Materials/material.detailMapConfiguration.js.map +1 -1
  462. package/Materials/material.pure.js +1815 -1721
  463. package/Materials/material.pure.js.map +1 -1
  464. package/Materials/materialPluginBase.pure.js +270 -249
  465. package/Materials/materialPluginBase.pure.js.map +1 -1
  466. package/Materials/materialPluginManager.pure.js +18 -8
  467. package/Materials/materialPluginManager.pure.js.map +1 -1
  468. package/Materials/materialStencilState.js +211 -200
  469. package/Materials/materialStencilState.js.map +1 -1
  470. package/Materials/meshDebugPluginMaterial.pure.d.ts +2 -2
  471. package/Materials/meshDebugPluginMaterial.pure.js +397 -275
  472. package/Materials/meshDebugPluginMaterial.pure.js.map +1 -1
  473. package/Materials/standardMaterial.pure.d.ts +32 -32
  474. package/Materials/standardMaterial.pure.js +1804 -1394
  475. package/Materials/standardMaterial.pure.js.map +1 -1
  476. package/Maths/math.color.pure.js +5 -5
  477. package/Maths/math.functions.js +38 -30
  478. package/Maths/math.functions.js.map +1 -1
  479. package/Maths/math.vector.pure.js +25 -25
  480. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +18 -8
  481. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  482. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +86 -1
  483. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +255 -104
  484. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  485. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.d.ts +39 -0
  486. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js +322 -0
  487. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js.map +1 -0
  488. package/Meshes/GreasedLine/greasedLineMesh.pure.js +4 -4
  489. package/Meshes/GreasedLine/greasedLineRibbonMesh.pure.js +3 -3
  490. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +107 -94
  491. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
  492. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js +276 -263
  493. package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js.map +1 -1
  494. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js +247 -232
  495. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js.map +1 -1
  496. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js +299 -284
  497. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js.map +1 -1
  498. package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js +196 -181
  499. package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js.map +1 -1
  500. package/Meshes/Node/Blocks/Set/latticeBlock.pure.js +198 -179
  501. package/Meshes/Node/Blocks/Set/latticeBlock.pure.js.map +1 -1
  502. package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js +151 -138
  503. package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js.map +1 -1
  504. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js +107 -94
  505. package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js.map +1 -1
  506. package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js +138 -125
  507. package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js.map +1 -1
  508. package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js +213 -200
  509. package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js.map +1 -1
  510. package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js +138 -125
  511. package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js.map +1 -1
  512. package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js +179 -164
  513. package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js.map +1 -1
  514. package/Meshes/Node/Blocks/Sources/boxBlock.pure.js +183 -170
  515. package/Meshes/Node/Blocks/Sources/boxBlock.pure.js.map +1 -1
  516. package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js +125 -112
  517. package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js.map +1 -1
  518. package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js +153 -140
  519. package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js.map +1 -1
  520. package/Meshes/Node/Blocks/Sources/discBlock.pure.js +112 -99
  521. package/Meshes/Node/Blocks/Sources/discBlock.pure.js.map +1 -1
  522. package/Meshes/Node/Blocks/Sources/gridBlock.pure.js +133 -120
  523. package/Meshes/Node/Blocks/Sources/gridBlock.pure.js.map +1 -1
  524. package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js +128 -115
  525. package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js.map +1 -1
  526. package/Meshes/Node/Blocks/Sources/meshBlock.pure.js +116 -103
  527. package/Meshes/Node/Blocks/Sources/meshBlock.pure.js.map +1 -1
  528. package/Meshes/Node/Blocks/Sources/planeBlock.pure.js +160 -147
  529. package/Meshes/Node/Blocks/Sources/planeBlock.pure.js.map +1 -1
  530. package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js +144 -131
  531. package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js.map +1 -1
  532. package/Meshes/Node/Blocks/Sources/torusBlock.pure.js +112 -99
  533. package/Meshes/Node/Blocks/Sources/torusBlock.pure.js.map +1 -1
  534. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js +200 -185
  535. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js.map +1 -1
  536. package/Meshes/Node/Blocks/bevelBlock.pure.js +111 -98
  537. package/Meshes/Node/Blocks/bevelBlock.pure.js.map +1 -1
  538. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +182 -165
  539. package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
  540. package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js +89 -76
  541. package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js.map +1 -1
  542. package/Meshes/Node/Blocks/conditionBlock.pure.js +184 -169
  543. package/Meshes/Node/Blocks/conditionBlock.pure.js.map +1 -1
  544. package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js +270 -255
  545. package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js.map +1 -1
  546. package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js +172 -159
  547. package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js.map +1 -1
  548. package/Meshes/Node/Blocks/geometryCurveBlock.pure.js +230 -217
  549. package/Meshes/Node/Blocks/geometryCurveBlock.pure.js.map +1 -1
  550. package/Meshes/Node/Blocks/geometryEaseBlock.pure.js +256 -245
  551. package/Meshes/Node/Blocks/geometryEaseBlock.pure.js.map +1 -1
  552. package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js +206 -189
  553. package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js.map +1 -1
  554. package/Meshes/Node/Blocks/geometryTransformBlock.pure.js +166 -153
  555. package/Meshes/Node/Blocks/geometryTransformBlock.pure.js.map +1 -1
  556. package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js +221 -208
  557. package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js.map +1 -1
  558. package/Meshes/Node/Blocks/mappingBlock.pure.js +150 -137
  559. package/Meshes/Node/Blocks/mappingBlock.pure.js.map +1 -1
  560. package/Meshes/Node/Blocks/mathBlock.pure.js +269 -256
  561. package/Meshes/Node/Blocks/mathBlock.pure.js.map +1 -1
  562. package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js +141 -128
  563. package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js.map +1 -1
  564. package/Meshes/Node/Blocks/randomBlock.pure.js +161 -148
  565. package/Meshes/Node/Blocks/randomBlock.pure.js.map +1 -1
  566. package/Meshes/Node/Blocks/subdivideBlock.pure.js +102 -87
  567. package/Meshes/Node/Blocks/subdivideBlock.pure.js.map +1 -1
  568. package/Meshes/Node/nodeGeometry.js +560 -538
  569. package/Meshes/Node/nodeGeometry.js.map +1 -1
  570. package/Meshes/Node/nodeGeometryBlock.js +473 -458
  571. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  572. package/Meshes/abstractMesh.pure.js +2218 -2207
  573. package/Meshes/abstractMesh.pure.js.map +1 -1
  574. package/Meshes/geometry.js +30 -15
  575. package/Meshes/geometry.js.map +1 -1
  576. package/Meshes/mesh.pure.js +26 -14
  577. package/Meshes/mesh.pure.js.map +1 -1
  578. package/Meshes/mesh.vertexData.js +1665 -1655
  579. package/Meshes/mesh.vertexData.js.map +1 -1
  580. package/Meshes/transformNode.pure.js +1400 -1372
  581. package/Meshes/transformNode.pure.js.map +1 -1
  582. package/Misc/decorators.d.ts +34 -19
  583. package/Misc/decorators.functions.d.ts +33 -2
  584. package/Misc/decorators.functions.js +114 -35
  585. package/Misc/decorators.functions.js.map +1 -1
  586. package/Misc/decorators.js +96 -68
  587. package/Misc/decorators.js.map +1 -1
  588. package/Misc/decorators.serialization.js +47 -40
  589. package/Misc/decorators.serialization.js.map +1 -1
  590. package/Misc/decorators.serializationUtilities.d.ts +24 -0
  591. package/Misc/decorators.serializationUtilities.js +20 -0
  592. package/Misc/decorators.serializationUtilities.js.map +1 -0
  593. package/Misc/dumpTools.pure.js +43 -33
  594. package/Misc/dumpTools.pure.js.map +1 -1
  595. package/Misc/fileTools.pure.js +8 -0
  596. package/Misc/fileTools.pure.js.map +1 -1
  597. package/Misc/observable.pure.js +0 -7
  598. package/Misc/observable.pure.js.map +1 -1
  599. package/Misc/snapshotRenderingHelper.d.ts +4 -1
  600. package/Misc/snapshotRenderingHelper.js.map +1 -1
  601. package/Misc/symbolMetadataPolyfill.d.ts +11 -0
  602. package/Misc/symbolMetadataPolyfill.js +22 -0
  603. package/Misc/symbolMetadataPolyfill.js.map +1 -0
  604. package/Misc/tools.pure.js +2 -2
  605. package/Misc/tools.pure.js.map +1 -1
  606. package/Morph/morphTarget.js +382 -365
  607. package/Morph/morphTarget.js.map +1 -1
  608. package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js +160 -145
  609. package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js.map +1 -1
  610. package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js +187 -174
  611. package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js.map +1 -1
  612. package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js +238 -219
  613. package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js.map +1 -1
  614. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js +140 -115
  615. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js.map +1 -1
  616. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js +157 -144
  617. package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js.map +1 -1
  618. package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js +133 -119
  619. package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js.map +1 -1
  620. package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js +93 -80
  621. package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js.map +1 -1
  622. package/Particles/Node/Blocks/particleDebugBlock.pure.js +117 -105
  623. package/Particles/Node/Blocks/particleDebugBlock.pure.js.map +1 -1
  624. package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js +105 -92
  625. package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js.map +1 -1
  626. package/Particles/Node/Blocks/particleGradientValueBlock.pure.js +82 -69
  627. package/Particles/Node/Blocks/particleGradientValueBlock.pure.js.map +1 -1
  628. package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js +113 -101
  629. package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js.map +1 -1
  630. package/Particles/Node/Blocks/particleMathBlock.pure.js +278 -265
  631. package/Particles/Node/Blocks/particleMathBlock.pure.js.map +1 -1
  632. package/Particles/Node/Blocks/particleNumberMathBlock.pure.js +155 -142
  633. package/Particles/Node/Blocks/particleNumberMathBlock.pure.js.map +1 -1
  634. package/Particles/Node/Blocks/particleRandomBlock.pure.js +156 -143
  635. package/Particles/Node/Blocks/particleRandomBlock.pure.js.map +1 -1
  636. package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js +217 -204
  637. package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js.map +1 -1
  638. package/Particles/Node/Blocks/particleVectorMathBlock.pure.js +106 -93
  639. package/Particles/Node/Blocks/particleVectorMathBlock.pure.js.map +1 -1
  640. package/Particles/Node/Blocks/systemBlock.pure.js +366 -330
  641. package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
  642. package/Particles/Node/nodeParticleBlock.js +339 -324
  643. package/Particles/Node/nodeParticleBlock.js.map +1 -1
  644. package/Particles/Node/nodeParticleSystemSet.js +494 -473
  645. package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
  646. package/Particles/gpuParticleSystem.d.ts +0 -1
  647. package/Particles/gpuParticleSystem.js +0 -1
  648. package/Particles/gpuParticleSystem.js.map +1 -1
  649. package/Particles/gpuParticleSystem.pure.d.ts +4 -3
  650. package/Particles/gpuParticleSystem.pure.js +27 -16
  651. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  652. package/Particles/particleSystem.pure.js +57 -2
  653. package/Particles/particleSystem.pure.js.map +1 -1
  654. package/Particles/thinParticleSystem.d.ts +0 -1
  655. package/Particles/thinParticleSystem.js +0 -1
  656. package/Particles/thinParticleSystem.js.map +1 -1
  657. package/Particles/thinParticleSystem.pure.js +2 -0
  658. package/Particles/thinParticleSystem.pure.js.map +1 -1
  659. package/Particles/webgl2ParticleSystem.pure.js +2 -0
  660. package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
  661. package/Physics/v1/physicsImpostor.pure.js +4 -4
  662. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js +675 -656
  663. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js.map +1 -1
  664. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +0 -1
  665. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +0 -1
  666. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
  667. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +521 -486
  668. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
  669. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +0 -1
  670. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +0 -1
  671. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  672. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js +241 -220
  673. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js.map +1 -1
  674. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js +852 -835
  675. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js.map +1 -1
  676. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js +1135 -1073
  677. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js.map +1 -1
  678. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js +319 -303
  679. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js.map +1 -1
  680. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +212 -199
  681. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  682. package/PostProcesses/blackAndWhitePostProcess.pure.js +67 -55
  683. package/PostProcesses/blackAndWhitePostProcess.pure.js.map +1 -1
  684. package/PostProcesses/bloomMergePostProcess.pure.js +74 -62
  685. package/PostProcesses/bloomMergePostProcess.pure.js.map +1 -1
  686. package/PostProcesses/blurPostProcess.pure.js +127 -115
  687. package/PostProcesses/blurPostProcess.pure.js.map +1 -1
  688. package/PostProcesses/chromaticAberrationPostProcess.pure.js +130 -118
  689. package/PostProcesses/chromaticAberrationPostProcess.pure.js.map +1 -1
  690. package/PostProcesses/circleOfConfusionPostProcess.pure.js +115 -104
  691. package/PostProcesses/circleOfConfusionPostProcess.pure.js.map +1 -1
  692. package/PostProcesses/colorCorrectionPostProcess.pure.js +55 -43
  693. package/PostProcesses/colorCorrectionPostProcess.pure.js.map +1 -1
  694. package/PostProcesses/convolutionPostProcess.pure.js +96 -84
  695. package/PostProcesses/convolutionPostProcess.pure.js.map +1 -1
  696. package/PostProcesses/extractHighlightsPostProcess.pure.js +68 -57
  697. package/PostProcesses/extractHighlightsPostProcess.pure.js.map +1 -1
  698. package/PostProcesses/filterPostProcess.pure.js +66 -54
  699. package/PostProcesses/filterPostProcess.pure.js.map +1 -1
  700. package/PostProcesses/fxaaPostProcess.pure.js.map +1 -1
  701. package/PostProcesses/grainPostProcess.pure.js +82 -70
  702. package/PostProcesses/grainPostProcess.pure.js.map +1 -1
  703. package/PostProcesses/imageProcessingPostProcess.js +334 -322
  704. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  705. package/PostProcesses/motionBlurPostProcess.pure.js +246 -235
  706. package/PostProcesses/motionBlurPostProcess.pure.js.map +1 -1
  707. package/PostProcesses/passPostProcess.pure.js +75 -63
  708. package/PostProcesses/passPostProcess.pure.js.map +1 -1
  709. package/PostProcesses/postProcess.pure.js +899 -835
  710. package/PostProcesses/postProcess.pure.js.map +1 -1
  711. package/PostProcesses/refractionPostProcess.pure.js +114 -87
  712. package/PostProcesses/refractionPostProcess.pure.js.map +1 -1
  713. package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js +108 -96
  714. package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js.map +1 -1
  715. package/PostProcesses/screenSpaceReflectionPostProcess.pure.js +241 -220
  716. package/PostProcesses/screenSpaceReflectionPostProcess.pure.js.map +1 -1
  717. package/PostProcesses/sharpenPostProcess.pure.js +86 -74
  718. package/PostProcesses/sharpenPostProcess.pure.js.map +1 -1
  719. package/PostProcesses/tonemapPostProcess.pure.js +82 -70
  720. package/PostProcesses/tonemapPostProcess.pure.js.map +1 -1
  721. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +500 -465
  722. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  723. package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +0 -1
  724. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +0 -1
  725. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  726. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js +2 -0
  727. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js.map +1 -1
  728. package/Probes/reflectionProbe.pure.js +238 -224
  729. package/Probes/reflectionProbe.pure.js.map +1 -1
  730. package/Rendering/GlobalIllumination/giRSMManager.pure.d.ts +1 -1
  731. package/Rendering/GlobalIllumination/giRSMManager.pure.js +138 -105
  732. package/Rendering/GlobalIllumination/giRSMManager.pure.js.map +1 -1
  733. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.d.ts +1 -1
  734. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js +155 -138
  735. package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js.map +1 -1
  736. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -2
  737. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +0 -2
  738. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  739. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +5 -0
  740. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
  741. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +0 -1
  742. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +0 -1
  743. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
  744. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +1 -0
  745. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +34 -0
  746. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
  747. package/Rendering/edgesRenderer.pure.js.map +1 -1
  748. package/Rendering/prePassRenderer.d.ts +0 -2
  749. package/Rendering/prePassRenderer.js +0 -2
  750. package/Rendering/prePassRenderer.js.map +1 -1
  751. package/Rendering/prePassRenderer.pure.js +2 -0
  752. package/Rendering/prePassRenderer.pure.js.map +1 -1
  753. package/Rendering/reflectiveShadowMap.pure.d.ts +1 -1
  754. package/Rendering/reflectiveShadowMap.pure.js +151 -130
  755. package/Rendering/reflectiveShadowMap.pure.js.map +1 -1
  756. package/Rendering/thinDepthPeelingRenderer.d.ts +0 -1
  757. package/Rendering/thinDepthPeelingRenderer.js +0 -1
  758. package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
  759. package/Shaders/ShadersInclude/gaussianSplatting.js +1 -0
  760. package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
  761. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +35 -5
  762. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  763. package/Shaders/gaussianSplatting.fragment.js +17 -1
  764. package/Shaders/gaussianSplatting.fragment.js.map +1 -1
  765. package/Shaders/gaussianSplatting.vertex.js +1 -1
  766. package/Shaders/gaussianSplatting.vertex.js.map +1 -1
  767. package/Shaders/gaussianSplattingDepth.vertex.js +1 -1
  768. package/Shaders/gaussianSplattingDepth.vertex.js.map +1 -1
  769. package/Shaders/picking.fragment.js +39 -3
  770. package/Shaders/picking.fragment.js.map +1 -1
  771. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +3 -1
  772. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
  773. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  774. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  775. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -7
  776. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  777. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +4 -3
  778. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  779. package/ShadersWGSL/gaussianSplatting.fragment.js +14 -1
  780. package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
  781. package/ShadersWGSL/gaussianSplatting.vertex.js +2 -2
  782. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  783. package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -2
  784. package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
  785. package/ShadersWGSL/lightingVolume.compute.js +2 -2
  786. package/ShadersWGSL/lightingVolume.compute.js.map +1 -1
  787. package/ShadersWGSL/picking.fragment.js +22 -1
  788. package/ShadersWGSL/picking.fragment.js.map +1 -1
  789. package/XR/features/Layers/WebXRCompositionLayer.d.ts +3 -2
  790. package/XR/features/Layers/WebXRCompositionLayer.js +2 -2
  791. package/XR/features/Layers/WebXRCompositionLayer.js.map +1 -1
  792. package/XR/features/Layers/WebXRWebGPUCompositionLayer.d.ts +59 -0
  793. package/XR/features/Layers/WebXRWebGPUCompositionLayer.js +120 -0
  794. package/XR/features/Layers/WebXRWebGPUCompositionLayer.js.map +1 -0
  795. package/XR/features/Layers/WebXRWebGPUProjectionLayer.d.ts +25 -0
  796. package/XR/features/Layers/WebXRWebGPUProjectionLayer.js +69 -0
  797. package/XR/features/Layers/WebXRWebGPUProjectionLayer.js.map +1 -0
  798. package/XR/features/WebXRLayers.pure.d.ts +8 -0
  799. package/XR/features/WebXRLayers.pure.js +43 -6
  800. package/XR/features/WebXRLayers.pure.js.map +1 -1
  801. package/XR/native/nativeXRRenderTarget.d.ts +2 -2
  802. package/XR/native/nativeXRRenderTarget.js +2 -2
  803. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  804. package/XR/webXRExperienceHelper.js +10 -1
  805. package/XR/webXRExperienceHelper.js.map +1 -1
  806. package/XR/webXRGraphicsBinding.d.ts +90 -0
  807. package/XR/webXRGraphicsBinding.js +85 -0
  808. package/XR/webXRGraphicsBinding.js.map +1 -0
  809. package/XR/webXRLayerRenderTargetTexture.d.ts +24 -0
  810. package/XR/webXRLayerRenderTargetTexture.js +30 -0
  811. package/XR/webXRLayerRenderTargetTexture.js.map +1 -0
  812. package/XR/webXRManagedOutputCanvas.d.ts +14 -0
  813. package/XR/webXRManagedOutputCanvas.js +24 -5
  814. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  815. package/XR/webXRRenderTargetTextureProvider.d.ts +25 -4
  816. package/XR/webXRRenderTargetTextureProvider.js +33 -35
  817. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  818. package/XR/webXRSessionManager.d.ts +11 -0
  819. package/XR/webXRSessionManager.js +37 -0
  820. package/XR/webXRSessionManager.js.map +1 -1
  821. package/XR/webXRTypes.d.ts +9 -6
  822. package/XR/webXRTypes.js.map +1 -1
  823. package/XR/webXRWebGLLayer.d.ts +2 -2
  824. package/XR/webXRWebGLLayer.js +2 -2
  825. package/XR/webXRWebGLLayer.js.map +1 -1
  826. package/XR/webXRWebGLRenderTargetTextureProvider.d.ts +12 -0
  827. package/XR/webXRWebGLRenderTargetTextureProvider.js +58 -0
  828. package/XR/webXRWebGLRenderTargetTextureProvider.js.map +1 -0
  829. package/XR/webXRWebGPURenderTargetTextureProvider.d.ts +69 -0
  830. package/XR/webXRWebGPURenderTargetTextureProvider.js +148 -0
  831. package/XR/webXRWebGPURenderTargetTextureProvider.js.map +1 -0
  832. package/index.d.ts +1 -0
  833. package/index.js +1 -0
  834. package/index.js.map +1 -1
  835. package/node.js +878 -845
  836. package/node.js.map +1 -1
  837. package/package.json +8 -14
  838. package/scene.pure.d.ts +12 -0
  839. package/scene.pure.js +36 -0
  840. package/scene.pure.js.map +1 -1
  841. package/tslib.es6.js +304 -150
@@ -1,9 +1,10 @@
1
1
  /** This file must only contain pure code and pure imports */
2
- import { __decorate } from "../../tslib.es6.js";
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "../../tslib.es6.js";
3
3
  import { serialize, serializeAsColor3, expandToProperty, serializeAsTexture } from "../../Misc/decorators.js";
4
4
  import { GetEnvironmentBRDFTexture } from "../../Misc/brdfTextureTools.js";
5
5
  import { Color3 } from "../../Maths/math.color.pure.js";
6
6
  import { PBRBaseMaterial } from "./pbrBaseMaterial.pure.js";
7
+ import { RegisterImageProcessingConfiguration } from "../imageProcessingConfiguration.pure.js";
7
8
  import { Material } from "../material.pure.js";
8
9
  import { SerializationHelper } from "../../Misc/decorators.serialization.js";
9
10
  import { RegisterClass } from "../../Misc/typeStore.js";
@@ -14,704 +15,1057 @@ import { RegisterClass } from "../../Misc/typeStore.js";
14
15
  * For more information, please refer to the documentation :
15
16
  * https://doc.babylonjs.com/features/featuresDeepDive/materials/using/introToPBR
16
17
  */
17
- export class PBRMaterial extends PBRBaseMaterial {
18
- /**
19
- * Stores the refracted light information in a texture.
20
- */
21
- get refractionTexture() {
22
- return this.subSurface.refractionTexture;
23
- }
24
- set refractionTexture(value) {
25
- this.subSurface.refractionTexture = value;
26
- if (value) {
27
- this.subSurface.isRefractionEnabled = true;
28
- }
29
- else if (!this.subSurface.linkRefractionWithTransparency) {
30
- this.subSurface.isRefractionEnabled = false;
31
- }
32
- }
33
- /**
34
- * Index of refraction of the material base layer.
35
- * https://en.wikipedia.org/wiki/List_of_refractive_indices
36
- *
37
- * This does not only impact refraction but also the Base F0 of Dielectric Materials.
38
- *
39
- * From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))
40
- */
41
- get indexOfRefraction() {
42
- return this.subSurface.indexOfRefraction;
43
- }
44
- set indexOfRefraction(value) {
45
- this.subSurface.indexOfRefraction = value;
46
- }
47
- /**
48
- * Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.
49
- */
50
- get invertRefractionY() {
51
- return this.subSurface.invertRefractionY;
52
- }
53
- set invertRefractionY(value) {
54
- this.subSurface.invertRefractionY = value;
55
- }
56
- /**
57
- * This parameters will make the material used its opacity to control how much it is refracting against not.
58
- * Materials half opaque for instance using refraction could benefit from this control.
59
- */
60
- get linkRefractionWithTransparency() {
61
- return this.subSurface.linkRefractionWithTransparency;
62
- }
63
- set linkRefractionWithTransparency(value) {
64
- this.subSurface.linkRefractionWithTransparency = value;
65
- if (value) {
66
- this.subSurface.isRefractionEnabled = true;
67
- }
68
- }
69
- /**
70
- * BJS is using an hardcoded light falloff based on a manually sets up range.
71
- * In PBR, one way to represents the falloff is to use the inverse squared root algorithm.
72
- * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
73
- */
74
- get usePhysicalLightFalloff() {
75
- return this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_PHYSICAL;
76
- }
77
- /**
78
- * BJS is using an hardcoded light falloff based on a manually sets up range.
79
- * In PBR, one way to represents the falloff is to use the inverse squared root algorithm.
80
- * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
81
- */
82
- set usePhysicalLightFalloff(value) {
83
- if (value !== this.usePhysicalLightFalloff) {
84
- // Ensure the effect will be rebuilt.
85
- this._markAllSubMeshesAsTexturesDirty();
86
- if (value) {
87
- this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_PHYSICAL;
18
+ let PBRMaterial = (() => {
19
+ var _a, _PBRMaterial_directIntensity_accessor_storage, _PBRMaterial_emissiveIntensity_accessor_storage, _PBRMaterial_environmentIntensity_accessor_storage, _PBRMaterial_specularIntensity_accessor_storage, _PBRMaterial_disableBumpMap_accessor_storage, _PBRMaterial_albedoTexture_accessor_storage, _PBRMaterial_baseWeightTexture_accessor_storage, _PBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, _PBRMaterial_ambientTexture_accessor_storage, _PBRMaterial_ambientTextureStrength_accessor_storage, _PBRMaterial_ambientTextureImpactOnAnalyticalLights_accessor_storage, _PBRMaterial_opacityTexture_accessor_storage, _PBRMaterial_reflectionTexture_accessor_storage, _PBRMaterial_emissiveTexture_accessor_storage, _PBRMaterial_reflectivityTexture_accessor_storage, _PBRMaterial_metallicTexture_accessor_storage, _PBRMaterial_metallic_accessor_storage, _PBRMaterial_roughness_accessor_storage, _PBRMaterial_metallicF0Factor_accessor_storage, _PBRMaterial_metallicReflectanceColor_accessor_storage, _PBRMaterial_useOnlyMetallicFromMetallicReflectanceTexture_accessor_storage, _PBRMaterial_metallicReflectanceTexture_accessor_storage, _PBRMaterial_reflectanceTexture_accessor_storage, _PBRMaterial_microSurfaceTexture_accessor_storage, _PBRMaterial_bumpTexture_accessor_storage, _PBRMaterial_lightmapTexture_accessor_storage, _PBRMaterial_ambientColor_accessor_storage, _PBRMaterial_albedoColor_accessor_storage, _PBRMaterial_baseWeight_accessor_storage, _PBRMaterial_baseDiffuseRoughness_accessor_storage, _PBRMaterial_reflectivityColor_accessor_storage, _PBRMaterial_reflectionColor_accessor_storage, _PBRMaterial_emissiveColor_accessor_storage, _PBRMaterial_microSurface_accessor_storage, _PBRMaterial_useLightmapAsShadowmap_accessor_storage, _PBRMaterial_useAlphaFromAlbedoTexture_accessor_storage, _PBRMaterial_forceAlphaTest_accessor_storage, _PBRMaterial_alphaCutOff_accessor_storage, _PBRMaterial_useSpecularOverAlpha_accessor_storage, _PBRMaterial_useMicroSurfaceFromReflectivityMapAlpha_accessor_storage, _PBRMaterial_useRoughnessFromMetallicTextureAlpha_accessor_storage, _PBRMaterial_useRoughnessFromMetallicTextureGreen_accessor_storage, _PBRMaterial_useMetallnessFromMetallicTextureBlue_accessor_storage, _PBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage, _PBRMaterial_useAmbientInGrayScale_accessor_storage, _PBRMaterial_useAutoMicroSurfaceFromReflectivityMap_accessor_storage, _PBRMaterial_useRadianceOverAlpha_accessor_storage, _PBRMaterial_useObjectSpaceNormalMap_accessor_storage, _PBRMaterial_useParallax_accessor_storage, _PBRMaterial_useParallaxOcclusion_accessor_storage, _PBRMaterial_parallaxScaleBias_accessor_storage, _PBRMaterial_disableLighting_accessor_storage, _PBRMaterial_forceIrradianceInFragment_accessor_storage, _PBRMaterial_maxSimultaneousLights_accessor_storage, _PBRMaterial_invertNormalMapX_accessor_storage, _PBRMaterial_invertNormalMapY_accessor_storage, _PBRMaterial_twoSidedLighting_accessor_storage, _PBRMaterial_useAlphaFresnel_accessor_storage, _PBRMaterial_useLinearAlphaFresnel_accessor_storage, _PBRMaterial_environmentBRDFTexture_accessor_storage, _PBRMaterial_forceNormalForward_accessor_storage, _PBRMaterial_enableSpecularAntiAliasing_accessor_storage, _PBRMaterial_useHorizonOcclusion_accessor_storage, _PBRMaterial_useRadianceOcclusion_accessor_storage, _PBRMaterial_unlit_accessor_storage, _PBRMaterial_applyDecalMapAfterDetailMap_accessor_storage;
20
+ let _classSuper = PBRBaseMaterial;
21
+ let _instanceExtraInitializers = [];
22
+ let _directIntensity_decorators;
23
+ let _directIntensity_initializers = [];
24
+ let _directIntensity_extraInitializers = [];
25
+ let _emissiveIntensity_decorators;
26
+ let _emissiveIntensity_initializers = [];
27
+ let _emissiveIntensity_extraInitializers = [];
28
+ let _environmentIntensity_decorators;
29
+ let _environmentIntensity_initializers = [];
30
+ let _environmentIntensity_extraInitializers = [];
31
+ let _specularIntensity_decorators;
32
+ let _specularIntensity_initializers = [];
33
+ let _specularIntensity_extraInitializers = [];
34
+ let _disableBumpMap_decorators;
35
+ let _disableBumpMap_initializers = [];
36
+ let _disableBumpMap_extraInitializers = [];
37
+ let _albedoTexture_decorators;
38
+ let _albedoTexture_initializers = [];
39
+ let _albedoTexture_extraInitializers = [];
40
+ let _baseWeightTexture_decorators;
41
+ let _baseWeightTexture_initializers = [];
42
+ let _baseWeightTexture_extraInitializers = [];
43
+ let _baseDiffuseRoughnessTexture_decorators;
44
+ let _baseDiffuseRoughnessTexture_initializers = [];
45
+ let _baseDiffuseRoughnessTexture_extraInitializers = [];
46
+ let _ambientTexture_decorators;
47
+ let _ambientTexture_initializers = [];
48
+ let _ambientTexture_extraInitializers = [];
49
+ let _ambientTextureStrength_decorators;
50
+ let _ambientTextureStrength_initializers = [];
51
+ let _ambientTextureStrength_extraInitializers = [];
52
+ let _ambientTextureImpactOnAnalyticalLights_decorators;
53
+ let _ambientTextureImpactOnAnalyticalLights_initializers = [];
54
+ let _ambientTextureImpactOnAnalyticalLights_extraInitializers = [];
55
+ let _opacityTexture_decorators;
56
+ let _opacityTexture_initializers = [];
57
+ let _opacityTexture_extraInitializers = [];
58
+ let _reflectionTexture_decorators;
59
+ let _reflectionTexture_initializers = [];
60
+ let _reflectionTexture_extraInitializers = [];
61
+ let _emissiveTexture_decorators;
62
+ let _emissiveTexture_initializers = [];
63
+ let _emissiveTexture_extraInitializers = [];
64
+ let _reflectivityTexture_decorators;
65
+ let _reflectivityTexture_initializers = [];
66
+ let _reflectivityTexture_extraInitializers = [];
67
+ let _metallicTexture_decorators;
68
+ let _metallicTexture_initializers = [];
69
+ let _metallicTexture_extraInitializers = [];
70
+ let _metallic_decorators;
71
+ let _metallic_initializers = [];
72
+ let _metallic_extraInitializers = [];
73
+ let _roughness_decorators;
74
+ let _roughness_initializers = [];
75
+ let _roughness_extraInitializers = [];
76
+ let _metallicF0Factor_decorators;
77
+ let _metallicF0Factor_initializers = [];
78
+ let _metallicF0Factor_extraInitializers = [];
79
+ let _metallicReflectanceColor_decorators;
80
+ let _metallicReflectanceColor_initializers = [];
81
+ let _metallicReflectanceColor_extraInitializers = [];
82
+ let _useOnlyMetallicFromMetallicReflectanceTexture_decorators;
83
+ let _useOnlyMetallicFromMetallicReflectanceTexture_initializers = [];
84
+ let _useOnlyMetallicFromMetallicReflectanceTexture_extraInitializers = [];
85
+ let _metallicReflectanceTexture_decorators;
86
+ let _metallicReflectanceTexture_initializers = [];
87
+ let _metallicReflectanceTexture_extraInitializers = [];
88
+ let _reflectanceTexture_decorators;
89
+ let _reflectanceTexture_initializers = [];
90
+ let _reflectanceTexture_extraInitializers = [];
91
+ let _microSurfaceTexture_decorators;
92
+ let _microSurfaceTexture_initializers = [];
93
+ let _microSurfaceTexture_extraInitializers = [];
94
+ let _bumpTexture_decorators;
95
+ let _bumpTexture_initializers = [];
96
+ let _bumpTexture_extraInitializers = [];
97
+ let _lightmapTexture_decorators;
98
+ let _lightmapTexture_initializers = [];
99
+ let _lightmapTexture_extraInitializers = [];
100
+ let _ambientColor_decorators;
101
+ let _ambientColor_initializers = [];
102
+ let _ambientColor_extraInitializers = [];
103
+ let _albedoColor_decorators;
104
+ let _albedoColor_initializers = [];
105
+ let _albedoColor_extraInitializers = [];
106
+ let _baseWeight_decorators;
107
+ let _baseWeight_initializers = [];
108
+ let _baseWeight_extraInitializers = [];
109
+ let _baseDiffuseRoughness_decorators;
110
+ let _baseDiffuseRoughness_initializers = [];
111
+ let _baseDiffuseRoughness_extraInitializers = [];
112
+ let _reflectivityColor_decorators;
113
+ let _reflectivityColor_initializers = [];
114
+ let _reflectivityColor_extraInitializers = [];
115
+ let _reflectionColor_decorators;
116
+ let _reflectionColor_initializers = [];
117
+ let _reflectionColor_extraInitializers = [];
118
+ let _emissiveColor_decorators;
119
+ let _emissiveColor_initializers = [];
120
+ let _emissiveColor_extraInitializers = [];
121
+ let _microSurface_decorators;
122
+ let _microSurface_initializers = [];
123
+ let _microSurface_extraInitializers = [];
124
+ let _useLightmapAsShadowmap_decorators;
125
+ let _useLightmapAsShadowmap_initializers = [];
126
+ let _useLightmapAsShadowmap_extraInitializers = [];
127
+ let _useAlphaFromAlbedoTexture_decorators;
128
+ let _useAlphaFromAlbedoTexture_initializers = [];
129
+ let _useAlphaFromAlbedoTexture_extraInitializers = [];
130
+ let _forceAlphaTest_decorators;
131
+ let _forceAlphaTest_initializers = [];
132
+ let _forceAlphaTest_extraInitializers = [];
133
+ let _alphaCutOff_decorators;
134
+ let _alphaCutOff_initializers = [];
135
+ let _alphaCutOff_extraInitializers = [];
136
+ let _useSpecularOverAlpha_decorators;
137
+ let _useSpecularOverAlpha_initializers = [];
138
+ let _useSpecularOverAlpha_extraInitializers = [];
139
+ let _useMicroSurfaceFromReflectivityMapAlpha_decorators;
140
+ let _useMicroSurfaceFromReflectivityMapAlpha_initializers = [];
141
+ let _useMicroSurfaceFromReflectivityMapAlpha_extraInitializers = [];
142
+ let _useRoughnessFromMetallicTextureAlpha_decorators;
143
+ let _useRoughnessFromMetallicTextureAlpha_initializers = [];
144
+ let _useRoughnessFromMetallicTextureAlpha_extraInitializers = [];
145
+ let _useRoughnessFromMetallicTextureGreen_decorators;
146
+ let _useRoughnessFromMetallicTextureGreen_initializers = [];
147
+ let _useRoughnessFromMetallicTextureGreen_extraInitializers = [];
148
+ let _useMetallnessFromMetallicTextureBlue_decorators;
149
+ let _useMetallnessFromMetallicTextureBlue_initializers = [];
150
+ let _useMetallnessFromMetallicTextureBlue_extraInitializers = [];
151
+ let _useAmbientOcclusionFromMetallicTextureRed_decorators;
152
+ let _useAmbientOcclusionFromMetallicTextureRed_initializers = [];
153
+ let _useAmbientOcclusionFromMetallicTextureRed_extraInitializers = [];
154
+ let _useAmbientInGrayScale_decorators;
155
+ let _useAmbientInGrayScale_initializers = [];
156
+ let _useAmbientInGrayScale_extraInitializers = [];
157
+ let _useAutoMicroSurfaceFromReflectivityMap_decorators;
158
+ let _useAutoMicroSurfaceFromReflectivityMap_initializers = [];
159
+ let _useAutoMicroSurfaceFromReflectivityMap_extraInitializers = [];
160
+ let _get_usePhysicalLightFalloff_decorators;
161
+ let _get_useGLTFLightFalloff_decorators;
162
+ let _useRadianceOverAlpha_decorators;
163
+ let _useRadianceOverAlpha_initializers = [];
164
+ let _useRadianceOverAlpha_extraInitializers = [];
165
+ let _useObjectSpaceNormalMap_decorators;
166
+ let _useObjectSpaceNormalMap_initializers = [];
167
+ let _useObjectSpaceNormalMap_extraInitializers = [];
168
+ let _useParallax_decorators;
169
+ let _useParallax_initializers = [];
170
+ let _useParallax_extraInitializers = [];
171
+ let _useParallaxOcclusion_decorators;
172
+ let _useParallaxOcclusion_initializers = [];
173
+ let _useParallaxOcclusion_extraInitializers = [];
174
+ let _parallaxScaleBias_decorators;
175
+ let _parallaxScaleBias_initializers = [];
176
+ let _parallaxScaleBias_extraInitializers = [];
177
+ let _disableLighting_decorators;
178
+ let _disableLighting_initializers = [];
179
+ let _disableLighting_extraInitializers = [];
180
+ let _forceIrradianceInFragment_decorators;
181
+ let _forceIrradianceInFragment_initializers = [];
182
+ let _forceIrradianceInFragment_extraInitializers = [];
183
+ let _maxSimultaneousLights_decorators;
184
+ let _maxSimultaneousLights_initializers = [];
185
+ let _maxSimultaneousLights_extraInitializers = [];
186
+ let _invertNormalMapX_decorators;
187
+ let _invertNormalMapX_initializers = [];
188
+ let _invertNormalMapX_extraInitializers = [];
189
+ let _invertNormalMapY_decorators;
190
+ let _invertNormalMapY_initializers = [];
191
+ let _invertNormalMapY_extraInitializers = [];
192
+ let _twoSidedLighting_decorators;
193
+ let _twoSidedLighting_initializers = [];
194
+ let _twoSidedLighting_extraInitializers = [];
195
+ let _useAlphaFresnel_decorators;
196
+ let _useAlphaFresnel_initializers = [];
197
+ let _useAlphaFresnel_extraInitializers = [];
198
+ let _useLinearAlphaFresnel_decorators;
199
+ let _useLinearAlphaFresnel_initializers = [];
200
+ let _useLinearAlphaFresnel_extraInitializers = [];
201
+ let _environmentBRDFTexture_decorators;
202
+ let _environmentBRDFTexture_initializers = [];
203
+ let _environmentBRDFTexture_extraInitializers = [];
204
+ let _forceNormalForward_decorators;
205
+ let _forceNormalForward_initializers = [];
206
+ let _forceNormalForward_extraInitializers = [];
207
+ let _enableSpecularAntiAliasing_decorators;
208
+ let _enableSpecularAntiAliasing_initializers = [];
209
+ let _enableSpecularAntiAliasing_extraInitializers = [];
210
+ let _useHorizonOcclusion_decorators;
211
+ let _useHorizonOcclusion_initializers = [];
212
+ let _useHorizonOcclusion_extraInitializers = [];
213
+ let _useRadianceOcclusion_decorators;
214
+ let _useRadianceOcclusion_initializers = [];
215
+ let _useRadianceOcclusion_extraInitializers = [];
216
+ let _unlit_decorators;
217
+ let _unlit_initializers = [];
218
+ let _unlit_extraInitializers = [];
219
+ let _applyDecalMapAfterDetailMap_decorators;
220
+ let _applyDecalMapAfterDetailMap_initializers = [];
221
+ let _applyDecalMapAfterDetailMap_extraInitializers = [];
222
+ return _a = class PBRMaterial extends _classSuper {
223
+ /**
224
+ * Intensity of the direct lights e.g. the four lights available in your scene.
225
+ * This impacts both the direct diffuse and specular highlights.
226
+ */
227
+ get directIntensity() { return __classPrivateFieldGet(this, _PBRMaterial_directIntensity_accessor_storage, "f"); }
228
+ set directIntensity(value) { __classPrivateFieldSet(this, _PBRMaterial_directIntensity_accessor_storage, value, "f"); }
229
+ /**
230
+ * Intensity of the emissive part of the material.
231
+ * This helps controlling the emissive effect without modifying the emissive color.
232
+ */
233
+ get emissiveIntensity() { return __classPrivateFieldGet(this, _PBRMaterial_emissiveIntensity_accessor_storage, "f"); }
234
+ set emissiveIntensity(value) { __classPrivateFieldSet(this, _PBRMaterial_emissiveIntensity_accessor_storage, value, "f"); }
235
+ /**
236
+ * Intensity of the environment e.g. how much the environment will light the object
237
+ * either through harmonics for rough material or through the reflection for shiny ones.
238
+ */
239
+ get environmentIntensity() { return __classPrivateFieldGet(this, _PBRMaterial_environmentIntensity_accessor_storage, "f"); }
240
+ set environmentIntensity(value) { __classPrivateFieldSet(this, _PBRMaterial_environmentIntensity_accessor_storage, value, "f"); }
241
+ /**
242
+ * This is a special control allowing the reduction of the specular highlights coming from the
243
+ * four lights of the scene. Those highlights may not be needed in full environment lighting.
244
+ */
245
+ get specularIntensity() { return __classPrivateFieldGet(this, _PBRMaterial_specularIntensity_accessor_storage, "f"); }
246
+ set specularIntensity(value) { __classPrivateFieldSet(this, _PBRMaterial_specularIntensity_accessor_storage, value, "f"); }
247
+ /**
248
+ * Debug Control allowing disabling the bump map on this material.
249
+ */
250
+ get disableBumpMap() { return __classPrivateFieldGet(this, _PBRMaterial_disableBumpMap_accessor_storage, "f"); }
251
+ set disableBumpMap(value) { __classPrivateFieldSet(this, _PBRMaterial_disableBumpMap_accessor_storage, value, "f"); }
252
+ /**
253
+ * AKA Diffuse Texture in standard nomenclature.
254
+ */
255
+ get albedoTexture() { return __classPrivateFieldGet(this, _PBRMaterial_albedoTexture_accessor_storage, "f"); }
256
+ set albedoTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_albedoTexture_accessor_storage, value, "f"); }
257
+ /**
258
+ * OpenPBR Base Weight texture (multiplier to the diffuse and metal lobes).
259
+ */
260
+ get baseWeightTexture() { return __classPrivateFieldGet(this, _PBRMaterial_baseWeightTexture_accessor_storage, "f"); }
261
+ set baseWeightTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_baseWeightTexture_accessor_storage, value, "f"); }
262
+ /**
263
+ * OpenPBR Base Diffuse Roughness texture (roughness of the diffuse lobe).
264
+ */
265
+ get baseDiffuseRoughnessTexture() { return __classPrivateFieldGet(this, _PBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, "f"); }
266
+ set baseDiffuseRoughnessTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, value, "f"); }
267
+ /**
268
+ * AKA Occlusion Texture in other nomenclature.
269
+ */
270
+ get ambientTexture() { return __classPrivateFieldGet(this, _PBRMaterial_ambientTexture_accessor_storage, "f"); }
271
+ set ambientTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_ambientTexture_accessor_storage, value, "f"); }
272
+ /**
273
+ * AKA Occlusion Texture Intensity in other nomenclature.
274
+ */
275
+ get ambientTextureStrength() { return __classPrivateFieldGet(this, _PBRMaterial_ambientTextureStrength_accessor_storage, "f"); }
276
+ set ambientTextureStrength(value) { __classPrivateFieldSet(this, _PBRMaterial_ambientTextureStrength_accessor_storage, value, "f"); }
277
+ /**
278
+ * Defines how much the AO map is occluding the analytical lights (point spot...).
279
+ * 1 means it completely occludes it
280
+ * 0 mean it has no impact
281
+ */
282
+ get ambientTextureImpactOnAnalyticalLights() { return __classPrivateFieldGet(this, _PBRMaterial_ambientTextureImpactOnAnalyticalLights_accessor_storage, "f"); }
283
+ set ambientTextureImpactOnAnalyticalLights(value) { __classPrivateFieldSet(this, _PBRMaterial_ambientTextureImpactOnAnalyticalLights_accessor_storage, value, "f"); }
284
+ /**
285
+ * Stores the alpha values in a texture. Use luminance if texture.getAlphaFromRGB is true.
286
+ */
287
+ get opacityTexture() { return __classPrivateFieldGet(this, _PBRMaterial_opacityTexture_accessor_storage, "f"); }
288
+ set opacityTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_opacityTexture_accessor_storage, value, "f"); }
289
+ /**
290
+ * Stores the reflection values in a texture.
291
+ */
292
+ get reflectionTexture() { return __classPrivateFieldGet(this, _PBRMaterial_reflectionTexture_accessor_storage, "f"); }
293
+ set reflectionTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_reflectionTexture_accessor_storage, value, "f"); }
294
+ /**
295
+ * Stores the emissive values in a texture.
296
+ */
297
+ get emissiveTexture() { return __classPrivateFieldGet(this, _PBRMaterial_emissiveTexture_accessor_storage, "f"); }
298
+ set emissiveTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_emissiveTexture_accessor_storage, value, "f"); }
299
+ /**
300
+ * AKA Specular texture in other nomenclature.
301
+ */
302
+ get reflectivityTexture() { return __classPrivateFieldGet(this, _PBRMaterial_reflectivityTexture_accessor_storage, "f"); }
303
+ set reflectivityTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_reflectivityTexture_accessor_storage, value, "f"); }
304
+ /**
305
+ * Used to switch from specular/glossiness to metallic/roughness workflow.
306
+ */
307
+ get metallicTexture() { return __classPrivateFieldGet(this, _PBRMaterial_metallicTexture_accessor_storage, "f"); }
308
+ set metallicTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_metallicTexture_accessor_storage, value, "f"); }
309
+ /**
310
+ * Specifies the metallic scalar of the metallic/roughness workflow.
311
+ * Can also be used to scale the metalness values of the metallic texture.
312
+ */
313
+ get metallic() { return __classPrivateFieldGet(this, _PBRMaterial_metallic_accessor_storage, "f"); }
314
+ set metallic(value) { __classPrivateFieldSet(this, _PBRMaterial_metallic_accessor_storage, value, "f"); }
315
+ /**
316
+ * Specifies the roughness scalar of the metallic/roughness workflow.
317
+ * Can also be used to scale the roughness values of the metallic texture.
318
+ */
319
+ get roughness() { return __classPrivateFieldGet(this, _PBRMaterial_roughness_accessor_storage, "f"); }
320
+ set roughness(value) { __classPrivateFieldSet(this, _PBRMaterial_roughness_accessor_storage, value, "f"); }
321
+ /**
322
+ * In metallic workflow, specifies an F0 factor to help configuring the material F0.
323
+ * By default the indexOfrefraction is used to compute F0;
324
+ *
325
+ * This is used as a factor against the default reflectance at normal incidence to tweak it.
326
+ *
327
+ * F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor;
328
+ * F90 = metallicReflectanceColor;
329
+ */
330
+ get metallicF0Factor() { return __classPrivateFieldGet(this, _PBRMaterial_metallicF0Factor_accessor_storage, "f"); }
331
+ set metallicF0Factor(value) { __classPrivateFieldSet(this, _PBRMaterial_metallicF0Factor_accessor_storage, value, "f"); }
332
+ /**
333
+ * In metallic workflow, specifies an F0 color.
334
+ * By default the F90 is always 1;
335
+ *
336
+ * Please note that this factor is also used as a factor against the default reflectance at normal incidence.
337
+ *
338
+ * F0 = defaultF0_from_IOR * metallicF0Factor * metallicReflectanceColor
339
+ * F90 = metallicF0Factor;
340
+ */
341
+ get metallicReflectanceColor() { return __classPrivateFieldGet(this, _PBRMaterial_metallicReflectanceColor_accessor_storage, "f"); }
342
+ set metallicReflectanceColor(value) { __classPrivateFieldSet(this, _PBRMaterial_metallicReflectanceColor_accessor_storage, value, "f"); }
343
+ /**
344
+ * Specifies that only the A channel from metallicReflectanceTexture should be used.
345
+ * If false, both RGB and A channels will be used
346
+ */
347
+ get useOnlyMetallicFromMetallicReflectanceTexture() { return __classPrivateFieldGet(this, _PBRMaterial_useOnlyMetallicFromMetallicReflectanceTexture_accessor_storage, "f"); }
348
+ set useOnlyMetallicFromMetallicReflectanceTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_useOnlyMetallicFromMetallicReflectanceTexture_accessor_storage, value, "f"); }
349
+ /**
350
+ * Defines to store metallicReflectanceColor in RGB and metallicF0Factor in A
351
+ * This is multiplied against the scalar values defined in the material.
352
+ * If useOnlyMetallicFromMetallicReflectanceTexture is true, don't use the RGB channels, only A
353
+ */
354
+ get metallicReflectanceTexture() { return __classPrivateFieldGet(this, _PBRMaterial_metallicReflectanceTexture_accessor_storage, "f"); }
355
+ set metallicReflectanceTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_metallicReflectanceTexture_accessor_storage, value, "f"); }
356
+ /**
357
+ * Defines to store reflectanceColor in RGB
358
+ * This is multiplied against the scalar values defined in the material.
359
+ * If both reflectanceTexture and metallicReflectanceTexture textures are provided and useOnlyMetallicFromMetallicReflectanceTexture
360
+ * is false, metallicReflectanceTexture takes priority and reflectanceTexture is not used
361
+ */
362
+ get reflectanceTexture() { return __classPrivateFieldGet(this, _PBRMaterial_reflectanceTexture_accessor_storage, "f"); }
363
+ set reflectanceTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_reflectanceTexture_accessor_storage, value, "f"); }
364
+ /**
365
+ * Used to enable roughness/glossiness fetch from a separate channel depending on the current mode.
366
+ * Gray Scale represents roughness in metallic mode and glossiness in specular mode.
367
+ */
368
+ get microSurfaceTexture() { return __classPrivateFieldGet(this, _PBRMaterial_microSurfaceTexture_accessor_storage, "f"); }
369
+ set microSurfaceTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_microSurfaceTexture_accessor_storage, value, "f"); }
370
+ /**
371
+ * Stores surface normal data used to displace a mesh in a texture.
372
+ */
373
+ get bumpTexture() { return __classPrivateFieldGet(this, _PBRMaterial_bumpTexture_accessor_storage, "f"); }
374
+ set bumpTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_bumpTexture_accessor_storage, value, "f"); }
375
+ /**
376
+ * Stores the pre-calculated light information of a mesh in a texture.
377
+ */
378
+ get lightmapTexture() { return __classPrivateFieldGet(this, _PBRMaterial_lightmapTexture_accessor_storage, "f"); }
379
+ set lightmapTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_lightmapTexture_accessor_storage, value, "f"); }
380
+ /**
381
+ * Stores the refracted light information in a texture.
382
+ */
383
+ get refractionTexture() {
384
+ return this.subSurface.refractionTexture;
88
385
  }
89
- else {
90
- this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_STANDARD;
386
+ set refractionTexture(value) {
387
+ this.subSurface.refractionTexture = value;
388
+ if (value) {
389
+ this.subSurface.isRefractionEnabled = true;
390
+ }
391
+ else if (!this.subSurface.linkRefractionWithTransparency) {
392
+ this.subSurface.isRefractionEnabled = false;
393
+ }
91
394
  }
92
- }
93
- }
94
- /**
95
- * In order to support the falloff compatibility with gltf, a special mode has been added
96
- * to reproduce the gltf light falloff.
97
- */
98
- get useGLTFLightFalloff() {
99
- return this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_GLTF;
100
- }
101
- /**
102
- * In order to support the falloff compatibility with gltf, a special mode has been added
103
- * to reproduce the gltf light falloff.
104
- */
105
- set useGLTFLightFalloff(value) {
106
- if (value !== this.useGLTFLightFalloff) {
107
- // Ensure the effect will be rebuilt.
108
- this._markAllSubMeshesAsTexturesDirty();
109
- if (value) {
110
- this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_GLTF;
395
+ /**
396
+ * The color of a material in ambient lighting.
397
+ */
398
+ get ambientColor() { return __classPrivateFieldGet(this, _PBRMaterial_ambientColor_accessor_storage, "f"); }
399
+ set ambientColor(value) { __classPrivateFieldSet(this, _PBRMaterial_ambientColor_accessor_storage, value, "f"); }
400
+ /**
401
+ * AKA Diffuse Color in other nomenclature.
402
+ */
403
+ get albedoColor() { return __classPrivateFieldGet(this, _PBRMaterial_albedoColor_accessor_storage, "f"); }
404
+ set albedoColor(value) { __classPrivateFieldSet(this, _PBRMaterial_albedoColor_accessor_storage, value, "f"); }
405
+ /**
406
+ * OpenPBR Base Weight (multiplier to the diffuse and metal lobes).
407
+ */
408
+ get baseWeight() { return __classPrivateFieldGet(this, _PBRMaterial_baseWeight_accessor_storage, "f"); }
409
+ set baseWeight(value) { __classPrivateFieldSet(this, _PBRMaterial_baseWeight_accessor_storage, value, "f"); }
410
+ /**
411
+ * OpenPBR Base Diffuse Roughness (roughness of the diffuse lobe).
412
+ */
413
+ get baseDiffuseRoughness() { return __classPrivateFieldGet(this, _PBRMaterial_baseDiffuseRoughness_accessor_storage, "f"); }
414
+ set baseDiffuseRoughness(value) { __classPrivateFieldSet(this, _PBRMaterial_baseDiffuseRoughness_accessor_storage, value, "f"); }
415
+ /**
416
+ * AKA Specular Color in other nomenclature.
417
+ */
418
+ get reflectivityColor() { return __classPrivateFieldGet(this, _PBRMaterial_reflectivityColor_accessor_storage, "f"); }
419
+ set reflectivityColor(value) { __classPrivateFieldSet(this, _PBRMaterial_reflectivityColor_accessor_storage, value, "f"); }
420
+ /**
421
+ * The color reflected from the material.
422
+ */
423
+ get reflectionColor() { return __classPrivateFieldGet(this, _PBRMaterial_reflectionColor_accessor_storage, "f"); }
424
+ set reflectionColor(value) { __classPrivateFieldSet(this, _PBRMaterial_reflectionColor_accessor_storage, value, "f"); }
425
+ /**
426
+ * The color emitted from the material.
427
+ */
428
+ get emissiveColor() { return __classPrivateFieldGet(this, _PBRMaterial_emissiveColor_accessor_storage, "f"); }
429
+ set emissiveColor(value) { __classPrivateFieldSet(this, _PBRMaterial_emissiveColor_accessor_storage, value, "f"); }
430
+ /**
431
+ * AKA Glossiness in other nomenclature.
432
+ */
433
+ get microSurface() { return __classPrivateFieldGet(this, _PBRMaterial_microSurface_accessor_storage, "f"); }
434
+ set microSurface(value) { __classPrivateFieldSet(this, _PBRMaterial_microSurface_accessor_storage, value, "f"); }
435
+ /**
436
+ * Index of refraction of the material base layer.
437
+ * https://en.wikipedia.org/wiki/List_of_refractive_indices
438
+ *
439
+ * This does not only impact refraction but also the Base F0 of Dielectric Materials.
440
+ *
441
+ * From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))
442
+ */
443
+ get indexOfRefraction() {
444
+ return this.subSurface.indexOfRefraction;
111
445
  }
112
- else {
113
- this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_STANDARD;
446
+ set indexOfRefraction(value) {
447
+ this.subSurface.indexOfRefraction = value;
114
448
  }
115
- }
116
- }
117
- /**
118
- * Instantiates a new PBRMaterial instance.
119
- *
120
- * @param name The material name
121
- * @param scene The scene the material will be use in.
122
- * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
123
- */
124
- constructor(name, scene, forceGLSL = false) {
125
- super(name, scene, forceGLSL);
126
- /**
127
- * Intensity of the direct lights e.g. the four lights available in your scene.
128
- * This impacts both the direct diffuse and specular highlights.
129
- */
130
- this.directIntensity = 1.0;
131
- /**
132
- * Intensity of the emissive part of the material.
133
- * This helps controlling the emissive effect without modifying the emissive color.
134
- */
135
- this.emissiveIntensity = 1.0;
136
- /**
137
- * Intensity of the environment e.g. how much the environment will light the object
138
- * either through harmonics for rough material or through the reflection for shiny ones.
139
- */
140
- this.environmentIntensity = 1.0;
141
- /**
142
- * This is a special control allowing the reduction of the specular highlights coming from the
143
- * four lights of the scene. Those highlights may not be needed in full environment lighting.
144
- */
145
- this.specularIntensity = 1.0;
146
- /**
147
- * Debug Control allowing disabling the bump map on this material.
148
- */
149
- this.disableBumpMap = false;
150
- /**
151
- * AKA Occlusion Texture Intensity in other nomenclature.
152
- */
153
- this.ambientTextureStrength = 1.0;
154
- /**
155
- * Defines how much the AO map is occluding the analytical lights (point spot...).
156
- * 1 means it completely occludes it
157
- * 0 mean it has no impact
158
- */
159
- this.ambientTextureImpactOnAnalyticalLights = PBRMaterial.DEFAULT_AO_ON_ANALYTICAL_LIGHTS;
160
- /**
161
- * In metallic workflow, specifies an F0 factor to help configuring the material F0.
162
- * By default the indexOfrefraction is used to compute F0;
163
- *
164
- * This is used as a factor against the default reflectance at normal incidence to tweak it.
165
- *
166
- * F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor;
167
- * F90 = metallicReflectanceColor;
168
- */
169
- this.metallicF0Factor = 1;
170
- /**
171
- * In metallic workflow, specifies an F0 color.
172
- * By default the F90 is always 1;
173
- *
174
- * Please note that this factor is also used as a factor against the default reflectance at normal incidence.
175
- *
176
- * F0 = defaultF0_from_IOR * metallicF0Factor * metallicReflectanceColor
177
- * F90 = metallicF0Factor;
178
- */
179
- this.metallicReflectanceColor = Color3.White();
180
- /**
181
- * Specifies that only the A channel from metallicReflectanceTexture should be used.
182
- * If false, both RGB and A channels will be used
183
- */
184
- this.useOnlyMetallicFromMetallicReflectanceTexture = false;
185
- /**
186
- * The color of a material in ambient lighting.
187
- */
188
- this.ambientColor = new Color3(0, 0, 0);
189
- /**
190
- * AKA Diffuse Color in other nomenclature.
191
- */
192
- this.albedoColor = new Color3(1, 1, 1);
193
- /**
194
- * OpenPBR Base Weight (multiplier to the diffuse and metal lobes).
195
- */
196
- this.baseWeight = 1;
197
- /**
198
- * AKA Specular Color in other nomenclature.
199
- */
200
- this.reflectivityColor = new Color3(1, 1, 1);
201
- /**
202
- * The color reflected from the material.
203
- */
204
- this.reflectionColor = new Color3(1.0, 1.0, 1.0);
205
- /**
206
- * The color emitted from the material.
207
- */
208
- this.emissiveColor = new Color3(0, 0, 0);
209
- /**
210
- * AKA Glossiness in other nomenclature.
211
- */
212
- this.microSurface = 1.0;
213
- /**
214
- * If true, the light map contains occlusion information instead of lighting info.
215
- */
216
- this.useLightmapAsShadowmap = false;
217
- /**
218
- * Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
219
- */
220
- this.useAlphaFromAlbedoTexture = false;
221
- /**
222
- * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
223
- */
224
- this.forceAlphaTest = false;
225
- /**
226
- * Defines the alpha limits in alpha test mode.
227
- */
228
- this.alphaCutOff = 0.4;
229
- /**
230
- * Specifies that the material will keep the specular highlights over a transparent surface (only the most luminous ones).
231
- * A car glass is a good example of that. When sun reflects on it you can not see what is behind.
232
- */
233
- this.useSpecularOverAlpha = true;
234
- /**
235
- * Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
236
- */
237
- this.useMicroSurfaceFromReflectivityMapAlpha = false;
238
- /**
239
- * Specifies if the metallic texture contains the roughness information in its alpha channel.
240
- */
241
- this.useRoughnessFromMetallicTextureAlpha = true;
242
- /**
243
- * Specifies if the metallic texture contains the roughness information in its green channel.
244
- * Needs useRoughnessFromMetallicTextureAlpha to be false.
245
- */
246
- this.useRoughnessFromMetallicTextureGreen = false;
247
- /**
248
- * Specifies if the metallic texture contains the metallness information in its blue channel.
249
- */
250
- this.useMetallnessFromMetallicTextureBlue = false;
251
- /**
252
- * Specifies if the metallic texture contains the ambient occlusion information in its red channel.
253
- */
254
- this.useAmbientOcclusionFromMetallicTextureRed = false;
255
- /**
256
- * Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
257
- */
258
- this.useAmbientInGrayScale = false;
259
- /**
260
- * In case the reflectivity map does not contain the microsurface information in its alpha channel,
261
- * The material will try to infer what glossiness each pixel should be.
262
- */
263
- this.useAutoMicroSurfaceFromReflectivityMap = false;
264
- /**
265
- * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most luminous ones).
266
- * A car glass is a good example of that. When the street lights reflects on it you can not see what is behind.
267
- */
268
- this.useRadianceOverAlpha = true;
269
- /**
270
- * Allows using an object space normal map (instead of tangent space).
271
- */
272
- this.useObjectSpaceNormalMap = false;
273
- /**
274
- * Allows using the bump map in parallax mode.
275
- */
276
- this.useParallax = false;
277
- /**
278
- * Allows using the bump map in parallax occlusion mode.
279
- */
280
- this.useParallaxOcclusion = false;
281
- /**
282
- * Controls the scale bias of the parallax mode.
283
- */
284
- this.parallaxScaleBias = 0.05;
285
- /**
286
- * If sets to true, disables all the lights affecting the material.
287
- */
288
- this.disableLighting = false;
289
- /**
290
- * Force the shader to compute irradiance in the fragment shader in order to take bump in account.
291
- */
292
- this.forceIrradianceInFragment = false;
293
- /**
294
- * Number of Simultaneous lights allowed on the material.
295
- */
296
- this.maxSimultaneousLights = 4;
297
- /**
298
- * If sets to true, x component of normal map value will invert (x = 1.0 - x).
299
- */
300
- this.invertNormalMapX = false;
301
- /**
302
- * If sets to true, y component of normal map value will invert (y = 1.0 - y).
303
- */
304
- this.invertNormalMapY = false;
305
- /**
306
- * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
307
- */
308
- this.twoSidedLighting = false;
309
- /**
310
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
311
- * And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)
312
- */
313
- this.useAlphaFresnel = false;
314
- /**
315
- * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
316
- * And/Or occlude the blended part. (alpha stays linear to compute the fresnel)
317
- */
318
- this.useLinearAlphaFresnel = false;
319
- /**
320
- * Let user defines the brdf lookup texture used for IBL.
321
- * A default 8bit version is embedded but you could point at :
322
- * * Default texture: https://assets.babylonjs.com/environments/correlatedMSBRDF_RGBD.png
323
- * * Default 16bit pixel depth texture: https://assets.babylonjs.com/environments/correlatedMSBRDF.dds
324
- * * LEGACY Default None correlated https://assets.babylonjs.com/environments/uncorrelatedBRDF_RGBD.png
325
- * * LEGACY Default None correlated 16bit pixel depth https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds
326
- */
327
- this.environmentBRDFTexture = null;
328
- /**
329
- * Force normal to face away from face.
330
- */
331
- this.forceNormalForward = false;
449
+ /**
450
+ * Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.
451
+ */
452
+ get invertRefractionY() {
453
+ return this.subSurface.invertRefractionY;
454
+ }
455
+ set invertRefractionY(value) {
456
+ this.subSurface.invertRefractionY = value;
457
+ }
458
+ /**
459
+ * This parameters will make the material used its opacity to control how much it is refracting against not.
460
+ * Materials half opaque for instance using refraction could benefit from this control.
461
+ */
462
+ get linkRefractionWithTransparency() {
463
+ return this.subSurface.linkRefractionWithTransparency;
464
+ }
465
+ set linkRefractionWithTransparency(value) {
466
+ this.subSurface.linkRefractionWithTransparency = value;
467
+ if (value) {
468
+ this.subSurface.isRefractionEnabled = true;
469
+ }
470
+ }
471
+ /**
472
+ * If true, the light map contains occlusion information instead of lighting info.
473
+ */
474
+ get useLightmapAsShadowmap() { return __classPrivateFieldGet(this, _PBRMaterial_useLightmapAsShadowmap_accessor_storage, "f"); }
475
+ set useLightmapAsShadowmap(value) { __classPrivateFieldSet(this, _PBRMaterial_useLightmapAsShadowmap_accessor_storage, value, "f"); }
476
+ /**
477
+ * Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
478
+ */
479
+ get useAlphaFromAlbedoTexture() { return __classPrivateFieldGet(this, _PBRMaterial_useAlphaFromAlbedoTexture_accessor_storage, "f"); }
480
+ set useAlphaFromAlbedoTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_useAlphaFromAlbedoTexture_accessor_storage, value, "f"); }
481
+ /**
482
+ * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
483
+ */
484
+ get forceAlphaTest() { return __classPrivateFieldGet(this, _PBRMaterial_forceAlphaTest_accessor_storage, "f"); }
485
+ set forceAlphaTest(value) { __classPrivateFieldSet(this, _PBRMaterial_forceAlphaTest_accessor_storage, value, "f"); }
486
+ /**
487
+ * Defines the alpha limits in alpha test mode.
488
+ */
489
+ get alphaCutOff() { return __classPrivateFieldGet(this, _PBRMaterial_alphaCutOff_accessor_storage, "f"); }
490
+ set alphaCutOff(value) { __classPrivateFieldSet(this, _PBRMaterial_alphaCutOff_accessor_storage, value, "f"); }
491
+ /**
492
+ * Specifies that the material will keep the specular highlights over a transparent surface (only the most luminous ones).
493
+ * A car glass is a good example of that. When sun reflects on it you can not see what is behind.
494
+ */
495
+ get useSpecularOverAlpha() { return __classPrivateFieldGet(this, _PBRMaterial_useSpecularOverAlpha_accessor_storage, "f"); }
496
+ set useSpecularOverAlpha(value) { __classPrivateFieldSet(this, _PBRMaterial_useSpecularOverAlpha_accessor_storage, value, "f"); }
497
+ /**
498
+ * Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
499
+ */
500
+ get useMicroSurfaceFromReflectivityMapAlpha() { return __classPrivateFieldGet(this, _PBRMaterial_useMicroSurfaceFromReflectivityMapAlpha_accessor_storage, "f"); }
501
+ set useMicroSurfaceFromReflectivityMapAlpha(value) { __classPrivateFieldSet(this, _PBRMaterial_useMicroSurfaceFromReflectivityMapAlpha_accessor_storage, value, "f"); }
502
+ /**
503
+ * Specifies if the metallic texture contains the roughness information in its alpha channel.
504
+ */
505
+ get useRoughnessFromMetallicTextureAlpha() { return __classPrivateFieldGet(this, _PBRMaterial_useRoughnessFromMetallicTextureAlpha_accessor_storage, "f"); }
506
+ set useRoughnessFromMetallicTextureAlpha(value) { __classPrivateFieldSet(this, _PBRMaterial_useRoughnessFromMetallicTextureAlpha_accessor_storage, value, "f"); }
507
+ /**
508
+ * Specifies if the metallic texture contains the roughness information in its green channel.
509
+ * Needs useRoughnessFromMetallicTextureAlpha to be false.
510
+ */
511
+ get useRoughnessFromMetallicTextureGreen() { return __classPrivateFieldGet(this, _PBRMaterial_useRoughnessFromMetallicTextureGreen_accessor_storage, "f"); }
512
+ set useRoughnessFromMetallicTextureGreen(value) { __classPrivateFieldSet(this, _PBRMaterial_useRoughnessFromMetallicTextureGreen_accessor_storage, value, "f"); }
513
+ /**
514
+ * Specifies if the metallic texture contains the metallness information in its blue channel.
515
+ */
516
+ get useMetallnessFromMetallicTextureBlue() { return __classPrivateFieldGet(this, _PBRMaterial_useMetallnessFromMetallicTextureBlue_accessor_storage, "f"); }
517
+ set useMetallnessFromMetallicTextureBlue(value) { __classPrivateFieldSet(this, _PBRMaterial_useMetallnessFromMetallicTextureBlue_accessor_storage, value, "f"); }
518
+ /**
519
+ * Specifies if the metallic texture contains the ambient occlusion information in its red channel.
520
+ */
521
+ get useAmbientOcclusionFromMetallicTextureRed() { return __classPrivateFieldGet(this, _PBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage, "f"); }
522
+ set useAmbientOcclusionFromMetallicTextureRed(value) { __classPrivateFieldSet(this, _PBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage, value, "f"); }
523
+ /**
524
+ * Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
525
+ */
526
+ get useAmbientInGrayScale() { return __classPrivateFieldGet(this, _PBRMaterial_useAmbientInGrayScale_accessor_storage, "f"); }
527
+ set useAmbientInGrayScale(value) { __classPrivateFieldSet(this, _PBRMaterial_useAmbientInGrayScale_accessor_storage, value, "f"); }
528
+ /**
529
+ * In case the reflectivity map does not contain the microsurface information in its alpha channel,
530
+ * The material will try to infer what glossiness each pixel should be.
531
+ */
532
+ get useAutoMicroSurfaceFromReflectivityMap() { return __classPrivateFieldGet(this, _PBRMaterial_useAutoMicroSurfaceFromReflectivityMap_accessor_storage, "f"); }
533
+ set useAutoMicroSurfaceFromReflectivityMap(value) { __classPrivateFieldSet(this, _PBRMaterial_useAutoMicroSurfaceFromReflectivityMap_accessor_storage, value, "f"); }
534
+ /**
535
+ * BJS is using an hardcoded light falloff based on a manually sets up range.
536
+ * In PBR, one way to represents the falloff is to use the inverse squared root algorithm.
537
+ * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
538
+ */
539
+ get usePhysicalLightFalloff() {
540
+ return this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_PHYSICAL;
541
+ }
542
+ /**
543
+ * BJS is using an hardcoded light falloff based on a manually sets up range.
544
+ * In PBR, one way to represents the falloff is to use the inverse squared root algorithm.
545
+ * This parameter can help you switch back to the BJS mode in order to create scenes using both materials.
546
+ */
547
+ set usePhysicalLightFalloff(value) {
548
+ if (value !== this.usePhysicalLightFalloff) {
549
+ // Ensure the effect will be rebuilt.
550
+ this._markAllSubMeshesAsTexturesDirty();
551
+ if (value) {
552
+ this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_PHYSICAL;
553
+ }
554
+ else {
555
+ this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_STANDARD;
556
+ }
557
+ }
558
+ }
559
+ /**
560
+ * In order to support the falloff compatibility with gltf, a special mode has been added
561
+ * to reproduce the gltf light falloff.
562
+ */
563
+ get useGLTFLightFalloff() {
564
+ return this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_GLTF;
565
+ }
566
+ /**
567
+ * In order to support the falloff compatibility with gltf, a special mode has been added
568
+ * to reproduce the gltf light falloff.
569
+ */
570
+ set useGLTFLightFalloff(value) {
571
+ if (value !== this.useGLTFLightFalloff) {
572
+ // Ensure the effect will be rebuilt.
573
+ this._markAllSubMeshesAsTexturesDirty();
574
+ if (value) {
575
+ this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_GLTF;
576
+ }
577
+ else {
578
+ this._lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_STANDARD;
579
+ }
580
+ }
581
+ }
582
+ /**
583
+ * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most luminous ones).
584
+ * A car glass is a good example of that. When the street lights reflects on it you can not see what is behind.
585
+ */
586
+ get useRadianceOverAlpha() { return __classPrivateFieldGet(this, _PBRMaterial_useRadianceOverAlpha_accessor_storage, "f"); }
587
+ set useRadianceOverAlpha(value) { __classPrivateFieldSet(this, _PBRMaterial_useRadianceOverAlpha_accessor_storage, value, "f"); }
588
+ /**
589
+ * Allows using an object space normal map (instead of tangent space).
590
+ */
591
+ get useObjectSpaceNormalMap() { return __classPrivateFieldGet(this, _PBRMaterial_useObjectSpaceNormalMap_accessor_storage, "f"); }
592
+ set useObjectSpaceNormalMap(value) { __classPrivateFieldSet(this, _PBRMaterial_useObjectSpaceNormalMap_accessor_storage, value, "f"); }
593
+ /**
594
+ * Allows using the bump map in parallax mode.
595
+ */
596
+ get useParallax() { return __classPrivateFieldGet(this, _PBRMaterial_useParallax_accessor_storage, "f"); }
597
+ set useParallax(value) { __classPrivateFieldSet(this, _PBRMaterial_useParallax_accessor_storage, value, "f"); }
598
+ /**
599
+ * Allows using the bump map in parallax occlusion mode.
600
+ */
601
+ get useParallaxOcclusion() { return __classPrivateFieldGet(this, _PBRMaterial_useParallaxOcclusion_accessor_storage, "f"); }
602
+ set useParallaxOcclusion(value) { __classPrivateFieldSet(this, _PBRMaterial_useParallaxOcclusion_accessor_storage, value, "f"); }
603
+ /**
604
+ * Controls the scale bias of the parallax mode.
605
+ */
606
+ get parallaxScaleBias() { return __classPrivateFieldGet(this, _PBRMaterial_parallaxScaleBias_accessor_storage, "f"); }
607
+ set parallaxScaleBias(value) { __classPrivateFieldSet(this, _PBRMaterial_parallaxScaleBias_accessor_storage, value, "f"); }
608
+ /**
609
+ * If sets to true, disables all the lights affecting the material.
610
+ */
611
+ get disableLighting() { return __classPrivateFieldGet(this, _PBRMaterial_disableLighting_accessor_storage, "f"); }
612
+ set disableLighting(value) { __classPrivateFieldSet(this, _PBRMaterial_disableLighting_accessor_storage, value, "f"); }
613
+ /**
614
+ * Force the shader to compute irradiance in the fragment shader in order to take bump in account.
615
+ */
616
+ get forceIrradianceInFragment() { return __classPrivateFieldGet(this, _PBRMaterial_forceIrradianceInFragment_accessor_storage, "f"); }
617
+ set forceIrradianceInFragment(value) { __classPrivateFieldSet(this, _PBRMaterial_forceIrradianceInFragment_accessor_storage, value, "f"); }
618
+ /**
619
+ * Number of Simultaneous lights allowed on the material.
620
+ */
621
+ get maxSimultaneousLights() { return __classPrivateFieldGet(this, _PBRMaterial_maxSimultaneousLights_accessor_storage, "f"); }
622
+ set maxSimultaneousLights(value) { __classPrivateFieldSet(this, _PBRMaterial_maxSimultaneousLights_accessor_storage, value, "f"); }
623
+ /**
624
+ * If sets to true, x component of normal map value will invert (x = 1.0 - x).
625
+ */
626
+ get invertNormalMapX() { return __classPrivateFieldGet(this, _PBRMaterial_invertNormalMapX_accessor_storage, "f"); }
627
+ set invertNormalMapX(value) { __classPrivateFieldSet(this, _PBRMaterial_invertNormalMapX_accessor_storage, value, "f"); }
628
+ /**
629
+ * If sets to true, y component of normal map value will invert (y = 1.0 - y).
630
+ */
631
+ get invertNormalMapY() { return __classPrivateFieldGet(this, _PBRMaterial_invertNormalMapY_accessor_storage, "f"); }
632
+ set invertNormalMapY(value) { __classPrivateFieldSet(this, _PBRMaterial_invertNormalMapY_accessor_storage, value, "f"); }
633
+ /**
634
+ * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
635
+ */
636
+ get twoSidedLighting() { return __classPrivateFieldGet(this, _PBRMaterial_twoSidedLighting_accessor_storage, "f"); }
637
+ set twoSidedLighting(value) { __classPrivateFieldSet(this, _PBRMaterial_twoSidedLighting_accessor_storage, value, "f"); }
638
+ /**
639
+ * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
640
+ * And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)
641
+ */
642
+ get useAlphaFresnel() { return __classPrivateFieldGet(this, _PBRMaterial_useAlphaFresnel_accessor_storage, "f"); }
643
+ set useAlphaFresnel(value) { __classPrivateFieldSet(this, _PBRMaterial_useAlphaFresnel_accessor_storage, value, "f"); }
644
+ /**
645
+ * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
646
+ * And/Or occlude the blended part. (alpha stays linear to compute the fresnel)
647
+ */
648
+ get useLinearAlphaFresnel() { return __classPrivateFieldGet(this, _PBRMaterial_useLinearAlphaFresnel_accessor_storage, "f"); }
649
+ set useLinearAlphaFresnel(value) { __classPrivateFieldSet(this, _PBRMaterial_useLinearAlphaFresnel_accessor_storage, value, "f"); }
650
+ /**
651
+ * Let user defines the brdf lookup texture used for IBL.
652
+ * A default 8bit version is embedded but you could point at :
653
+ * * Default texture: https://assets.babylonjs.com/environments/correlatedMSBRDF_RGBD.png
654
+ * * Default 16bit pixel depth texture: https://assets.babylonjs.com/environments/correlatedMSBRDF.dds
655
+ * * LEGACY Default None correlated https://assets.babylonjs.com/environments/uncorrelatedBRDF_RGBD.png
656
+ * * LEGACY Default None correlated 16bit pixel depth https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds
657
+ */
658
+ get environmentBRDFTexture() { return __classPrivateFieldGet(this, _PBRMaterial_environmentBRDFTexture_accessor_storage, "f"); }
659
+ set environmentBRDFTexture(value) { __classPrivateFieldSet(this, _PBRMaterial_environmentBRDFTexture_accessor_storage, value, "f"); }
660
+ /**
661
+ * Force normal to face away from face.
662
+ */
663
+ get forceNormalForward() { return __classPrivateFieldGet(this, _PBRMaterial_forceNormalForward_accessor_storage, "f"); }
664
+ set forceNormalForward(value) { __classPrivateFieldSet(this, _PBRMaterial_forceNormalForward_accessor_storage, value, "f"); }
665
+ /**
666
+ * Enables specular anti aliasing in the PBR shader.
667
+ * It will both interacts on the Geometry for analytical and IBL lighting.
668
+ * It also prefilter the roughness map based on the bump values.
669
+ */
670
+ get enableSpecularAntiAliasing() { return __classPrivateFieldGet(this, _PBRMaterial_enableSpecularAntiAliasing_accessor_storage, "f"); }
671
+ set enableSpecularAntiAliasing(value) { __classPrivateFieldSet(this, _PBRMaterial_enableSpecularAntiAliasing_accessor_storage, value, "f"); }
672
+ /**
673
+ * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
674
+ * makes the reflect vector face the model (under horizon).
675
+ */
676
+ get useHorizonOcclusion() { return __classPrivateFieldGet(this, _PBRMaterial_useHorizonOcclusion_accessor_storage, "f"); }
677
+ set useHorizonOcclusion(value) { __classPrivateFieldSet(this, _PBRMaterial_useHorizonOcclusion_accessor_storage, value, "f"); }
678
+ /**
679
+ * This parameters will enable/disable radiance occlusion by preventing the radiance to lit
680
+ * too much the area relying on ambient texture to define their ambient occlusion.
681
+ */
682
+ get useRadianceOcclusion() { return __classPrivateFieldGet(this, _PBRMaterial_useRadianceOcclusion_accessor_storage, "f"); }
683
+ set useRadianceOcclusion(value) { __classPrivateFieldSet(this, _PBRMaterial_useRadianceOcclusion_accessor_storage, value, "f"); }
684
+ /**
685
+ * If set to true, no lighting calculations will be applied.
686
+ */
687
+ get unlit() { return __classPrivateFieldGet(this, _PBRMaterial_unlit_accessor_storage, "f"); }
688
+ set unlit(value) { __classPrivateFieldSet(this, _PBRMaterial_unlit_accessor_storage, value, "f"); }
689
+ /**
690
+ * If sets to true, the decal map will be applied after the detail map. Else, it is applied before (default: false)
691
+ */
692
+ get applyDecalMapAfterDetailMap() { return __classPrivateFieldGet(this, _PBRMaterial_applyDecalMapAfterDetailMap_accessor_storage, "f"); }
693
+ set applyDecalMapAfterDetailMap(value) { __classPrivateFieldSet(this, _PBRMaterial_applyDecalMapAfterDetailMap_accessor_storage, value, "f"); }
694
+ /**
695
+ * Instantiates a new PBRMaterial instance.
696
+ *
697
+ * @param name The material name
698
+ * @param scene The scene the material will be use in.
699
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
700
+ */
701
+ constructor(name, scene, forceGLSL = false) {
702
+ super(name, scene, forceGLSL);
703
+ _PBRMaterial_directIntensity_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _directIntensity_initializers, 1.0)));
704
+ _PBRMaterial_emissiveIntensity_accessor_storage.set(this, (__runInitializers(this, _directIntensity_extraInitializers), __runInitializers(this, _emissiveIntensity_initializers, 1.0)));
705
+ _PBRMaterial_environmentIntensity_accessor_storage.set(this, (__runInitializers(this, _emissiveIntensity_extraInitializers), __runInitializers(this, _environmentIntensity_initializers, 1.0)));
706
+ _PBRMaterial_specularIntensity_accessor_storage.set(this, (__runInitializers(this, _environmentIntensity_extraInitializers), __runInitializers(this, _specularIntensity_initializers, 1.0)));
707
+ _PBRMaterial_disableBumpMap_accessor_storage.set(this, (__runInitializers(this, _specularIntensity_extraInitializers), __runInitializers(this, _disableBumpMap_initializers, false)));
708
+ _PBRMaterial_albedoTexture_accessor_storage.set(this, (__runInitializers(this, _disableBumpMap_extraInitializers), __runInitializers(this, _albedoTexture_initializers, void 0)));
709
+ _PBRMaterial_baseWeightTexture_accessor_storage.set(this, (__runInitializers(this, _albedoTexture_extraInitializers), __runInitializers(this, _baseWeightTexture_initializers, void 0)));
710
+ _PBRMaterial_baseDiffuseRoughnessTexture_accessor_storage.set(this, (__runInitializers(this, _baseWeightTexture_extraInitializers), __runInitializers(this, _baseDiffuseRoughnessTexture_initializers, void 0)));
711
+ _PBRMaterial_ambientTexture_accessor_storage.set(this, (__runInitializers(this, _baseDiffuseRoughnessTexture_extraInitializers), __runInitializers(this, _ambientTexture_initializers, void 0)));
712
+ _PBRMaterial_ambientTextureStrength_accessor_storage.set(this, (__runInitializers(this, _ambientTexture_extraInitializers), __runInitializers(this, _ambientTextureStrength_initializers, 1.0)));
713
+ _PBRMaterial_ambientTextureImpactOnAnalyticalLights_accessor_storage.set(this, (__runInitializers(this, _ambientTextureStrength_extraInitializers), __runInitializers(this, _ambientTextureImpactOnAnalyticalLights_initializers, _a.DEFAULT_AO_ON_ANALYTICAL_LIGHTS)));
714
+ _PBRMaterial_opacityTexture_accessor_storage.set(this, (__runInitializers(this, _ambientTextureImpactOnAnalyticalLights_extraInitializers), __runInitializers(this, _opacityTexture_initializers, void 0)));
715
+ _PBRMaterial_reflectionTexture_accessor_storage.set(this, (__runInitializers(this, _opacityTexture_extraInitializers), __runInitializers(this, _reflectionTexture_initializers, void 0)));
716
+ _PBRMaterial_emissiveTexture_accessor_storage.set(this, (__runInitializers(this, _reflectionTexture_extraInitializers), __runInitializers(this, _emissiveTexture_initializers, void 0)));
717
+ _PBRMaterial_reflectivityTexture_accessor_storage.set(this, (__runInitializers(this, _emissiveTexture_extraInitializers), __runInitializers(this, _reflectivityTexture_initializers, void 0)));
718
+ _PBRMaterial_metallicTexture_accessor_storage.set(this, (__runInitializers(this, _reflectivityTexture_extraInitializers), __runInitializers(this, _metallicTexture_initializers, void 0)));
719
+ _PBRMaterial_metallic_accessor_storage.set(this, (__runInitializers(this, _metallicTexture_extraInitializers), __runInitializers(this, _metallic_initializers, void 0)));
720
+ _PBRMaterial_roughness_accessor_storage.set(this, (__runInitializers(this, _metallic_extraInitializers), __runInitializers(this, _roughness_initializers, void 0)));
721
+ _PBRMaterial_metallicF0Factor_accessor_storage.set(this, (__runInitializers(this, _roughness_extraInitializers), __runInitializers(this, _metallicF0Factor_initializers, 1)));
722
+ _PBRMaterial_metallicReflectanceColor_accessor_storage.set(this, (__runInitializers(this, _metallicF0Factor_extraInitializers), __runInitializers(this, _metallicReflectanceColor_initializers, Color3.White())));
723
+ _PBRMaterial_useOnlyMetallicFromMetallicReflectanceTexture_accessor_storage.set(this, (__runInitializers(this, _metallicReflectanceColor_extraInitializers), __runInitializers(this, _useOnlyMetallicFromMetallicReflectanceTexture_initializers, false)));
724
+ _PBRMaterial_metallicReflectanceTexture_accessor_storage.set(this, (__runInitializers(this, _useOnlyMetallicFromMetallicReflectanceTexture_extraInitializers), __runInitializers(this, _metallicReflectanceTexture_initializers, void 0)));
725
+ _PBRMaterial_reflectanceTexture_accessor_storage.set(this, (__runInitializers(this, _metallicReflectanceTexture_extraInitializers), __runInitializers(this, _reflectanceTexture_initializers, void 0)));
726
+ _PBRMaterial_microSurfaceTexture_accessor_storage.set(this, (__runInitializers(this, _reflectanceTexture_extraInitializers), __runInitializers(this, _microSurfaceTexture_initializers, void 0)));
727
+ _PBRMaterial_bumpTexture_accessor_storage.set(this, (__runInitializers(this, _microSurfaceTexture_extraInitializers), __runInitializers(this, _bumpTexture_initializers, void 0)));
728
+ _PBRMaterial_lightmapTexture_accessor_storage.set(this, (__runInitializers(this, _bumpTexture_extraInitializers), __runInitializers(this, _lightmapTexture_initializers, void 0)));
729
+ _PBRMaterial_ambientColor_accessor_storage.set(this, (__runInitializers(this, _lightmapTexture_extraInitializers), __runInitializers(this, _ambientColor_initializers, new Color3(0, 0, 0))));
730
+ _PBRMaterial_albedoColor_accessor_storage.set(this, (__runInitializers(this, _ambientColor_extraInitializers), __runInitializers(this, _albedoColor_initializers, new Color3(1, 1, 1))));
731
+ _PBRMaterial_baseWeight_accessor_storage.set(this, (__runInitializers(this, _albedoColor_extraInitializers), __runInitializers(this, _baseWeight_initializers, 1)));
732
+ _PBRMaterial_baseDiffuseRoughness_accessor_storage.set(this, (__runInitializers(this, _baseWeight_extraInitializers), __runInitializers(this, _baseDiffuseRoughness_initializers, void 0)));
733
+ _PBRMaterial_reflectivityColor_accessor_storage.set(this, (__runInitializers(this, _baseDiffuseRoughness_extraInitializers), __runInitializers(this, _reflectivityColor_initializers, new Color3(1, 1, 1))));
734
+ _PBRMaterial_reflectionColor_accessor_storage.set(this, (__runInitializers(this, _reflectivityColor_extraInitializers), __runInitializers(this, _reflectionColor_initializers, new Color3(1.0, 1.0, 1.0))));
735
+ _PBRMaterial_emissiveColor_accessor_storage.set(this, (__runInitializers(this, _reflectionColor_extraInitializers), __runInitializers(this, _emissiveColor_initializers, new Color3(0, 0, 0))));
736
+ _PBRMaterial_microSurface_accessor_storage.set(this, (__runInitializers(this, _emissiveColor_extraInitializers), __runInitializers(this, _microSurface_initializers, 1.0)));
737
+ _PBRMaterial_useLightmapAsShadowmap_accessor_storage.set(this, (__runInitializers(this, _microSurface_extraInitializers), __runInitializers(this, _useLightmapAsShadowmap_initializers, false)));
738
+ _PBRMaterial_useAlphaFromAlbedoTexture_accessor_storage.set(this, (__runInitializers(this, _useLightmapAsShadowmap_extraInitializers), __runInitializers(this, _useAlphaFromAlbedoTexture_initializers, false)));
739
+ _PBRMaterial_forceAlphaTest_accessor_storage.set(this, (__runInitializers(this, _useAlphaFromAlbedoTexture_extraInitializers), __runInitializers(this, _forceAlphaTest_initializers, false)));
740
+ _PBRMaterial_alphaCutOff_accessor_storage.set(this, (__runInitializers(this, _forceAlphaTest_extraInitializers), __runInitializers(this, _alphaCutOff_initializers, 0.4)));
741
+ _PBRMaterial_useSpecularOverAlpha_accessor_storage.set(this, (__runInitializers(this, _alphaCutOff_extraInitializers), __runInitializers(this, _useSpecularOverAlpha_initializers, true)));
742
+ _PBRMaterial_useMicroSurfaceFromReflectivityMapAlpha_accessor_storage.set(this, (__runInitializers(this, _useSpecularOverAlpha_extraInitializers), __runInitializers(this, _useMicroSurfaceFromReflectivityMapAlpha_initializers, false)));
743
+ _PBRMaterial_useRoughnessFromMetallicTextureAlpha_accessor_storage.set(this, (__runInitializers(this, _useMicroSurfaceFromReflectivityMapAlpha_extraInitializers), __runInitializers(this, _useRoughnessFromMetallicTextureAlpha_initializers, true)));
744
+ _PBRMaterial_useRoughnessFromMetallicTextureGreen_accessor_storage.set(this, (__runInitializers(this, _useRoughnessFromMetallicTextureAlpha_extraInitializers), __runInitializers(this, _useRoughnessFromMetallicTextureGreen_initializers, false)));
745
+ _PBRMaterial_useMetallnessFromMetallicTextureBlue_accessor_storage.set(this, (__runInitializers(this, _useRoughnessFromMetallicTextureGreen_extraInitializers), __runInitializers(this, _useMetallnessFromMetallicTextureBlue_initializers, false)));
746
+ _PBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage.set(this, (__runInitializers(this, _useMetallnessFromMetallicTextureBlue_extraInitializers), __runInitializers(this, _useAmbientOcclusionFromMetallicTextureRed_initializers, false)));
747
+ _PBRMaterial_useAmbientInGrayScale_accessor_storage.set(this, (__runInitializers(this, _useAmbientOcclusionFromMetallicTextureRed_extraInitializers), __runInitializers(this, _useAmbientInGrayScale_initializers, false)));
748
+ _PBRMaterial_useAutoMicroSurfaceFromReflectivityMap_accessor_storage.set(this, (__runInitializers(this, _useAmbientInGrayScale_extraInitializers), __runInitializers(this, _useAutoMicroSurfaceFromReflectivityMap_initializers, false)));
749
+ _PBRMaterial_useRadianceOverAlpha_accessor_storage.set(this, (__runInitializers(this, _useAutoMicroSurfaceFromReflectivityMap_extraInitializers), __runInitializers(this, _useRadianceOverAlpha_initializers, true)));
750
+ _PBRMaterial_useObjectSpaceNormalMap_accessor_storage.set(this, (__runInitializers(this, _useRadianceOverAlpha_extraInitializers), __runInitializers(this, _useObjectSpaceNormalMap_initializers, false)));
751
+ _PBRMaterial_useParallax_accessor_storage.set(this, (__runInitializers(this, _useObjectSpaceNormalMap_extraInitializers), __runInitializers(this, _useParallax_initializers, false)));
752
+ _PBRMaterial_useParallaxOcclusion_accessor_storage.set(this, (__runInitializers(this, _useParallax_extraInitializers), __runInitializers(this, _useParallaxOcclusion_initializers, false)));
753
+ _PBRMaterial_parallaxScaleBias_accessor_storage.set(this, (__runInitializers(this, _useParallaxOcclusion_extraInitializers), __runInitializers(this, _parallaxScaleBias_initializers, 0.05)));
754
+ _PBRMaterial_disableLighting_accessor_storage.set(this, (__runInitializers(this, _parallaxScaleBias_extraInitializers), __runInitializers(this, _disableLighting_initializers, false)));
755
+ _PBRMaterial_forceIrradianceInFragment_accessor_storage.set(this, (__runInitializers(this, _disableLighting_extraInitializers), __runInitializers(this, _forceIrradianceInFragment_initializers, false)));
756
+ _PBRMaterial_maxSimultaneousLights_accessor_storage.set(this, (__runInitializers(this, _forceIrradianceInFragment_extraInitializers), __runInitializers(this, _maxSimultaneousLights_initializers, 4)));
757
+ _PBRMaterial_invertNormalMapX_accessor_storage.set(this, (__runInitializers(this, _maxSimultaneousLights_extraInitializers), __runInitializers(this, _invertNormalMapX_initializers, false)));
758
+ _PBRMaterial_invertNormalMapY_accessor_storage.set(this, (__runInitializers(this, _invertNormalMapX_extraInitializers), __runInitializers(this, _invertNormalMapY_initializers, false)));
759
+ _PBRMaterial_twoSidedLighting_accessor_storage.set(this, (__runInitializers(this, _invertNormalMapY_extraInitializers), __runInitializers(this, _twoSidedLighting_initializers, false)));
760
+ _PBRMaterial_useAlphaFresnel_accessor_storage.set(this, (__runInitializers(this, _twoSidedLighting_extraInitializers), __runInitializers(this, _useAlphaFresnel_initializers, false)));
761
+ _PBRMaterial_useLinearAlphaFresnel_accessor_storage.set(this, (__runInitializers(this, _useAlphaFresnel_extraInitializers), __runInitializers(this, _useLinearAlphaFresnel_initializers, false)));
762
+ _PBRMaterial_environmentBRDFTexture_accessor_storage.set(this, (__runInitializers(this, _useLinearAlphaFresnel_extraInitializers), __runInitializers(this, _environmentBRDFTexture_initializers, null)));
763
+ _PBRMaterial_forceNormalForward_accessor_storage.set(this, (__runInitializers(this, _environmentBRDFTexture_extraInitializers), __runInitializers(this, _forceNormalForward_initializers, false)));
764
+ _PBRMaterial_enableSpecularAntiAliasing_accessor_storage.set(this, (__runInitializers(this, _forceNormalForward_extraInitializers), __runInitializers(this, _enableSpecularAntiAliasing_initializers, false)));
765
+ _PBRMaterial_useHorizonOcclusion_accessor_storage.set(this, (__runInitializers(this, _enableSpecularAntiAliasing_extraInitializers), __runInitializers(this, _useHorizonOcclusion_initializers, true)));
766
+ _PBRMaterial_useRadianceOcclusion_accessor_storage.set(this, (__runInitializers(this, _useHorizonOcclusion_extraInitializers), __runInitializers(this, _useRadianceOcclusion_initializers, true)));
767
+ _PBRMaterial_unlit_accessor_storage.set(this, (__runInitializers(this, _useRadianceOcclusion_extraInitializers), __runInitializers(this, _unlit_initializers, false)));
768
+ _PBRMaterial_applyDecalMapAfterDetailMap_accessor_storage.set(this, (__runInitializers(this, _unlit_extraInitializers), __runInitializers(this, _applyDecalMapAfterDetailMap_initializers, false)));
769
+ __runInitializers(this, _applyDecalMapAfterDetailMap_extraInitializers);
770
+ this._environmentBRDFTexture = GetEnvironmentBRDFTexture(this.getScene());
771
+ }
772
+ /**
773
+ * @returns the name of this material class.
774
+ */
775
+ getClassName() {
776
+ return "PBRMaterial";
777
+ }
778
+ /**
779
+ * Makes a duplicate of the current material.
780
+ * @param name - name to use for the new material.
781
+ * @param cloneTexturesOnlyOnce - if a texture is used in more than one channel (e.g diffuse and opacity), only clone it once and reuse it on the other channels. Default false.
782
+ * @param rootUrl defines the root URL to use to load textures
783
+ * @returns cloned material instance
784
+ */
785
+ clone(name, cloneTexturesOnlyOnce = true, rootUrl = "") {
786
+ const clone = SerializationHelper.Clone(() => new _a(name, this.getScene()), this, { cloneTexturesOnlyOnce });
787
+ clone.id = name;
788
+ clone.name = name;
789
+ this.stencil.copyTo(clone.stencil);
790
+ this._clonePlugins(clone, rootUrl);
791
+ return clone;
792
+ }
793
+ /**
794
+ * Serializes this PBR Material.
795
+ * @returns - An object with the serialized material.
796
+ */
797
+ serialize() {
798
+ const serializationObject = super.serialize();
799
+ serializationObject.customType = "BABYLON.PBRMaterial";
800
+ return serializationObject;
801
+ }
802
+ // Statics
803
+ /**
804
+ * Parses a PBR Material from a serialized object.
805
+ * @param source - Serialized object.
806
+ * @param scene - BJS scene instance.
807
+ * @param rootUrl - url for the scene object
808
+ * @returns - PBRMaterial
809
+ */
810
+ static Parse(source, scene, rootUrl) {
811
+ const material = SerializationHelper.Parse(() => new _a(source.name, scene), source, scene, rootUrl);
812
+ if (source.stencil) {
813
+ material.stencil.parse(source.stencil, scene, rootUrl);
814
+ }
815
+ Material._ParsePlugins(source, material, scene, rootUrl);
816
+ // The code block below ensures backward compatibility with serialized materials before plugins are automatically serialized.
817
+ if (source.clearCoat) {
818
+ material.clearCoat.parse(source.clearCoat, scene, rootUrl);
819
+ }
820
+ if (source.anisotropy) {
821
+ material.anisotropy.parse(source.anisotropy, scene, rootUrl);
822
+ }
823
+ if (source.brdf) {
824
+ material.brdf.parse(source.brdf, scene, rootUrl);
825
+ }
826
+ if (source.sheen) {
827
+ material.sheen.parse(source.sheen, scene, rootUrl);
828
+ }
829
+ if (source.subSurface) {
830
+ material.subSurface.parse(source.subSurface, scene, rootUrl);
831
+ }
832
+ if (source.iridescence) {
833
+ material.iridescence.parse(source.iridescence, scene, rootUrl);
834
+ }
835
+ return material;
836
+ }
837
+ },
838
+ _PBRMaterial_directIntensity_accessor_storage = new WeakMap(),
839
+ _PBRMaterial_emissiveIntensity_accessor_storage = new WeakMap(),
840
+ _PBRMaterial_environmentIntensity_accessor_storage = new WeakMap(),
841
+ _PBRMaterial_specularIntensity_accessor_storage = new WeakMap(),
842
+ _PBRMaterial_disableBumpMap_accessor_storage = new WeakMap(),
843
+ _PBRMaterial_albedoTexture_accessor_storage = new WeakMap(),
844
+ _PBRMaterial_baseWeightTexture_accessor_storage = new WeakMap(),
845
+ _PBRMaterial_baseDiffuseRoughnessTexture_accessor_storage = new WeakMap(),
846
+ _PBRMaterial_ambientTexture_accessor_storage = new WeakMap(),
847
+ _PBRMaterial_ambientTextureStrength_accessor_storage = new WeakMap(),
848
+ _PBRMaterial_ambientTextureImpactOnAnalyticalLights_accessor_storage = new WeakMap(),
849
+ _PBRMaterial_opacityTexture_accessor_storage = new WeakMap(),
850
+ _PBRMaterial_reflectionTexture_accessor_storage = new WeakMap(),
851
+ _PBRMaterial_emissiveTexture_accessor_storage = new WeakMap(),
852
+ _PBRMaterial_reflectivityTexture_accessor_storage = new WeakMap(),
853
+ _PBRMaterial_metallicTexture_accessor_storage = new WeakMap(),
854
+ _PBRMaterial_metallic_accessor_storage = new WeakMap(),
855
+ _PBRMaterial_roughness_accessor_storage = new WeakMap(),
856
+ _PBRMaterial_metallicF0Factor_accessor_storage = new WeakMap(),
857
+ _PBRMaterial_metallicReflectanceColor_accessor_storage = new WeakMap(),
858
+ _PBRMaterial_useOnlyMetallicFromMetallicReflectanceTexture_accessor_storage = new WeakMap(),
859
+ _PBRMaterial_metallicReflectanceTexture_accessor_storage = new WeakMap(),
860
+ _PBRMaterial_reflectanceTexture_accessor_storage = new WeakMap(),
861
+ _PBRMaterial_microSurfaceTexture_accessor_storage = new WeakMap(),
862
+ _PBRMaterial_bumpTexture_accessor_storage = new WeakMap(),
863
+ _PBRMaterial_lightmapTexture_accessor_storage = new WeakMap(),
864
+ _PBRMaterial_ambientColor_accessor_storage = new WeakMap(),
865
+ _PBRMaterial_albedoColor_accessor_storage = new WeakMap(),
866
+ _PBRMaterial_baseWeight_accessor_storage = new WeakMap(),
867
+ _PBRMaterial_baseDiffuseRoughness_accessor_storage = new WeakMap(),
868
+ _PBRMaterial_reflectivityColor_accessor_storage = new WeakMap(),
869
+ _PBRMaterial_reflectionColor_accessor_storage = new WeakMap(),
870
+ _PBRMaterial_emissiveColor_accessor_storage = new WeakMap(),
871
+ _PBRMaterial_microSurface_accessor_storage = new WeakMap(),
872
+ _PBRMaterial_useLightmapAsShadowmap_accessor_storage = new WeakMap(),
873
+ _PBRMaterial_useAlphaFromAlbedoTexture_accessor_storage = new WeakMap(),
874
+ _PBRMaterial_forceAlphaTest_accessor_storage = new WeakMap(),
875
+ _PBRMaterial_alphaCutOff_accessor_storage = new WeakMap(),
876
+ _PBRMaterial_useSpecularOverAlpha_accessor_storage = new WeakMap(),
877
+ _PBRMaterial_useMicroSurfaceFromReflectivityMapAlpha_accessor_storage = new WeakMap(),
878
+ _PBRMaterial_useRoughnessFromMetallicTextureAlpha_accessor_storage = new WeakMap(),
879
+ _PBRMaterial_useRoughnessFromMetallicTextureGreen_accessor_storage = new WeakMap(),
880
+ _PBRMaterial_useMetallnessFromMetallicTextureBlue_accessor_storage = new WeakMap(),
881
+ _PBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage = new WeakMap(),
882
+ _PBRMaterial_useAmbientInGrayScale_accessor_storage = new WeakMap(),
883
+ _PBRMaterial_useAutoMicroSurfaceFromReflectivityMap_accessor_storage = new WeakMap(),
884
+ _PBRMaterial_useRadianceOverAlpha_accessor_storage = new WeakMap(),
885
+ _PBRMaterial_useObjectSpaceNormalMap_accessor_storage = new WeakMap(),
886
+ _PBRMaterial_useParallax_accessor_storage = new WeakMap(),
887
+ _PBRMaterial_useParallaxOcclusion_accessor_storage = new WeakMap(),
888
+ _PBRMaterial_parallaxScaleBias_accessor_storage = new WeakMap(),
889
+ _PBRMaterial_disableLighting_accessor_storage = new WeakMap(),
890
+ _PBRMaterial_forceIrradianceInFragment_accessor_storage = new WeakMap(),
891
+ _PBRMaterial_maxSimultaneousLights_accessor_storage = new WeakMap(),
892
+ _PBRMaterial_invertNormalMapX_accessor_storage = new WeakMap(),
893
+ _PBRMaterial_invertNormalMapY_accessor_storage = new WeakMap(),
894
+ _PBRMaterial_twoSidedLighting_accessor_storage = new WeakMap(),
895
+ _PBRMaterial_useAlphaFresnel_accessor_storage = new WeakMap(),
896
+ _PBRMaterial_useLinearAlphaFresnel_accessor_storage = new WeakMap(),
897
+ _PBRMaterial_environmentBRDFTexture_accessor_storage = new WeakMap(),
898
+ _PBRMaterial_forceNormalForward_accessor_storage = new WeakMap(),
899
+ _PBRMaterial_enableSpecularAntiAliasing_accessor_storage = new WeakMap(),
900
+ _PBRMaterial_useHorizonOcclusion_accessor_storage = new WeakMap(),
901
+ _PBRMaterial_useRadianceOcclusion_accessor_storage = new WeakMap(),
902
+ _PBRMaterial_unlit_accessor_storage = new WeakMap(),
903
+ _PBRMaterial_applyDecalMapAfterDetailMap_accessor_storage = new WeakMap(),
904
+ (() => {
905
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
906
+ _directIntensity_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
907
+ _emissiveIntensity_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
908
+ _environmentIntensity_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
909
+ _specularIntensity_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
910
+ _disableBumpMap_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
911
+ _albedoTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
912
+ _baseWeightTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
913
+ _baseDiffuseRoughnessTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
914
+ _ambientTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
915
+ _ambientTextureStrength_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
916
+ _ambientTextureImpactOnAnalyticalLights_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
917
+ _opacityTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")];
918
+ _reflectionTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
919
+ _emissiveTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
920
+ _reflectivityTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
921
+ _metallicTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
922
+ _metallic_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
923
+ _roughness_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
924
+ _metallicF0Factor_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
925
+ _metallicReflectanceColor_decorators = [serializeAsColor3(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
926
+ _useOnlyMetallicFromMetallicReflectanceTexture_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
927
+ _metallicReflectanceTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
928
+ _reflectanceTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
929
+ _microSurfaceTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
930
+ _bumpTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
931
+ _lightmapTexture_decorators = [serializeAsTexture(), expandToProperty("_markAllSubMeshesAsTexturesDirty", null)];
932
+ _ambientColor_decorators = [serializeAsColor3("ambient"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
933
+ _albedoColor_decorators = [serializeAsColor3("albedo"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
934
+ _baseWeight_decorators = [serialize("baseWeight"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
935
+ _baseDiffuseRoughness_decorators = [serialize("baseDiffuseRoughness"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
936
+ _reflectivityColor_decorators = [serializeAsColor3("reflectivity"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
937
+ _reflectionColor_decorators = [serializeAsColor3("reflection"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
938
+ _emissiveColor_decorators = [serializeAsColor3("emissive"), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
939
+ _microSurface_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
940
+ _useLightmapAsShadowmap_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
941
+ _useAlphaFromAlbedoTexture_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")];
942
+ _forceAlphaTest_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")];
943
+ _alphaCutOff_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")];
944
+ _useSpecularOverAlpha_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
945
+ _useMicroSurfaceFromReflectivityMapAlpha_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
946
+ _useRoughnessFromMetallicTextureAlpha_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
947
+ _useRoughnessFromMetallicTextureGreen_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
948
+ _useMetallnessFromMetallicTextureBlue_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
949
+ _useAmbientOcclusionFromMetallicTextureRed_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
950
+ _useAmbientInGrayScale_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
951
+ _useAutoMicroSurfaceFromReflectivityMap_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
952
+ _get_usePhysicalLightFalloff_decorators = [serialize()];
953
+ _get_useGLTFLightFalloff_decorators = [serialize()];
954
+ _useRadianceOverAlpha_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
955
+ _useObjectSpaceNormalMap_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
956
+ _useParallax_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
957
+ _useParallaxOcclusion_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
958
+ _parallaxScaleBias_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
959
+ _disableLighting_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsLightsDirty")];
960
+ _forceIrradianceInFragment_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
961
+ _maxSimultaneousLights_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsLightsDirty")];
962
+ _invertNormalMapX_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
963
+ _invertNormalMapY_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
964
+ _twoSidedLighting_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
965
+ _useAlphaFresnel_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
966
+ _useLinearAlphaFresnel_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
967
+ _environmentBRDFTexture_decorators = [expandToProperty("_markAllSubMeshesAsTexturesDirty")];
968
+ _forceNormalForward_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
969
+ _enableSpecularAntiAliasing_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
970
+ _useHorizonOcclusion_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
971
+ _useRadianceOcclusion_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsTexturesDirty")];
972
+ _unlit_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsMiscDirty")];
973
+ _applyDecalMapAfterDetailMap_decorators = [serialize(), expandToProperty("_markAllSubMeshesAsMiscDirty")];
974
+ __esDecorate(_a, null, _directIntensity_decorators, { kind: "accessor", name: "directIntensity", static: false, private: false, access: { has: obj => "directIntensity" in obj, get: obj => obj.directIntensity, set: (obj, value) => { obj.directIntensity = value; } }, metadata: _metadata }, _directIntensity_initializers, _directIntensity_extraInitializers);
975
+ __esDecorate(_a, null, _emissiveIntensity_decorators, { kind: "accessor", name: "emissiveIntensity", static: false, private: false, access: { has: obj => "emissiveIntensity" in obj, get: obj => obj.emissiveIntensity, set: (obj, value) => { obj.emissiveIntensity = value; } }, metadata: _metadata }, _emissiveIntensity_initializers, _emissiveIntensity_extraInitializers);
976
+ __esDecorate(_a, null, _environmentIntensity_decorators, { kind: "accessor", name: "environmentIntensity", static: false, private: false, access: { has: obj => "environmentIntensity" in obj, get: obj => obj.environmentIntensity, set: (obj, value) => { obj.environmentIntensity = value; } }, metadata: _metadata }, _environmentIntensity_initializers, _environmentIntensity_extraInitializers);
977
+ __esDecorate(_a, null, _specularIntensity_decorators, { kind: "accessor", name: "specularIntensity", static: false, private: false, access: { has: obj => "specularIntensity" in obj, get: obj => obj.specularIntensity, set: (obj, value) => { obj.specularIntensity = value; } }, metadata: _metadata }, _specularIntensity_initializers, _specularIntensity_extraInitializers);
978
+ __esDecorate(_a, null, _disableBumpMap_decorators, { kind: "accessor", name: "disableBumpMap", static: false, private: false, access: { has: obj => "disableBumpMap" in obj, get: obj => obj.disableBumpMap, set: (obj, value) => { obj.disableBumpMap = value; } }, metadata: _metadata }, _disableBumpMap_initializers, _disableBumpMap_extraInitializers);
979
+ __esDecorate(_a, null, _albedoTexture_decorators, { kind: "accessor", name: "albedoTexture", static: false, private: false, access: { has: obj => "albedoTexture" in obj, get: obj => obj.albedoTexture, set: (obj, value) => { obj.albedoTexture = value; } }, metadata: _metadata }, _albedoTexture_initializers, _albedoTexture_extraInitializers);
980
+ __esDecorate(_a, null, _baseWeightTexture_decorators, { kind: "accessor", name: "baseWeightTexture", static: false, private: false, access: { has: obj => "baseWeightTexture" in obj, get: obj => obj.baseWeightTexture, set: (obj, value) => { obj.baseWeightTexture = value; } }, metadata: _metadata }, _baseWeightTexture_initializers, _baseWeightTexture_extraInitializers);
981
+ __esDecorate(_a, null, _baseDiffuseRoughnessTexture_decorators, { kind: "accessor", name: "baseDiffuseRoughnessTexture", static: false, private: false, access: { has: obj => "baseDiffuseRoughnessTexture" in obj, get: obj => obj.baseDiffuseRoughnessTexture, set: (obj, value) => { obj.baseDiffuseRoughnessTexture = value; } }, metadata: _metadata }, _baseDiffuseRoughnessTexture_initializers, _baseDiffuseRoughnessTexture_extraInitializers);
982
+ __esDecorate(_a, null, _ambientTexture_decorators, { kind: "accessor", name: "ambientTexture", static: false, private: false, access: { has: obj => "ambientTexture" in obj, get: obj => obj.ambientTexture, set: (obj, value) => { obj.ambientTexture = value; } }, metadata: _metadata }, _ambientTexture_initializers, _ambientTexture_extraInitializers);
983
+ __esDecorate(_a, null, _ambientTextureStrength_decorators, { kind: "accessor", name: "ambientTextureStrength", static: false, private: false, access: { has: obj => "ambientTextureStrength" in obj, get: obj => obj.ambientTextureStrength, set: (obj, value) => { obj.ambientTextureStrength = value; } }, metadata: _metadata }, _ambientTextureStrength_initializers, _ambientTextureStrength_extraInitializers);
984
+ __esDecorate(_a, null, _ambientTextureImpactOnAnalyticalLights_decorators, { kind: "accessor", name: "ambientTextureImpactOnAnalyticalLights", static: false, private: false, access: { has: obj => "ambientTextureImpactOnAnalyticalLights" in obj, get: obj => obj.ambientTextureImpactOnAnalyticalLights, set: (obj, value) => { obj.ambientTextureImpactOnAnalyticalLights = value; } }, metadata: _metadata }, _ambientTextureImpactOnAnalyticalLights_initializers, _ambientTextureImpactOnAnalyticalLights_extraInitializers);
985
+ __esDecorate(_a, null, _opacityTexture_decorators, { kind: "accessor", name: "opacityTexture", static: false, private: false, access: { has: obj => "opacityTexture" in obj, get: obj => obj.opacityTexture, set: (obj, value) => { obj.opacityTexture = value; } }, metadata: _metadata }, _opacityTexture_initializers, _opacityTexture_extraInitializers);
986
+ __esDecorate(_a, null, _reflectionTexture_decorators, { kind: "accessor", name: "reflectionTexture", static: false, private: false, access: { has: obj => "reflectionTexture" in obj, get: obj => obj.reflectionTexture, set: (obj, value) => { obj.reflectionTexture = value; } }, metadata: _metadata }, _reflectionTexture_initializers, _reflectionTexture_extraInitializers);
987
+ __esDecorate(_a, null, _emissiveTexture_decorators, { kind: "accessor", name: "emissiveTexture", static: false, private: false, access: { has: obj => "emissiveTexture" in obj, get: obj => obj.emissiveTexture, set: (obj, value) => { obj.emissiveTexture = value; } }, metadata: _metadata }, _emissiveTexture_initializers, _emissiveTexture_extraInitializers);
988
+ __esDecorate(_a, null, _reflectivityTexture_decorators, { kind: "accessor", name: "reflectivityTexture", static: false, private: false, access: { has: obj => "reflectivityTexture" in obj, get: obj => obj.reflectivityTexture, set: (obj, value) => { obj.reflectivityTexture = value; } }, metadata: _metadata }, _reflectivityTexture_initializers, _reflectivityTexture_extraInitializers);
989
+ __esDecorate(_a, null, _metallicTexture_decorators, { kind: "accessor", name: "metallicTexture", static: false, private: false, access: { has: obj => "metallicTexture" in obj, get: obj => obj.metallicTexture, set: (obj, value) => { obj.metallicTexture = value; } }, metadata: _metadata }, _metallicTexture_initializers, _metallicTexture_extraInitializers);
990
+ __esDecorate(_a, null, _metallic_decorators, { kind: "accessor", name: "metallic", static: false, private: false, access: { has: obj => "metallic" in obj, get: obj => obj.metallic, set: (obj, value) => { obj.metallic = value; } }, metadata: _metadata }, _metallic_initializers, _metallic_extraInitializers);
991
+ __esDecorate(_a, null, _roughness_decorators, { kind: "accessor", name: "roughness", static: false, private: false, access: { has: obj => "roughness" in obj, get: obj => obj.roughness, set: (obj, value) => { obj.roughness = value; } }, metadata: _metadata }, _roughness_initializers, _roughness_extraInitializers);
992
+ __esDecorate(_a, null, _metallicF0Factor_decorators, { kind: "accessor", name: "metallicF0Factor", static: false, private: false, access: { has: obj => "metallicF0Factor" in obj, get: obj => obj.metallicF0Factor, set: (obj, value) => { obj.metallicF0Factor = value; } }, metadata: _metadata }, _metallicF0Factor_initializers, _metallicF0Factor_extraInitializers);
993
+ __esDecorate(_a, null, _metallicReflectanceColor_decorators, { kind: "accessor", name: "metallicReflectanceColor", static: false, private: false, access: { has: obj => "metallicReflectanceColor" in obj, get: obj => obj.metallicReflectanceColor, set: (obj, value) => { obj.metallicReflectanceColor = value; } }, metadata: _metadata }, _metallicReflectanceColor_initializers, _metallicReflectanceColor_extraInitializers);
994
+ __esDecorate(_a, null, _useOnlyMetallicFromMetallicReflectanceTexture_decorators, { kind: "accessor", name: "useOnlyMetallicFromMetallicReflectanceTexture", static: false, private: false, access: { has: obj => "useOnlyMetallicFromMetallicReflectanceTexture" in obj, get: obj => obj.useOnlyMetallicFromMetallicReflectanceTexture, set: (obj, value) => { obj.useOnlyMetallicFromMetallicReflectanceTexture = value; } }, metadata: _metadata }, _useOnlyMetallicFromMetallicReflectanceTexture_initializers, _useOnlyMetallicFromMetallicReflectanceTexture_extraInitializers);
995
+ __esDecorate(_a, null, _metallicReflectanceTexture_decorators, { kind: "accessor", name: "metallicReflectanceTexture", static: false, private: false, access: { has: obj => "metallicReflectanceTexture" in obj, get: obj => obj.metallicReflectanceTexture, set: (obj, value) => { obj.metallicReflectanceTexture = value; } }, metadata: _metadata }, _metallicReflectanceTexture_initializers, _metallicReflectanceTexture_extraInitializers);
996
+ __esDecorate(_a, null, _reflectanceTexture_decorators, { kind: "accessor", name: "reflectanceTexture", static: false, private: false, access: { has: obj => "reflectanceTexture" in obj, get: obj => obj.reflectanceTexture, set: (obj, value) => { obj.reflectanceTexture = value; } }, metadata: _metadata }, _reflectanceTexture_initializers, _reflectanceTexture_extraInitializers);
997
+ __esDecorate(_a, null, _microSurfaceTexture_decorators, { kind: "accessor", name: "microSurfaceTexture", static: false, private: false, access: { has: obj => "microSurfaceTexture" in obj, get: obj => obj.microSurfaceTexture, set: (obj, value) => { obj.microSurfaceTexture = value; } }, metadata: _metadata }, _microSurfaceTexture_initializers, _microSurfaceTexture_extraInitializers);
998
+ __esDecorate(_a, null, _bumpTexture_decorators, { kind: "accessor", name: "bumpTexture", static: false, private: false, access: { has: obj => "bumpTexture" in obj, get: obj => obj.bumpTexture, set: (obj, value) => { obj.bumpTexture = value; } }, metadata: _metadata }, _bumpTexture_initializers, _bumpTexture_extraInitializers);
999
+ __esDecorate(_a, null, _lightmapTexture_decorators, { kind: "accessor", name: "lightmapTexture", static: false, private: false, access: { has: obj => "lightmapTexture" in obj, get: obj => obj.lightmapTexture, set: (obj, value) => { obj.lightmapTexture = value; } }, metadata: _metadata }, _lightmapTexture_initializers, _lightmapTexture_extraInitializers);
1000
+ __esDecorate(_a, null, _ambientColor_decorators, { kind: "accessor", name: "ambientColor", static: false, private: false, access: { has: obj => "ambientColor" in obj, get: obj => obj.ambientColor, set: (obj, value) => { obj.ambientColor = value; } }, metadata: _metadata }, _ambientColor_initializers, _ambientColor_extraInitializers);
1001
+ __esDecorate(_a, null, _albedoColor_decorators, { kind: "accessor", name: "albedoColor", static: false, private: false, access: { has: obj => "albedoColor" in obj, get: obj => obj.albedoColor, set: (obj, value) => { obj.albedoColor = value; } }, metadata: _metadata }, _albedoColor_initializers, _albedoColor_extraInitializers);
1002
+ __esDecorate(_a, null, _baseWeight_decorators, { kind: "accessor", name: "baseWeight", static: false, private: false, access: { has: obj => "baseWeight" in obj, get: obj => obj.baseWeight, set: (obj, value) => { obj.baseWeight = value; } }, metadata: _metadata }, _baseWeight_initializers, _baseWeight_extraInitializers);
1003
+ __esDecorate(_a, null, _baseDiffuseRoughness_decorators, { kind: "accessor", name: "baseDiffuseRoughness", static: false, private: false, access: { has: obj => "baseDiffuseRoughness" in obj, get: obj => obj.baseDiffuseRoughness, set: (obj, value) => { obj.baseDiffuseRoughness = value; } }, metadata: _metadata }, _baseDiffuseRoughness_initializers, _baseDiffuseRoughness_extraInitializers);
1004
+ __esDecorate(_a, null, _reflectivityColor_decorators, { kind: "accessor", name: "reflectivityColor", static: false, private: false, access: { has: obj => "reflectivityColor" in obj, get: obj => obj.reflectivityColor, set: (obj, value) => { obj.reflectivityColor = value; } }, metadata: _metadata }, _reflectivityColor_initializers, _reflectivityColor_extraInitializers);
1005
+ __esDecorate(_a, null, _reflectionColor_decorators, { kind: "accessor", name: "reflectionColor", static: false, private: false, access: { has: obj => "reflectionColor" in obj, get: obj => obj.reflectionColor, set: (obj, value) => { obj.reflectionColor = value; } }, metadata: _metadata }, _reflectionColor_initializers, _reflectionColor_extraInitializers);
1006
+ __esDecorate(_a, null, _emissiveColor_decorators, { kind: "accessor", name: "emissiveColor", static: false, private: false, access: { has: obj => "emissiveColor" in obj, get: obj => obj.emissiveColor, set: (obj, value) => { obj.emissiveColor = value; } }, metadata: _metadata }, _emissiveColor_initializers, _emissiveColor_extraInitializers);
1007
+ __esDecorate(_a, null, _microSurface_decorators, { kind: "accessor", name: "microSurface", static: false, private: false, access: { has: obj => "microSurface" in obj, get: obj => obj.microSurface, set: (obj, value) => { obj.microSurface = value; } }, metadata: _metadata }, _microSurface_initializers, _microSurface_extraInitializers);
1008
+ __esDecorate(_a, null, _useLightmapAsShadowmap_decorators, { kind: "accessor", name: "useLightmapAsShadowmap", static: false, private: false, access: { has: obj => "useLightmapAsShadowmap" in obj, get: obj => obj.useLightmapAsShadowmap, set: (obj, value) => { obj.useLightmapAsShadowmap = value; } }, metadata: _metadata }, _useLightmapAsShadowmap_initializers, _useLightmapAsShadowmap_extraInitializers);
1009
+ __esDecorate(_a, null, _useAlphaFromAlbedoTexture_decorators, { kind: "accessor", name: "useAlphaFromAlbedoTexture", static: false, private: false, access: { has: obj => "useAlphaFromAlbedoTexture" in obj, get: obj => obj.useAlphaFromAlbedoTexture, set: (obj, value) => { obj.useAlphaFromAlbedoTexture = value; } }, metadata: _metadata }, _useAlphaFromAlbedoTexture_initializers, _useAlphaFromAlbedoTexture_extraInitializers);
1010
+ __esDecorate(_a, null, _forceAlphaTest_decorators, { kind: "accessor", name: "forceAlphaTest", static: false, private: false, access: { has: obj => "forceAlphaTest" in obj, get: obj => obj.forceAlphaTest, set: (obj, value) => { obj.forceAlphaTest = value; } }, metadata: _metadata }, _forceAlphaTest_initializers, _forceAlphaTest_extraInitializers);
1011
+ __esDecorate(_a, null, _alphaCutOff_decorators, { kind: "accessor", name: "alphaCutOff", static: false, private: false, access: { has: obj => "alphaCutOff" in obj, get: obj => obj.alphaCutOff, set: (obj, value) => { obj.alphaCutOff = value; } }, metadata: _metadata }, _alphaCutOff_initializers, _alphaCutOff_extraInitializers);
1012
+ __esDecorate(_a, null, _useSpecularOverAlpha_decorators, { kind: "accessor", name: "useSpecularOverAlpha", static: false, private: false, access: { has: obj => "useSpecularOverAlpha" in obj, get: obj => obj.useSpecularOverAlpha, set: (obj, value) => { obj.useSpecularOverAlpha = value; } }, metadata: _metadata }, _useSpecularOverAlpha_initializers, _useSpecularOverAlpha_extraInitializers);
1013
+ __esDecorate(_a, null, _useMicroSurfaceFromReflectivityMapAlpha_decorators, { kind: "accessor", name: "useMicroSurfaceFromReflectivityMapAlpha", static: false, private: false, access: { has: obj => "useMicroSurfaceFromReflectivityMapAlpha" in obj, get: obj => obj.useMicroSurfaceFromReflectivityMapAlpha, set: (obj, value) => { obj.useMicroSurfaceFromReflectivityMapAlpha = value; } }, metadata: _metadata }, _useMicroSurfaceFromReflectivityMapAlpha_initializers, _useMicroSurfaceFromReflectivityMapAlpha_extraInitializers);
1014
+ __esDecorate(_a, null, _useRoughnessFromMetallicTextureAlpha_decorators, { kind: "accessor", name: "useRoughnessFromMetallicTextureAlpha", static: false, private: false, access: { has: obj => "useRoughnessFromMetallicTextureAlpha" in obj, get: obj => obj.useRoughnessFromMetallicTextureAlpha, set: (obj, value) => { obj.useRoughnessFromMetallicTextureAlpha = value; } }, metadata: _metadata }, _useRoughnessFromMetallicTextureAlpha_initializers, _useRoughnessFromMetallicTextureAlpha_extraInitializers);
1015
+ __esDecorate(_a, null, _useRoughnessFromMetallicTextureGreen_decorators, { kind: "accessor", name: "useRoughnessFromMetallicTextureGreen", static: false, private: false, access: { has: obj => "useRoughnessFromMetallicTextureGreen" in obj, get: obj => obj.useRoughnessFromMetallicTextureGreen, set: (obj, value) => { obj.useRoughnessFromMetallicTextureGreen = value; } }, metadata: _metadata }, _useRoughnessFromMetallicTextureGreen_initializers, _useRoughnessFromMetallicTextureGreen_extraInitializers);
1016
+ __esDecorate(_a, null, _useMetallnessFromMetallicTextureBlue_decorators, { kind: "accessor", name: "useMetallnessFromMetallicTextureBlue", static: false, private: false, access: { has: obj => "useMetallnessFromMetallicTextureBlue" in obj, get: obj => obj.useMetallnessFromMetallicTextureBlue, set: (obj, value) => { obj.useMetallnessFromMetallicTextureBlue = value; } }, metadata: _metadata }, _useMetallnessFromMetallicTextureBlue_initializers, _useMetallnessFromMetallicTextureBlue_extraInitializers);
1017
+ __esDecorate(_a, null, _useAmbientOcclusionFromMetallicTextureRed_decorators, { kind: "accessor", name: "useAmbientOcclusionFromMetallicTextureRed", static: false, private: false, access: { has: obj => "useAmbientOcclusionFromMetallicTextureRed" in obj, get: obj => obj.useAmbientOcclusionFromMetallicTextureRed, set: (obj, value) => { obj.useAmbientOcclusionFromMetallicTextureRed = value; } }, metadata: _metadata }, _useAmbientOcclusionFromMetallicTextureRed_initializers, _useAmbientOcclusionFromMetallicTextureRed_extraInitializers);
1018
+ __esDecorate(_a, null, _useAmbientInGrayScale_decorators, { kind: "accessor", name: "useAmbientInGrayScale", static: false, private: false, access: { has: obj => "useAmbientInGrayScale" in obj, get: obj => obj.useAmbientInGrayScale, set: (obj, value) => { obj.useAmbientInGrayScale = value; } }, metadata: _metadata }, _useAmbientInGrayScale_initializers, _useAmbientInGrayScale_extraInitializers);
1019
+ __esDecorate(_a, null, _useAutoMicroSurfaceFromReflectivityMap_decorators, { kind: "accessor", name: "useAutoMicroSurfaceFromReflectivityMap", static: false, private: false, access: { has: obj => "useAutoMicroSurfaceFromReflectivityMap" in obj, get: obj => obj.useAutoMicroSurfaceFromReflectivityMap, set: (obj, value) => { obj.useAutoMicroSurfaceFromReflectivityMap = value; } }, metadata: _metadata }, _useAutoMicroSurfaceFromReflectivityMap_initializers, _useAutoMicroSurfaceFromReflectivityMap_extraInitializers);
1020
+ __esDecorate(_a, null, _get_usePhysicalLightFalloff_decorators, { kind: "getter", name: "usePhysicalLightFalloff", static: false, private: false, access: { has: obj => "usePhysicalLightFalloff" in obj, get: obj => obj.usePhysicalLightFalloff }, metadata: _metadata }, null, _instanceExtraInitializers);
1021
+ __esDecorate(_a, null, _get_useGLTFLightFalloff_decorators, { kind: "getter", name: "useGLTFLightFalloff", static: false, private: false, access: { has: obj => "useGLTFLightFalloff" in obj, get: obj => obj.useGLTFLightFalloff }, metadata: _metadata }, null, _instanceExtraInitializers);
1022
+ __esDecorate(_a, null, _useRadianceOverAlpha_decorators, { kind: "accessor", name: "useRadianceOverAlpha", static: false, private: false, access: { has: obj => "useRadianceOverAlpha" in obj, get: obj => obj.useRadianceOverAlpha, set: (obj, value) => { obj.useRadianceOverAlpha = value; } }, metadata: _metadata }, _useRadianceOverAlpha_initializers, _useRadianceOverAlpha_extraInitializers);
1023
+ __esDecorate(_a, null, _useObjectSpaceNormalMap_decorators, { kind: "accessor", name: "useObjectSpaceNormalMap", static: false, private: false, access: { has: obj => "useObjectSpaceNormalMap" in obj, get: obj => obj.useObjectSpaceNormalMap, set: (obj, value) => { obj.useObjectSpaceNormalMap = value; } }, metadata: _metadata }, _useObjectSpaceNormalMap_initializers, _useObjectSpaceNormalMap_extraInitializers);
1024
+ __esDecorate(_a, null, _useParallax_decorators, { kind: "accessor", name: "useParallax", static: false, private: false, access: { has: obj => "useParallax" in obj, get: obj => obj.useParallax, set: (obj, value) => { obj.useParallax = value; } }, metadata: _metadata }, _useParallax_initializers, _useParallax_extraInitializers);
1025
+ __esDecorate(_a, null, _useParallaxOcclusion_decorators, { kind: "accessor", name: "useParallaxOcclusion", static: false, private: false, access: { has: obj => "useParallaxOcclusion" in obj, get: obj => obj.useParallaxOcclusion, set: (obj, value) => { obj.useParallaxOcclusion = value; } }, metadata: _metadata }, _useParallaxOcclusion_initializers, _useParallaxOcclusion_extraInitializers);
1026
+ __esDecorate(_a, null, _parallaxScaleBias_decorators, { kind: "accessor", name: "parallaxScaleBias", static: false, private: false, access: { has: obj => "parallaxScaleBias" in obj, get: obj => obj.parallaxScaleBias, set: (obj, value) => { obj.parallaxScaleBias = value; } }, metadata: _metadata }, _parallaxScaleBias_initializers, _parallaxScaleBias_extraInitializers);
1027
+ __esDecorate(_a, null, _disableLighting_decorators, { kind: "accessor", name: "disableLighting", static: false, private: false, access: { has: obj => "disableLighting" in obj, get: obj => obj.disableLighting, set: (obj, value) => { obj.disableLighting = value; } }, metadata: _metadata }, _disableLighting_initializers, _disableLighting_extraInitializers);
1028
+ __esDecorate(_a, null, _forceIrradianceInFragment_decorators, { kind: "accessor", name: "forceIrradianceInFragment", static: false, private: false, access: { has: obj => "forceIrradianceInFragment" in obj, get: obj => obj.forceIrradianceInFragment, set: (obj, value) => { obj.forceIrradianceInFragment = value; } }, metadata: _metadata }, _forceIrradianceInFragment_initializers, _forceIrradianceInFragment_extraInitializers);
1029
+ __esDecorate(_a, null, _maxSimultaneousLights_decorators, { kind: "accessor", name: "maxSimultaneousLights", static: false, private: false, access: { has: obj => "maxSimultaneousLights" in obj, get: obj => obj.maxSimultaneousLights, set: (obj, value) => { obj.maxSimultaneousLights = value; } }, metadata: _metadata }, _maxSimultaneousLights_initializers, _maxSimultaneousLights_extraInitializers);
1030
+ __esDecorate(_a, null, _invertNormalMapX_decorators, { kind: "accessor", name: "invertNormalMapX", static: false, private: false, access: { has: obj => "invertNormalMapX" in obj, get: obj => obj.invertNormalMapX, set: (obj, value) => { obj.invertNormalMapX = value; } }, metadata: _metadata }, _invertNormalMapX_initializers, _invertNormalMapX_extraInitializers);
1031
+ __esDecorate(_a, null, _invertNormalMapY_decorators, { kind: "accessor", name: "invertNormalMapY", static: false, private: false, access: { has: obj => "invertNormalMapY" in obj, get: obj => obj.invertNormalMapY, set: (obj, value) => { obj.invertNormalMapY = value; } }, metadata: _metadata }, _invertNormalMapY_initializers, _invertNormalMapY_extraInitializers);
1032
+ __esDecorate(_a, null, _twoSidedLighting_decorators, { kind: "accessor", name: "twoSidedLighting", static: false, private: false, access: { has: obj => "twoSidedLighting" in obj, get: obj => obj.twoSidedLighting, set: (obj, value) => { obj.twoSidedLighting = value; } }, metadata: _metadata }, _twoSidedLighting_initializers, _twoSidedLighting_extraInitializers);
1033
+ __esDecorate(_a, null, _useAlphaFresnel_decorators, { kind: "accessor", name: "useAlphaFresnel", static: false, private: false, access: { has: obj => "useAlphaFresnel" in obj, get: obj => obj.useAlphaFresnel, set: (obj, value) => { obj.useAlphaFresnel = value; } }, metadata: _metadata }, _useAlphaFresnel_initializers, _useAlphaFresnel_extraInitializers);
1034
+ __esDecorate(_a, null, _useLinearAlphaFresnel_decorators, { kind: "accessor", name: "useLinearAlphaFresnel", static: false, private: false, access: { has: obj => "useLinearAlphaFresnel" in obj, get: obj => obj.useLinearAlphaFresnel, set: (obj, value) => { obj.useLinearAlphaFresnel = value; } }, metadata: _metadata }, _useLinearAlphaFresnel_initializers, _useLinearAlphaFresnel_extraInitializers);
1035
+ __esDecorate(_a, null, _environmentBRDFTexture_decorators, { kind: "accessor", name: "environmentBRDFTexture", static: false, private: false, access: { has: obj => "environmentBRDFTexture" in obj, get: obj => obj.environmentBRDFTexture, set: (obj, value) => { obj.environmentBRDFTexture = value; } }, metadata: _metadata }, _environmentBRDFTexture_initializers, _environmentBRDFTexture_extraInitializers);
1036
+ __esDecorate(_a, null, _forceNormalForward_decorators, { kind: "accessor", name: "forceNormalForward", static: false, private: false, access: { has: obj => "forceNormalForward" in obj, get: obj => obj.forceNormalForward, set: (obj, value) => { obj.forceNormalForward = value; } }, metadata: _metadata }, _forceNormalForward_initializers, _forceNormalForward_extraInitializers);
1037
+ __esDecorate(_a, null, _enableSpecularAntiAliasing_decorators, { kind: "accessor", name: "enableSpecularAntiAliasing", static: false, private: false, access: { has: obj => "enableSpecularAntiAliasing" in obj, get: obj => obj.enableSpecularAntiAliasing, set: (obj, value) => { obj.enableSpecularAntiAliasing = value; } }, metadata: _metadata }, _enableSpecularAntiAliasing_initializers, _enableSpecularAntiAliasing_extraInitializers);
1038
+ __esDecorate(_a, null, _useHorizonOcclusion_decorators, { kind: "accessor", name: "useHorizonOcclusion", static: false, private: false, access: { has: obj => "useHorizonOcclusion" in obj, get: obj => obj.useHorizonOcclusion, set: (obj, value) => { obj.useHorizonOcclusion = value; } }, metadata: _metadata }, _useHorizonOcclusion_initializers, _useHorizonOcclusion_extraInitializers);
1039
+ __esDecorate(_a, null, _useRadianceOcclusion_decorators, { kind: "accessor", name: "useRadianceOcclusion", static: false, private: false, access: { has: obj => "useRadianceOcclusion" in obj, get: obj => obj.useRadianceOcclusion, set: (obj, value) => { obj.useRadianceOcclusion = value; } }, metadata: _metadata }, _useRadianceOcclusion_initializers, _useRadianceOcclusion_extraInitializers);
1040
+ __esDecorate(_a, null, _unlit_decorators, { kind: "accessor", name: "unlit", static: false, private: false, access: { has: obj => "unlit" in obj, get: obj => obj.unlit, set: (obj, value) => { obj.unlit = value; } }, metadata: _metadata }, _unlit_initializers, _unlit_extraInitializers);
1041
+ __esDecorate(_a, null, _applyDecalMapAfterDetailMap_decorators, { kind: "accessor", name: "applyDecalMapAfterDetailMap", static: false, private: false, access: { has: obj => "applyDecalMapAfterDetailMap" in obj, get: obj => obj.applyDecalMapAfterDetailMap, set: (obj, value) => { obj.applyDecalMapAfterDetailMap = value; } }, metadata: _metadata }, _applyDecalMapAfterDetailMap_initializers, _applyDecalMapAfterDetailMap_extraInitializers);
1042
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1043
+ })(),
332
1044
  /**
333
- * Enables specular anti aliasing in the PBR shader.
334
- * It will both interacts on the Geometry for analytical and IBL lighting.
335
- * It also prefilter the roughness map based on the bump values.
1045
+ * PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.
336
1046
  */
337
- this.enableSpecularAntiAliasing = false;
1047
+ _a.PBRMATERIAL_OPAQUE = PBRBaseMaterial.PBRMATERIAL_OPAQUE,
338
1048
  /**
339
- * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
340
- * makes the reflect vector face the model (under horizon).
1049
+ * PBRMaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.
341
1050
  */
342
- this.useHorizonOcclusion = true;
1051
+ _a.PBRMATERIAL_ALPHATEST = PBRBaseMaterial.PBRMATERIAL_ALPHATEST,
343
1052
  /**
344
- * This parameters will enable/disable radiance occlusion by preventing the radiance to lit
345
- * too much the area relying on ambient texture to define their ambient occlusion.
1053
+ * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
346
1054
  */
347
- this.useRadianceOcclusion = true;
1055
+ _a.PBRMATERIAL_ALPHABLEND = PBRBaseMaterial.PBRMATERIAL_ALPHABLEND,
348
1056
  /**
349
- * If set to true, no lighting calculations will be applied.
1057
+ * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
1058
+ * They are also discarded below the alpha cutoff threshold to improve performances.
350
1059
  */
351
- this.unlit = false;
1060
+ _a.PBRMATERIAL_ALPHATESTANDBLEND = PBRBaseMaterial.PBRMATERIAL_ALPHATESTANDBLEND,
352
1061
  /**
353
- * If sets to true, the decal map will be applied after the detail map. Else, it is applied before (default: false)
1062
+ * Defines the default value of how much AO map is occluding the analytical lights
1063
+ * (point spot...).
354
1064
  */
355
- this.applyDecalMapAfterDetailMap = false;
356
- this._environmentBRDFTexture = GetEnvironmentBRDFTexture(this.getScene());
357
- }
358
- /**
359
- * @returns the name of this material class.
360
- */
361
- getClassName() {
362
- return "PBRMaterial";
363
- }
364
- /**
365
- * Makes a duplicate of the current material.
366
- * @param name - name to use for the new material.
367
- * @param cloneTexturesOnlyOnce - if a texture is used in more than one channel (e.g diffuse and opacity), only clone it once and reuse it on the other channels. Default false.
368
- * @param rootUrl defines the root URL to use to load textures
369
- * @returns cloned material instance
370
- */
371
- clone(name, cloneTexturesOnlyOnce = true, rootUrl = "") {
372
- const clone = SerializationHelper.Clone(() => new PBRMaterial(name, this.getScene()), this, { cloneTexturesOnlyOnce });
373
- clone.id = name;
374
- clone.name = name;
375
- this.stencil.copyTo(clone.stencil);
376
- this._clonePlugins(clone, rootUrl);
377
- return clone;
378
- }
379
- /**
380
- * Serializes this PBR Material.
381
- * @returns - An object with the serialized material.
382
- */
383
- serialize() {
384
- const serializationObject = super.serialize();
385
- serializationObject.customType = "BABYLON.PBRMaterial";
386
- return serializationObject;
387
- }
388
- // Statics
389
- /**
390
- * Parses a PBR Material from a serialized object.
391
- * @param source - Serialized object.
392
- * @param scene - BJS scene instance.
393
- * @param rootUrl - url for the scene object
394
- * @returns - PBRMaterial
395
- */
396
- static Parse(source, scene, rootUrl) {
397
- const material = SerializationHelper.Parse(() => new PBRMaterial(source.name, scene), source, scene, rootUrl);
398
- if (source.stencil) {
399
- material.stencil.parse(source.stencil, scene, rootUrl);
400
- }
401
- Material._ParsePlugins(source, material, scene, rootUrl);
402
- // The code block below ensures backward compatibility with serialized materials before plugins are automatically serialized.
403
- if (source.clearCoat) {
404
- material.clearCoat.parse(source.clearCoat, scene, rootUrl);
405
- }
406
- if (source.anisotropy) {
407
- material.anisotropy.parse(source.anisotropy, scene, rootUrl);
408
- }
409
- if (source.brdf) {
410
- material.brdf.parse(source.brdf, scene, rootUrl);
411
- }
412
- if (source.sheen) {
413
- material.sheen.parse(source.sheen, scene, rootUrl);
414
- }
415
- if (source.subSurface) {
416
- material.subSurface.parse(source.subSurface, scene, rootUrl);
417
- }
418
- if (source.iridescence) {
419
- material.iridescence.parse(source.iridescence, scene, rootUrl);
420
- }
421
- return material;
422
- }
423
- }
424
- /**
425
- * PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.
426
- */
427
- PBRMaterial.PBRMATERIAL_OPAQUE = PBRBaseMaterial.PBRMATERIAL_OPAQUE;
428
- /**
429
- * PBRMaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.
430
- */
431
- PBRMaterial.PBRMATERIAL_ALPHATEST = PBRBaseMaterial.PBRMATERIAL_ALPHATEST;
432
- /**
433
- * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
434
- */
435
- PBRMaterial.PBRMATERIAL_ALPHABLEND = PBRBaseMaterial.PBRMATERIAL_ALPHABLEND;
436
- /**
437
- * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.
438
- * They are also discarded below the alpha cutoff threshold to improve performances.
439
- */
440
- PBRMaterial.PBRMATERIAL_ALPHATESTANDBLEND = PBRBaseMaterial.PBRMATERIAL_ALPHATESTANDBLEND;
441
- /**
442
- * Defines the default value of how much AO map is occluding the analytical lights
443
- * (point spot...).
444
- */
445
- PBRMaterial.DEFAULT_AO_ON_ANALYTICAL_LIGHTS = PBRBaseMaterial.DEFAULT_AO_ON_ANALYTICAL_LIGHTS;
446
- __decorate([
447
- serialize(),
448
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
449
- ], PBRMaterial.prototype, "directIntensity", void 0);
450
- __decorate([
451
- serialize(),
452
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
453
- ], PBRMaterial.prototype, "emissiveIntensity", void 0);
454
- __decorate([
455
- serialize(),
456
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
457
- ], PBRMaterial.prototype, "environmentIntensity", void 0);
458
- __decorate([
459
- serialize(),
460
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
461
- ], PBRMaterial.prototype, "specularIntensity", void 0);
462
- __decorate([
463
- serialize(),
464
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
465
- ], PBRMaterial.prototype, "disableBumpMap", void 0);
466
- __decorate([
467
- serializeAsTexture(),
468
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
469
- ], PBRMaterial.prototype, "albedoTexture", void 0);
470
- __decorate([
471
- serializeAsTexture(),
472
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
473
- ], PBRMaterial.prototype, "baseWeightTexture", void 0);
474
- __decorate([
475
- serializeAsTexture(),
476
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
477
- ], PBRMaterial.prototype, "baseDiffuseRoughnessTexture", void 0);
478
- __decorate([
479
- serializeAsTexture(),
480
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
481
- ], PBRMaterial.prototype, "ambientTexture", void 0);
482
- __decorate([
483
- serialize(),
484
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
485
- ], PBRMaterial.prototype, "ambientTextureStrength", void 0);
486
- __decorate([
487
- serialize(),
488
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
489
- ], PBRMaterial.prototype, "ambientTextureImpactOnAnalyticalLights", void 0);
490
- __decorate([
491
- serializeAsTexture(),
492
- expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
493
- ], PBRMaterial.prototype, "opacityTexture", void 0);
494
- __decorate([
495
- serializeAsTexture(),
496
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
497
- ], PBRMaterial.prototype, "reflectionTexture", void 0);
498
- __decorate([
499
- serializeAsTexture(),
500
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
501
- ], PBRMaterial.prototype, "emissiveTexture", void 0);
502
- __decorate([
503
- serializeAsTexture(),
504
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
505
- ], PBRMaterial.prototype, "reflectivityTexture", void 0);
506
- __decorate([
507
- serializeAsTexture(),
508
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
509
- ], PBRMaterial.prototype, "metallicTexture", void 0);
510
- __decorate([
511
- serialize(),
512
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
513
- ], PBRMaterial.prototype, "metallic", void 0);
514
- __decorate([
515
- serialize(),
516
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
517
- ], PBRMaterial.prototype, "roughness", void 0);
518
- __decorate([
519
- serialize(),
520
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
521
- ], PBRMaterial.prototype, "metallicF0Factor", void 0);
522
- __decorate([
523
- serializeAsColor3(),
524
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
525
- ], PBRMaterial.prototype, "metallicReflectanceColor", void 0);
526
- __decorate([
527
- serialize(),
528
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
529
- ], PBRMaterial.prototype, "useOnlyMetallicFromMetallicReflectanceTexture", void 0);
530
- __decorate([
531
- serializeAsTexture(),
532
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
533
- ], PBRMaterial.prototype, "metallicReflectanceTexture", void 0);
534
- __decorate([
535
- serializeAsTexture(),
536
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
537
- ], PBRMaterial.prototype, "reflectanceTexture", void 0);
538
- __decorate([
539
- serializeAsTexture(),
540
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
541
- ], PBRMaterial.prototype, "microSurfaceTexture", void 0);
542
- __decorate([
543
- serializeAsTexture(),
544
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
545
- ], PBRMaterial.prototype, "bumpTexture", void 0);
546
- __decorate([
547
- serializeAsTexture(),
548
- expandToProperty("_markAllSubMeshesAsTexturesDirty", null)
549
- ], PBRMaterial.prototype, "lightmapTexture", void 0);
550
- __decorate([
551
- serializeAsColor3("ambient"),
552
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
553
- ], PBRMaterial.prototype, "ambientColor", void 0);
554
- __decorate([
555
- serializeAsColor3("albedo"),
556
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
557
- ], PBRMaterial.prototype, "albedoColor", void 0);
558
- __decorate([
559
- serialize("baseWeight"),
560
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
561
- ], PBRMaterial.prototype, "baseWeight", void 0);
562
- __decorate([
563
- serialize("baseDiffuseRoughness"),
564
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
565
- ], PBRMaterial.prototype, "baseDiffuseRoughness", void 0);
566
- __decorate([
567
- serializeAsColor3("reflectivity"),
568
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
569
- ], PBRMaterial.prototype, "reflectivityColor", void 0);
570
- __decorate([
571
- serializeAsColor3("reflection"),
572
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
573
- ], PBRMaterial.prototype, "reflectionColor", void 0);
574
- __decorate([
575
- serializeAsColor3("emissive"),
576
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
577
- ], PBRMaterial.prototype, "emissiveColor", void 0);
578
- __decorate([
579
- serialize(),
580
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
581
- ], PBRMaterial.prototype, "microSurface", void 0);
582
- __decorate([
583
- serialize(),
584
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
585
- ], PBRMaterial.prototype, "useLightmapAsShadowmap", void 0);
586
- __decorate([
587
- serialize(),
588
- expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
589
- ], PBRMaterial.prototype, "useAlphaFromAlbedoTexture", void 0);
590
- __decorate([
591
- serialize(),
592
- expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
593
- ], PBRMaterial.prototype, "forceAlphaTest", void 0);
594
- __decorate([
595
- serialize(),
596
- expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
597
- ], PBRMaterial.prototype, "alphaCutOff", void 0);
598
- __decorate([
599
- serialize(),
600
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
601
- ], PBRMaterial.prototype, "useSpecularOverAlpha", void 0);
602
- __decorate([
603
- serialize(),
604
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
605
- ], PBRMaterial.prototype, "useMicroSurfaceFromReflectivityMapAlpha", void 0);
606
- __decorate([
607
- serialize(),
608
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
609
- ], PBRMaterial.prototype, "useRoughnessFromMetallicTextureAlpha", void 0);
610
- __decorate([
611
- serialize(),
612
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
613
- ], PBRMaterial.prototype, "useRoughnessFromMetallicTextureGreen", void 0);
614
- __decorate([
615
- serialize(),
616
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
617
- ], PBRMaterial.prototype, "useMetallnessFromMetallicTextureBlue", void 0);
618
- __decorate([
619
- serialize(),
620
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
621
- ], PBRMaterial.prototype, "useAmbientOcclusionFromMetallicTextureRed", void 0);
622
- __decorate([
623
- serialize(),
624
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
625
- ], PBRMaterial.prototype, "useAmbientInGrayScale", void 0);
626
- __decorate([
627
- serialize(),
628
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
629
- ], PBRMaterial.prototype, "useAutoMicroSurfaceFromReflectivityMap", void 0);
630
- __decorate([
631
- serialize()
632
- ], PBRMaterial.prototype, "usePhysicalLightFalloff", null);
633
- __decorate([
634
- serialize()
635
- ], PBRMaterial.prototype, "useGLTFLightFalloff", null);
636
- __decorate([
637
- serialize(),
638
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
639
- ], PBRMaterial.prototype, "useRadianceOverAlpha", void 0);
640
- __decorate([
641
- serialize(),
642
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
643
- ], PBRMaterial.prototype, "useObjectSpaceNormalMap", void 0);
644
- __decorate([
645
- serialize(),
646
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
647
- ], PBRMaterial.prototype, "useParallax", void 0);
648
- __decorate([
649
- serialize(),
650
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
651
- ], PBRMaterial.prototype, "useParallaxOcclusion", void 0);
652
- __decorate([
653
- serialize(),
654
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
655
- ], PBRMaterial.prototype, "parallaxScaleBias", void 0);
656
- __decorate([
657
- serialize(),
658
- expandToProperty("_markAllSubMeshesAsLightsDirty")
659
- ], PBRMaterial.prototype, "disableLighting", void 0);
660
- __decorate([
661
- serialize(),
662
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
663
- ], PBRMaterial.prototype, "forceIrradianceInFragment", void 0);
664
- __decorate([
665
- serialize(),
666
- expandToProperty("_markAllSubMeshesAsLightsDirty")
667
- ], PBRMaterial.prototype, "maxSimultaneousLights", void 0);
668
- __decorate([
669
- serialize(),
670
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
671
- ], PBRMaterial.prototype, "invertNormalMapX", void 0);
672
- __decorate([
673
- serialize(),
674
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
675
- ], PBRMaterial.prototype, "invertNormalMapY", void 0);
676
- __decorate([
677
- serialize(),
678
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
679
- ], PBRMaterial.prototype, "twoSidedLighting", void 0);
680
- __decorate([
681
- serialize(),
682
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
683
- ], PBRMaterial.prototype, "useAlphaFresnel", void 0);
684
- __decorate([
685
- serialize(),
686
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
687
- ], PBRMaterial.prototype, "useLinearAlphaFresnel", void 0);
688
- __decorate([
689
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
690
- ], PBRMaterial.prototype, "environmentBRDFTexture", void 0);
691
- __decorate([
692
- serialize(),
693
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
694
- ], PBRMaterial.prototype, "forceNormalForward", void 0);
695
- __decorate([
696
- serialize(),
697
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
698
- ], PBRMaterial.prototype, "enableSpecularAntiAliasing", void 0);
699
- __decorate([
700
- serialize(),
701
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
702
- ], PBRMaterial.prototype, "useHorizonOcclusion", void 0);
703
- __decorate([
704
- serialize(),
705
- expandToProperty("_markAllSubMeshesAsTexturesDirty")
706
- ], PBRMaterial.prototype, "useRadianceOcclusion", void 0);
707
- __decorate([
708
- serialize(),
709
- expandToProperty("_markAllSubMeshesAsMiscDirty")
710
- ], PBRMaterial.prototype, "unlit", void 0);
711
- __decorate([
712
- serialize(),
713
- expandToProperty("_markAllSubMeshesAsMiscDirty")
714
- ], PBRMaterial.prototype, "applyDecalMapAfterDetailMap", void 0);
1065
+ _a.DEFAULT_AO_ON_ANALYTICAL_LIGHTS = PBRBaseMaterial.DEFAULT_AO_ON_ANALYTICAL_LIGHTS,
1066
+ _a;
1067
+ })();
1068
+ export { PBRMaterial };
715
1069
  let _Registered = false;
716
1070
  /**
717
1071
  * Register side effects for pbrMaterial.
@@ -722,6 +1076,8 @@ export function RegisterPbrMaterial() {
722
1076
  return;
723
1077
  }
724
1078
  _Registered = true;
1079
+ // PBRMaterial serializes its image processing configuration, so the parser must be registered for clone/parse to work.
1080
+ RegisterImageProcessingConfiguration();
725
1081
  RegisterClass("BABYLON.PBRMaterial", PBRMaterial);
726
1082
  }
727
1083
  /**