@babylonjs/core 9.1.0 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/Animations/animation.js +2 -2
  2. package/Animations/animation.js.map +1 -1
  3. package/Animations/animationGroup.js +1 -1
  4. package/Animations/animationGroup.js.map +1 -1
  5. package/Animations/animatorAvatar.js +13 -12
  6. package/Animations/animatorAvatar.js.map +1 -1
  7. package/Animations/easing.js +1 -1
  8. package/Animations/easing.js.map +1 -1
  9. package/Animations/pathCursor.js +1 -2
  10. package/Animations/pathCursor.js.map +1 -1
  11. package/Cameras/Inputs/geospatialCameraPointersInput.js +10 -8
  12. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  13. package/Cameras/geospatialCameraMovement.js +6 -7
  14. package/Cameras/geospatialCameraMovement.js.map +1 -1
  15. package/Engines/Extensions/engine.multiview.js +6 -0
  16. package/Engines/Extensions/engine.multiview.js.map +1 -1
  17. package/Engines/abstractEngine.js +2 -2
  18. package/Engines/abstractEngine.js.map +1 -1
  19. package/Engines/constants.d.ts +9 -4
  20. package/Engines/constants.js +9 -4
  21. package/Engines/constants.js.map +1 -1
  22. package/Engines/webgpuEngine.js +2 -0
  23. package/Engines/webgpuEngine.js.map +1 -1
  24. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +6 -0
  25. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +38 -11
  26. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
  27. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.d.ts +105 -0
  28. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.js +318 -0
  29. package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.js.map +1 -0
  30. package/FrameGraph/Node/Blocks/index.d.ts +1 -0
  31. package/FrameGraph/Node/Blocks/index.js +1 -0
  32. package/FrameGraph/Node/Blocks/index.js.map +1 -1
  33. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +4 -0
  34. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +4 -0
  35. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  36. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +34 -0
  37. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +144 -0
  38. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -0
  39. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.d.ts +26 -0
  40. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js +82 -0
  41. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsSpatialBlurTask.js.map +1 -0
  42. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.d.ts +61 -0
  43. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js +207 -0
  44. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsTracingTask.js.map +1 -0
  45. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.d.ts +104 -0
  46. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js +218 -0
  47. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsVoxelizationTask.js.map +1 -0
  48. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +217 -0
  49. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +640 -0
  50. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -0
  51. package/FrameGraph/frameGraph.js +1 -0
  52. package/FrameGraph/frameGraph.js.map +1 -1
  53. package/FrameGraph/index.d.ts +1 -0
  54. package/FrameGraph/index.js +1 -0
  55. package/FrameGraph/index.js.map +1 -1
  56. package/Gizmos/boundingBoxGizmo.js +4 -0
  57. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  58. package/Layers/selectionOutlineLayer.d.ts +7 -0
  59. package/Layers/selectionOutlineLayer.js +18 -1
  60. package/Layers/selectionOutlineLayer.js.map +1 -1
  61. package/Layers/thinSelectionOutlineLayer.d.ts +7 -0
  62. package/Layers/thinSelectionOutlineLayer.js +86 -36
  63. package/Layers/thinSelectionOutlineLayer.js.map +1 -1
  64. package/Lights/Clustered/clusteredLightContainer.d.ts +6 -0
  65. package/Lights/Clustered/clusteredLightContainer.js +50 -5
  66. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  67. package/Lights/light.d.ts +7 -0
  68. package/Lights/light.js +10 -0
  69. package/Lights/light.js.map +1 -1
  70. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +13 -3
  71. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  72. package/Materials/PBR/openpbrMaterial.d.ts +166 -53
  73. package/Materials/PBR/openpbrMaterial.js +180 -61
  74. package/Materials/PBR/openpbrMaterial.js.map +1 -1
  75. package/Materials/PBR/pbrBRDFConfiguration.js +1 -1
  76. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  77. package/Materials/PBR/pbrBaseMaterial.d.ts +36 -31
  78. package/Materials/PBR/pbrBaseMaterial.js +2 -32
  79. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  80. package/Materials/Textures/Filtering/hdrFiltering.js +6 -0
  81. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  82. package/Materials/Textures/cubeTexture.js +10 -0
  83. package/Materials/Textures/cubeTexture.js.map +1 -1
  84. package/Materials/Textures/envCubeTexture.js +13 -13
  85. package/Materials/Textures/envCubeTexture.js.map +1 -1
  86. package/Materials/environmentLighting.defines.d.ts +31 -0
  87. package/Materials/environmentLighting.defines.js +33 -0
  88. package/Materials/environmentLighting.defines.js.map +1 -0
  89. package/Materials/material.js +1 -0
  90. package/Materials/material.js.map +1 -1
  91. package/Materials/materialHelper.functions.js +9 -3
  92. package/Materials/materialHelper.functions.js.map +1 -1
  93. package/Materials/materialHelper.geometryrendering.js +10 -3
  94. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  95. package/Materials/prepass.defines.d.ts +43 -0
  96. package/Materials/prepass.defines.js +45 -0
  97. package/Materials/prepass.defines.js.map +1 -0
  98. package/Materials/standardMaterial.d.ts +36 -31
  99. package/Materials/standardMaterial.js +2 -32
  100. package/Materials/standardMaterial.js.map +1 -1
  101. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +101 -62
  102. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  103. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js +39 -25
  104. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.js.map +1 -1
  105. package/Meshes/abstractMesh.d.ts +8 -1
  106. package/Meshes/abstractMesh.js +9 -2
  107. package/Meshes/abstractMesh.js.map +1 -1
  108. package/Meshes/mesh.js +31 -4
  109. package/Meshes/mesh.js.map +1 -1
  110. package/Misc/greasedLineTools.js +5 -0
  111. package/Misc/greasedLineTools.js.map +1 -1
  112. package/Misc/textureTools.d.ts +3 -1
  113. package/Misc/textureTools.js +74 -13
  114. package/Misc/textureTools.js.map +1 -1
  115. package/Misc/tools.js +1 -1
  116. package/Misc/tools.js.map +1 -1
  117. package/Particles/EmitterTypes/coneParticleEmitter.js +2 -4
  118. package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
  119. package/Particles/baseParticleSystem.d.ts +33 -1
  120. package/Particles/baseParticleSystem.js +65 -0
  121. package/Particles/baseParticleSystem.js.map +1 -1
  122. package/Particles/computeShaderParticleSystem.js +6 -0
  123. package/Particles/computeShaderParticleSystem.js.map +1 -1
  124. package/Particles/gpuParticleSystem.d.ts +24 -6
  125. package/Particles/gpuParticleSystem.js +85 -36
  126. package/Particles/gpuParticleSystem.js.map +1 -1
  127. package/Particles/particleSystem.d.ts +0 -6
  128. package/Particles/particleSystem.js +3 -14
  129. package/Particles/particleSystem.js.map +1 -1
  130. package/Particles/thinParticleSystem.d.ts +1 -3
  131. package/Particles/thinParticleSystem.js +1 -27
  132. package/Particles/thinParticleSystem.js.map +1 -1
  133. package/Particles/webgl2ParticleSystem.js +7 -0
  134. package/Particles/webgl2ParticleSystem.js.map +1 -1
  135. package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
  136. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +1 -1
  137. package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
  138. package/Rendering/IBLShadows/iblShadowsPluginMaterial.d.ts +6 -10
  139. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js +46 -13
  140. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js.map +1 -1
  141. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -19
  142. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +21 -65
  143. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  144. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +15 -52
  145. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +129 -220
  146. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
  147. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +3 -0
  148. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
  149. package/Rendering/depthRenderer.js +6 -0
  150. package/Rendering/depthRenderer.js.map +1 -1
  151. package/Rendering/geometryBufferRenderer.d.ts +34 -5
  152. package/Rendering/geometryBufferRenderer.js +209 -16
  153. package/Rendering/geometryBufferRenderer.js.map +1 -1
  154. package/Rendering/geometryBufferRendererSceneComponent.d.ts +4 -6
  155. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  156. package/Rendering/iblCdfGenerator.d.ts +10 -0
  157. package/Rendering/iblCdfGenerator.js +52 -17
  158. package/Rendering/iblCdfGenerator.js.map +1 -1
  159. package/Rendering/index.d.ts +0 -6
  160. package/Rendering/index.js +0 -6
  161. package/Rendering/index.js.map +1 -1
  162. package/Rendering/objectRenderer.js +1 -0
  163. package/Rendering/objectRenderer.js.map +1 -1
  164. package/Rendering/prePassRenderer.js +7 -1
  165. package/Rendering/prePassRenderer.js.map +1 -1
  166. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  167. package/Shaders/ShadersInclude/helperFunctions.js +5 -0
  168. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  169. package/Shaders/ShadersInclude/openpbrBaseLayerData.js +1 -1
  170. package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
  171. package/Shaders/{iblVoxelSlabDebug.fragment.d.ts → ShadersInclude/openpbrBlockPrePass.d.ts} +1 -1
  172. package/Shaders/ShadersInclude/openpbrBlockPrePass.js +77 -0
  173. package/Shaders/ShadersInclude/openpbrBlockPrePass.js.map +1 -0
  174. package/Shaders/ShadersInclude/openpbrDirectLighting.js +42 -17
  175. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  176. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +43 -17
  177. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  178. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +10 -1
  179. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -1
  180. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +1 -0
  181. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +14 -38
  182. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -1
  183. package/Shaders/ShadersInclude/openpbrIblFunctions.js +4 -2
  184. package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  185. package/Shaders/{iblVoxelSlabDebug.vertex.d.ts → ShadersInclude/openpbrSubsurfaceLayerData.d.ts} +1 -1
  186. package/Shaders/ShadersInclude/openpbrSubsurfaceLayerData.js +35 -0
  187. package/Shaders/ShadersInclude/openpbrSubsurfaceLayerData.js.map +1 -0
  188. package/Shaders/ShadersInclude/openpbrTransmissionLayerData.js +1 -1
  189. package/Shaders/ShadersInclude/openpbrTransmissionLayerData.js.map +1 -1
  190. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +1 -1
  191. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  192. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +9 -0
  193. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  194. package/Shaders/{iblVoxelGrid3dDebug.fragment.d.ts → ShadersInclude/openpbrVolumeFunctions.d.ts} +1 -1
  195. package/Shaders/ShadersInclude/openpbrVolumeFunctions.js +67 -0
  196. package/Shaders/ShadersInclude/openpbrVolumeFunctions.js.map +1 -0
  197. package/Shaders/ShadersInclude/pbrBlockPrePass.js +14 -3
  198. package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -1
  199. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  200. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  201. package/{ShadersWGSL/iblVoxelSlabDebug.fragment.d.ts → Shaders/ShadersInclude/pbrFragmentReflectionDeclaration.d.ts} +1 -1
  202. package/Shaders/ShadersInclude/pbrFragmentReflectionDeclaration.js +43 -0
  203. package/Shaders/ShadersInclude/pbrFragmentReflectionDeclaration.js.map +1 -0
  204. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -0
  205. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +2 -32
  206. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  207. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  208. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  209. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  210. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  211. package/Shaders/geometry.fragment.d.ts +12 -0
  212. package/Shaders/geometry.fragment.js +102 -1
  213. package/Shaders/geometry.fragment.js.map +1 -1
  214. package/Shaders/geometry.vertex.d.ts +1 -0
  215. package/Shaders/geometry.vertex.js +46 -2
  216. package/Shaders/geometry.vertex.js.map +1 -1
  217. package/Shaders/gpuUpdateParticles.vertex.js +12 -6
  218. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  219. package/Shaders/iblShadowVoxelTracing.fragment.d.ts +1 -0
  220. package/Shaders/iblShadowVoxelTracing.fragment.js +7 -6
  221. package/Shaders/iblShadowVoxelTracing.fragment.js.map +1 -1
  222. package/Shaders/iblVoxelGrid.fragment.d.ts +1 -0
  223. package/Shaders/iblVoxelGrid.fragment.js +33 -5
  224. package/Shaders/iblVoxelGrid.fragment.js.map +1 -1
  225. package/Shaders/lod3D.fragment.d.ts +5 -0
  226. package/Shaders/lod3D.fragment.js +13 -0
  227. package/Shaders/lod3D.fragment.js.map +1 -0
  228. package/Shaders/openpbr.fragment.d.ts +3 -1
  229. package/Shaders/openpbr.fragment.js +74 -8
  230. package/Shaders/openpbr.fragment.js.map +1 -1
  231. package/Shaders/openpbr.vertex.js +11 -5
  232. package/Shaders/openpbr.vertex.js.map +1 -1
  233. package/ShadersWGSL/ShadersInclude/helperFunctions.js +5 -0
  234. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  235. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js +3 -2
  236. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  237. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +1 -1
  238. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
  239. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.d.ts +5 -0
  240. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js +101 -0
  241. package/ShadersWGSL/ShadersInclude/openpbrBlockPrePass.js.map +1 -0
  242. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +44 -19
  243. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  244. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -13
  245. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  246. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +1 -0
  247. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +14 -34
  248. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -1
  249. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +5 -3
  250. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  251. package/ShadersWGSL/ShadersInclude/openpbrSubsurfaceLayerData.d.ts +5 -0
  252. package/ShadersWGSL/ShadersInclude/openpbrSubsurfaceLayerData.js +35 -0
  253. package/ShadersWGSL/ShadersInclude/openpbrSubsurfaceLayerData.js.map +1 -0
  254. package/ShadersWGSL/ShadersInclude/openpbrTransmissionLayerData.js +1 -1
  255. package/ShadersWGSL/ShadersInclude/openpbrTransmissionLayerData.js.map +1 -1
  256. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +1 -1
  257. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  258. package/ShadersWGSL/ShadersInclude/openpbrVolumeFunctions.d.ts +5 -0
  259. package/ShadersWGSL/ShadersInclude/openpbrVolumeFunctions.js +68 -0
  260. package/ShadersWGSL/ShadersInclude/openpbrVolumeFunctions.js.map +1 -0
  261. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +15 -4
  262. package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -1
  263. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +2 -2
  264. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
  265. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  266. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  267. package/ShadersWGSL/ShadersInclude/pbrFragmentReflectionDeclaration.d.ts +5 -0
  268. package/ShadersWGSL/ShadersInclude/pbrFragmentReflectionDeclaration.js +39 -0
  269. package/ShadersWGSL/ShadersInclude/pbrFragmentReflectionDeclaration.js.map +1 -0
  270. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -0
  271. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +2 -28
  272. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  273. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +2 -1
  274. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  275. package/ShadersWGSL/geometry.fragment.d.ts +11 -0
  276. package/ShadersWGSL/geometry.fragment.js +103 -1
  277. package/ShadersWGSL/geometry.fragment.js.map +1 -1
  278. package/ShadersWGSL/geometry.vertex.d.ts +1 -0
  279. package/ShadersWGSL/geometry.vertex.js +47 -3
  280. package/ShadersWGSL/geometry.vertex.js.map +1 -1
  281. package/ShadersWGSL/gpuUpdateParticles.compute.js +14 -7
  282. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  283. package/ShadersWGSL/iblShadowVoxelTracing.fragment.d.ts +1 -0
  284. package/ShadersWGSL/iblShadowVoxelTracing.fragment.js +8 -8
  285. package/ShadersWGSL/iblShadowVoxelTracing.fragment.js.map +1 -1
  286. package/ShadersWGSL/iblVoxelGrid.fragment.js +1 -1
  287. package/ShadersWGSL/iblVoxelGrid.fragment.js.map +1 -1
  288. package/ShadersWGSL/lod3D.fragment.d.ts +5 -0
  289. package/ShadersWGSL/lod3D.fragment.js +13 -0
  290. package/ShadersWGSL/lod3D.fragment.js.map +1 -0
  291. package/ShadersWGSL/openpbr.fragment.d.ts +3 -1
  292. package/ShadersWGSL/openpbr.fragment.js +75 -9
  293. package/ShadersWGSL/openpbr.fragment.js.map +1 -1
  294. package/ShadersWGSL/openpbr.vertex.js +6 -0
  295. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  296. package/XR/webXRSessionManager.js +7 -5
  297. package/XR/webXRSessionManager.js.map +1 -1
  298. package/package.json +1 -1
  299. package/readme.md +4 -0
  300. package/scene.d.ts +7 -0
  301. package/scene.js +13 -0
  302. package/scene.js.map +1 -1
  303. package/Shaders/iblVoxelGrid3dDebug.fragment.js +0 -24
  304. package/Shaders/iblVoxelGrid3dDebug.fragment.js.map +0 -1
  305. package/Shaders/iblVoxelSlabDebug.fragment.js +0 -13
  306. package/Shaders/iblVoxelSlabDebug.fragment.js.map +0 -1
  307. package/Shaders/iblVoxelSlabDebug.vertex.js +0 -11
  308. package/Shaders/iblVoxelSlabDebug.vertex.js.map +0 -1
  309. package/ShadersWGSL/iblVoxelGrid3dDebug.fragment.d.ts +0 -5
  310. package/ShadersWGSL/iblVoxelGrid3dDebug.fragment.js +0 -23
  311. package/ShadersWGSL/iblVoxelGrid3dDebug.fragment.js.map +0 -1
  312. package/ShadersWGSL/iblVoxelSlabDebug.fragment.js +0 -14
  313. package/ShadersWGSL/iblVoxelSlabDebug.fragment.js.map +0 -1
  314. package/ShadersWGSL/iblVoxelSlabDebug.vertex.d.ts +0 -5
  315. package/ShadersWGSL/iblVoxelSlabDebug.vertex.js +0 -12
  316. package/ShadersWGSL/iblVoxelSlabDebug.vertex.js.map +0 -1
@@ -106,7 +106,7 @@ export class PBRBRDFConfiguration extends MaterialPluginBase {
106
106
  defines.MS_BRDF_ENERGY_CONSERVATION = this._useEnergyConservation && this._useSmithVisibilityHeightCorrelated;
107
107
  defines.SPHERICAL_HARMONICS = this._useSphericalHarmonics;
108
108
  defines.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = this._useSpecularGlossinessInputEnergyConservation;
109
- defines.MIX_IBL_RADIANCE_WITH_IRRADIANCE = this._mixIblRadianceWithIrradiance;
109
+ defines.MIX_IBL_RADIANCE_WITH_IRRADIANCE = this._mixIblRadianceWithIrradiance && !this._material._disableLighting;
110
110
  defines.LEGACY_SPECULAR_ENERGY_CONSERVATION = this._useLegacySpecularEnergyConservation;
111
111
  defines.BASE_DIFFUSE_MODEL = this._baseDiffuseModel;
112
112
  defines.DIELECTRIC_SPECULAR_MODEL = this._dielectricSpecularModel;
@@ -1 +1 @@
1
- {"version":3,"file":"pbrBRDFConfiguration.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/PBR/pbrBRDFConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport { serialize, expandToProperty } from \"../../Misc/decorators\";\r\nimport { MaterialDefines } from \"../materialDefines\";\r\nimport { MaterialPluginBase } from \"../materialPluginBase\";\r\nimport { type PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class MaterialBRDFDefines extends MaterialDefines {\r\n BRDF_V_HEIGHT_CORRELATED = false;\r\n MS_BRDF_ENERGY_CONSERVATION = false;\r\n SPHERICAL_HARMONICS = false;\r\n SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;\r\n MIX_IBL_RADIANCE_WITH_IRRADIANCE = true;\r\n LEGACY_SPECULAR_ENERGY_CONSERVATION = false;\r\n BASE_DIFFUSE_MODEL = 0;\r\n DIELECTRIC_SPECULAR_MODEL = 0;\r\n CONDUCTOR_SPECULAR_MODEL = 0;\r\n}\r\n\r\n/**\r\n * Plugin that implements the BRDF component of the PBR material\r\n */\r\nexport class PBRBRDFConfiguration extends MaterialPluginBase {\r\n /**\r\n * Default value used for the energy conservation.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Default value used for the Smith Visibility Height Correlated mode.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED = true;\r\n\r\n /**\r\n * Default value used for the IBL diffuse part.\r\n * This can help switching back to the polynomials mode globally which is a tiny bit\r\n * less GPU intensive at the drawback of a lower quality.\r\n */\r\n public static DEFAULT_USE_SPHERICAL_HARMONICS = true;\r\n\r\n /**\r\n * Default value used for activating energy conservation for the specular workflow.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n */\r\n public static DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Default value for whether IBL irradiance is used to augment rough radiance.\r\n * If activated, irradiance is blended into the radiance contribution when the material is rough.\r\n * This better approximates raytracing results for rough surfaces.\r\n */\r\n public static DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE = true;\r\n\r\n /**\r\n * Default value for whether the legacy specular energy conservation is used.\r\n */\r\n public static DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Defines the default diffuse model used by the material.\r\n */\r\n public static DEFAULT_DIFFUSE_MODEL = Constants.MATERIAL_DIFFUSE_MODEL_E_OREN_NAYAR;\r\n\r\n /**\r\n * Defines the default dielectric specular model used by the material.\r\n */\r\n public static DEFAULT_DIELECTRIC_SPECULAR_MODEL: number = Constants.MATERIAL_DIELECTRIC_SPECULAR_MODEL_GLTF;\r\n\r\n /**\r\n * Defines the default conductor specular model used by the material.\r\n */\r\n public static DEFAULT_CONDUCTOR_SPECULAR_MODEL: number = Constants.MATERIAL_CONDUCTOR_SPECULAR_MODEL_GLTF;\r\n\r\n private _useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n\r\n private _useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses height smith correlated visibility term.\r\n * If you intent to not use our default BRDF, you need to load a separate BRDF Texture for the PBR\r\n * You can either load https://assets.babylonjs.com/environments/uncorrelatedBRDF.png\r\n * or https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds to have more precision\r\n * Not relying on height correlated will also disable energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n\r\n private _useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses spherical harmonics vs spherical polynomials for the\r\n * diffuse part of the IBL.\r\n * The harmonics despite a tiny bigger cost has been proven to provide closer results\r\n * to the ground truth.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n\r\n private _useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation, when the specular workflow is active.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n * In the deactivated case, the material author has to ensure energy conservation, for a physically plausible rendering.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n\r\n private _mixIblRadianceWithIrradiance = PBRBRDFConfiguration.DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE;\r\n /**\r\n * Defines if IBL irradiance is used to augment rough radiance.\r\n * If activated, irradiance is blended into the radiance contribution when the material is rough.\r\n * This better approximates raytracing results for rough surfaces.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public mixIblRadianceWithIrradiance = PBRBRDFConfiguration.DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE;\r\n\r\n private _useLegacySpecularEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the legacy specular energy conservation is used.\r\n * If activated, the specular color is multiplied with (1. - maxChannel(albedo color)).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useLegacySpecularEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION;\r\n\r\n private _baseDiffuseModel: number = PBRBRDFConfiguration.DEFAULT_DIFFUSE_MODEL;\r\n /**\r\n * Defines the base diffuse roughness model of the material.\r\n */\r\n @serialize(\"baseDiffuseModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public baseDiffuseModel: number = PBRBRDFConfiguration.DEFAULT_DIFFUSE_MODEL;\r\n\r\n private _dielectricSpecularModel: number = PBRBRDFConfiguration.DEFAULT_DIELECTRIC_SPECULAR_MODEL;\r\n /**\r\n * The material model to use for specular lighting of dielectric materials.\r\n */\r\n @serialize(\"dielectricSpecularModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public dielectricSpecularModel: number = PBRBRDFConfiguration.DEFAULT_DIELECTRIC_SPECULAR_MODEL;\r\n\r\n private _conductorSpecularModel: number = PBRBRDFConfiguration.DEFAULT_CONDUCTOR_SPECULAR_MODEL;\r\n /**\r\n * The material model to use for specular lighting.\r\n */\r\n @serialize(\"conductorSpecularModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public conductorSpecularModel: number = PBRBRDFConfiguration.DEFAULT_CONDUCTOR_SPECULAR_MODEL;\r\n\r\n /** @internal */\r\n private _internalMarkAllSubMeshesAsMiscDirty: () => void;\r\n\r\n /** @internal */\r\n public _markAllSubMeshesAsMiscDirty(): void {\r\n this._internalMarkAllSubMeshesAsMiscDirty();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\r\n * @returns true if the plugin is compatible with the shader language\r\n */\r\n public override isCompatible(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(material: PBRBaseMaterial, addToPluginList = true) {\r\n super(material, \"PBRBRDF\", 90, new MaterialBRDFDefines(), addToPluginList);\r\n\r\n this._internalMarkAllSubMeshesAsMiscDirty = material._dirtyCallbacks[Constants.MATERIAL_MiscDirtyFlag];\r\n this._enable(true);\r\n }\r\n\r\n public override prepareDefines(defines: MaterialBRDFDefines): void {\r\n defines.BRDF_V_HEIGHT_CORRELATED = this._useSmithVisibilityHeightCorrelated;\r\n defines.MS_BRDF_ENERGY_CONSERVATION = this._useEnergyConservation && this._useSmithVisibilityHeightCorrelated;\r\n defines.SPHERICAL_HARMONICS = this._useSphericalHarmonics;\r\n defines.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = this._useSpecularGlossinessInputEnergyConservation;\r\n defines.MIX_IBL_RADIANCE_WITH_IRRADIANCE = this._mixIblRadianceWithIrradiance;\r\n defines.LEGACY_SPECULAR_ENERGY_CONSERVATION = this._useLegacySpecularEnergyConservation;\r\n defines.BASE_DIFFUSE_MODEL = this._baseDiffuseModel;\r\n defines.DIELECTRIC_SPECULAR_MODEL = this._dielectricSpecularModel;\r\n defines.CONDUCTOR_SPECULAR_MODEL = this._conductorSpecularModel;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"PBRBRDFConfiguration\";\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"pbrBRDFConfiguration.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/PBR/pbrBRDFConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport { serialize, expandToProperty } from \"../../Misc/decorators\";\r\nimport { MaterialDefines } from \"../materialDefines\";\r\nimport { MaterialPluginBase } from \"../materialPluginBase\";\r\nimport { type PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class MaterialBRDFDefines extends MaterialDefines {\r\n BRDF_V_HEIGHT_CORRELATED = false;\r\n MS_BRDF_ENERGY_CONSERVATION = false;\r\n SPHERICAL_HARMONICS = false;\r\n SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;\r\n MIX_IBL_RADIANCE_WITH_IRRADIANCE = true;\r\n LEGACY_SPECULAR_ENERGY_CONSERVATION = false;\r\n BASE_DIFFUSE_MODEL = 0;\r\n DIELECTRIC_SPECULAR_MODEL = 0;\r\n CONDUCTOR_SPECULAR_MODEL = 0;\r\n}\r\n\r\n/**\r\n * Plugin that implements the BRDF component of the PBR material\r\n */\r\nexport class PBRBRDFConfiguration extends MaterialPluginBase {\r\n /**\r\n * Default value used for the energy conservation.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Default value used for the Smith Visibility Height Correlated mode.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED = true;\r\n\r\n /**\r\n * Default value used for the IBL diffuse part.\r\n * This can help switching back to the polynomials mode globally which is a tiny bit\r\n * less GPU intensive at the drawback of a lower quality.\r\n */\r\n public static DEFAULT_USE_SPHERICAL_HARMONICS = true;\r\n\r\n /**\r\n * Default value used for activating energy conservation for the specular workflow.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n */\r\n public static DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Default value for whether IBL irradiance is used to augment rough radiance.\r\n * If activated, irradiance is blended into the radiance contribution when the material is rough.\r\n * This better approximates raytracing results for rough surfaces.\r\n */\r\n public static DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE = true;\r\n\r\n /**\r\n * Default value for whether the legacy specular energy conservation is used.\r\n */\r\n public static DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Defines the default diffuse model used by the material.\r\n */\r\n public static DEFAULT_DIFFUSE_MODEL = Constants.MATERIAL_DIFFUSE_MODEL_E_OREN_NAYAR;\r\n\r\n /**\r\n * Defines the default dielectric specular model used by the material.\r\n */\r\n public static DEFAULT_DIELECTRIC_SPECULAR_MODEL: number = Constants.MATERIAL_DIELECTRIC_SPECULAR_MODEL_GLTF;\r\n\r\n /**\r\n * Defines the default conductor specular model used by the material.\r\n */\r\n public static DEFAULT_CONDUCTOR_SPECULAR_MODEL: number = Constants.MATERIAL_CONDUCTOR_SPECULAR_MODEL_GLTF;\r\n\r\n private _useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n\r\n private _useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses height smith correlated visibility term.\r\n * If you intent to not use our default BRDF, you need to load a separate BRDF Texture for the PBR\r\n * You can either load https://assets.babylonjs.com/environments/uncorrelatedBRDF.png\r\n * or https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds to have more precision\r\n * Not relying on height correlated will also disable energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n\r\n private _useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses spherical harmonics vs spherical polynomials for the\r\n * diffuse part of the IBL.\r\n * The harmonics despite a tiny bigger cost has been proven to provide closer results\r\n * to the ground truth.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n\r\n private _useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation, when the specular workflow is active.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n * In the deactivated case, the material author has to ensure energy conservation, for a physically plausible rendering.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n\r\n private _mixIblRadianceWithIrradiance = PBRBRDFConfiguration.DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE;\r\n /**\r\n * Defines if IBL irradiance is used to augment rough radiance.\r\n * If activated, irradiance is blended into the radiance contribution when the material is rough.\r\n * This better approximates raytracing results for rough surfaces.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public mixIblRadianceWithIrradiance = PBRBRDFConfiguration.DEFAULT_MIX_IBL_RADIANCE_WITH_IRRADIANCE;\r\n\r\n private _useLegacySpecularEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the legacy specular energy conservation is used.\r\n * If activated, the specular color is multiplied with (1. - maxChannel(albedo color)).\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useLegacySpecularEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_LEGACY_SPECULAR_ENERGY_CONSERVATION;\r\n\r\n private _baseDiffuseModel: number = PBRBRDFConfiguration.DEFAULT_DIFFUSE_MODEL;\r\n /**\r\n * Defines the base diffuse roughness model of the material.\r\n */\r\n @serialize(\"baseDiffuseModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public baseDiffuseModel: number = PBRBRDFConfiguration.DEFAULT_DIFFUSE_MODEL;\r\n\r\n private _dielectricSpecularModel: number = PBRBRDFConfiguration.DEFAULT_DIELECTRIC_SPECULAR_MODEL;\r\n /**\r\n * The material model to use for specular lighting of dielectric materials.\r\n */\r\n @serialize(\"dielectricSpecularModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public dielectricSpecularModel: number = PBRBRDFConfiguration.DEFAULT_DIELECTRIC_SPECULAR_MODEL;\r\n\r\n private _conductorSpecularModel: number = PBRBRDFConfiguration.DEFAULT_CONDUCTOR_SPECULAR_MODEL;\r\n /**\r\n * The material model to use for specular lighting.\r\n */\r\n @serialize(\"conductorSpecularModel\")\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public conductorSpecularModel: number = PBRBRDFConfiguration.DEFAULT_CONDUCTOR_SPECULAR_MODEL;\r\n\r\n /** @internal */\r\n private _internalMarkAllSubMeshesAsMiscDirty: () => void;\r\n\r\n /** @internal */\r\n public _markAllSubMeshesAsMiscDirty(): void {\r\n this._internalMarkAllSubMeshesAsMiscDirty();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\r\n * @returns true if the plugin is compatible with the shader language\r\n */\r\n public override isCompatible(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(material: PBRBaseMaterial, addToPluginList = true) {\r\n super(material, \"PBRBRDF\", 90, new MaterialBRDFDefines(), addToPluginList);\r\n\r\n this._internalMarkAllSubMeshesAsMiscDirty = material._dirtyCallbacks[Constants.MATERIAL_MiscDirtyFlag];\r\n this._enable(true);\r\n }\r\n\r\n public override prepareDefines(defines: MaterialBRDFDefines): void {\r\n defines.BRDF_V_HEIGHT_CORRELATED = this._useSmithVisibilityHeightCorrelated;\r\n defines.MS_BRDF_ENERGY_CONSERVATION = this._useEnergyConservation && this._useSmithVisibilityHeightCorrelated;\r\n defines.SPHERICAL_HARMONICS = this._useSphericalHarmonics;\r\n defines.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = this._useSpecularGlossinessInputEnergyConservation;\r\n defines.MIX_IBL_RADIANCE_WITH_IRRADIANCE = this._mixIblRadianceWithIrradiance && !(this._material as PBRBaseMaterial)._disableLighting;\r\n defines.LEGACY_SPECULAR_ENERGY_CONSERVATION = this._useLegacySpecularEnergyConservation;\r\n defines.BASE_DIFFUSE_MODEL = this._baseDiffuseModel;\r\n defines.DIELECTRIC_SPECULAR_MODEL = this._dielectricSpecularModel;\r\n defines.CONDUCTOR_SPECULAR_MODEL = this._conductorSpecularModel;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"PBRBRDFConfiguration\";\r\n }\r\n}\r\n"]}
@@ -21,6 +21,42 @@ import { PBRSheenConfiguration } from "./pbrSheenConfiguration.js";
21
21
  import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration.js";
22
22
  import { DetailMapConfiguration } from "../material.detailMapConfiguration.js";
23
23
  declare const PBRMaterialDefinesBase_base: {
24
+ new (...args: any[]): {
25
+ PREPASS: boolean;
26
+ PREPASS_COLOR: boolean;
27
+ PREPASS_COLOR_INDEX: number;
28
+ PREPASS_IRRADIANCE_LEGACY: boolean;
29
+ PREPASS_IRRADIANCE_LEGACY_INDEX: number;
30
+ PREPASS_IRRADIANCE: boolean;
31
+ PREPASS_IRRADIANCE_INDEX: number;
32
+ PREPASS_ALBEDO: boolean;
33
+ PREPASS_ALBEDO_INDEX: number;
34
+ PREPASS_ALBEDO_SQRT: boolean;
35
+ PREPASS_ALBEDO_SQRT_INDEX: number;
36
+ PREPASS_DEPTH: boolean;
37
+ PREPASS_DEPTH_INDEX: number;
38
+ PREPASS_SCREENSPACE_DEPTH: boolean;
39
+ PREPASS_SCREENSPACE_DEPTH_INDEX: number;
40
+ PREPASS_NORMALIZED_VIEW_DEPTH: boolean;
41
+ PREPASS_NORMALIZED_VIEW_DEPTH_INDEX: number;
42
+ PREPASS_NORMAL: boolean;
43
+ PREPASS_NORMAL_INDEX: number;
44
+ PREPASS_NORMAL_WORLDSPACE: boolean;
45
+ PREPASS_WORLD_NORMAL: boolean;
46
+ PREPASS_WORLD_NORMAL_INDEX: number;
47
+ PREPASS_POSITION: boolean;
48
+ PREPASS_POSITION_INDEX: number;
49
+ PREPASS_LOCAL_POSITION: boolean;
50
+ PREPASS_LOCAL_POSITION_INDEX: number;
51
+ PREPASS_VELOCITY: boolean;
52
+ PREPASS_VELOCITY_INDEX: number;
53
+ PREPASS_VELOCITY_LINEAR: boolean;
54
+ PREPASS_VELOCITY_LINEAR_INDEX: number;
55
+ PREPASS_REFLECTIVITY: boolean;
56
+ PREPASS_REFLECTIVITY_INDEX: number;
57
+ SCENE_MRT_COUNT: number;
58
+ };
59
+ } & {
24
60
  new (...args: any[]): {
25
61
  MAINUV1: boolean;
26
62
  MAINUV2: boolean;
@@ -159,37 +195,6 @@ export declare class PBRMaterialDefines extends PBRMaterialDefines_base {
159
195
  INSTANCES: boolean;
160
196
  THIN_INSTANCES: boolean;
161
197
  INSTANCESCOLOR: boolean;
162
- PREPASS: boolean;
163
- PREPASS_COLOR: boolean;
164
- PREPASS_COLOR_INDEX: number;
165
- PREPASS_IRRADIANCE: boolean;
166
- PREPASS_IRRADIANCE_INDEX: number;
167
- PREPASS_ALBEDO: boolean;
168
- PREPASS_ALBEDO_INDEX: number;
169
- PREPASS_ALBEDO_SQRT: boolean;
170
- PREPASS_ALBEDO_SQRT_INDEX: number;
171
- PREPASS_DEPTH: boolean;
172
- PREPASS_DEPTH_INDEX: number;
173
- PREPASS_SCREENSPACE_DEPTH: boolean;
174
- PREPASS_SCREENSPACE_DEPTH_INDEX: number;
175
- PREPASS_NORMALIZED_VIEW_DEPTH: boolean;
176
- PREPASS_NORMALIZED_VIEW_DEPTH_INDEX: number;
177
- PREPASS_NORMAL: boolean;
178
- PREPASS_NORMAL_INDEX: number;
179
- PREPASS_NORMAL_WORLDSPACE: boolean;
180
- PREPASS_WORLD_NORMAL: boolean;
181
- PREPASS_WORLD_NORMAL_INDEX: number;
182
- PREPASS_POSITION: boolean;
183
- PREPASS_POSITION_INDEX: number;
184
- PREPASS_LOCAL_POSITION: boolean;
185
- PREPASS_LOCAL_POSITION_INDEX: number;
186
- PREPASS_VELOCITY: boolean;
187
- PREPASS_VELOCITY_INDEX: number;
188
- PREPASS_VELOCITY_LINEAR: boolean;
189
- PREPASS_VELOCITY_LINEAR_INDEX: number;
190
- PREPASS_REFLECTIVITY: boolean;
191
- PREPASS_REFLECTIVITY_INDEX: number;
192
- SCENE_MRT_COUNT: number;
193
198
  NUM_BONE_INFLUENCERS: number;
194
199
  BonesPerMesh: number;
195
200
  BONETEXTURE: boolean;
@@ -30,9 +30,10 @@ import { PrepareVertexPullingUniforms, BindVertexPullingUniforms } from "../vert
30
30
  import { BindBonesParameters, BindFogParameters, BindLights, BindLogDepth, BindMorphTargetParameters, BindTextureMatrix, BindIBLParameters, BindIBLSamplers, HandleFallbacksForShadows, PrepareAttributesForBakedVertexAnimation, PrepareAttributesForBones, PrepareAttributesForInstances, PrepareAttributesForMorphTargets, PrepareDefinesForAttributes, PrepareDefinesForFrameBoundValues, PrepareDefinesForLights, PrepareDefinesForIBL, PrepareDefinesForMergedUV, PrepareDefinesForMisc, PrepareDefinesForMultiview, PrepareDefinesForOIT, PrepareDefinesForPrePass, PrepareUniformsAndSamplersList, PrepareUniformsAndSamplersForIBL, PrepareUniformLayoutForIBL, } from "../materialHelper.functions.js";
31
31
  import { MaterialHelperGeometryRendering } from "../materialHelper.geometryrendering.js";
32
32
  import { UVDefinesMixin } from "../uv.defines.js";
33
+ import { PrepassDefinesMixin } from "../prepass.defines.js";
33
34
  import { ImageProcessingMixin } from "../imageProcessing.js";
34
35
  const onCreatedEffectParameters = { effect: null, subMesh: null };
35
- class PBRMaterialDefinesBase extends UVDefinesMixin(MaterialDefines) {
36
+ class PBRMaterialDefinesBase extends PrepassDefinesMixin(UVDefinesMixin(MaterialDefines)) {
36
37
  }
37
38
  /**
38
39
  * Manages the defines for the PBR Material.
@@ -142,37 +143,6 @@ export class PBRMaterialDefines extends ImageProcessingDefinesMixin(PBRMaterialD
142
143
  this.INSTANCES = false;
143
144
  this.THIN_INSTANCES = false;
144
145
  this.INSTANCESCOLOR = false;
145
- this.PREPASS = false;
146
- this.PREPASS_COLOR = false;
147
- this.PREPASS_COLOR_INDEX = -1;
148
- this.PREPASS_IRRADIANCE = false;
149
- this.PREPASS_IRRADIANCE_INDEX = -1;
150
- this.PREPASS_ALBEDO = false;
151
- this.PREPASS_ALBEDO_INDEX = -1;
152
- this.PREPASS_ALBEDO_SQRT = false;
153
- this.PREPASS_ALBEDO_SQRT_INDEX = -1;
154
- this.PREPASS_DEPTH = false;
155
- this.PREPASS_DEPTH_INDEX = -1;
156
- this.PREPASS_SCREENSPACE_DEPTH = false;
157
- this.PREPASS_SCREENSPACE_DEPTH_INDEX = -1;
158
- this.PREPASS_NORMALIZED_VIEW_DEPTH = false;
159
- this.PREPASS_NORMALIZED_VIEW_DEPTH_INDEX = -1;
160
- this.PREPASS_NORMAL = false;
161
- this.PREPASS_NORMAL_INDEX = -1;
162
- this.PREPASS_NORMAL_WORLDSPACE = false;
163
- this.PREPASS_WORLD_NORMAL = false;
164
- this.PREPASS_WORLD_NORMAL_INDEX = -1;
165
- this.PREPASS_POSITION = false;
166
- this.PREPASS_POSITION_INDEX = -1;
167
- this.PREPASS_LOCAL_POSITION = false;
168
- this.PREPASS_LOCAL_POSITION_INDEX = -1;
169
- this.PREPASS_VELOCITY = false;
170
- this.PREPASS_VELOCITY_INDEX = -1;
171
- this.PREPASS_VELOCITY_LINEAR = false;
172
- this.PREPASS_VELOCITY_LINEAR_INDEX = -1;
173
- this.PREPASS_REFLECTIVITY = false;
174
- this.PREPASS_REFLECTIVITY_INDEX = -1;
175
- this.SCENE_MRT_COUNT = 0;
176
146
  this.NUM_BONE_INFLUENCERS = 0;
177
147
  this.BonesPerMesh = 0;
178
148
  this.BONETEXTURE = false;