@spiffcommerce/preview 3.6.2-rc.3 → 3.6.2-rc.5

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 (489) hide show
  1. package/dist/lib/assetCache.esm.js +21 -0
  2. package/dist/lib/configuration.esm.js +98 -0
  3. package/dist/lib/core.esm.js +417 -0
  4. package/dist/lib/dynamicTexture.esm.js +51 -0
  5. package/dist/lib/glbLoaderExtensions.esm.js +137 -0
  6. package/dist/lib/glowLayerManager.esm.js +19 -0
  7. package/dist/lib/guid.esm.js +7 -0
  8. package/dist/lib/material.esm.js +50 -0
  9. package/dist/lib/modelContainer.esm.js +351 -0
  10. package/dist/lib/productAnimations.esm.js +123 -0
  11. package/dist/lib/productCamera.esm.js +113 -0
  12. package/dist/lib/renderConstants.esm.js +103 -0
  13. package/dist/lib/renderingPipeline.esm.js +99 -0
  14. package/dist/lib/types.esm.js +5 -0
  15. package/dist/lib/variants.esm.js +112 -0
  16. package/dist/node_modules/@babylonjs/core/Actions/abstractActionManager.esm.js +41 -0
  17. package/dist/node_modules/@babylonjs/core/Actions/action.esm.js +122 -0
  18. package/dist/node_modules/@babylonjs/core/Actions/actionEvent.esm.js +59 -0
  19. package/dist/node_modules/@babylonjs/core/Actions/actionManager.esm.js +335 -0
  20. package/dist/node_modules/@babylonjs/core/Actions/condition.esm.js +193 -0
  21. package/dist/node_modules/@babylonjs/core/Actions/directActions.esm.js +354 -0
  22. package/dist/node_modules/@babylonjs/core/Animations/animatable.esm.js +478 -0
  23. package/dist/node_modules/@babylonjs/core/Animations/animation.esm.js +866 -0
  24. package/dist/node_modules/@babylonjs/core/Animations/animationEvent.esm.js +18 -0
  25. package/dist/node_modules/@babylonjs/core/Animations/animationGroup.esm.js +470 -0
  26. package/dist/node_modules/@babylonjs/core/Animations/animationKey.esm.js +7 -0
  27. package/dist/node_modules/@babylonjs/core/Animations/animationRange.esm.js +21 -0
  28. package/dist/node_modules/@babylonjs/core/Animations/easing.esm.js +93 -0
  29. package/dist/node_modules/@babylonjs/core/Animations/runtimeAnimation.esm.js +281 -0
  30. package/dist/node_modules/@babylonjs/core/Audio/sound.esm.js +568 -0
  31. package/dist/node_modules/@babylonjs/core/Audio/weightedsound.esm.js +117 -0
  32. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/autoRotationBehavior.esm.js +145 -0
  33. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/bouncingBehavior.esm.js +93 -0
  34. package/dist/node_modules/@babylonjs/core/Behaviors/Cameras/framingBehavior.esm.js +295 -0
  35. package/dist/node_modules/@babylonjs/core/Bones/bone.esm.js +701 -0
  36. package/dist/node_modules/@babylonjs/core/Bones/skeleton.esm.js +478 -0
  37. package/dist/node_modules/@babylonjs/core/Buffers/buffer.esm.js +433 -0
  38. package/dist/node_modules/@babylonjs/core/Buffers/dataBuffer.esm.js +18 -0
  39. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraMouseWheelInput.esm.js +67 -0
  40. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/BaseCameraPointersInput.esm.js +191 -0
  41. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.esm.js +93 -0
  42. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraMouseWheelInput.esm.js +119 -0
  43. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/arcRotateCameraPointersInput.esm.js +119 -0
  44. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraKeyboardMoveInput.esm.js +108 -0
  45. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseInput.esm.js +114 -0
  46. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraMouseWheelInput.esm.js +249 -0
  47. package/dist/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraTouchInput.esm.js +103 -0
  48. package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCamera.esm.js +589 -0
  49. package/dist/node_modules/@babylonjs/core/Cameras/arcRotateCameraInputsManager.esm.js +37 -0
  50. package/dist/node_modules/@babylonjs/core/Cameras/camera.esm.js +686 -0
  51. package/dist/node_modules/@babylonjs/core/Cameras/cameraInputsManager.esm.js +147 -0
  52. package/dist/node_modules/@babylonjs/core/Cameras/freeCamera.esm.js +236 -0
  53. package/dist/node_modules/@babylonjs/core/Cameras/freeCameraInputsManager.esm.js +66 -0
  54. package/dist/node_modules/@babylonjs/core/Cameras/targetCamera.esm.js +214 -0
  55. package/dist/node_modules/@babylonjs/core/Collisions/intersectionInfo.esm.js +8 -0
  56. package/dist/node_modules/@babylonjs/core/Collisions/meshCollisionData.esm.js +9 -0
  57. package/dist/node_modules/@babylonjs/core/Collisions/pickingInfo.esm.js +59 -0
  58. package/dist/node_modules/@babylonjs/core/Compat/compatibilityOptions.esm.js +6 -0
  59. package/dist/node_modules/@babylonjs/core/Culling/boundingBox.esm.js +174 -0
  60. package/dist/node_modules/@babylonjs/core/Culling/boundingInfo.esm.js +159 -0
  61. package/dist/node_modules/@babylonjs/core/Culling/boundingSphere.esm.js +114 -0
  62. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceEnums.esm.js +37 -0
  63. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSource.esm.js +23 -0
  64. package/dist/node_modules/@babylonjs/core/DeviceInput/InputDevices/deviceSourceManager.esm.js +106 -0
  65. package/dist/node_modules/@babylonjs/core/DeviceInput/eventFactory.esm.js +118 -0
  66. package/dist/node_modules/@babylonjs/core/DeviceInput/internalDeviceSourceManager.esm.js +46 -0
  67. package/dist/node_modules/@babylonjs/core/DeviceInput/nativeDeviceInputSystem.esm.js +50 -0
  68. package/dist/node_modules/@babylonjs/core/DeviceInput/webDeviceInputSystem.esm.js +354 -0
  69. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.alpha.esm.js +101 -0
  70. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.cubeTexture.esm.js +103 -0
  71. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicBuffer.esm.js +11 -0
  72. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.dynamicTexture.esm.js +14 -0
  73. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.multiRender.esm.js +111 -0
  74. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.rawTexture.esm.js +109 -0
  75. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.readTexture.esm.js +76 -0
  76. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTarget.esm.js +69 -0
  77. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTargetCube.esm.js +15 -0
  78. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.uniformBuffer.esm.js +29 -0
  79. package/dist/node_modules/@babylonjs/core/Engines/Extensions/engine.views.esm.js +85 -0
  80. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.esm.js +9 -0
  81. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.esm.js +36 -0
  82. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.esm.js +13 -0
  83. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.esm.js +9 -0
  84. package/dist/node_modules/@babylonjs/core/Engines/Processors/Expressions/shaderDefineExpression.esm.js +88 -0
  85. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeConditionNode.esm.js +14 -0
  86. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeCursor.esm.js +44 -0
  87. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeNode.esm.js +31 -0
  88. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderCodeTestNode.esm.js +9 -0
  89. package/dist/node_modules/@babylonjs/core/Engines/Processors/shaderProcessor.esm.js +230 -0
  90. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGL2ShaderProcessors.esm.js +30 -0
  91. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLHardwareTexture.esm.js +34 -0
  92. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLPipelineContext.esm.js +388 -0
  93. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLRenderTargetWrapper.esm.js +87 -0
  94. package/dist/node_modules/@babylonjs/core/Engines/WebGL/webGLShaderProcessors.esm.js +16 -0
  95. package/dist/node_modules/@babylonjs/core/Engines/constants.esm.js +254 -0
  96. package/dist/node_modules/@babylonjs/core/Engines/engine.esm.js +1120 -0
  97. package/dist/node_modules/@babylonjs/core/Engines/engineStore.esm.js +23 -0
  98. package/dist/node_modules/@babylonjs/core/Engines/nullEngine.esm.js +697 -0
  99. package/dist/node_modules/@babylonjs/core/Engines/performanceConfigurator.esm.js +22 -0
  100. package/dist/node_modules/@babylonjs/core/Engines/renderTargetWrapper.esm.js +273 -0
  101. package/dist/node_modules/@babylonjs/core/Engines/shaderStore.esm.js +36 -0
  102. package/dist/node_modules/@babylonjs/core/Engines/thinEngine.esm.js +2921 -0
  103. package/dist/node_modules/@babylonjs/core/Events/deviceInputEvents.esm.js +13 -0
  104. package/dist/node_modules/@babylonjs/core/Events/keyboardEvents.esm.js +41 -0
  105. package/dist/node_modules/@babylonjs/core/Events/pointerEvents.esm.js +63 -0
  106. package/dist/node_modules/@babylonjs/core/Inputs/pointerPickingConfiguration.esm.js +8 -0
  107. package/dist/node_modules/@babylonjs/core/Inputs/scene.inputManager.esm.js +418 -0
  108. package/dist/node_modules/@babylonjs/core/Layers/effectLayer.esm.js +437 -0
  109. package/dist/node_modules/@babylonjs/core/Layers/effectLayerSceneComponent.esm.js +141 -0
  110. package/dist/node_modules/@babylonjs/core/Layers/glowLayer.esm.js +343 -0
  111. package/dist/node_modules/@babylonjs/core/Layers/highlightLayer.esm.js +396 -0
  112. package/dist/node_modules/@babylonjs/core/Lights/directionalLight.esm.js +224 -0
  113. package/dist/node_modules/@babylonjs/core/Lights/hemisphericLight.esm.js +92 -0
  114. package/dist/node_modules/@babylonjs/core/Lights/light.esm.js +476 -0
  115. package/dist/node_modules/@babylonjs/core/Lights/lightConstants.esm.js +30 -0
  116. package/dist/node_modules/@babylonjs/core/Lights/pointLight.esm.js +153 -0
  117. package/dist/node_modules/@babylonjs/core/Lights/shadowLight.esm.js +196 -0
  118. package/dist/node_modules/@babylonjs/core/Lights/spotLight.esm.js +287 -0
  119. package/dist/node_modules/@babylonjs/core/Loading/sceneLoader.esm.js +551 -0
  120. package/dist/node_modules/@babylonjs/core/Loading/sceneLoaderFlags.esm.js +48 -0
  121. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrAnisotropicConfiguration.esm.js +112 -0
  122. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBRDFConfiguration.esm.js +48 -0
  123. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrBaseMaterial.esm.js +568 -0
  124. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrClearCoatConfiguration.esm.js +139 -0
  125. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrIridescenceConfiguration.esm.js +97 -0
  126. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrMaterial.esm.js +496 -0
  127. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSheenConfiguration.esm.js +106 -0
  128. package/dist/node_modules/@babylonjs/core/Materials/PBR/pbrSubSurfaceConfiguration.esm.js +270 -0
  129. package/dist/node_modules/@babylonjs/core/Materials/Textures/Filtering/hdrFiltering.esm.js +103 -0
  130. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader.esm.js +53 -0
  131. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/envTextureLoader.esm.js +51 -0
  132. package/dist/node_modules/@babylonjs/core/Materials/Textures/Loaders/ktxTextureLoader.esm.js +81 -0
  133. package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.esm.js +542 -0
  134. package/dist/node_modules/@babylonjs/core/Materials/Textures/baseTexture.polynomial.esm.js +23 -0
  135. package/dist/node_modules/@babylonjs/core/Materials/Textures/cubeTexture.esm.js +244 -0
  136. package/dist/node_modules/@babylonjs/core/Materials/Textures/dynamicTexture.esm.js +134 -0
  137. package/dist/node_modules/@babylonjs/core/Materials/Textures/equiRectangularCubeTexture.esm.js +89 -0
  138. package/dist/node_modules/@babylonjs/core/Materials/Textures/hdrCubeTexture.esm.js +175 -0
  139. package/dist/node_modules/@babylonjs/core/Materials/Textures/internalTexture.esm.js +150 -0
  140. package/dist/node_modules/@babylonjs/core/Materials/Textures/ktx2decoderTypes.esm.js +17 -0
  141. package/dist/node_modules/@babylonjs/core/Materials/Textures/mirrorTexture.esm.js +138 -0
  142. package/dist/node_modules/@babylonjs/core/Materials/Textures/multiRenderTarget.esm.js +223 -0
  143. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawCubeTexture.esm.js +58 -0
  144. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture.esm.js +156 -0
  145. package/dist/node_modules/@babylonjs/core/Materials/Textures/rawTexture2DArray.esm.js +53 -0
  146. package/dist/node_modules/@babylonjs/core/Materials/Textures/renderTargetTexture.esm.js +605 -0
  147. package/dist/node_modules/@babylonjs/core/Materials/Textures/texture.esm.js +421 -0
  148. package/dist/node_modules/@babylonjs/core/Materials/Textures/textureSampler.esm.js +101 -0
  149. package/dist/node_modules/@babylonjs/core/Materials/Textures/thinTexture.esm.js +170 -0
  150. package/dist/node_modules/@babylonjs/core/Materials/clipPlaneMaterialHelper.esm.js +28 -0
  151. package/dist/node_modules/@babylonjs/core/Materials/colorCurves.esm.js +397 -0
  152. package/dist/node_modules/@babylonjs/core/Materials/drawWrapper.esm.js +22 -0
  153. package/dist/node_modules/@babylonjs/core/Materials/effect.esm.js +890 -0
  154. package/dist/node_modules/@babylonjs/core/Materials/effectFallbacks.esm.js +73 -0
  155. package/dist/node_modules/@babylonjs/core/Materials/effectRenderer.esm.js +132 -0
  156. package/dist/node_modules/@babylonjs/core/Materials/imageProcessingConfiguration.esm.js +428 -0
  157. package/dist/node_modules/@babylonjs/core/Materials/material.detailMapConfiguration.esm.js +90 -0
  158. package/dist/node_modules/@babylonjs/core/Materials/material.esm.js +906 -0
  159. package/dist/node_modules/@babylonjs/core/Materials/materialDefines.esm.js +161 -0
  160. package/dist/node_modules/@babylonjs/core/Materials/materialFlags.esm.js +226 -0
  161. package/dist/node_modules/@babylonjs/core/Materials/materialHelper.esm.js +501 -0
  162. package/dist/node_modules/@babylonjs/core/Materials/materialPluginBase.esm.js +226 -0
  163. package/dist/node_modules/@babylonjs/core/Materials/materialPluginEvent.esm.js +7 -0
  164. package/dist/node_modules/@babylonjs/core/Materials/materialPluginManager.esm.js +212 -0
  165. package/dist/node_modules/@babylonjs/core/Materials/materialStencilState.esm.js +145 -0
  166. package/dist/node_modules/@babylonjs/core/Materials/multiMaterial.esm.js +164 -0
  167. package/dist/node_modules/@babylonjs/core/Materials/prePassConfiguration.esm.js +38 -0
  168. package/dist/node_modules/@babylonjs/core/Materials/pushMaterial.esm.js +48 -0
  169. package/dist/node_modules/@babylonjs/core/Materials/shaderLanguage.esm.js +7 -0
  170. package/dist/node_modules/@babylonjs/core/Materials/shaderMaterial.esm.js +838 -0
  171. package/dist/node_modules/@babylonjs/core/Materials/standardMaterial.esm.js +934 -0
  172. package/dist/node_modules/@babylonjs/core/Materials/uniformBuffer.esm.js +541 -0
  173. package/dist/node_modules/@babylonjs/core/Maths/math.axis.esm.js +19 -0
  174. package/dist/node_modules/@babylonjs/core/Maths/math.color.esm.js +903 -0
  175. package/dist/node_modules/@babylonjs/core/Maths/math.constants.esm.js +6 -0
  176. package/dist/node_modules/@babylonjs/core/Maths/math.frustum.esm.js +91 -0
  177. package/dist/node_modules/@babylonjs/core/Maths/math.functions.esm.js +43 -0
  178. package/dist/node_modules/@babylonjs/core/Maths/math.path.esm.js +9 -0
  179. package/dist/node_modules/@babylonjs/core/Maths/math.plane.esm.js +145 -0
  180. package/dist/node_modules/@babylonjs/core/Maths/math.scalar.esm.js +284 -0
  181. package/dist/node_modules/@babylonjs/core/Maths/math.size.esm.js +124 -0
  182. package/dist/node_modules/@babylonjs/core/Maths/math.vector.esm.js +4915 -0
  183. package/dist/node_modules/@babylonjs/core/Maths/math.viewport.esm.js +41 -0
  184. package/dist/node_modules/@babylonjs/core/Maths/sphericalPolynomial.esm.js +177 -0
  185. package/dist/node_modules/@babylonjs/core/Meshes/Builders/boxBuilder.esm.js +260 -0
  186. package/dist/node_modules/@babylonjs/core/Meshes/Compression/dracoCompression.esm.js +233 -0
  187. package/dist/node_modules/@babylonjs/core/Meshes/Compression/meshoptCompression.esm.js +47 -0
  188. package/dist/node_modules/@babylonjs/core/Meshes/WebGL/webGLDataBuffer.esm.js +12 -0
  189. package/dist/node_modules/@babylonjs/core/Meshes/abstractMesh.esm.js +1448 -0
  190. package/dist/node_modules/@babylonjs/core/Meshes/geometry.esm.js +729 -0
  191. package/dist/node_modules/@babylonjs/core/Meshes/instancedMesh.esm.js +455 -0
  192. package/dist/node_modules/@babylonjs/core/Meshes/mesh.esm.js +2526 -0
  193. package/dist/node_modules/@babylonjs/core/Meshes/mesh.vertexData.esm.js +865 -0
  194. package/dist/node_modules/@babylonjs/core/Meshes/meshLODLevel.esm.js +13 -0
  195. package/dist/node_modules/@babylonjs/core/Meshes/subMesh.esm.js +422 -0
  196. package/dist/node_modules/@babylonjs/core/Meshes/thinInstanceMesh.esm.js +129 -0
  197. package/dist/node_modules/@babylonjs/core/Meshes/transformNode.esm.js +796 -0
  198. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/cubemapToSphericalPolynomial.esm.js +111 -0
  199. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/hdr.esm.js +122 -0
  200. package/dist/node_modules/@babylonjs/core/Misc/HighDynamicRange/panoramaToCubemap.esm.js +78 -0
  201. package/dist/node_modules/@babylonjs/core/Misc/andOrNotEvaluator.esm.js +41 -0
  202. package/dist/node_modules/@babylonjs/core/Misc/arrayTools.esm.js +52 -0
  203. package/dist/node_modules/@babylonjs/core/Misc/assetsManager.esm.js +561 -0
  204. package/dist/node_modules/@babylonjs/core/Misc/brdfTextureTools.esm.js +31 -0
  205. package/dist/node_modules/@babylonjs/core/Misc/copyTools.esm.js +44 -0
  206. package/dist/node_modules/@babylonjs/core/Misc/coroutine.esm.js +53 -0
  207. package/dist/node_modules/@babylonjs/core/Misc/dataReader.esm.js +55 -0
  208. package/dist/node_modules/@babylonjs/core/Misc/dds.esm.js +329 -0
  209. package/dist/node_modules/@babylonjs/core/Misc/decorators.esm.js +332 -0
  210. package/dist/node_modules/@babylonjs/core/Misc/deepCopier.esm.js +52 -0
  211. package/dist/node_modules/@babylonjs/core/Misc/deferred.esm.js +25 -0
  212. package/dist/node_modules/@babylonjs/core/Misc/devTools.esm.js +6 -0
  213. package/dist/node_modules/@babylonjs/core/Misc/domManagement.esm.js +21 -0
  214. package/dist/node_modules/@babylonjs/core/Misc/dumpTools.esm.js +117 -0
  215. package/dist/node_modules/@babylonjs/core/Misc/environmentTextureTools.esm.js +187 -0
  216. package/dist/node_modules/@babylonjs/core/Misc/error.esm.js +40 -0
  217. package/dist/node_modules/@babylonjs/core/Misc/fileTools.esm.js +339 -0
  218. package/dist/node_modules/@babylonjs/core/Misc/filesInputStore.esm.js +6 -0
  219. package/dist/node_modules/@babylonjs/core/Misc/guid.esm.js +9 -0
  220. package/dist/node_modules/@babylonjs/core/Misc/instantiationTools.esm.js +26 -0
  221. package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer.esm.js +79 -0
  222. package/dist/node_modules/@babylonjs/core/Misc/khronosTextureContainer2.esm.js +281 -0
  223. package/dist/node_modules/@babylonjs/core/Misc/logger.esm.js +77 -0
  224. package/dist/node_modules/@babylonjs/core/Misc/observable.esm.js +231 -0
  225. package/dist/node_modules/@babylonjs/core/Misc/perfCounter.esm.js +99 -0
  226. package/dist/node_modules/@babylonjs/core/Misc/performanceMonitor.esm.js +144 -0
  227. package/dist/node_modules/@babylonjs/core/Misc/precisionDate.esm.js +12 -0
  228. package/dist/node_modules/@babylonjs/core/Misc/retryStrategy.esm.js +14 -0
  229. package/dist/node_modules/@babylonjs/core/Misc/rgbdTextureTools.esm.js +51 -0
  230. package/dist/node_modules/@babylonjs/core/Misc/screenshotTools.esm.js +92 -0
  231. package/dist/node_modules/@babylonjs/core/Misc/smartArray.esm.js +118 -0
  232. package/dist/node_modules/@babylonjs/core/Misc/stringDictionary.esm.js +129 -0
  233. package/dist/node_modules/@babylonjs/core/Misc/stringTools.esm.js +26 -0
  234. package/dist/node_modules/@babylonjs/core/Misc/tags.esm.js +97 -0
  235. package/dist/node_modules/@babylonjs/core/Misc/textureTools.esm.js +41 -0
  236. package/dist/node_modules/@babylonjs/core/Misc/timingTools.esm.js +13 -0
  237. package/dist/node_modules/@babylonjs/core/Misc/tools.esm.js +929 -0
  238. package/dist/node_modules/@babylonjs/core/Misc/typeStore.esm.js +11 -0
  239. package/dist/node_modules/@babylonjs/core/Misc/uniqueIdGenerator.esm.js +13 -0
  240. package/dist/node_modules/@babylonjs/core/Misc/webRequest.esm.js +135 -0
  241. package/dist/node_modules/@babylonjs/core/Misc/workerPool.esm.js +80 -0
  242. package/dist/node_modules/@babylonjs/core/Morph/morphTarget.esm.js +187 -0
  243. package/dist/node_modules/@babylonjs/core/Morph/morphTargetManager.esm.js +249 -0
  244. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.esm.js +349 -0
  245. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.esm.js +306 -0
  246. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.esm.js +161 -0
  247. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.esm.js +589 -0
  248. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.esm.js +512 -0
  249. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderEffect.esm.js +114 -0
  250. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipeline.esm.js +139 -0
  251. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.esm.js +99 -0
  252. package/dist/node_modules/@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.esm.js +48 -0
  253. package/dist/node_modules/@babylonjs/core/PostProcesses/bloomEffect.esm.js +76 -0
  254. package/dist/node_modules/@babylonjs/core/PostProcesses/bloomMergePostProcess.esm.js +40 -0
  255. package/dist/node_modules/@babylonjs/core/PostProcesses/blurPostProcess.esm.js +165 -0
  256. package/dist/node_modules/@babylonjs/core/PostProcesses/chromaticAberrationPostProcess.esm.js +61 -0
  257. package/dist/node_modules/@babylonjs/core/PostProcesses/circleOfConfusionPostProcess.esm.js +62 -0
  258. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldBlurPostProcess.esm.js +58 -0
  259. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldEffect.esm.js +131 -0
  260. package/dist/node_modules/@babylonjs/core/PostProcesses/depthOfFieldMergePostProcess.esm.js +48 -0
  261. package/dist/node_modules/@babylonjs/core/PostProcesses/extractHighlightsPostProcess.esm.js +27 -0
  262. package/dist/node_modules/@babylonjs/core/PostProcesses/fxaaPostProcess.esm.js +41 -0
  263. package/dist/node_modules/@babylonjs/core/PostProcesses/grainPostProcess.esm.js +46 -0
  264. package/dist/node_modules/@babylonjs/core/PostProcesses/imageProcessingPostProcess.esm.js +359 -0
  265. package/dist/node_modules/@babylonjs/core/PostProcesses/motionBlurPostProcess.esm.js +178 -0
  266. package/dist/node_modules/@babylonjs/core/PostProcesses/passPostProcess.esm.js +40 -0
  267. package/dist/node_modules/@babylonjs/core/PostProcesses/postProcess.esm.js +457 -0
  268. package/dist/node_modules/@babylonjs/core/PostProcesses/postProcessManager.esm.js +94 -0
  269. package/dist/node_modules/@babylonjs/core/PostProcesses/screenSpaceReflectionPostProcess.esm.js +147 -0
  270. package/dist/node_modules/@babylonjs/core/PostProcesses/sharpenPostProcess.esm.js +46 -0
  271. package/dist/node_modules/@babylonjs/core/Probes/reflectionProbe.esm.js +184 -0
  272. package/dist/node_modules/@babylonjs/core/Rendering/boundingBoxRenderer.esm.js +170 -0
  273. package/dist/node_modules/@babylonjs/core/Rendering/depthRenderer.esm.js +185 -0
  274. package/dist/node_modules/@babylonjs/core/Rendering/depthRendererSceneComponent.esm.js +65 -0
  275. package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRenderer.esm.js +353 -0
  276. package/dist/node_modules/@babylonjs/core/Rendering/geometryBufferRendererSceneComponent.esm.js +55 -0
  277. package/dist/node_modules/@babylonjs/core/Rendering/motionBlurConfiguration.esm.js +8 -0
  278. package/dist/node_modules/@babylonjs/core/Rendering/renderingGroup.esm.js +223 -0
  279. package/dist/node_modules/@babylonjs/core/Rendering/renderingManager.esm.js +185 -0
  280. package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflections2Configuration.esm.js +8 -0
  281. package/dist/node_modules/@babylonjs/core/Rendering/screenSpaceReflectionsConfiguration.esm.js +8 -0
  282. package/dist/node_modules/@babylonjs/core/Rendering/ssao2Configuration.esm.js +8 -0
  283. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.esm.js +48 -0
  284. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.esm.js +24 -0
  285. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.esm.js +35 -0
  286. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bonesVertex.esm.js +56 -0
  287. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.esm.js +4 -0
  288. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.esm.js +19 -0
  289. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.esm.js +8 -0
  290. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragment.esm.js +67 -0
  291. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentFunctions.esm.js +58 -0
  292. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpFragmentMainFunctions.esm.js +93 -0
  293. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertex.esm.js +11 -0
  294. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/bumpVertexDeclaration.esm.js +8 -0
  295. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.esm.js +42 -0
  296. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.esm.js +21 -0
  297. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.esm.js +21 -0
  298. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.esm.js +27 -0
  299. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragment.esm.js +12 -0
  300. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalFragmentDeclaration.esm.js +6 -0
  301. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/decalVertexDeclaration.esm.js +7 -0
  302. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultFragmentDeclaration.esm.js +86 -0
  303. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultUboDeclaration.esm.js +50 -0
  304. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/defaultVertexDeclaration.esm.js +46 -0
  305. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/depthPrePass.esm.js +7 -0
  306. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragment.esm.js +10 -0
  307. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.esm.js +34 -0
  308. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertex.esm.js +6 -0
  309. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.esm.js +6 -0
  310. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/fresnelFunction.esm.js +10 -0
  311. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryUboDeclaration.esm.js +5 -0
  312. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/geometryVertexDeclaration.esm.js +4 -0
  313. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/harmonicsFunctions.esm.js +42 -0
  314. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/hdrFilteringFunctions.esm.js +139 -0
  315. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/helperFunctions.esm.js +166 -0
  316. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingDeclaration.esm.js +32 -0
  317. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/imageProcessingFunctions.esm.js +129 -0
  318. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/importanceSampling.esm.js +22 -0
  319. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.esm.js +31 -0
  320. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/instancesVertex.esm.js +20 -0
  321. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment.esm.js +15 -0
  322. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurFragment2.esm.js +15 -0
  323. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.esm.js +3 -0
  324. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/kernelBlurVertex.esm.js +3 -0
  325. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragment.esm.js +278 -0
  326. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.esm.js +82 -0
  327. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.esm.js +81 -0
  328. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxFragmentDeclaration.esm.js +35 -0
  329. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightVxUboDeclaration.esm.js +34 -0
  330. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.esm.js +93 -0
  331. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthDeclaration.esm.js +7 -0
  332. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthFragment.esm.js +6 -0
  333. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/logDepthVertex.esm.js +7 -0
  334. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mainUVVaryingDeclaration.esm.js +6 -0
  335. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/meshUboDeclaration.esm.js +15 -0
  336. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertex.esm.js +32 -0
  337. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexDeclaration.esm.js +17 -0
  338. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobal.esm.js +8 -0
  339. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.esm.js +19 -0
  340. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/mrtFragmentDeclaration.esm.js +6 -0
  341. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitDeclaration.esm.js +13 -0
  342. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/oitFragment.esm.js +40 -0
  343. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/packingFunctions.esm.js +15 -0
  344. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBRDFFunctions.esm.js +268 -0
  345. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.esm.js +83 -0
  346. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAlphaFresnel.esm.js +37 -0
  347. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.esm.js +32 -0
  348. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockAnisotropic.esm.js +50 -0
  349. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockClearcoat.esm.js +276 -0
  350. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockDirectLighting.esm.js +19 -0
  351. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalColorComposition.esm.js +45 -0
  352. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalLitComponents.esm.js +100 -0
  353. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.esm.js +27 -0
  354. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockGeometryInfo.esm.js +30 -0
  355. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockImageProcessing.esm.js +14 -0
  356. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockIridescence.esm.js +63 -0
  357. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockLightmapInit.esm.js +13 -0
  358. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalFinal.esm.js +13 -0
  359. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockNormalGeometric.esm.js +13 -0
  360. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance.esm.js +24 -0
  361. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectance0.esm.js +14 -0
  362. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflection.esm.js +270 -0
  363. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockReflectivity.esm.js +131 -0
  364. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSheen.esm.js +197 -0
  365. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrBlockSubSurface.esm.js +337 -0
  366. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDebug.esm.js +176 -0
  367. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.esm.js +64 -0
  368. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingFunctions.esm.js +130 -0
  369. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.esm.js +53 -0
  370. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentDeclaration.esm.js +179 -0
  371. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.esm.js +18 -0
  372. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.esm.js +101 -0
  373. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrHelperFunctions.esm.js +83 -0
  374. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrIBLFunctions.esm.js +35 -0
  375. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrUboDeclaration.esm.js +65 -0
  376. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pbrVertexDeclaration.esm.js +151 -0
  377. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/pointCloudVertex.esm.js +6 -0
  378. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassDeclaration.esm.js +13 -0
  379. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertex.esm.js +37 -0
  380. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/prePassVertexDeclaration.esm.js +13 -0
  381. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/reflectionFunction.esm.js +116 -0
  382. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.esm.js +20 -0
  383. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerFragmentDeclaration.esm.js +21 -0
  384. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexDeclaration.esm.js +6 -0
  385. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/samplerVertexImplementation.esm.js +39 -0
  386. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/sceneUboDeclaration.esm.js +13 -0
  387. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/screenSpaceRayTrace.esm.js +208 -0
  388. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.esm.js +614 -0
  389. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.esm.js +23 -0
  390. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/subSurfaceScatteringFunctions.esm.js +6 -0
  391. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvAttributeDeclaration.esm.js +6 -0
  392. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/uvVariableDeclaration.esm.js +9 -0
  393. package/dist/node_modules/@babylonjs/core/Shaders/ShadersInclude/vertexColorMixing.esm.js +16 -0
  394. package/dist/node_modules/@babylonjs/core/Shaders/bloomMerge.fragment.esm.js +14 -0
  395. package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.fragment.esm.js +11 -0
  396. package/dist/node_modules/@babylonjs/core/Shaders/boundingBoxRenderer.vertex.esm.js +22 -0
  397. package/dist/node_modules/@babylonjs/core/Shaders/chromaticAberration.fragment.esm.js +34 -0
  398. package/dist/node_modules/@babylonjs/core/Shaders/circleOfConfusion.fragment.esm.js +19 -0
  399. package/dist/node_modules/@babylonjs/core/Shaders/default.fragment.esm.js +387 -0
  400. package/dist/node_modules/@babylonjs/core/Shaders/default.vertex.esm.js +171 -0
  401. package/dist/node_modules/@babylonjs/core/Shaders/depth.fragment.esm.js +47 -0
  402. package/dist/node_modules/@babylonjs/core/Shaders/depth.vertex.esm.js +72 -0
  403. package/dist/node_modules/@babylonjs/core/Shaders/depthOfField.fragment.esm.js +137 -0
  404. package/dist/node_modules/@babylonjs/core/Shaders/depthOfFieldMerge.fragment.esm.js +54 -0
  405. package/dist/node_modules/@babylonjs/core/Shaders/extractHighlights.fragment.esm.js +15 -0
  406. package/dist/node_modules/@babylonjs/core/Shaders/fxaa.fragment.esm.js +211 -0
  407. package/dist/node_modules/@babylonjs/core/Shaders/fxaa.vertex.esm.js +29 -0
  408. package/dist/node_modules/@babylonjs/core/Shaders/geometry.fragment.esm.js +147 -0
  409. package/dist/node_modules/@babylonjs/core/Shaders/geometry.vertex.esm.js +164 -0
  410. package/dist/node_modules/@babylonjs/core/Shaders/glowBlurPostProcess.fragment.esm.js +39 -0
  411. package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.fragment.esm.js +73 -0
  412. package/dist/node_modules/@babylonjs/core/Shaders/glowMapGeneration.vertex.esm.js +94 -0
  413. package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.fragment.esm.js +29 -0
  414. package/dist/node_modules/@babylonjs/core/Shaders/glowMapMerge.vertex.esm.js +12 -0
  415. package/dist/node_modules/@babylonjs/core/Shaders/grain.fragment.esm.js +19 -0
  416. package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.fragment.esm.js +19 -0
  417. package/dist/node_modules/@babylonjs/core/Shaders/hdrFiltering.vertex.esm.js +15 -0
  418. package/dist/node_modules/@babylonjs/core/Shaders/imageProcessing.fragment.esm.js +26 -0
  419. package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.fragment.esm.js +49 -0
  420. package/dist/node_modules/@babylonjs/core/Shaders/kernelBlur.vertex.esm.js +17 -0
  421. package/dist/node_modules/@babylonjs/core/Shaders/lensHighlights.fragment.esm.js +115 -0
  422. package/dist/node_modules/@babylonjs/core/Shaders/motionBlur.fragment.esm.js +74 -0
  423. package/dist/node_modules/@babylonjs/core/Shaders/pass.fragment.esm.js +13 -0
  424. package/dist/node_modules/@babylonjs/core/Shaders/passCube.fragment.esm.js +27 -0
  425. package/dist/node_modules/@babylonjs/core/Shaders/pbr.fragment.esm.js +648 -0
  426. package/dist/node_modules/@babylonjs/core/Shaders/pbr.vertex.esm.js +236 -0
  427. package/dist/node_modules/@babylonjs/core/Shaders/postprocess.vertex.esm.js +13 -0
  428. package/dist/node_modules/@babylonjs/core/Shaders/rgbdDecode.fragment.esm.js +11 -0
  429. package/dist/node_modules/@babylonjs/core/Shaders/rgbdEncode.fragment.esm.js +11 -0
  430. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection.fragment.esm.js +136 -0
  431. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2.fragment.esm.js +215 -0
  432. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2Blur.fragment.esm.js +52 -0
  433. package/dist/node_modules/@babylonjs/core/Shaders/screenSpaceReflection2BlurCombiner.fragment.esm.js +59 -0
  434. package/dist/node_modules/@babylonjs/core/Shaders/sharpen.fragment.esm.js +18 -0
  435. package/dist/node_modules/@babylonjs/core/Shaders/ssao.fragment.esm.js +55 -0
  436. package/dist/node_modules/@babylonjs/core/Shaders/ssao2.fragment.esm.js +165 -0
  437. package/dist/node_modules/@babylonjs/core/Shaders/ssaoCombine.fragment.esm.js +15 -0
  438. package/dist/node_modules/@babylonjs/core/Shaders/standard.fragment.esm.js +339 -0
  439. package/dist/node_modules/@babylonjs/core/States/alphaCullingState.esm.js +35 -0
  440. package/dist/node_modules/@babylonjs/core/States/depthCullingState.esm.js +69 -0
  441. package/dist/node_modules/@babylonjs/core/States/stencilState.esm.js +62 -0
  442. package/dist/node_modules/@babylonjs/core/States/stencilStateComposer.esm.js +70 -0
  443. package/dist/node_modules/@babylonjs/core/abstractScene.esm.js +71 -0
  444. package/dist/node_modules/@babylonjs/core/assetContainer.esm.js +425 -0
  445. package/dist/node_modules/@babylonjs/core/node.esm.js +536 -0
  446. package/dist/node_modules/@babylonjs/core/scene.esm.js +2809 -0
  447. package/dist/node_modules/@babylonjs/core/sceneComponent.esm.js +102 -0
  448. package/dist/node_modules/@babylonjs/core/tslib.es6.esm.js +12 -0
  449. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFBinaryExtension.esm.js +37 -0
  450. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoader.esm.js +902 -0
  451. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderInterfaces.esm.js +42 -0
  452. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.esm.js +195 -0
  453. package/dist/node_modules/@babylonjs/loaders/glTF/1.0/glTFMaterialsCommonExtension.esm.js +75 -0
  454. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_lights_image_based.esm.js +77 -0
  455. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.esm.js +53 -0
  456. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_meshopt_compression.esm.js +31 -0
  457. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/EXT_texture_webp.esm.js +29 -0
  458. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.esm.js +47 -0
  459. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.data.esm.js +173 -0
  460. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_animation_pointer.esm.js +82 -0
  461. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_draco_mesh_compression.esm.js +68 -0
  462. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual.esm.js +60 -0
  463. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_anisotropy.esm.js +39 -0
  464. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_clearcoat.esm.js +42 -0
  465. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength.esm.js +32 -0
  466. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_ior.esm.js +35 -0
  467. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_iridescence.esm.js +41 -0
  468. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.esm.js +41 -0
  469. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_sheen.esm.js +41 -0
  470. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_specular.esm.js +41 -0
  471. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_translucency.esm.js +41 -0
  472. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_transmission.esm.js +136 -0
  473. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_unlit.esm.js +37 -0
  474. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_variants.esm.js +178 -0
  475. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_materials_volume.esm.js +40 -0
  476. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_mesh_quantization.esm.js +17 -0
  477. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_basisu.esm.js +29 -0
  478. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_texture_transform.esm.js +29 -0
  479. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/KHR_xmp_json_ld.esm.js +31 -0
  480. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_audio_emitter.esm.js +149 -0
  481. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_lod.esm.js +170 -0
  482. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_minecraftMesh.esm.js +29 -0
  483. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/MSFT_sRGBFactors.esm.js +29 -0
  484. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoader.esm.js +1562 -0
  485. package/dist/node_modules/@babylonjs/loaders/glTF/2.0/glTFLoaderAnimation.esm.js +66 -0
  486. package/dist/node_modules/@babylonjs/loaders/glTF/glTFFileLoader.esm.js +462 -0
  487. package/dist/node_modules/@babylonjs/loaders/glTF/glTFValidation.esm.js +81 -0
  488. package/package.json +6 -4
  489. /package/dist/{src/index.esm.js → index.esm.js} +0 -0
@@ -0,0 +1,568 @@
1
+ import { __decorate as v } from "../../tslib.es6.esm.js";
2
+ import { serializeAsImageProcessingConfiguration as U, expandToProperty as D, serialize as y } from "../../Misc/decorators.esm.js";
3
+ import { Logger as B } from "../../Misc/logger.esm.js";
4
+ import { SmartArray as G } from "../../Misc/smartArray.esm.js";
5
+ import { GetEnvironmentBRDFTexture as H } from "../../Misc/brdfTextureTools.esm.js";
6
+ import { Scene as V } from "../../scene.esm.js";
7
+ import { Vector4 as X } from "../../Maths/math.vector.esm.js";
8
+ import { VertexBuffer as L } from "../../Buffers/buffer.esm.js";
9
+ import { PBRBRDFConfiguration as k } from "./pbrBRDFConfiguration.esm.js";
10
+ import { PrePassConfiguration as N } from "../prePassConfiguration.esm.js";
11
+ import { Color3 as p, TmpColors as x } from "../../Maths/math.color.esm.js";
12
+ import { Scalar as Y } from "../../Maths/math.scalar.esm.js";
13
+ import { ImageProcessingConfiguration as g } from "../imageProcessingConfiguration.esm.js";
14
+ import { Material as M } from "../material.esm.js";
15
+ import { MaterialPluginEvent as O } from "../materialPluginEvent.esm.js";
16
+ import { MaterialDefines as z } from "../materialDefines.esm.js";
17
+ import { PushMaterial as w } from "../pushMaterial.esm.js";
18
+ import { MaterialHelper as s } from "../materialHelper.esm.js";
19
+ import { Texture as I } from "../Textures/texture.esm.js";
20
+ import { MaterialFlags as l } from "../materialFlags.esm.js";
21
+ import "../Textures/baseTexture.polynomial.esm.js";
22
+ import "../../Shaders/pbr.fragment.esm.js";
23
+ import "../../Shaders/pbr.vertex.esm.js";
24
+ import { EffectFallbacks as Z } from "../effectFallbacks.esm.js";
25
+ import { PBRClearCoatConfiguration as Q } from "./pbrClearCoatConfiguration.esm.js";
26
+ import { PBRIridescenceConfiguration as W } from "./pbrIridescenceConfiguration.esm.js";
27
+ import { PBRAnisotropicConfiguration as K } from "./pbrAnisotropicConfiguration.esm.js";
28
+ import { PBRSheenConfiguration as J } from "./pbrSheenConfiguration.esm.js";
29
+ import { PBRSubSurfaceConfiguration as j } from "./pbrSubSurfaceConfiguration.esm.js";
30
+ import { DetailMapConfiguration as $ } from "../material.detailMapConfiguration.esm.js";
31
+ import { addClipPlaneUniforms as q, bindClipPlane as ee } from "../clipPlaneMaterialHelper.esm.js";
32
+ const S = { effect: null, subMesh: null };
33
+ class F extends z {
34
+ /**
35
+ * Initializes the PBR Material defines.
36
+ * @param externalProperties The external properties
37
+ */
38
+ constructor(t) {
39
+ super(t), this.PBR = !0, this.NUM_SAMPLES = "0", this.REALTIME_FILTERING = !1, this.MAINUV1 = !1, this.MAINUV2 = !1, this.MAINUV3 = !1, this.MAINUV4 = !1, this.MAINUV5 = !1, this.MAINUV6 = !1, this.UV1 = !1, this.UV2 = !1, this.UV3 = !1, this.UV4 = !1, this.UV5 = !1, this.UV6 = !1, this.ALBEDO = !1, this.GAMMAALBEDO = !1, this.ALBEDODIRECTUV = 0, this.VERTEXCOLOR = !1, this.BAKED_VERTEX_ANIMATION_TEXTURE = !1, this.AMBIENT = !1, this.AMBIENTDIRECTUV = 0, this.AMBIENTINGRAYSCALE = !1, this.OPACITY = !1, this.VERTEXALPHA = !1, this.OPACITYDIRECTUV = 0, this.OPACITYRGB = !1, this.ALPHATEST = !1, this.DEPTHPREPASS = !1, this.ALPHABLEND = !1, this.ALPHAFROMALBEDO = !1, this.ALPHATESTVALUE = "0.5", this.SPECULAROVERALPHA = !1, this.RADIANCEOVERALPHA = !1, this.ALPHAFRESNEL = !1, this.LINEARALPHAFRESNEL = !1, this.PREMULTIPLYALPHA = !1, this.EMISSIVE = !1, this.EMISSIVEDIRECTUV = 0, this.GAMMAEMISSIVE = !1, this.REFLECTIVITY = !1, this.REFLECTIVITY_GAMMA = !1, this.REFLECTIVITYDIRECTUV = 0, this.SPECULARTERM = !1, this.MICROSURFACEFROMREFLECTIVITYMAP = !1, this.MICROSURFACEAUTOMATIC = !1, this.LODBASEDMICROSFURACE = !1, this.MICROSURFACEMAP = !1, this.MICROSURFACEMAPDIRECTUV = 0, this.METALLICWORKFLOW = !1, this.ROUGHNESSSTOREINMETALMAPALPHA = !1, this.ROUGHNESSSTOREINMETALMAPGREEN = !1, this.METALLNESSSTOREINMETALMAPBLUE = !1, this.AOSTOREINMETALMAPRED = !1, this.METALLIC_REFLECTANCE = !1, this.METALLIC_REFLECTANCE_GAMMA = !1, this.METALLIC_REFLECTANCEDIRECTUV = 0, this.METALLIC_REFLECTANCE_USE_ALPHA_ONLY = !1, this.REFLECTANCE = !1, this.REFLECTANCE_GAMMA = !1, this.REFLECTANCEDIRECTUV = 0, this.ENVIRONMENTBRDF = !1, this.ENVIRONMENTBRDF_RGBD = !1, this.NORMAL = !1, this.TANGENT = !1, this.BUMP = !1, this.BUMPDIRECTUV = 0, this.OBJECTSPACE_NORMALMAP = !1, this.PARALLAX = !1, this.PARALLAXOCCLUSION = !1, this.NORMALXYSCALE = !0, this.LIGHTMAP = !1, this.LIGHTMAPDIRECTUV = 0, this.USELIGHTMAPASSHADOWMAP = !1, this.GAMMALIGHTMAP = !1, this.RGBDLIGHTMAP = !1, this.REFLECTION = !1, this.REFLECTIONMAP_3D = !1, this.REFLECTIONMAP_SPHERICAL = !1, this.REFLECTIONMAP_PLANAR = !1, this.REFLECTIONMAP_CUBIC = !1, this.USE_LOCAL_REFLECTIONMAP_CUBIC = !1, this.REFLECTIONMAP_PROJECTION = !1, this.REFLECTIONMAP_SKYBOX = !1, this.REFLECTIONMAP_EXPLICIT = !1, this.REFLECTIONMAP_EQUIRECTANGULAR = !1, this.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = !1, this.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = !1, this.INVERTCUBICMAP = !1, this.USESPHERICALFROMREFLECTIONMAP = !1, this.USEIRRADIANCEMAP = !1, this.USESPHERICALINVERTEX = !1, this.REFLECTIONMAP_OPPOSITEZ = !1, this.LODINREFLECTIONALPHA = !1, this.GAMMAREFLECTION = !1, this.RGBDREFLECTION = !1, this.LINEARSPECULARREFLECTION = !1, this.RADIANCEOCCLUSION = !1, this.HORIZONOCCLUSION = !1, this.INSTANCES = !1, this.THIN_INSTANCES = !1, this.INSTANCESCOLOR = !1, this.PREPASS = !1, this.PREPASS_IRRADIANCE = !1, this.PREPASS_IRRADIANCE_INDEX = -1, this.PREPASS_ALBEDO_SQRT = !1, this.PREPASS_ALBEDO_SQRT_INDEX = -1, this.PREPASS_DEPTH = !1, this.PREPASS_DEPTH_INDEX = -1, this.PREPASS_NORMAL = !1, this.PREPASS_NORMAL_INDEX = -1, this.PREPASS_POSITION = !1, this.PREPASS_POSITION_INDEX = -1, this.PREPASS_VELOCITY = !1, this.PREPASS_VELOCITY_INDEX = -1, this.PREPASS_REFLECTIVITY = !1, this.PREPASS_REFLECTIVITY_INDEX = -1, this.SCENE_MRT_COUNT = 0, this.NUM_BONE_INFLUENCERS = 0, this.BonesPerMesh = 0, this.BONETEXTURE = !1, this.BONES_VELOCITY_ENABLED = !1, this.NONUNIFORMSCALING = !1, this.MORPHTARGETS = !1, this.MORPHTARGETS_NORMAL = !1, this.MORPHTARGETS_TANGENT = !1, this.MORPHTARGETS_UV = !1, this.NUM_MORPH_INFLUENCERS = 0, this.MORPHTARGETS_TEXTURE = !1, this.IMAGEPROCESSING = !1, this.VIGNETTE = !1, this.VIGNETTEBLENDMODEMULTIPLY = !1, this.VIGNETTEBLENDMODEOPAQUE = !1, this.TONEMAPPING = !1, this.TONEMAPPING_ACES = !1, this.CONTRAST = !1, this.COLORCURVES = !1, this.COLORGRADING = !1, this.COLORGRADING3D = !1, this.SAMPLER3DGREENDEPTH = !1, this.SAMPLER3DBGRMAP = !1, this.DITHER = !1, this.IMAGEPROCESSINGPOSTPROCESS = !1, this.SKIPFINALCOLORCLAMP = !1, this.EXPOSURE = !1, this.MULTIVIEW = !1, this.ORDER_INDEPENDENT_TRANSPARENCY = !1, this.ORDER_INDEPENDENT_TRANSPARENCY_16BITS = !1, this.USEPHYSICALLIGHTFALLOFF = !1, this.USEGLTFLIGHTFALLOFF = !1, this.TWOSIDEDLIGHTING = !1, this.SHADOWFLOAT = !1, this.CLIPPLANE = !1, this.CLIPPLANE2 = !1, this.CLIPPLANE3 = !1, this.CLIPPLANE4 = !1, this.CLIPPLANE5 = !1, this.CLIPPLANE6 = !1, this.POINTSIZE = !1, this.FOG = !1, this.LOGARITHMICDEPTH = !1, this.CAMERA_ORTHOGRAPHIC = !1, this.CAMERA_PERSPECTIVE = !1, this.FORCENORMALFORWARD = !1, this.SPECULARAA = !1, this.UNLIT = !1, this.DECAL_AFTER_DETAIL = !1, this.DEBUGMODE = 0, this.rebuild();
40
+ }
41
+ /**
42
+ * Resets the PBR Material defines.
43
+ */
44
+ reset() {
45
+ super.reset(), this.ALPHATESTVALUE = "0.5", this.PBR = !0, this.NORMALXYSCALE = !0;
46
+ }
47
+ }
48
+ class _ extends w {
49
+ /**
50
+ * Enables realtime filtering on the texture.
51
+ */
52
+ get realTimeFiltering() {
53
+ return this._realTimeFiltering;
54
+ }
55
+ set realTimeFiltering(t) {
56
+ this._realTimeFiltering = t, this.markAsDirty(1);
57
+ }
58
+ /**
59
+ * Quality switch for realtime filtering
60
+ */
61
+ get realTimeFilteringQuality() {
62
+ return this._realTimeFilteringQuality;
63
+ }
64
+ set realTimeFilteringQuality(t) {
65
+ this._realTimeFilteringQuality = t, this.markAsDirty(1);
66
+ }
67
+ /**
68
+ * Can this material render to several textures at once
69
+ */
70
+ get canRenderToMRT() {
71
+ return !0;
72
+ }
73
+ /**
74
+ * Attaches a new image processing configuration to the PBR Material.
75
+ * @param configuration
76
+ */
77
+ _attachImageProcessingConfiguration(t) {
78
+ t !== this._imageProcessingConfiguration && (this._imageProcessingConfiguration && this._imageProcessingObserver && this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver), t ? this._imageProcessingConfiguration = t : this._imageProcessingConfiguration = this.getScene().imageProcessingConfiguration, this._imageProcessingConfiguration && (this._imageProcessingObserver = this._imageProcessingConfiguration.onUpdateParameters.add(() => {
79
+ this._markAllSubMeshesAsImageProcessingDirty();
80
+ })));
81
+ }
82
+ /**
83
+ * Instantiates a new PBRMaterial instance.
84
+ *
85
+ * @param name The material name
86
+ * @param scene The scene the material will be use in.
87
+ */
88
+ constructor(t, e) {
89
+ super(t, e), this._directIntensity = 1, this._emissiveIntensity = 1, this._environmentIntensity = 1, this._specularIntensity = 1, this._lightingInfos = new X(this._directIntensity, this._emissiveIntensity, this._environmentIntensity, this._specularIntensity), this._disableBumpMap = !1, this._albedoTexture = null, this._ambientTexture = null, this._ambientTextureStrength = 1, this._ambientTextureImpactOnAnalyticalLights = _.DEFAULT_AO_ON_ANALYTICAL_LIGHTS, this._opacityTexture = null, this._reflectionTexture = null, this._emissiveTexture = null, this._reflectivityTexture = null, this._metallicTexture = null, this._metallic = null, this._roughness = null, this._metallicF0Factor = 1, this._metallicReflectanceColor = p.White(), this._useOnlyMetallicFromMetallicReflectanceTexture = !1, this._metallicReflectanceTexture = null, this._reflectanceTexture = null, this._microSurfaceTexture = null, this._bumpTexture = null, this._lightmapTexture = null, this._ambientColor = new p(0, 0, 0), this._albedoColor = new p(1, 1, 1), this._reflectivityColor = new p(1, 1, 1), this._reflectionColor = new p(1, 1, 1), this._emissiveColor = new p(0, 0, 0), this._microSurface = 0.9, this._useLightmapAsShadowmap = !1, this._useHorizonOcclusion = !0, this._useRadianceOcclusion = !0, this._useAlphaFromAlbedoTexture = !1, this._useSpecularOverAlpha = !0, this._useMicroSurfaceFromReflectivityMapAlpha = !1, this._useRoughnessFromMetallicTextureAlpha = !0, this._useRoughnessFromMetallicTextureGreen = !1, this._useMetallnessFromMetallicTextureBlue = !1, this._useAmbientOcclusionFromMetallicTextureRed = !1, this._useAmbientInGrayScale = !1, this._useAutoMicroSurfaceFromReflectivityMap = !1, this._lightFalloff = _.LIGHTFALLOFF_PHYSICAL, this._useRadianceOverAlpha = !0, this._useObjectSpaceNormalMap = !1, this._useParallax = !1, this._useParallaxOcclusion = !1, this._parallaxScaleBias = 0.05, this._disableLighting = !1, this._maxSimultaneousLights = 4, this._invertNormalMapX = !1, this._invertNormalMapY = !1, this._twoSidedLighting = !1, this._alphaCutOff = 0.4, this._forceAlphaTest = !1, this._useAlphaFresnel = !1, this._useLinearAlphaFresnel = !1, this._environmentBRDFTexture = null, this._forceIrradianceInFragment = !1, this._realTimeFiltering = !1, this._realTimeFilteringQuality = 8, this._forceNormalForward = !1, this._enableSpecularAntiAliasing = !1, this._imageProcessingObserver = null, this._renderTargets = new G(16), this._globalAmbientColor = new p(0, 0, 0), this._useLogarithmicDepth = !1, this._unlit = !1, this._applyDecalMapAfterDetailMap = !1, this._debugMode = 0, this.debugMode = 0, this.debugLimit = -1, this.debugFactor = 1, this._cacheHasRenderTargetTextures = !1, this.brdf = new k(this), this.clearCoat = new Q(this), this.iridescence = new W(this), this.anisotropy = new K(this), this.sheen = new J(this), this.subSurface = new j(this), this.detailMap = new $(this), this._attachImageProcessingConfiguration(null), this.getRenderTargetTextures = () => (this._renderTargets.reset(), l.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget && this._renderTargets.push(this._reflectionTexture), this._eventInfo.renderTargets = this._renderTargets, this._callbackPluginEventFillRenderTargetTextures(this._eventInfo), this._renderTargets), this._environmentBRDFTexture = H(this.getScene()), this.prePassConfiguration = new N();
90
+ }
91
+ /**
92
+ * Gets a boolean indicating that current material needs to register RTT
93
+ */
94
+ get hasRenderTargetTextures() {
95
+ return l.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget ? !0 : this._cacheHasRenderTargetTextures;
96
+ }
97
+ /**
98
+ * Can this material render to prepass
99
+ */
100
+ get isPrePassCapable() {
101
+ return !this.disableDepthWrite;
102
+ }
103
+ /**
104
+ * Gets the name of the material class.
105
+ */
106
+ getClassName() {
107
+ return "PBRBaseMaterial";
108
+ }
109
+ /**
110
+ * Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.
111
+ */
112
+ get useLogarithmicDepth() {
113
+ return this._useLogarithmicDepth;
114
+ }
115
+ /**
116
+ * Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.
117
+ */
118
+ set useLogarithmicDepth(t) {
119
+ this._useLogarithmicDepth = t && this.getScene().getEngine().getCaps().fragmentDepthSupported;
120
+ }
121
+ /**
122
+ * Returns true if alpha blending should be disabled.
123
+ */
124
+ get _disableAlphaBlending() {
125
+ var t;
126
+ return this._transparencyMode === _.PBRMATERIAL_OPAQUE || this._transparencyMode === _.PBRMATERIAL_ALPHATEST || ((t = this.subSurface) === null || t === void 0 ? void 0 : t.disableAlphaBlending);
127
+ }
128
+ /**
129
+ * Specifies whether or not this material should be rendered in alpha blend mode.
130
+ */
131
+ needAlphaBlending() {
132
+ return this._disableAlphaBlending ? !1 : this.alpha < 1 || this._opacityTexture != null || this._shouldUseAlphaFromAlbedoTexture();
133
+ }
134
+ /**
135
+ * Specifies whether or not this material should be rendered in alpha test mode.
136
+ */
137
+ needAlphaTesting() {
138
+ var t;
139
+ return this._forceAlphaTest ? !0 : !((t = this.subSurface) === null || t === void 0) && t.disableAlphaBlending ? !1 : this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === _.PBRMATERIAL_ALPHATEST);
140
+ }
141
+ /**
142
+ * Specifies whether or not the alpha value of the albedo texture should be used for alpha blending.
143
+ */
144
+ _shouldUseAlphaFromAlbedoTexture() {
145
+ return this._albedoTexture != null && this._albedoTexture.hasAlpha && this._useAlphaFromAlbedoTexture && this._transparencyMode !== _.PBRMATERIAL_OPAQUE;
146
+ }
147
+ /**
148
+ * Specifies whether or not there is a usable alpha channel for transparency.
149
+ */
150
+ _hasAlphaChannel() {
151
+ return this._albedoTexture != null && this._albedoTexture.hasAlpha || this._opacityTexture != null;
152
+ }
153
+ /**
154
+ * Gets the texture used for the alpha test.
155
+ */
156
+ getAlphaTestTexture() {
157
+ return this._albedoTexture;
158
+ }
159
+ /**
160
+ * Specifies that the submesh is ready to be used.
161
+ * @param mesh - BJS mesh.
162
+ * @param subMesh - A submesh of the BJS mesh. Used to check if it is ready.
163
+ * @param useInstances - Specifies that instances should be used.
164
+ * @returns - boolean indicating that the submesh is ready or not.
165
+ */
166
+ isReadyForSubMesh(t, e, A) {
167
+ var R;
168
+ if (this._uniformBufferLayoutBuilt || this.buildUniformLayout(), e.effect && this.isFrozen && e.effect._wasPreviouslyReady && e.effect._wasPreviouslyUsingInstances === A)
169
+ return !0;
170
+ e.materialDefines || (this._callbackPluginEventGeneric(O.GetDefineNames, this._eventInfo), e.materialDefines = new F(this._eventInfo.defineNames));
171
+ const c = e.materialDefines;
172
+ if (this._isReadyForSubMesh(e))
173
+ return !0;
174
+ const T = this.getScene(), E = T.getEngine();
175
+ if (c._areTexturesDirty && (this._eventInfo.hasRenderTargetTextures = !1, this._callbackPluginEventHasRenderTargetTextures(this._eventInfo), this._cacheHasRenderTargetTextures = this._eventInfo.hasRenderTargetTextures, T.texturesEnabled)) {
176
+ if (this._albedoTexture && l.DiffuseTextureEnabled && !this._albedoTexture.isReadyOrNotBlocking() || this._ambientTexture && l.AmbientTextureEnabled && !this._ambientTexture.isReadyOrNotBlocking() || this._opacityTexture && l.OpacityTextureEnabled && !this._opacityTexture.isReadyOrNotBlocking())
177
+ return !1;
178
+ const f = this._getReflectionTexture();
179
+ if (f && l.ReflectionTextureEnabled) {
180
+ if (!f.isReadyOrNotBlocking())
181
+ return !1;
182
+ if (f.irradianceTexture) {
183
+ if (!f.irradianceTexture.isReadyOrNotBlocking())
184
+ return !1;
185
+ } else if (!f.sphericalPolynomial && (!((R = f.getInternalTexture()) === null || R === void 0) && R._sphericalPolynomialPromise))
186
+ return !1;
187
+ }
188
+ if (this._lightmapTexture && l.LightmapTextureEnabled && !this._lightmapTexture.isReadyOrNotBlocking() || this._emissiveTexture && l.EmissiveTextureEnabled && !this._emissiveTexture.isReadyOrNotBlocking())
189
+ return !1;
190
+ if (l.SpecularTextureEnabled) {
191
+ if (this._metallicTexture) {
192
+ if (!this._metallicTexture.isReadyOrNotBlocking())
193
+ return !1;
194
+ } else if (this._reflectivityTexture && !this._reflectivityTexture.isReadyOrNotBlocking())
195
+ return !1;
196
+ if (this._metallicReflectanceTexture && !this._metallicReflectanceTexture.isReadyOrNotBlocking() || this._reflectanceTexture && !this._reflectanceTexture.isReadyOrNotBlocking() || this._microSurfaceTexture && !this._microSurfaceTexture.isReadyOrNotBlocking())
197
+ return !1;
198
+ }
199
+ if (E.getCaps().standardDerivatives && this._bumpTexture && l.BumpTextureEnabled && !this._disableBumpMap && !this._bumpTexture.isReady() || this._environmentBRDFTexture && l.ReflectionTextureEnabled && !this._environmentBRDFTexture.isReady())
200
+ return !1;
201
+ }
202
+ if (this._eventInfo.isReadyForSubMesh = !0, this._eventInfo.defines = c, this._eventInfo.subMesh = e, this._callbackPluginEventIsReadyForSubMesh(this._eventInfo), !this._eventInfo.isReadyForSubMesh || c._areImageProcessingDirty && this._imageProcessingConfiguration && !this._imageProcessingConfiguration.isReady())
203
+ return !1;
204
+ !E.getCaps().standardDerivatives && !t.isVerticesDataPresent(L.NormalKind) && (t.createNormals(!0), B.Warn("PBRMaterial: Normals have been created for the mesh: " + t.name));
205
+ const o = e.effect, h = c._areLightsDisposed;
206
+ let r = this._prepareEffect(t, c, this.onCompiled, this.onError, A, null, e.getRenderingMesh().hasThinInstances), n = !1;
207
+ if (r)
208
+ if (this._onEffectCreatedObservable && (S.effect = r, S.subMesh = e, this._onEffectCreatedObservable.notifyObservers(S)), this.allowShaderHotSwapping && o && !r.isReady()) {
209
+ if (r = o, c.markAsUnprocessed(), n = this.isFrozen, h)
210
+ return c._areLightsDisposed = !0, !1;
211
+ } else
212
+ T.resetCachedMaterial(), e.setEffect(r, c, this._materialContext);
213
+ return !e.effect || !e.effect.isReady() ? !1 : (c._renderId = T.getRenderId(), e.effect._wasPreviouslyReady = !n, e.effect._wasPreviouslyUsingInstances = !!A, this._checkScenePerformancePriority(), !0);
214
+ }
215
+ /**
216
+ * Specifies if the material uses metallic roughness workflow.
217
+ * @returns boolean specifying if the material uses metallic roughness workflow.
218
+ */
219
+ isMetallicWorkflow() {
220
+ return !!(this._metallic != null || this._roughness != null || this._metallicTexture);
221
+ }
222
+ _prepareEffect(t, e, A = null, R = null, c = null, T = null, E) {
223
+ if (this._prepareDefines(t, e, c, T, E), !e.isDirty)
224
+ return null;
225
+ e.markAsProcessed();
226
+ const h = this.getScene().getEngine(), r = new Z();
227
+ let n = 0;
228
+ e.USESPHERICALINVERTEX && r.addFallback(n++, "USESPHERICALINVERTEX"), e.FOG && r.addFallback(n, "FOG"), e.SPECULARAA && r.addFallback(n, "SPECULARAA"), e.POINTSIZE && r.addFallback(n, "POINTSIZE"), e.LOGARITHMICDEPTH && r.addFallback(n, "LOGARITHMICDEPTH"), e.PARALLAX && r.addFallback(n, "PARALLAX"), e.PARALLAXOCCLUSION && r.addFallback(n++, "PARALLAXOCCLUSION"), e.ENVIRONMENTBRDF && r.addFallback(n++, "ENVIRONMENTBRDF"), e.TANGENT && r.addFallback(n++, "TANGENT"), e.BUMP && r.addFallback(n++, "BUMP"), n = s.HandleFallbacksForShadows(e, r, this._maxSimultaneousLights, n++), e.SPECULARTERM && r.addFallback(n++, "SPECULARTERM"), e.USESPHERICALFROMREFLECTIONMAP && r.addFallback(n++, "USESPHERICALFROMREFLECTIONMAP"), e.USEIRRADIANCEMAP && r.addFallback(n++, "USEIRRADIANCEMAP"), e.LIGHTMAP && r.addFallback(n++, "LIGHTMAP"), e.NORMAL && r.addFallback(n++, "NORMAL"), e.AMBIENT && r.addFallback(n++, "AMBIENT"), e.EMISSIVE && r.addFallback(n++, "EMISSIVE"), e.VERTEXCOLOR && r.addFallback(n++, "VERTEXCOLOR"), e.MORPHTARGETS && r.addFallback(n++, "MORPHTARGETS"), e.MULTIVIEW && r.addFallback(0, "MULTIVIEW");
229
+ const f = [L.PositionKind];
230
+ e.NORMAL && f.push(L.NormalKind), e.TANGENT && f.push(L.TangentKind);
231
+ for (let C = 1; C <= 6; ++C)
232
+ e["UV" + C] && f.push(`uv${C === 1 ? "" : C}`);
233
+ e.VERTEXCOLOR && f.push(L.ColorKind), e.INSTANCESCOLOR && f.push(L.ColorInstanceKind), s.PrepareAttributesForBones(f, t, e, r), s.PrepareAttributesForInstances(f, e), s.PrepareAttributesForMorphTargets(f, t, e), s.PrepareAttributesForBakedVertexAnimation(f, t, e);
234
+ let u = "pbr";
235
+ const i = [
236
+ "world",
237
+ "view",
238
+ "viewProjection",
239
+ "vEyePosition",
240
+ "vLightsType",
241
+ "vAmbientColor",
242
+ "vAlbedoColor",
243
+ "vReflectivityColor",
244
+ "vMetallicReflectanceFactors",
245
+ "vEmissiveColor",
246
+ "visibility",
247
+ "vReflectionColor",
248
+ "vFogInfos",
249
+ "vFogColor",
250
+ "pointSize",
251
+ "vAlbedoInfos",
252
+ "vAmbientInfos",
253
+ "vOpacityInfos",
254
+ "vReflectionInfos",
255
+ "vReflectionPosition",
256
+ "vReflectionSize",
257
+ "vEmissiveInfos",
258
+ "vReflectivityInfos",
259
+ "vReflectionFilteringInfo",
260
+ "vMetallicReflectanceInfos",
261
+ "vReflectanceInfos",
262
+ "vMicroSurfaceSamplerInfos",
263
+ "vBumpInfos",
264
+ "vLightmapInfos",
265
+ "mBones",
266
+ "albedoMatrix",
267
+ "ambientMatrix",
268
+ "opacityMatrix",
269
+ "reflectionMatrix",
270
+ "emissiveMatrix",
271
+ "reflectivityMatrix",
272
+ "normalMatrix",
273
+ "microSurfaceSamplerMatrix",
274
+ "bumpMatrix",
275
+ "lightmapMatrix",
276
+ "metallicReflectanceMatrix",
277
+ "reflectanceMatrix",
278
+ "vLightingIntensity",
279
+ "logarithmicDepthConstant",
280
+ "vSphericalX",
281
+ "vSphericalY",
282
+ "vSphericalZ",
283
+ "vSphericalXX_ZZ",
284
+ "vSphericalYY_ZZ",
285
+ "vSphericalZZ",
286
+ "vSphericalXY",
287
+ "vSphericalYZ",
288
+ "vSphericalZX",
289
+ "vSphericalL00",
290
+ "vSphericalL1_1",
291
+ "vSphericalL10",
292
+ "vSphericalL11",
293
+ "vSphericalL2_2",
294
+ "vSphericalL2_1",
295
+ "vSphericalL20",
296
+ "vSphericalL21",
297
+ "vSphericalL22",
298
+ "vReflectionMicrosurfaceInfos",
299
+ "vTangentSpaceParams",
300
+ "boneTextureWidth",
301
+ "vDebugMode",
302
+ "morphTargetTextureInfo",
303
+ "morphTargetTextureIndices"
304
+ ], a = [
305
+ "albedoSampler",
306
+ "reflectivitySampler",
307
+ "ambientSampler",
308
+ "emissiveSampler",
309
+ "bumpSampler",
310
+ "lightmapSampler",
311
+ "opacitySampler",
312
+ "reflectionSampler",
313
+ "reflectionSamplerLow",
314
+ "reflectionSamplerHigh",
315
+ "irradianceSampler",
316
+ "microSurfaceSampler",
317
+ "environmentBrdfSampler",
318
+ "boneSampler",
319
+ "metallicReflectanceSampler",
320
+ "reflectanceSampler",
321
+ "morphTargets",
322
+ "oitDepthSampler",
323
+ "oitFrontColorSampler"
324
+ ], m = ["Material", "Scene", "Mesh"];
325
+ this._eventInfo.fallbacks = r, this._eventInfo.fallbackRank = n, this._eventInfo.defines = e, this._eventInfo.uniforms = i, this._eventInfo.attributes = f, this._eventInfo.samplers = a, this._eventInfo.uniformBuffersNames = m, this._eventInfo.customCode = void 0, this._eventInfo.mesh = t, this._callbackPluginEventGeneric(O.PrepareEffect, this._eventInfo), N.AddUniforms(i), q(i), g && (g.PrepareUniforms(i, e), g.PrepareSamplers(a, e)), s.PrepareUniformsAndSamplersList({
326
+ uniformsNames: i,
327
+ uniformBuffersNames: m,
328
+ samplers: a,
329
+ defines: e,
330
+ maxSimultaneousLights: this._maxSimultaneousLights
331
+ });
332
+ const d = {};
333
+ this.customShaderNameResolve && (u = this.customShaderNameResolve(u, i, m, a, e, f, d));
334
+ const P = e.toString(), b = h.createEffect(u, {
335
+ attributes: f,
336
+ uniformsNames: i,
337
+ uniformBuffersNames: m,
338
+ samplers: a,
339
+ defines: P,
340
+ fallbacks: r,
341
+ onCompiled: A,
342
+ onError: R,
343
+ indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: e.NUM_MORPH_INFLUENCERS },
344
+ processFinalCode: d.processFinalCode,
345
+ processCodeAfterIncludes: this._eventInfo.customCode,
346
+ multiTarget: e.PREPASS
347
+ }, h);
348
+ return this._eventInfo.customCode = void 0, b;
349
+ }
350
+ _prepareDefines(t, e, A = null, R = null, c = !1) {
351
+ var T;
352
+ const E = this.getScene(), o = E.getEngine();
353
+ s.PrepareDefinesForLights(E, t, e, !0, this._maxSimultaneousLights, this._disableLighting), e._needNormals = !0, s.PrepareDefinesForMultiview(E, e);
354
+ const h = this.needAlphaBlendingForMesh(t) && this.getScene().useOrderIndependentTransparency;
355
+ if (s.PrepareDefinesForPrePass(E, e, this.canRenderToMRT && !h), s.PrepareDefinesForOIT(E, e, h), e.METALLICWORKFLOW = this.isMetallicWorkflow(), e._areTexturesDirty) {
356
+ e._needUVs = !1;
357
+ for (let r = 1; r <= 6; ++r)
358
+ e["MAINUV" + r] = !1;
359
+ if (E.texturesEnabled) {
360
+ e.ALBEDODIRECTUV = 0, e.AMBIENTDIRECTUV = 0, e.OPACITYDIRECTUV = 0, e.EMISSIVEDIRECTUV = 0, e.REFLECTIVITYDIRECTUV = 0, e.MICROSURFACEMAPDIRECTUV = 0, e.METALLIC_REFLECTANCEDIRECTUV = 0, e.REFLECTANCEDIRECTUV = 0, e.BUMPDIRECTUV = 0, e.LIGHTMAPDIRECTUV = 0, o.getCaps().textureLOD && (e.LODBASEDMICROSFURACE = !0), this._albedoTexture && l.DiffuseTextureEnabled ? (s.PrepareDefinesForMergedUV(this._albedoTexture, e, "ALBEDO"), e.GAMMAALBEDO = this._albedoTexture.gammaSpace) : e.ALBEDO = !1, this._ambientTexture && l.AmbientTextureEnabled ? (s.PrepareDefinesForMergedUV(this._ambientTexture, e, "AMBIENT"), e.AMBIENTINGRAYSCALE = this._useAmbientInGrayScale) : e.AMBIENT = !1, this._opacityTexture && l.OpacityTextureEnabled ? (s.PrepareDefinesForMergedUV(this._opacityTexture, e, "OPACITY"), e.OPACITYRGB = this._opacityTexture.getAlphaFromRGB) : e.OPACITY = !1;
361
+ const r = this._getReflectionTexture();
362
+ if (r && l.ReflectionTextureEnabled) {
363
+ switch (e.REFLECTION = !0, e.GAMMAREFLECTION = r.gammaSpace, e.RGBDREFLECTION = r.isRGBD, e.LODINREFLECTIONALPHA = r.lodLevelInAlpha, e.LINEARSPECULARREFLECTION = r.linearSpecularLOD, this.realTimeFiltering && this.realTimeFilteringQuality > 0 ? (e.NUM_SAMPLES = "" + this.realTimeFilteringQuality, o._features.needTypeSuffixInShaderConstants && (e.NUM_SAMPLES = e.NUM_SAMPLES + "u"), e.REALTIME_FILTERING = !0) : e.REALTIME_FILTERING = !1, e.INVERTCUBICMAP = r.coordinatesMode === I.INVCUBIC_MODE, e.REFLECTIONMAP_3D = r.isCube, e.REFLECTIONMAP_OPPOSITEZ = e.REFLECTIONMAP_3D && this.getScene().useRightHandedSystem ? !r.invertZ : r.invertZ, e.REFLECTIONMAP_CUBIC = !1, e.REFLECTIONMAP_EXPLICIT = !1, e.REFLECTIONMAP_PLANAR = !1, e.REFLECTIONMAP_PROJECTION = !1, e.REFLECTIONMAP_SKYBOX = !1, e.REFLECTIONMAP_SPHERICAL = !1, e.REFLECTIONMAP_EQUIRECTANGULAR = !1, e.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = !1, e.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = !1, r.coordinatesMode) {
364
+ case I.EXPLICIT_MODE:
365
+ e.REFLECTIONMAP_EXPLICIT = !0;
366
+ break;
367
+ case I.PLANAR_MODE:
368
+ e.REFLECTIONMAP_PLANAR = !0;
369
+ break;
370
+ case I.PROJECTION_MODE:
371
+ e.REFLECTIONMAP_PROJECTION = !0;
372
+ break;
373
+ case I.SKYBOX_MODE:
374
+ e.REFLECTIONMAP_SKYBOX = !0;
375
+ break;
376
+ case I.SPHERICAL_MODE:
377
+ e.REFLECTIONMAP_SPHERICAL = !0;
378
+ break;
379
+ case I.EQUIRECTANGULAR_MODE:
380
+ e.REFLECTIONMAP_EQUIRECTANGULAR = !0;
381
+ break;
382
+ case I.FIXED_EQUIRECTANGULAR_MODE:
383
+ e.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = !0;
384
+ break;
385
+ case I.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:
386
+ e.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = !0;
387
+ break;
388
+ case I.CUBIC_MODE:
389
+ case I.INVCUBIC_MODE:
390
+ default:
391
+ e.REFLECTIONMAP_CUBIC = !0, e.USE_LOCAL_REFLECTIONMAP_CUBIC = !!r.boundingBoxSize;
392
+ break;
393
+ }
394
+ r.coordinatesMode !== I.SKYBOX_MODE && (r.irradianceTexture ? (e.USEIRRADIANCEMAP = !0, e.USESPHERICALFROMREFLECTIONMAP = !1) : r.isCube && (e.USESPHERICALFROMREFLECTIONMAP = !0, e.USEIRRADIANCEMAP = !1, this._forceIrradianceInFragment || this.realTimeFiltering || o.getCaps().maxVaryingVectors <= 8 ? e.USESPHERICALINVERTEX = !1 : e.USESPHERICALINVERTEX = !0));
395
+ } else
396
+ e.REFLECTION = !1, e.REFLECTIONMAP_3D = !1, e.REFLECTIONMAP_SPHERICAL = !1, e.REFLECTIONMAP_PLANAR = !1, e.REFLECTIONMAP_CUBIC = !1, e.USE_LOCAL_REFLECTIONMAP_CUBIC = !1, e.REFLECTIONMAP_PROJECTION = !1, e.REFLECTIONMAP_SKYBOX = !1, e.REFLECTIONMAP_EXPLICIT = !1, e.REFLECTIONMAP_EQUIRECTANGULAR = !1, e.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = !1, e.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = !1, e.INVERTCUBICMAP = !1, e.USESPHERICALFROMREFLECTIONMAP = !1, e.USEIRRADIANCEMAP = !1, e.USESPHERICALINVERTEX = !1, e.REFLECTIONMAP_OPPOSITEZ = !1, e.LODINREFLECTIONALPHA = !1, e.GAMMAREFLECTION = !1, e.RGBDREFLECTION = !1, e.LINEARSPECULARREFLECTION = !1;
397
+ if (this._lightmapTexture && l.LightmapTextureEnabled ? (s.PrepareDefinesForMergedUV(this._lightmapTexture, e, "LIGHTMAP"), e.USELIGHTMAPASSHADOWMAP = this._useLightmapAsShadowmap, e.GAMMALIGHTMAP = this._lightmapTexture.gammaSpace, e.RGBDLIGHTMAP = this._lightmapTexture.isRGBD) : e.LIGHTMAP = !1, this._emissiveTexture && l.EmissiveTextureEnabled ? (s.PrepareDefinesForMergedUV(this._emissiveTexture, e, "EMISSIVE"), e.GAMMAEMISSIVE = this._emissiveTexture.gammaSpace) : e.EMISSIVE = !1, l.SpecularTextureEnabled) {
398
+ if (this._metallicTexture ? (s.PrepareDefinesForMergedUV(this._metallicTexture, e, "REFLECTIVITY"), e.ROUGHNESSSTOREINMETALMAPALPHA = this._useRoughnessFromMetallicTextureAlpha, e.ROUGHNESSSTOREINMETALMAPGREEN = !this._useRoughnessFromMetallicTextureAlpha && this._useRoughnessFromMetallicTextureGreen, e.METALLNESSSTOREINMETALMAPBLUE = this._useMetallnessFromMetallicTextureBlue, e.AOSTOREINMETALMAPRED = this._useAmbientOcclusionFromMetallicTextureRed, e.REFLECTIVITY_GAMMA = !1) : this._reflectivityTexture ? (s.PrepareDefinesForMergedUV(this._reflectivityTexture, e, "REFLECTIVITY"), e.MICROSURFACEFROMREFLECTIVITYMAP = this._useMicroSurfaceFromReflectivityMapAlpha, e.MICROSURFACEAUTOMATIC = this._useAutoMicroSurfaceFromReflectivityMap, e.REFLECTIVITY_GAMMA = this._reflectivityTexture.gammaSpace) : e.REFLECTIVITY = !1, this._metallicReflectanceTexture || this._reflectanceTexture) {
399
+ const n = this._metallicReflectanceTexture !== null && this._metallicReflectanceTexture._texture === ((T = this._reflectanceTexture) === null || T === void 0 ? void 0 : T._texture) && this._metallicReflectanceTexture.checkTransformsAreIdentical(this._reflectanceTexture);
400
+ e.METALLIC_REFLECTANCE_USE_ALPHA_ONLY = this._useOnlyMetallicFromMetallicReflectanceTexture && !n, this._metallicReflectanceTexture ? (s.PrepareDefinesForMergedUV(this._metallicReflectanceTexture, e, "METALLIC_REFLECTANCE"), e.METALLIC_REFLECTANCE_GAMMA = this._metallicReflectanceTexture.gammaSpace) : e.METALLIC_REFLECTANCE = !1, this._reflectanceTexture && !n && (!this._metallicReflectanceTexture || this._metallicReflectanceTexture && this._useOnlyMetallicFromMetallicReflectanceTexture) ? (s.PrepareDefinesForMergedUV(this._reflectanceTexture, e, "REFLECTANCE"), e.REFLECTANCE_GAMMA = this._reflectanceTexture.gammaSpace) : e.REFLECTANCE = !1;
401
+ } else
402
+ e.METALLIC_REFLECTANCE = !1, e.REFLECTANCE = !1;
403
+ this._microSurfaceTexture ? s.PrepareDefinesForMergedUV(this._microSurfaceTexture, e, "MICROSURFACEMAP") : e.MICROSURFACEMAP = !1;
404
+ } else
405
+ e.REFLECTIVITY = !1, e.MICROSURFACEMAP = !1;
406
+ o.getCaps().standardDerivatives && this._bumpTexture && l.BumpTextureEnabled && !this._disableBumpMap ? (s.PrepareDefinesForMergedUV(this._bumpTexture, e, "BUMP"), this._useParallax && this._albedoTexture && l.DiffuseTextureEnabled ? (e.PARALLAX = !0, e.PARALLAXOCCLUSION = !!this._useParallaxOcclusion) : e.PARALLAX = !1, e.OBJECTSPACE_NORMALMAP = this._useObjectSpaceNormalMap) : (e.BUMP = !1, e.PARALLAX = !1, e.PARALLAXOCCLUSION = !1, e.OBJECTSPACE_NORMALMAP = !1), this._environmentBRDFTexture && l.ReflectionTextureEnabled ? (e.ENVIRONMENTBRDF = !0, e.ENVIRONMENTBRDF_RGBD = this._environmentBRDFTexture.isRGBD) : (e.ENVIRONMENTBRDF = !1, e.ENVIRONMENTBRDF_RGBD = !1), this._shouldUseAlphaFromAlbedoTexture() ? e.ALPHAFROMALBEDO = !0 : e.ALPHAFROMALBEDO = !1;
407
+ }
408
+ e.SPECULAROVERALPHA = this._useSpecularOverAlpha, this._lightFalloff === _.LIGHTFALLOFF_STANDARD ? (e.USEPHYSICALLIGHTFALLOFF = !1, e.USEGLTFLIGHTFALLOFF = !1) : this._lightFalloff === _.LIGHTFALLOFF_GLTF ? (e.USEPHYSICALLIGHTFALLOFF = !1, e.USEGLTFLIGHTFALLOFF = !0) : (e.USEPHYSICALLIGHTFALLOFF = !0, e.USEGLTFLIGHTFALLOFF = !1), e.RADIANCEOVERALPHA = this._useRadianceOverAlpha, !this.backFaceCulling && this._twoSidedLighting ? e.TWOSIDEDLIGHTING = !0 : e.TWOSIDEDLIGHTING = !1, e.SPECULARAA = o.getCaps().standardDerivatives && this._enableSpecularAntiAliasing;
409
+ }
410
+ (e._areTexturesDirty || e._areMiscDirty) && (e.ALPHATESTVALUE = `${this._alphaCutOff}${this._alphaCutOff % 1 === 0 ? "." : ""}`, e.PREMULTIPLYALPHA = this.alphaMode === 7 || this.alphaMode === 8, e.ALPHABLEND = this.needAlphaBlendingForMesh(t), e.ALPHAFRESNEL = this._useAlphaFresnel || this._useLinearAlphaFresnel, e.LINEARALPHAFRESNEL = this._useLinearAlphaFresnel), e._areImageProcessingDirty && this._imageProcessingConfiguration && this._imageProcessingConfiguration.prepareDefines(e), e.FORCENORMALFORWARD = this._forceNormalForward, e.RADIANCEOCCLUSION = this._useRadianceOcclusion, e.HORIZONOCCLUSION = this._useHorizonOcclusion, e._areMiscDirty && (s.PrepareDefinesForMisc(t, E, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(t) || this._forceAlphaTest, e, this._applyDecalMapAfterDetailMap), e.UNLIT = this._unlit || (this.pointsCloud || this.wireframe) && !t.isVerticesDataPresent(L.NormalKind), e.DEBUGMODE = this._debugMode), s.PrepareDefinesForFrameBoundValues(E, o, this, e, !!A, R, c), this._eventInfo.defines = e, this._eventInfo.mesh = t, this._callbackPluginEventPrepareDefinesBeforeAttributes(this._eventInfo), s.PrepareDefinesForAttributes(t, e, !0, !0, !0, this._transparencyMode !== _.PBRMATERIAL_OPAQUE), this._callbackPluginEventPrepareDefines(this._eventInfo);
411
+ }
412
+ /**
413
+ * Force shader compilation
414
+ * @param mesh
415
+ * @param onCompiled
416
+ * @param options
417
+ */
418
+ forceCompilation(t, e, A) {
419
+ const R = Object.assign({ clipPlane: !1, useInstances: !1 }, A);
420
+ this._uniformBufferLayoutBuilt || this.buildUniformLayout(), this._callbackPluginEventGeneric(O.GetDefineNames, this._eventInfo);
421
+ const c = new F(this._eventInfo.defineNames), T = this._prepareEffect(t, c, void 0, void 0, R.useInstances, R.clipPlane, t.hasThinInstances);
422
+ this._onEffectCreatedObservable && (S.effect = T, S.subMesh = null, this._onEffectCreatedObservable.notifyObservers(S)), T.isReady() ? e && e(this) : T.onCompileObservable.add(() => {
423
+ e && e(this);
424
+ });
425
+ }
426
+ /**
427
+ * Initializes the uniform buffer layout for the shader.
428
+ */
429
+ buildUniformLayout() {
430
+ const t = this._uniformBuffer;
431
+ t.addUniform("vAlbedoInfos", 2), t.addUniform("vAmbientInfos", 4), t.addUniform("vOpacityInfos", 2), t.addUniform("vEmissiveInfos", 2), t.addUniform("vLightmapInfos", 2), t.addUniform("vReflectivityInfos", 3), t.addUniform("vMicroSurfaceSamplerInfos", 2), t.addUniform("vReflectionInfos", 2), t.addUniform("vReflectionFilteringInfo", 2), t.addUniform("vReflectionPosition", 3), t.addUniform("vReflectionSize", 3), t.addUniform("vBumpInfos", 3), t.addUniform("albedoMatrix", 16), t.addUniform("ambientMatrix", 16), t.addUniform("opacityMatrix", 16), t.addUniform("emissiveMatrix", 16), t.addUniform("lightmapMatrix", 16), t.addUniform("reflectivityMatrix", 16), t.addUniform("microSurfaceSamplerMatrix", 16), t.addUniform("bumpMatrix", 16), t.addUniform("vTangentSpaceParams", 2), t.addUniform("reflectionMatrix", 16), t.addUniform("vReflectionColor", 3), t.addUniform("vAlbedoColor", 4), t.addUniform("vLightingIntensity", 4), t.addUniform("vReflectionMicrosurfaceInfos", 3), t.addUniform("pointSize", 1), t.addUniform("vReflectivityColor", 4), t.addUniform("vEmissiveColor", 3), t.addUniform("vAmbientColor", 3), t.addUniform("vDebugMode", 2), t.addUniform("vMetallicReflectanceFactors", 4), t.addUniform("vMetallicReflectanceInfos", 2), t.addUniform("metallicReflectanceMatrix", 16), t.addUniform("vReflectanceInfos", 2), t.addUniform("reflectanceMatrix", 16), t.addUniform("vSphericalL00", 3), t.addUniform("vSphericalL1_1", 3), t.addUniform("vSphericalL10", 3), t.addUniform("vSphericalL11", 3), t.addUniform("vSphericalL2_2", 3), t.addUniform("vSphericalL2_1", 3), t.addUniform("vSphericalL20", 3), t.addUniform("vSphericalL21", 3), t.addUniform("vSphericalL22", 3), t.addUniform("vSphericalX", 3), t.addUniform("vSphericalY", 3), t.addUniform("vSphericalZ", 3), t.addUniform("vSphericalXX_ZZ", 3), t.addUniform("vSphericalYY_ZZ", 3), t.addUniform("vSphericalZZ", 3), t.addUniform("vSphericalXY", 3), t.addUniform("vSphericalYZ", 3), t.addUniform("vSphericalZX", 3), super.buildUniformLayout();
432
+ }
433
+ /**
434
+ * Binds the submesh data.
435
+ * @param world - The world matrix.
436
+ * @param mesh - The BJS mesh.
437
+ * @param subMesh - A submesh of the BJS mesh.
438
+ */
439
+ bindForSubMesh(t, e, A) {
440
+ var R, c, T, E;
441
+ const o = this.getScene(), h = A.materialDefines;
442
+ if (!h)
443
+ return;
444
+ const r = A.effect;
445
+ if (!r)
446
+ return;
447
+ this._activeEffect = r, e.getMeshUniformBuffer().bindToEffect(r, "Mesh"), e.transferToEffect(t);
448
+ const n = o.getEngine();
449
+ this._uniformBuffer.bindToEffect(r, "Material"), this.prePassConfiguration.bindForSubMesh(this._activeEffect, o, e, t, this.isFrozen), this._eventInfo.subMesh = A, this._callbackPluginEventHardBindForSubMesh(this._eventInfo), h.OBJECTSPACE_NORMALMAP && (t.toNormalMatrix(this._normalMatrix), this.bindOnlyNormalMatrix(this._normalMatrix));
450
+ const f = r._forceRebindOnNextCall || this._mustRebind(o, r, e.visibility);
451
+ s.BindBonesParameters(e, this._activeEffect, this.prePassConfiguration);
452
+ let u = null;
453
+ const i = this._uniformBuffer;
454
+ if (f) {
455
+ if (this.bindViewProjection(r), u = this._getReflectionTexture(), !i.useUbo || !this.isFrozen || !i.isSync || r._forceRebindOnNextCall) {
456
+ if (o.texturesEnabled) {
457
+ if (this._albedoTexture && l.DiffuseTextureEnabled && (i.updateFloat2("vAlbedoInfos", this._albedoTexture.coordinatesIndex, this._albedoTexture.level), s.BindTextureMatrix(this._albedoTexture, i, "albedo")), this._ambientTexture && l.AmbientTextureEnabled && (i.updateFloat4("vAmbientInfos", this._ambientTexture.coordinatesIndex, this._ambientTexture.level, this._ambientTextureStrength, this._ambientTextureImpactOnAnalyticalLights), s.BindTextureMatrix(this._ambientTexture, i, "ambient")), this._opacityTexture && l.OpacityTextureEnabled && (i.updateFloat2("vOpacityInfos", this._opacityTexture.coordinatesIndex, this._opacityTexture.level), s.BindTextureMatrix(this._opacityTexture, i, "opacity")), u && l.ReflectionTextureEnabled) {
458
+ if (i.updateMatrix("reflectionMatrix", u.getReflectionTextureMatrix()), i.updateFloat2("vReflectionInfos", u.level, 0), u.boundingBoxSize) {
459
+ const a = u;
460
+ i.updateVector3("vReflectionPosition", a.boundingBoxPosition), i.updateVector3("vReflectionSize", a.boundingBoxSize);
461
+ }
462
+ if (this.realTimeFiltering) {
463
+ const a = u.getSize().width;
464
+ i.updateFloat2("vReflectionFilteringInfo", a, Y.Log2(a));
465
+ }
466
+ if (!h.USEIRRADIANCEMAP) {
467
+ const a = u.sphericalPolynomial;
468
+ if (h.USESPHERICALFROMREFLECTIONMAP && a)
469
+ if (h.SPHERICAL_HARMONICS) {
470
+ const m = a.preScaledHarmonics;
471
+ i.updateVector3("vSphericalL00", m.l00), i.updateVector3("vSphericalL1_1", m.l1_1), i.updateVector3("vSphericalL10", m.l10), i.updateVector3("vSphericalL11", m.l11), i.updateVector3("vSphericalL2_2", m.l2_2), i.updateVector3("vSphericalL2_1", m.l2_1), i.updateVector3("vSphericalL20", m.l20), i.updateVector3("vSphericalL21", m.l21), i.updateVector3("vSphericalL22", m.l22);
472
+ } else
473
+ i.updateFloat3("vSphericalX", a.x.x, a.x.y, a.x.z), i.updateFloat3("vSphericalY", a.y.x, a.y.y, a.y.z), i.updateFloat3("vSphericalZ", a.z.x, a.z.y, a.z.z), i.updateFloat3("vSphericalXX_ZZ", a.xx.x - a.zz.x, a.xx.y - a.zz.y, a.xx.z - a.zz.z), i.updateFloat3("vSphericalYY_ZZ", a.yy.x - a.zz.x, a.yy.y - a.zz.y, a.yy.z - a.zz.z), i.updateFloat3("vSphericalZZ", a.zz.x, a.zz.y, a.zz.z), i.updateFloat3("vSphericalXY", a.xy.x, a.xy.y, a.xy.z), i.updateFloat3("vSphericalYZ", a.yz.x, a.yz.y, a.yz.z), i.updateFloat3("vSphericalZX", a.zx.x, a.zx.y, a.zx.z);
474
+ }
475
+ i.updateFloat3("vReflectionMicrosurfaceInfos", u.getSize().width, u.lodGenerationScale, u.lodGenerationOffset);
476
+ }
477
+ this._emissiveTexture && l.EmissiveTextureEnabled && (i.updateFloat2("vEmissiveInfos", this._emissiveTexture.coordinatesIndex, this._emissiveTexture.level), s.BindTextureMatrix(this._emissiveTexture, i, "emissive")), this._lightmapTexture && l.LightmapTextureEnabled && (i.updateFloat2("vLightmapInfos", this._lightmapTexture.coordinatesIndex, this._lightmapTexture.level), s.BindTextureMatrix(this._lightmapTexture, i, "lightmap")), l.SpecularTextureEnabled && (this._metallicTexture ? (i.updateFloat3("vReflectivityInfos", this._metallicTexture.coordinatesIndex, this._metallicTexture.level, this._ambientTextureStrength), s.BindTextureMatrix(this._metallicTexture, i, "reflectivity")) : this._reflectivityTexture && (i.updateFloat3("vReflectivityInfos", this._reflectivityTexture.coordinatesIndex, this._reflectivityTexture.level, 1), s.BindTextureMatrix(this._reflectivityTexture, i, "reflectivity")), this._metallicReflectanceTexture && (i.updateFloat2("vMetallicReflectanceInfos", this._metallicReflectanceTexture.coordinatesIndex, this._metallicReflectanceTexture.level), s.BindTextureMatrix(this._metallicReflectanceTexture, i, "metallicReflectance")), this._reflectanceTexture && h.REFLECTANCE && (i.updateFloat2("vReflectanceInfos", this._reflectanceTexture.coordinatesIndex, this._reflectanceTexture.level), s.BindTextureMatrix(this._reflectanceTexture, i, "reflectance")), this._microSurfaceTexture && (i.updateFloat2("vMicroSurfaceSamplerInfos", this._microSurfaceTexture.coordinatesIndex, this._microSurfaceTexture.level), s.BindTextureMatrix(this._microSurfaceTexture, i, "microSurfaceSampler"))), this._bumpTexture && n.getCaps().standardDerivatives && l.BumpTextureEnabled && !this._disableBumpMap && (i.updateFloat3("vBumpInfos", this._bumpTexture.coordinatesIndex, this._bumpTexture.level, this._parallaxScaleBias), s.BindTextureMatrix(this._bumpTexture, i, "bump"), o._mirroredCameraPosition ? i.updateFloat2("vTangentSpaceParams", this._invertNormalMapX ? 1 : -1, this._invertNormalMapY ? 1 : -1) : i.updateFloat2("vTangentSpaceParams", this._invertNormalMapX ? -1 : 1, this._invertNormalMapY ? -1 : 1));
478
+ }
479
+ if (this.pointsCloud && i.updateFloat("pointSize", this.pointSize), h.METALLICWORKFLOW) {
480
+ x.Color3[0].r = this._metallic === void 0 || this._metallic === null ? 1 : this._metallic, x.Color3[0].g = this._roughness === void 0 || this._roughness === null ? 1 : this._roughness, i.updateColor4("vReflectivityColor", x.Color3[0], 1);
481
+ const a = (c = (R = this.subSurface) === null || R === void 0 ? void 0 : R._indexOfRefraction) !== null && c !== void 0 ? c : 1.5, m = 1, d = Math.pow((a - m) / (a + m), 2);
482
+ this._metallicReflectanceColor.scaleToRef(d * this._metallicF0Factor, x.Color3[0]);
483
+ const P = this._metallicF0Factor;
484
+ i.updateColor4("vMetallicReflectanceFactors", x.Color3[0], P);
485
+ } else
486
+ i.updateColor4("vReflectivityColor", this._reflectivityColor, this._microSurface);
487
+ i.updateColor3("vEmissiveColor", l.EmissiveTextureEnabled ? this._emissiveColor : p.BlackReadOnly), i.updateColor3("vReflectionColor", this._reflectionColor), !h.SS_REFRACTION && (!((T = this.subSurface) === null || T === void 0) && T._linkRefractionWithTransparency) ? i.updateColor4("vAlbedoColor", this._albedoColor, 1) : i.updateColor4("vAlbedoColor", this._albedoColor, this.alpha), this._lightingInfos.x = this._directIntensity, this._lightingInfos.y = this._emissiveIntensity, this._lightingInfos.z = this._environmentIntensity * o.environmentIntensity, this._lightingInfos.w = this._specularIntensity, i.updateVector4("vLightingIntensity", this._lightingInfos), o.ambientColor.multiplyToRef(this._ambientColor, this._globalAmbientColor), i.updateColor3("vAmbientColor", this._globalAmbientColor), i.updateFloat2("vDebugMode", this.debugLimit, this.debugFactor);
488
+ }
489
+ o.texturesEnabled && (this._albedoTexture && l.DiffuseTextureEnabled && i.setTexture("albedoSampler", this._albedoTexture), this._ambientTexture && l.AmbientTextureEnabled && i.setTexture("ambientSampler", this._ambientTexture), this._opacityTexture && l.OpacityTextureEnabled && i.setTexture("opacitySampler", this._opacityTexture), u && l.ReflectionTextureEnabled && (h.LODBASEDMICROSFURACE ? i.setTexture("reflectionSampler", u) : (i.setTexture("reflectionSampler", u._lodTextureMid || u), i.setTexture("reflectionSamplerLow", u._lodTextureLow || u), i.setTexture("reflectionSamplerHigh", u._lodTextureHigh || u)), h.USEIRRADIANCEMAP && i.setTexture("irradianceSampler", u.irradianceTexture)), h.ENVIRONMENTBRDF && i.setTexture("environmentBrdfSampler", this._environmentBRDFTexture), this._emissiveTexture && l.EmissiveTextureEnabled && i.setTexture("emissiveSampler", this._emissiveTexture), this._lightmapTexture && l.LightmapTextureEnabled && i.setTexture("lightmapSampler", this._lightmapTexture), l.SpecularTextureEnabled && (this._metallicTexture ? i.setTexture("reflectivitySampler", this._metallicTexture) : this._reflectivityTexture && i.setTexture("reflectivitySampler", this._reflectivityTexture), this._metallicReflectanceTexture && i.setTexture("metallicReflectanceSampler", this._metallicReflectanceTexture), this._reflectanceTexture && h.REFLECTANCE && i.setTexture("reflectanceSampler", this._reflectanceTexture), this._microSurfaceTexture && i.setTexture("microSurfaceSampler", this._microSurfaceTexture)), this._bumpTexture && n.getCaps().standardDerivatives && l.BumpTextureEnabled && !this._disableBumpMap && i.setTexture("bumpSampler", this._bumpTexture)), this.getScene().useOrderIndependentTransparency && this.needAlphaBlendingForMesh(e) && this.getScene().depthPeelingRenderer.bind(r), this._eventInfo.subMesh = A, this._callbackPluginEventBindForSubMesh(this._eventInfo), ee(this._activeEffect, this, o), this.bindEyePosition(r);
490
+ } else
491
+ o.getEngine()._features.needToAlwaysBindUniformBuffers && (this._needToBindSceneUbo = !0);
492
+ (f || !this.isFrozen) && (o.lightsEnabled && !this._disableLighting && s.BindLights(o, e, this._activeEffect, h, this._maxSimultaneousLights), (o.fogEnabled && e.applyFog && o.fogMode !== V.FOGMODE_NONE || u || e.receiveShadows || h.PREPASS) && this.bindView(r), s.BindFogParameters(o, e, this._activeEffect, !0), h.NUM_MORPH_INFLUENCERS && s.BindMorphTargetParameters(e, this._activeEffect), h.BAKED_VERTEX_ANIMATION_TEXTURE && ((E = e.bakedVertexAnimationManager) === null || E === void 0 || E.bind(r, h.INSTANCES)), this._imageProcessingConfiguration.bind(this._activeEffect), s.BindLogDepth(h, this._activeEffect, o)), this._afterBind(e, this._activeEffect), i.update();
493
+ }
494
+ /**
495
+ * Returns the animatable textures.
496
+ * If material have animatable metallic texture, then reflectivity texture will not be returned, even if it has animations.
497
+ * @returns - Array of animatable textures.
498
+ */
499
+ getAnimatables() {
500
+ const t = super.getAnimatables();
501
+ return this._albedoTexture && this._albedoTexture.animations && this._albedoTexture.animations.length > 0 && t.push(this._albedoTexture), this._ambientTexture && this._ambientTexture.animations && this._ambientTexture.animations.length > 0 && t.push(this._ambientTexture), this._opacityTexture && this._opacityTexture.animations && this._opacityTexture.animations.length > 0 && t.push(this._opacityTexture), this._reflectionTexture && this._reflectionTexture.animations && this._reflectionTexture.animations.length > 0 && t.push(this._reflectionTexture), this._emissiveTexture && this._emissiveTexture.animations && this._emissiveTexture.animations.length > 0 && t.push(this._emissiveTexture), this._metallicTexture && this._metallicTexture.animations && this._metallicTexture.animations.length > 0 ? t.push(this._metallicTexture) : this._reflectivityTexture && this._reflectivityTexture.animations && this._reflectivityTexture.animations.length > 0 && t.push(this._reflectivityTexture), this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0 && t.push(this._bumpTexture), this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0 && t.push(this._lightmapTexture), this._metallicReflectanceTexture && this._metallicReflectanceTexture.animations && this._metallicReflectanceTexture.animations.length > 0 && t.push(this._metallicReflectanceTexture), this._reflectanceTexture && this._reflectanceTexture.animations && this._reflectanceTexture.animations.length > 0 && t.push(this._reflectanceTexture), this._microSurfaceTexture && this._microSurfaceTexture.animations && this._microSurfaceTexture.animations.length > 0 && t.push(this._microSurfaceTexture), t;
502
+ }
503
+ /**
504
+ * Returns the texture used for reflections.
505
+ * @returns - Reflection texture if present. Otherwise, returns the environment texture.
506
+ */
507
+ _getReflectionTexture() {
508
+ return this._reflectionTexture ? this._reflectionTexture : this.getScene().environmentTexture;
509
+ }
510
+ /**
511
+ * Returns an array of the actively used textures.
512
+ * @returns - Array of BaseTextures
513
+ */
514
+ getActiveTextures() {
515
+ const t = super.getActiveTextures();
516
+ return this._albedoTexture && t.push(this._albedoTexture), this._ambientTexture && t.push(this._ambientTexture), this._opacityTexture && t.push(this._opacityTexture), this._reflectionTexture && t.push(this._reflectionTexture), this._emissiveTexture && t.push(this._emissiveTexture), this._reflectivityTexture && t.push(this._reflectivityTexture), this._metallicTexture && t.push(this._metallicTexture), this._metallicReflectanceTexture && t.push(this._metallicReflectanceTexture), this._reflectanceTexture && t.push(this._reflectanceTexture), this._microSurfaceTexture && t.push(this._microSurfaceTexture), this._bumpTexture && t.push(this._bumpTexture), this._lightmapTexture && t.push(this._lightmapTexture), t;
517
+ }
518
+ /**
519
+ * Checks to see if a texture is used in the material.
520
+ * @param texture - Base texture to use.
521
+ * @returns - Boolean specifying if a texture is used in the material.
522
+ */
523
+ hasTexture(t) {
524
+ return !!(super.hasTexture(t) || this._albedoTexture === t || this._ambientTexture === t || this._opacityTexture === t || this._reflectionTexture === t || this._emissiveTexture === t || this._reflectivityTexture === t || this._metallicTexture === t || this._metallicReflectanceTexture === t || this._reflectanceTexture === t || this._microSurfaceTexture === t || this._bumpTexture === t || this._lightmapTexture === t);
525
+ }
526
+ /**
527
+ * Sets the required values to the prepass renderer.
528
+ * It can't be sets when subsurface scattering of this material is disabled.
529
+ * When scene have ability to enable subsurface prepass effect, it will enable.
530
+ */
531
+ setPrePassRenderer() {
532
+ var t;
533
+ if (!(!((t = this.subSurface) === null || t === void 0) && t.isScatteringEnabled))
534
+ return !1;
535
+ const e = this.getScene().enableSubSurfaceForPrePass();
536
+ return e && (e.enabled = !0), !0;
537
+ }
538
+ /**
539
+ * Disposes the resources of the material.
540
+ * @param forceDisposeEffect - Forces the disposal of effects.
541
+ * @param forceDisposeTextures - Forces the disposal of all textures.
542
+ */
543
+ dispose(t, e) {
544
+ var A, R, c, T, E, o, h, r, n, f, u, i;
545
+ e && (this._environmentBRDFTexture && this.getScene().environmentBRDFTexture !== this._environmentBRDFTexture && this._environmentBRDFTexture.dispose(), (A = this._albedoTexture) === null || A === void 0 || A.dispose(), (R = this._ambientTexture) === null || R === void 0 || R.dispose(), (c = this._opacityTexture) === null || c === void 0 || c.dispose(), (T = this._reflectionTexture) === null || T === void 0 || T.dispose(), (E = this._emissiveTexture) === null || E === void 0 || E.dispose(), (o = this._metallicTexture) === null || o === void 0 || o.dispose(), (h = this._reflectivityTexture) === null || h === void 0 || h.dispose(), (r = this._bumpTexture) === null || r === void 0 || r.dispose(), (n = this._lightmapTexture) === null || n === void 0 || n.dispose(), (f = this._metallicReflectanceTexture) === null || f === void 0 || f.dispose(), (u = this._reflectanceTexture) === null || u === void 0 || u.dispose(), (i = this._microSurfaceTexture) === null || i === void 0 || i.dispose()), this._renderTargets.dispose(), this._imageProcessingConfiguration && this._imageProcessingObserver && this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver), super.dispose(t, e);
546
+ }
547
+ }
548
+ _.PBRMATERIAL_OPAQUE = M.MATERIAL_OPAQUE;
549
+ _.PBRMATERIAL_ALPHATEST = M.MATERIAL_ALPHATEST;
550
+ _.PBRMATERIAL_ALPHABLEND = M.MATERIAL_ALPHABLEND;
551
+ _.PBRMATERIAL_ALPHATESTANDBLEND = M.MATERIAL_ALPHATESTANDBLEND;
552
+ _.DEFAULT_AO_ON_ANALYTICAL_LIGHTS = 0;
553
+ _.LIGHTFALLOFF_PHYSICAL = 0;
554
+ _.LIGHTFALLOFF_GLTF = 1;
555
+ _.LIGHTFALLOFF_STANDARD = 2;
556
+ v([
557
+ U()
558
+ ], _.prototype, "_imageProcessingConfiguration", void 0);
559
+ v([
560
+ D("_markAllSubMeshesAsMiscDirty")
561
+ ], _.prototype, "debugMode", void 0);
562
+ v([
563
+ y()
564
+ ], _.prototype, "useLogarithmicDepth", null);
565
+ export {
566
+ _ as PBRBaseMaterial,
567
+ F as PBRMaterialDefines
568
+ };