@onerjs/core 9.0.2 → 9.0.4

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 (476) hide show
  1. package/Buffers/buffer.pure.js +4 -0
  2. package/Buffers/buffer.pure.js.map +1 -1
  3. package/Cameras/camera.pure.d.ts +14 -0
  4. package/Cameras/camera.pure.js +15 -0
  5. package/Cameras/camera.pure.js.map +1 -1
  6. package/Compute/computeShader.pure.d.ts +2 -1
  7. package/Compute/computeShader.pure.js +29 -10
  8. package/Compute/computeShader.pure.js.map +1 -1
  9. package/Culling/ray.core.js +22 -9
  10. package/Culling/ray.core.js.map +1 -1
  11. package/Engines/IDrawContext.d.ts +2 -0
  12. package/Engines/IDrawContext.js.map +1 -1
  13. package/Engines/Native/nativeInterfaces.d.ts +55 -4
  14. package/Engines/Native/nativeInterfaces.js.map +1 -1
  15. package/Engines/Native/nativeRenderTargetWrapper.d.ts +1 -0
  16. package/Engines/Native/nativeRenderTargetWrapper.js +5 -1
  17. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  18. package/Engines/Processors/shaderCodeInliner.d.ts +2 -0
  19. package/Engines/Processors/shaderCodeInliner.js +251 -6
  20. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  21. package/Engines/Processors/shaderProcessor.js +10 -1
  22. package/Engines/Processors/shaderProcessor.js.map +1 -1
  23. package/Engines/WebGPU/Extensions/engine.debugging.pure.js +12 -0
  24. package/Engines/WebGPU/Extensions/engine.debugging.pure.js.map +1 -1
  25. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js +0 -1
  26. package/Engines/WebGPU/Extensions/engine.multiRender.pure.js.map +1 -1
  27. package/Engines/WebGPU/Extensions/engine.query.pure.js +5 -0
  28. package/Engines/WebGPU/Extensions/engine.query.pure.js.map +1 -1
  29. package/Engines/WebGPU/webgpuBufferManager.js +7 -0
  30. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  31. package/Engines/WebGPU/webgpuCacheTextureView.d.ts +1 -1
  32. package/Engines/WebGPU/webgpuCacheTextureView.js +20 -8
  33. package/Engines/WebGPU/webgpuCacheTextureView.js.map +1 -1
  34. package/Engines/WebGPU/webgpuDrawContext.d.ts +2 -0
  35. package/Engines/WebGPU/webgpuDrawContext.js +6 -0
  36. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  37. package/Engines/WebGPU/webgpuQuerySet.d.ts +3 -3
  38. package/Engines/WebGPU/webgpuQuerySet.js +23 -9
  39. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  40. package/Engines/WebGPU/webgpuRenderPassCommandStream.d.ts +156 -0
  41. package/Engines/WebGPU/webgpuRenderPassCommandStream.js +323 -0
  42. package/Engines/WebGPU/webgpuRenderPassCommandStream.js.map +1 -0
  43. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -1
  44. package/Engines/WebGPU/webgpuTextureManager.js +4 -3
  45. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  46. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +3 -1
  47. package/Engines/WebGPU/webgpuTimestampQuery.js +9 -6
  48. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  49. package/Engines/abstractEngine.pure.d.ts +2 -0
  50. package/Engines/abstractEngine.pure.js +14 -5
  51. package/Engines/abstractEngine.pure.js.map +1 -1
  52. package/Engines/constants.d.ts +6 -0
  53. package/Engines/constants.js +6 -0
  54. package/Engines/constants.js.map +1 -1
  55. package/Engines/engine.d.ts +198 -24
  56. package/Engines/pure.d.ts +1 -0
  57. package/Engines/pure.js +1 -0
  58. package/Engines/pure.js.map +1 -1
  59. package/Engines/renderCommandBatcher.pure.d.ts +16 -0
  60. package/Engines/renderCommandBatcher.pure.js +24 -0
  61. package/Engines/renderCommandBatcher.pure.js.map +1 -0
  62. package/Engines/thinEngine.functions.js +3 -2
  63. package/Engines/thinEngine.functions.js.map +1 -1
  64. package/Engines/thinEngine.pure.js +18 -2
  65. package/Engines/thinEngine.pure.js.map +1 -1
  66. package/Engines/thinNativeEngine.pure.d.ts +10 -7
  67. package/Engines/thinNativeEngine.pure.js +117 -46
  68. package/Engines/thinNativeEngine.pure.js.map +1 -1
  69. package/Engines/thinWebGPUEngine.d.ts +8 -0
  70. package/Engines/thinWebGPUEngine.js +11 -0
  71. package/Engines/thinWebGPUEngine.js.map +1 -1
  72. package/Engines/webgpuEngine.pure.d.ts +60 -1
  73. package/Engines/webgpuEngine.pure.js +238 -42
  74. package/Engines/webgpuEngine.pure.js.map +1 -1
  75. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.d.ts +3 -3
  76. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js +2 -1
  77. package/FlowGraph/Blocks/Data/Audio/flowGraphGetSoundVolumeBlock.pure.js.map +1 -1
  78. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.d.ts +3 -3
  79. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js +2 -1
  80. package/FlowGraph/Blocks/Data/Audio/flowGraphIsSoundPlayingBlock.pure.js.map +1 -1
  81. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.d.ts +5 -0
  82. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js +8 -0
  83. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.js.map +1 -0
  84. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.d.ts +77 -0
  85. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js +141 -0
  86. package/FlowGraph/Blocks/Event/flowGraphMeshIntersectionEventBlock.pure.js.map +1 -0
  87. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.d.ts +5 -3
  88. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js +38 -7
  89. package/FlowGraph/Blocks/Event/flowGraphSoundEndedEventBlock.pure.js.map +1 -1
  90. package/FlowGraph/Blocks/Event/index.d.ts +1 -0
  91. package/FlowGraph/Blocks/Event/index.js +1 -0
  92. package/FlowGraph/Blocks/Event/index.js.map +1 -1
  93. package/FlowGraph/Blocks/Event/pure.d.ts +1 -0
  94. package/FlowGraph/Blocks/Event/pure.js +1 -0
  95. package/FlowGraph/Blocks/Event/pure.js.map +1 -1
  96. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.d.ts +3 -3
  97. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js +2 -1
  98. package/FlowGraph/Blocks/Execution/Audio/flowGraphPauseSoundBlock.pure.js.map +1 -1
  99. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.d.ts +3 -3
  100. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js +2 -1
  101. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlaySoundBlock.pure.js.map +1 -1
  102. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.d.ts +3 -3
  103. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js +2 -1
  104. package/FlowGraph/Blocks/Execution/Audio/flowGraphSetSoundVolumeBlock.pure.js.map +1 -1
  105. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.d.ts +3 -3
  106. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js +2 -1
  107. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopSoundBlock.pure.js.map +1 -1
  108. package/FlowGraph/Blocks/allBlocks.pure.js +2 -0
  109. package/FlowGraph/Blocks/allBlocks.pure.js.map +1 -1
  110. package/FlowGraph/Blocks/flowGraphBlockFactory.js +2 -0
  111. package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -1
  112. package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +1 -0
  113. package/FlowGraph/Blocks/flowGraphBlockNames.js +1 -0
  114. package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -1
  115. package/FlowGraph/flowGraph.d.ts +12 -1
  116. package/FlowGraph/flowGraph.js +38 -0
  117. package/FlowGraph/flowGraph.js.map +1 -1
  118. package/FlowGraph/flowGraphCoordinator.d.ts +44 -0
  119. package/FlowGraph/flowGraphCoordinator.js +141 -0
  120. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  121. package/FlowGraph/flowGraphDataConnection.pure.js +41 -14
  122. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  123. package/FlowGraph/flowGraphParser.js +105 -5
  124. package/FlowGraph/flowGraphParser.js.map +1 -1
  125. package/FlowGraph/flowGraphSoundAssets.d.ts +40 -0
  126. package/FlowGraph/flowGraphSoundAssets.js +33 -0
  127. package/FlowGraph/flowGraphSoundAssets.js.map +1 -0
  128. package/FlowGraph/index.d.ts +1 -0
  129. package/FlowGraph/index.js +1 -0
  130. package/FlowGraph/index.js.map +1 -1
  131. package/FlowGraph/pure.d.ts +1 -0
  132. package/FlowGraph/pure.js +1 -0
  133. package/FlowGraph/pure.js.map +1 -1
  134. package/FlowGraph/serialization.d.ts +8 -0
  135. package/FlowGraph/serialization.js +31 -12
  136. package/FlowGraph/serialization.js.map +1 -1
  137. package/FlowGraph/typeDefinitions.d.ts +25 -0
  138. package/FlowGraph/typeDefinitions.js.map +1 -1
  139. package/FrameGraph/Tasks/PostProcesses/taaTask.js +2 -0
  140. package/FrameGraph/Tasks/PostProcesses/taaTask.js.map +1 -1
  141. package/Instrumentation/engineInstrumentation.d.ts +1 -0
  142. package/Instrumentation/engineInstrumentation.js +25 -6
  143. package/Instrumentation/engineInstrumentation.js.map +1 -1
  144. package/Lights/Clustered/clusteredLightContainer.pure.js +2 -0
  145. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  146. package/Lights/Shadows/cascadedShadowGenerator.pure.d.ts +36 -1
  147. package/Lights/Shadows/cascadedShadowGenerator.pure.js +202 -27
  148. package/Lights/Shadows/cascadedShadowGenerator.pure.js.map +1 -1
  149. package/Lights/directionalLight.pure.d.ts +24 -10
  150. package/Lights/directionalLight.pure.js +29 -11
  151. package/Lights/directionalLight.pure.js.map +1 -1
  152. package/Loading/sceneLoader.d.ts +1 -1
  153. package/Loading/sceneLoader.js +1 -1
  154. package/Loading/sceneLoader.js.map +1 -1
  155. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +4 -4
  156. package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
  157. package/Materials/Node/Blocks/Dual/lightBlock.pure.js +1 -1
  158. package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
  159. package/Materials/Node/Blocks/Input/inputBlock.pure.js +4 -0
  160. package/Materials/Node/Blocks/Input/inputBlock.pure.js.map +1 -1
  161. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.d.ts +9 -0
  162. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +23 -3
  163. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
  164. package/Materials/PBR/openpbrMaterial.pure.js +1 -1
  165. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  166. package/Materials/PBR/pbrBaseMaterial.pure.d.ts +9 -0
  167. package/Materials/PBR/pbrBaseMaterial.pure.js +60 -1
  168. package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
  169. package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +11 -0
  170. package/Materials/PBR/pbrBaseSimpleMaterial.js +21 -2
  171. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  172. package/Materials/PBR/pbrMaterial.pure.d.ts +12 -0
  173. package/Materials/PBR/pbrMaterial.pure.js +23 -3
  174. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  175. package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +1 -0
  176. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js +10 -0
  177. package/Materials/Textures/Filtering/hdrIrradianceFiltering.js.map +1 -1
  178. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +5 -0
  179. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +7 -0
  180. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -1
  181. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +9 -3
  182. package/Materials/Textures/HTML/htmlInteractionManager.js +64 -5
  183. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -1
  184. package/Materials/Textures/HTML/htmlTexture.d.ts +11 -11
  185. package/Materials/Textures/HTML/htmlTexture.js +106 -65
  186. package/Materials/Textures/HTML/htmlTexture.js.map +1 -1
  187. package/Materials/Textures/Loaders/internalTextureLoader.d.ts +2 -1
  188. package/Materials/Textures/Loaders/internalTextureLoader.js.map +1 -1
  189. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +2 -1
  190. package/Materials/Textures/Loaders/ktxTextureLoader.js +4 -50
  191. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  192. package/Materials/Textures/Procedurals/proceduralTexture.pure.js +10 -0
  193. package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
  194. package/Materials/Textures/dynamicTexture.pure.js +6 -0
  195. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  196. package/Materials/Textures/ktx2encoderTypes.d.ts +51 -0
  197. package/Materials/Textures/ktx2encoderTypes.js +2 -0
  198. package/Materials/Textures/ktx2encoderTypes.js.map +1 -0
  199. package/Materials/Textures/renderTargetTexture.pure.js +10 -2
  200. package/Materials/Textures/renderTargetTexture.pure.js.map +1 -1
  201. package/Materials/Textures/textureMerger.d.ts +11 -0
  202. package/Materials/Textures/textureMerger.js +34 -19
  203. package/Materials/Textures/textureMerger.js.map +1 -1
  204. package/Materials/Textures/textureProcessor.d.ts +145 -0
  205. package/Materials/Textures/textureProcessor.js +445 -45
  206. package/Materials/Textures/textureProcessor.js.map +1 -1
  207. package/Materials/Textures/textureSampling.functions.d.ts +41 -0
  208. package/Materials/Textures/textureSampling.functions.js +82 -0
  209. package/Materials/Textures/textureSampling.functions.js.map +1 -0
  210. package/Materials/drawWrapper.d.ts +8 -0
  211. package/Materials/drawWrapper.js +19 -0
  212. package/Materials/drawWrapper.js.map +1 -1
  213. package/Materials/effect.pure.d.ts +6 -0
  214. package/Materials/effect.pure.js +28 -6
  215. package/Materials/effect.pure.js.map +1 -1
  216. package/Materials/effect.webgl.functions.pure.js +1 -1
  217. package/Materials/effect.webgl.functions.pure.js.map +1 -1
  218. package/Materials/material.pure.d.ts +5 -0
  219. package/Materials/material.pure.js +9 -2
  220. package/Materials/material.pure.js.map +1 -1
  221. package/Materials/materialFlags.d.ts +6 -0
  222. package/Materials/materialFlags.js +14 -0
  223. package/Materials/materialFlags.js.map +1 -1
  224. package/Materials/materialHelper.functions.d.ts +2 -1
  225. package/Materials/materialHelper.functions.js +36 -2
  226. package/Materials/materialHelper.functions.js.map +1 -1
  227. package/Materials/materialHelper.geometryrendering.js +19 -16
  228. package/Materials/materialHelper.geometryrendering.js.map +1 -1
  229. package/Materials/materialPluginManager.pure.js +12 -8
  230. package/Materials/materialPluginManager.pure.js.map +1 -1
  231. package/Materials/prePassConfiguration.js +19 -16
  232. package/Materials/prePassConfiguration.js.map +1 -1
  233. package/Materials/shaderMaterial.pure.js +19 -6
  234. package/Materials/shaderMaterial.pure.js.map +1 -1
  235. package/Materials/shadowDepthWrapper.d.ts +6 -0
  236. package/Materials/shadowDepthWrapper.js +17 -0
  237. package/Materials/shadowDepthWrapper.js.map +1 -1
  238. package/Meshes/Compression/dracoCodec.d.ts +14 -0
  239. package/Meshes/Compression/dracoCodec.js +22 -0
  240. package/Meshes/Compression/dracoCodec.js.map +1 -1
  241. package/Meshes/Compression/dracoDecoder.d.ts +1 -0
  242. package/Meshes/Compression/dracoDecoder.js +27 -0
  243. package/Meshes/Compression/dracoDecoder.js.map +1 -1
  244. package/Meshes/Compression/dracoEncoder.d.ts +1 -0
  245. package/Meshes/Compression/dracoEncoder.js +8 -0
  246. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  247. package/Meshes/Compression/meshoptCompression.d.ts +1 -0
  248. package/Meshes/Compression/meshoptCompression.js +9 -0
  249. package/Meshes/Compression/meshoptCompression.js.map +1 -1
  250. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.d.ts +415 -0
  251. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js +912 -0
  252. package/Meshes/GaussianSplatting/gaussianSplattingGpuSorter.js.map +1 -0
  253. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +3 -0
  254. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +40 -9
  255. package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
  256. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +112 -8
  257. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +696 -74
  258. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  259. package/Meshes/abstractMesh.pure.js +12 -4
  260. package/Meshes/abstractMesh.pure.js.map +1 -1
  261. package/Meshes/geometry.d.ts +5 -0
  262. package/Meshes/geometry.js +25 -0
  263. package/Meshes/geometry.js.map +1 -1
  264. package/Meshes/index.d.ts +1 -0
  265. package/Meshes/index.js +1 -0
  266. package/Meshes/index.js.map +1 -1
  267. package/Meshes/mesh.pure.d.ts +7 -0
  268. package/Meshes/mesh.pure.js +18 -13
  269. package/Meshes/mesh.pure.js.map +1 -1
  270. package/Meshes/pure.d.ts +1 -0
  271. package/Meshes/pure.js +1 -0
  272. package/Meshes/pure.js.map +1 -1
  273. package/Meshes/subMesh.pure.d.ts +3 -0
  274. package/Meshes/subMesh.pure.js +26 -0
  275. package/Meshes/subMesh.pure.js.map +1 -1
  276. package/Meshes/thinInstanceMesh.pure.js +5 -3
  277. package/Meshes/thinInstanceMesh.pure.js.map +1 -1
  278. package/Misc/index.d.ts +1 -0
  279. package/Misc/index.js +1 -0
  280. package/Misc/index.js.map +1 -1
  281. package/Misc/khronosTextureContainer2.d.ts +3 -2
  282. package/Misc/khronosTextureContainer2.js +24 -6
  283. package/Misc/khronosTextureContainer2.js.map +1 -1
  284. package/Misc/khronosTextureContainer2Encoder.d.ts +166 -0
  285. package/Misc/khronosTextureContainer2Encoder.js +556 -0
  286. package/Misc/khronosTextureContainer2Encoder.js.map +1 -0
  287. package/Misc/khronosTextureContainer2EncoderWorker.d.ts +61 -0
  288. package/Misc/khronosTextureContainer2EncoderWorker.js +55 -0
  289. package/Misc/khronosTextureContainer2EncoderWorker.js.map +1 -0
  290. package/Misc/pure.d.ts +1 -0
  291. package/Misc/pure.js +1 -0
  292. package/Misc/pure.js.map +1 -1
  293. package/Misc/textureFormat.functions.d.ts +6 -0
  294. package/Misc/textureFormat.functions.js +54 -0
  295. package/Misc/textureFormat.functions.js.map +1 -0
  296. package/Misc/textureTools.d.ts +6 -2
  297. package/Misc/textureTools.js +100 -42
  298. package/Misc/textureTools.js.map +1 -1
  299. package/Misc/tools.pure.js +1 -1
  300. package/Misc/tools.pure.js.map +1 -1
  301. package/Particles/Node/Blocks/systemBlock.pure.d.ts +1 -1
  302. package/Particles/Node/Blocks/systemBlock.pure.js +6 -3
  303. package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
  304. package/Particles/computeShaderParticleSystem.pure.js +5 -0
  305. package/Particles/computeShaderParticleSystem.pure.js.map +1 -1
  306. package/Particles/gpuParticleSystem.pure.d.ts +2 -0
  307. package/Particles/gpuParticleSystem.pure.js +25 -1
  308. package/Particles/gpuParticleSystem.pure.js.map +1 -1
  309. package/Particles/solidParticle.d.ts +5 -0
  310. package/Particles/solidParticle.js +5 -0
  311. package/Particles/solidParticle.js.map +1 -1
  312. package/Particles/solidParticleSystem.d.ts +10 -0
  313. package/Particles/solidParticleSystem.js +72 -13
  314. package/Particles/solidParticleSystem.js.map +1 -1
  315. package/Particles/thinParticleSystem.pure.js +4 -0
  316. package/Particles/thinParticleSystem.pure.js.map +1 -1
  317. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.d.ts +27 -6
  318. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js +60 -5
  319. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.pure.js.map +1 -1
  320. package/PostProcesses/thinTAAPostProcess.d.ts +1 -0
  321. package/PostProcesses/thinTAAPostProcess.js +17 -1
  322. package/PostProcesses/thinTAAPostProcess.js.map +1 -1
  323. package/PostProcesses/volumetricLightScatteringPostProcess.pure.d.ts +2 -1
  324. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +6 -5
  325. package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
  326. package/Rendering/boundingBoxRenderer.pure.js +2 -3
  327. package/Rendering/boundingBoxRenderer.pure.js.map +1 -1
  328. package/Rendering/geometryBufferRenderer.pure.js +8 -2
  329. package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
  330. package/Rendering/objectRenderer.d.ts +1 -0
  331. package/Rendering/objectRenderer.js +14 -0
  332. package/Rendering/objectRenderer.js.map +1 -1
  333. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  334. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  335. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  336. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  337. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  338. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  339. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +5 -1
  340. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  341. package/Shaders/ShadersInclude/helperFunctions.js +2 -2
  342. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  343. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  344. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  345. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +6 -0
  346. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  347. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  348. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  349. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  350. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  351. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  352. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  353. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  354. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  355. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +7 -1
  356. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  357. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  358. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  359. package/Shaders/ShadersInclude/pbrIBLFunctions.js +12 -0
  360. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  361. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  362. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  363. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +3 -0
  364. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  365. package/Shaders/geometry.vertex.js +6 -6
  366. package/Shaders/geometry.vertex.js.map +1 -1
  367. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  368. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  369. package/Shaders/lod.fragment.js +15 -2
  370. package/Shaders/lod.fragment.js.map +1 -1
  371. package/Shaders/lod3D.fragment.js +15 -2
  372. package/Shaders/lod3D.fragment.js.map +1 -1
  373. package/Shaders/lodCube.fragment.js +15 -2
  374. package/Shaders/lodCube.fragment.js.map +1 -1
  375. package/Shaders/openpbr.vertex.js +2 -0
  376. package/Shaders/openpbr.vertex.js.map +1 -1
  377. package/Shaders/pbr.fragment.js +12 -1
  378. package/Shaders/pbr.fragment.js.map +1 -1
  379. package/Shaders/pbr.vertex.js +2 -0
  380. package/Shaders/pbr.vertex.js.map +1 -1
  381. package/Shaders/textureMerger.fragment.js +28 -0
  382. package/Shaders/textureMerger.fragment.js.map +1 -1
  383. package/Shaders/textureProcessor.fragment.js +26 -4
  384. package/Shaders/textureProcessor.fragment.js.map +1 -1
  385. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  386. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  387. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +2 -2
  388. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  389. package/ShadersWGSL/ShadersInclude/bumpVertex.js +1 -1
  390. package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -1
  391. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +1 -1
  392. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  393. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +1 -1
  394. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  395. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  396. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  397. package/ShadersWGSL/ShadersInclude/lightFragment.js +44 -2
  398. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  399. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +17 -3
  400. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  401. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +12 -1
  402. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  403. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  404. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  405. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +11 -1
  406. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  407. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +9 -0
  408. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  409. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  410. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  411. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js +1 -1
  412. package/ShadersWGSL/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  413. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  414. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  415. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -0
  416. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  417. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +8 -0
  418. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  419. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  420. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  421. package/ShadersWGSL/ShadersInclude/prePassVertex.js +2 -2
  422. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
  423. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +1 -1
  424. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  425. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +3 -1
  426. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  427. package/ShadersWGSL/ShadersInclude/shadowsVertex.js +16 -0
  428. package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
  429. package/ShadersWGSL/default.fragment.js +4 -4
  430. package/ShadersWGSL/default.fragment.js.map +1 -1
  431. package/ShadersWGSL/default.vertex.js +1 -1
  432. package/ShadersWGSL/default.vertex.js.map +1 -1
  433. package/ShadersWGSL/gaussianSplatting.vertex.js +3 -3
  434. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  435. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  436. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  437. package/ShadersWGSL/gsSortCount.compute.d.ts +5 -0
  438. package/ShadersWGSL/gsSortCount.compute.js +19 -0
  439. package/ShadersWGSL/gsSortCount.compute.js.map +1 -0
  440. package/ShadersWGSL/gsSortKeys.compute.d.ts +5 -0
  441. package/ShadersWGSL/gsSortKeys.compute.js +49 -0
  442. package/ShadersWGSL/gsSortKeys.compute.js.map +1 -0
  443. package/ShadersWGSL/gsSortOutput.compute.d.ts +5 -0
  444. package/ShadersWGSL/gsSortOutput.compute.js +28 -0
  445. package/ShadersWGSL/gsSortOutput.compute.js.map +1 -0
  446. package/ShadersWGSL/gsSortScanLocal.compute.d.ts +5 -0
  447. package/ShadersWGSL/gsSortScanLocal.compute.js +23 -0
  448. package/ShadersWGSL/gsSortScanLocal.compute.js.map +1 -0
  449. package/ShadersWGSL/gsSortScanSums.compute.d.ts +5 -0
  450. package/ShadersWGSL/gsSortScanSums.compute.js +19 -0
  451. package/ShadersWGSL/gsSortScanSums.compute.js.map +1 -0
  452. package/ShadersWGSL/gsSortScatter.compute.d.ts +5 -0
  453. package/ShadersWGSL/gsSortScatter.compute.js +33 -0
  454. package/ShadersWGSL/gsSortScatter.compute.js.map +1 -0
  455. package/ShadersWGSL/lod.fragment.js +14 -2
  456. package/ShadersWGSL/lod.fragment.js.map +1 -1
  457. package/ShadersWGSL/lod3D.fragment.js +14 -2
  458. package/ShadersWGSL/lod3D.fragment.js.map +1 -1
  459. package/ShadersWGSL/lodCube.fragment.js +14 -2
  460. package/ShadersWGSL/lodCube.fragment.js.map +1 -1
  461. package/ShadersWGSL/openpbr.vertex.js +3 -1
  462. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  463. package/ShadersWGSL/pbr.fragment.js +11 -0
  464. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  465. package/ShadersWGSL/pbr.vertex.js +3 -1
  466. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  467. package/ShadersWGSL/textureMerger.fragment.js +40 -4
  468. package/ShadersWGSL/textureMerger.fragment.js.map +1 -1
  469. package/ShadersWGSL/textureProcessor.fragment.js +26 -4
  470. package/ShadersWGSL/textureProcessor.fragment.js.map +1 -1
  471. package/Sprites/spriteRenderer.js +15 -5
  472. package/Sprites/spriteRenderer.js.map +1 -1
  473. package/package.json +1 -1
  474. package/scene.pure.d.ts +23 -1
  475. package/scene.pure.js +83 -1
  476. package/scene.pure.js.map +1 -1
@@ -38,6 +38,12 @@ export declare class MaterialFlags {
38
38
  */
39
39
  static get AmbientTextureEnabled(): boolean;
40
40
  static set AmbientTextureEnabled(value: boolean);
41
+ private static _BentNormalTextureEnabled;
42
+ /**
43
+ * Are bent normal textures enabled in the application.
44
+ */
45
+ static get BentNormalTextureEnabled(): boolean;
46
+ static set BentNormalTextureEnabled(value: boolean);
41
47
  private static _OpacityTextureEnabled;
42
48
  /**
43
49
  * Are opacity textures enabled in the application.
@@ -82,6 +82,19 @@ export class MaterialFlags {
82
82
  this._AmbientTextureEnabled = value;
83
83
  AbstractEngine.MarkAllMaterialsAsDirty(1);
84
84
  }
85
+ /**
86
+ * Are bent normal textures enabled in the application.
87
+ */
88
+ static get BentNormalTextureEnabled() {
89
+ return this._BentNormalTextureEnabled;
90
+ }
91
+ static set BentNormalTextureEnabled(value) {
92
+ if (this._BentNormalTextureEnabled === value) {
93
+ return;
94
+ }
95
+ this._BentNormalTextureEnabled = value;
96
+ AbstractEngine.MarkAllMaterialsAsDirty(1);
97
+ }
85
98
  /**
86
99
  * Are opacity textures enabled in the application.
87
100
  */
@@ -337,6 +350,7 @@ MaterialFlags._BaseDiffuseRoughnessTextureEnabled = true;
337
350
  MaterialFlags._DetailTextureEnabled = true;
338
351
  MaterialFlags._DecalMapEnabled = true;
339
352
  MaterialFlags._AmbientTextureEnabled = true;
353
+ MaterialFlags._BentNormalTextureEnabled = true;
340
354
  MaterialFlags._OpacityTextureEnabled = true;
341
355
  MaterialFlags._ReflectionTextureEnabled = true;
342
356
  MaterialFlags._EmissiveTextureEnabled = true;
@@ -1 +1 @@
1
- {"version":3,"file":"materialFlags.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/materialFlags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAa;IAGtB;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,kCAAkC;QAChD,OAAO,IAAI,CAAC,mCAAmC,CAAC;IACpD,CAAC;IACM,MAAM,KAAK,kCAAkC,CAAC,KAAc;QAC/D,IAAI,IAAI,CAAC,mCAAmC,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,mCAAmC,GAAG,KAAK,CAAC;QACjD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,oBAAoB;QAClC,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IACM,MAAM,KAAK,oBAAoB,CAAC,KAAc;QACjD,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,eAAe;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACM,MAAM,KAAK,eAAe,CAAC,KAAc;QAC5C,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,kBAAkB;QAChC,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IACM,MAAM,KAAK,kBAAkB,CAAC,KAAc;QAC/C,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,0BAA0B;QACxC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IACM,MAAM,KAAK,0BAA0B,CAAC,KAAc;QACvD,IAAI,IAAI,CAAC,2BAA2B,KAAK,KAAK,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,cAAc;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACM,MAAM,KAAK,cAAc,CAAC,KAAc;QAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,uBAAuB;QACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,uBAAuB,CAAC,KAAc;QACpD,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,2BAA2B;QACzC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC7C,CAAC;IACM,MAAM,KAAK,2BAA2B,CAAC,KAAc;QACxD,IAAI,IAAI,CAAC,4BAA4B,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,2BAA2B;QACzC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC7C,CAAC;IACM,MAAM,KAAK,2BAA2B,CAAC,KAAc;QACxD,IAAI,IAAI,CAAC,4BAA4B,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,mBAAmB;QACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IACM,MAAM,KAAK,mBAAmB,CAAC,KAAc;QAChD,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,yBAAyB;QACvC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IAC3C,CAAC;IACM,MAAM,KAAK,yBAAyB,CAAC,KAAc;QACtD,IAAI,IAAI,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,uBAAuB;QACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,uBAAuB,CAAC,KAAc;QACpD,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,iCAAiC;QAC/C,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,iCAAiC,CAAC,KAAc;QAC9D,IAAI,IAAI,CAAC,kCAAkC,KAAK,KAAK,EAAE,CAAC;YACpD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,kCAAkC,GAAG,KAAK,CAAC;QAChD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,mCAAmC;QACjD,OAAO,IAAI,CAAC,oCAAoC,CAAC;IACrD,CAAC;IACM,MAAM,KAAK,mCAAmC,CAAC,KAAc;QAChE,IAAI,IAAI,CAAC,oCAAoC,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oCAAoC,GAAG,KAAK,CAAC;QAClD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,+BAA+B;QAC7C,OAAO,IAAI,CAAC,gCAAgC,CAAC;IACjD,CAAC;IACM,MAAM,KAAK,+BAA+B,CAAC,KAAc;QAC5D,IAAI,IAAI,CAAC,gCAAgC,KAAK,KAAK,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;QAC9C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,yBAAyB;QACvC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IAC3C,CAAC;IACM,MAAM,KAAK,yBAAyB,CAAC,KAAc;QACtD,IAAI,IAAI,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;;AA/YD,+EAA+E;AAChE,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,iDAAmC,GAAG,IAAI,CAAC;AAgB3C,mCAAqB,GAAG,IAAI,CAAC;AAgB7B,8BAAgB,GAAG,IAAI,CAAC;AAgBxB,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,iCAAmB,GAAG,IAAI,CAAC;AAgB3B,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,yCAA2B,GAAG,IAAI,CAAC;AAgBnC,6BAAe,GAAG,IAAI,CAAC;AAgBvB,sCAAwB,GAAG,IAAI,CAAC;AAgBhC,0CAA4B,GAAG,IAAI,CAAC;AAgBpC,0CAA4B,GAAG,IAAI,CAAC;AAgBpC,kCAAoB,GAAG,IAAI,CAAC;AAgB5B,wCAA0B,GAAG,IAAI,CAAC;AAgBlC,sCAAwB,GAAG,IAAI,CAAC;AAgBhC,gDAAkC,GAAG,IAAI,CAAC;AAgB1C,kDAAoC,GAAG,IAAI,CAAC;AAgB5C,8CAAgC,GAAG,IAAI,CAAC;AAgBxC,wCAA0B,GAAG,IAAI,CAAC","sourcesContent":["import { AbstractEngine } from \"../Engines/abstractEngine\";\r\nimport { Constants } from \"../Engines/constants\";\r\n\r\n/**\r\n * This groups all the flags used to control the materials channel.\r\n */\r\nexport class MaterialFlags {\r\n // Flags used to enable or disable a type of texture for all Standard Materials\r\n private static _DiffuseTextureEnabled = true;\r\n /**\r\n * Are diffuse textures enabled in the application.\r\n */\r\n public static get DiffuseTextureEnabled(): boolean {\r\n return this._DiffuseTextureEnabled;\r\n }\r\n public static set DiffuseTextureEnabled(value: boolean) {\r\n if (this._DiffuseTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DiffuseTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BaseWeightTextureEnabled = true;\r\n /**\r\n * Is the OpenPBR Base Weight texture enabled in the application.\r\n */\r\n public static get BaseWeightTextureEnabled(): boolean {\r\n return this._BaseWeightTextureEnabled;\r\n }\r\n public static set BaseWeightTextureEnabled(value: boolean) {\r\n if (this._BaseWeightTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BaseWeightTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BaseDiffuseRoughnessTextureEnabled = true;\r\n /**\r\n * Is the OpenPBR Base Diffuse Roughness texture enabled in the application.\r\n */\r\n public static get BaseDiffuseRoughnessTextureEnabled(): boolean {\r\n return this._BaseDiffuseRoughnessTextureEnabled;\r\n }\r\n public static set BaseDiffuseRoughnessTextureEnabled(value: boolean) {\r\n if (this._BaseDiffuseRoughnessTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BaseDiffuseRoughnessTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _DetailTextureEnabled = true;\r\n /**\r\n * Are detail textures enabled in the application.\r\n */\r\n public static get DetailTextureEnabled(): boolean {\r\n return this._DetailTextureEnabled;\r\n }\r\n public static set DetailTextureEnabled(value: boolean) {\r\n if (this._DetailTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DetailTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _DecalMapEnabled = true;\r\n /**\r\n * Are decal maps enabled in the application.\r\n */\r\n public static get DecalMapEnabled(): boolean {\r\n return this._DecalMapEnabled;\r\n }\r\n public static set DecalMapEnabled(value: boolean) {\r\n if (this._DecalMapEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DecalMapEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _AmbientTextureEnabled = true;\r\n /**\r\n * Are ambient textures enabled in the application.\r\n */\r\n public static get AmbientTextureEnabled(): boolean {\r\n return this._AmbientTextureEnabled;\r\n }\r\n public static set AmbientTextureEnabled(value: boolean) {\r\n if (this._AmbientTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AmbientTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _OpacityTextureEnabled = true;\r\n /**\r\n * Are opacity textures enabled in the application.\r\n */\r\n public static get OpacityTextureEnabled(): boolean {\r\n return this._OpacityTextureEnabled;\r\n }\r\n public static set OpacityTextureEnabled(value: boolean) {\r\n if (this._OpacityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._OpacityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ReflectionTextureEnabled = true;\r\n /**\r\n * Are reflection textures enabled in the application.\r\n */\r\n public static get ReflectionTextureEnabled(): boolean {\r\n return this._ReflectionTextureEnabled;\r\n }\r\n public static set ReflectionTextureEnabled(value: boolean) {\r\n if (this._ReflectionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ReflectionTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _EmissiveTextureEnabled = true;\r\n /**\r\n * Are emissive textures enabled in the application.\r\n */\r\n public static get EmissiveTextureEnabled(): boolean {\r\n return this._EmissiveTextureEnabled;\r\n }\r\n public static set EmissiveTextureEnabled(value: boolean) {\r\n if (this._EmissiveTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._EmissiveTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _SpecularTextureEnabled = true;\r\n /**\r\n * Are specular textures enabled in the application.\r\n */\r\n public static get SpecularTextureEnabled(): boolean {\r\n return this._SpecularTextureEnabled;\r\n }\r\n public static set SpecularTextureEnabled(value: boolean) {\r\n if (this._SpecularTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SpecularTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BumpTextureEnabled = true;\r\n /**\r\n * Are bump textures enabled in the application.\r\n */\r\n public static get BumpTextureEnabled(): boolean {\r\n return this._BumpTextureEnabled;\r\n }\r\n public static set BumpTextureEnabled(value: boolean) {\r\n if (this._BumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BumpTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _LightmapTextureEnabled = true;\r\n /**\r\n * Are lightmap textures enabled in the application.\r\n */\r\n public static get LightmapTextureEnabled(): boolean {\r\n return this._LightmapTextureEnabled;\r\n }\r\n public static set LightmapTextureEnabled(value: boolean) {\r\n if (this._LightmapTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._LightmapTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _RefractionTextureEnabled = true;\r\n /**\r\n * Are refraction textures enabled in the application.\r\n */\r\n public static get RefractionTextureEnabled(): boolean {\r\n return this._RefractionTextureEnabled;\r\n }\r\n public static set RefractionTextureEnabled(value: boolean) {\r\n if (this._RefractionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._RefractionTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ColorGradingTextureEnabled = true;\r\n /**\r\n * Are color grading textures enabled in the application.\r\n */\r\n public static get ColorGradingTextureEnabled(): boolean {\r\n return this._ColorGradingTextureEnabled;\r\n }\r\n public static set ColorGradingTextureEnabled(value: boolean) {\r\n if (this._ColorGradingTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ColorGradingTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _FresnelEnabled = true;\r\n /**\r\n * Are fresnels enabled in the application.\r\n */\r\n public static get FresnelEnabled(): boolean {\r\n return this._FresnelEnabled;\r\n }\r\n public static set FresnelEnabled(value: boolean) {\r\n if (this._FresnelEnabled === value) {\r\n return;\r\n }\r\n\r\n this._FresnelEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_FresnelDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatTextureEnabled = true;\r\n /**\r\n * Are clear coat textures enabled in the application.\r\n */\r\n public static get ClearCoatTextureEnabled(): boolean {\r\n return this._ClearCoatTextureEnabled;\r\n }\r\n public static set ClearCoatTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatBumpTextureEnabled = true;\r\n /**\r\n * Are clear coat bump textures enabled in the application.\r\n */\r\n public static get ClearCoatBumpTextureEnabled(): boolean {\r\n return this._ClearCoatBumpTextureEnabled;\r\n }\r\n public static set ClearCoatBumpTextureEnabled(value: boolean) {\r\n if (this._ClearCoatBumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatBumpTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatTintTextureEnabled = true;\r\n /**\r\n * Are clear coat tint textures enabled in the application.\r\n */\r\n public static get ClearCoatTintTextureEnabled(): boolean {\r\n return this._ClearCoatTintTextureEnabled;\r\n }\r\n public static set ClearCoatTintTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTintTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTintTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _SheenTextureEnabled = true;\r\n /**\r\n * Are sheen textures enabled in the application.\r\n */\r\n public static get SheenTextureEnabled(): boolean {\r\n return this._SheenTextureEnabled;\r\n }\r\n public static set SheenTextureEnabled(value: boolean) {\r\n if (this._SheenTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SheenTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _AnisotropicTextureEnabled = true;\r\n /**\r\n * Are anisotropic textures enabled in the application.\r\n */\r\n public static get AnisotropicTextureEnabled(): boolean {\r\n return this._AnisotropicTextureEnabled;\r\n }\r\n public static set AnisotropicTextureEnabled(value: boolean) {\r\n if (this._AnisotropicTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AnisotropicTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ThicknessTextureEnabled = true;\r\n /**\r\n * Are thickness textures enabled in the application.\r\n */\r\n public static get ThicknessTextureEnabled(): boolean {\r\n return this._ThicknessTextureEnabled;\r\n }\r\n public static set ThicknessTextureEnabled(value: boolean) {\r\n if (this._ThicknessTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ThicknessTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _RefractionIntensityTextureEnabled = true;\r\n /**\r\n * Are refraction intensity textures enabled in the application.\r\n */\r\n public static get RefractionIntensityTextureEnabled(): boolean {\r\n return this._ThicknessTextureEnabled;\r\n }\r\n public static set RefractionIntensityTextureEnabled(value: boolean) {\r\n if (this._RefractionIntensityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._RefractionIntensityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _TranslucencyIntensityTextureEnabled = true;\r\n /**\r\n * Are translucency intensity textures enabled in the application.\r\n */\r\n public static get TranslucencyIntensityTextureEnabled(): boolean {\r\n return this._TranslucencyIntensityTextureEnabled;\r\n }\r\n public static set TranslucencyIntensityTextureEnabled(value: boolean) {\r\n if (this._TranslucencyIntensityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._TranslucencyIntensityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _TranslucencyColorTextureEnabled = true;\r\n /**\r\n * Are translucency tint textures enabled in the application.\r\n */\r\n public static get TranslucencyColorTextureEnabled(): boolean {\r\n return this._TranslucencyColorTextureEnabled;\r\n }\r\n public static set TranslucencyColorTextureEnabled(value: boolean) {\r\n if (this._TranslucencyColorTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._TranslucencyColorTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _IridescenceTextureEnabled = true;\r\n /**\r\n * Are translucency intensity textures enabled in the application.\r\n */\r\n public static get IridescenceTextureEnabled(): boolean {\r\n return this._IridescenceTextureEnabled;\r\n }\r\n public static set IridescenceTextureEnabled(value: boolean) {\r\n if (this._IridescenceTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._IridescenceTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"materialFlags.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/materialFlags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAa;IAGtB;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,kCAAkC;QAChD,OAAO,IAAI,CAAC,mCAAmC,CAAC;IACpD,CAAC;IACM,MAAM,KAAK,kCAAkC,CAAC,KAAc;QAC/D,IAAI,IAAI,CAAC,mCAAmC,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,mCAAmC,GAAG,KAAK,CAAC;QACjD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,oBAAoB;QAClC,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IACM,MAAM,KAAK,oBAAoB,CAAC,KAAc;QACjD,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,eAAe;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACM,MAAM,KAAK,eAAe,CAAC,KAAc;QAC5C,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,qBAAqB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACM,MAAM,KAAK,qBAAqB,CAAC,KAAc;QAClD,IAAI,IAAI,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,kBAAkB;QAChC,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IACM,MAAM,KAAK,kBAAkB,CAAC,KAAc;QAC/C,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,sBAAsB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IACM,MAAM,KAAK,sBAAsB,CAAC,KAAc;QACnD,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,wBAAwB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IAC1C,CAAC;IACM,MAAM,KAAK,wBAAwB,CAAC,KAAc;QACrD,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,0BAA0B;QACxC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IACM,MAAM,KAAK,0BAA0B,CAAC,KAAc;QACvD,IAAI,IAAI,CAAC,2BAA2B,KAAK,KAAK,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,cAAc;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACM,MAAM,KAAK,cAAc,CAAC,KAAc;QAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,uBAAuB;QACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,uBAAuB,CAAC,KAAc;QACpD,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,2BAA2B;QACzC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC7C,CAAC;IACM,MAAM,KAAK,2BAA2B,CAAC,KAAc;QACxD,IAAI,IAAI,CAAC,4BAA4B,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,2BAA2B;QACzC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC7C,CAAC;IACM,MAAM,KAAK,2BAA2B,CAAC,KAAc;QACxD,IAAI,IAAI,CAAC,4BAA4B,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,mBAAmB;QACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IACM,MAAM,KAAK,mBAAmB,CAAC,KAAc;QAChD,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,yBAAyB;QACvC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IAC3C,CAAC;IACM,MAAM,KAAK,yBAAyB,CAAC,KAAc;QACtD,IAAI,IAAI,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,uBAAuB;QACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,uBAAuB,CAAC,KAAc;QACpD,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,iCAAiC;QAC/C,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IACM,MAAM,KAAK,iCAAiC,CAAC,KAAc;QAC9D,IAAI,IAAI,CAAC,kCAAkC,KAAK,KAAK,EAAE,CAAC;YACpD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,kCAAkC,GAAG,KAAK,CAAC;QAChD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,mCAAmC;QACjD,OAAO,IAAI,CAAC,oCAAoC,CAAC;IACrD,CAAC;IACM,MAAM,KAAK,mCAAmC,CAAC,KAAc;QAChE,IAAI,IAAI,CAAC,oCAAoC,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oCAAoC,GAAG,KAAK,CAAC;QAClD,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,+BAA+B;QAC7C,OAAO,IAAI,CAAC,gCAAgC,CAAC;IACjD,CAAC;IACM,MAAM,KAAK,+BAA+B,CAAC,KAAc;QAC5D,IAAI,IAAI,CAAC,gCAAgC,KAAK,KAAK,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;QAC9C,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;IAGD;;OAEG;IACI,MAAM,KAAK,yBAAyB;QACvC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IAC3C,CAAC;IACM,MAAM,KAAK,yBAAyB,CAAC,KAAc;QACtD,IAAI,IAAI,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC;;AA/ZD,+EAA+E;AAChE,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,iDAAmC,GAAG,IAAI,CAAC;AAgB3C,mCAAqB,GAAG,IAAI,CAAC;AAgB7B,8BAAgB,GAAG,IAAI,CAAC;AAgBxB,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,oCAAsB,GAAG,IAAI,CAAC;AAgB9B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,iCAAmB,GAAG,IAAI,CAAC;AAgB3B,qCAAuB,GAAG,IAAI,CAAC;AAgB/B,uCAAyB,GAAG,IAAI,CAAC;AAgBjC,yCAA2B,GAAG,IAAI,CAAC;AAgBnC,6BAAe,GAAG,IAAI,CAAC;AAgBvB,sCAAwB,GAAG,IAAI,CAAC;AAgBhC,0CAA4B,GAAG,IAAI,CAAC;AAgBpC,0CAA4B,GAAG,IAAI,CAAC;AAgBpC,kCAAoB,GAAG,IAAI,CAAC;AAgB5B,wCAA0B,GAAG,IAAI,CAAC;AAgBlC,sCAAwB,GAAG,IAAI,CAAC;AAgBhC,gDAAkC,GAAG,IAAI,CAAC;AAgB1C,kDAAoC,GAAG,IAAI,CAAC;AAgB5C,8CAAgC,GAAG,IAAI,CAAC;AAgBxC,wCAA0B,GAAG,IAAI,CAAC","sourcesContent":["import { AbstractEngine } from \"../Engines/abstractEngine\";\r\nimport { Constants } from \"../Engines/constants\";\r\n\r\n/**\r\n * This groups all the flags used to control the materials channel.\r\n */\r\nexport class MaterialFlags {\r\n // Flags used to enable or disable a type of texture for all Standard Materials\r\n private static _DiffuseTextureEnabled = true;\r\n /**\r\n * Are diffuse textures enabled in the application.\r\n */\r\n public static get DiffuseTextureEnabled(): boolean {\r\n return this._DiffuseTextureEnabled;\r\n }\r\n public static set DiffuseTextureEnabled(value: boolean) {\r\n if (this._DiffuseTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DiffuseTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BaseWeightTextureEnabled = true;\r\n /**\r\n * Is the OpenPBR Base Weight texture enabled in the application.\r\n */\r\n public static get BaseWeightTextureEnabled(): boolean {\r\n return this._BaseWeightTextureEnabled;\r\n }\r\n public static set BaseWeightTextureEnabled(value: boolean) {\r\n if (this._BaseWeightTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BaseWeightTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BaseDiffuseRoughnessTextureEnabled = true;\r\n /**\r\n * Is the OpenPBR Base Diffuse Roughness texture enabled in the application.\r\n */\r\n public static get BaseDiffuseRoughnessTextureEnabled(): boolean {\r\n return this._BaseDiffuseRoughnessTextureEnabled;\r\n }\r\n public static set BaseDiffuseRoughnessTextureEnabled(value: boolean) {\r\n if (this._BaseDiffuseRoughnessTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BaseDiffuseRoughnessTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _DetailTextureEnabled = true;\r\n /**\r\n * Are detail textures enabled in the application.\r\n */\r\n public static get DetailTextureEnabled(): boolean {\r\n return this._DetailTextureEnabled;\r\n }\r\n public static set DetailTextureEnabled(value: boolean) {\r\n if (this._DetailTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DetailTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _DecalMapEnabled = true;\r\n /**\r\n * Are decal maps enabled in the application.\r\n */\r\n public static get DecalMapEnabled(): boolean {\r\n return this._DecalMapEnabled;\r\n }\r\n public static set DecalMapEnabled(value: boolean) {\r\n if (this._DecalMapEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DecalMapEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _AmbientTextureEnabled = true;\r\n /**\r\n * Are ambient textures enabled in the application.\r\n */\r\n public static get AmbientTextureEnabled(): boolean {\r\n return this._AmbientTextureEnabled;\r\n }\r\n public static set AmbientTextureEnabled(value: boolean) {\r\n if (this._AmbientTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AmbientTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BentNormalTextureEnabled = true;\r\n /**\r\n * Are bent normal textures enabled in the application.\r\n */\r\n public static get BentNormalTextureEnabled(): boolean {\r\n return this._BentNormalTextureEnabled;\r\n }\r\n public static set BentNormalTextureEnabled(value: boolean) {\r\n if (this._BentNormalTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BentNormalTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _OpacityTextureEnabled = true;\r\n /**\r\n * Are opacity textures enabled in the application.\r\n */\r\n public static get OpacityTextureEnabled(): boolean {\r\n return this._OpacityTextureEnabled;\r\n }\r\n public static set OpacityTextureEnabled(value: boolean) {\r\n if (this._OpacityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._OpacityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ReflectionTextureEnabled = true;\r\n /**\r\n * Are reflection textures enabled in the application.\r\n */\r\n public static get ReflectionTextureEnabled(): boolean {\r\n return this._ReflectionTextureEnabled;\r\n }\r\n public static set ReflectionTextureEnabled(value: boolean) {\r\n if (this._ReflectionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ReflectionTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _EmissiveTextureEnabled = true;\r\n /**\r\n * Are emissive textures enabled in the application.\r\n */\r\n public static get EmissiveTextureEnabled(): boolean {\r\n return this._EmissiveTextureEnabled;\r\n }\r\n public static set EmissiveTextureEnabled(value: boolean) {\r\n if (this._EmissiveTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._EmissiveTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _SpecularTextureEnabled = true;\r\n /**\r\n * Are specular textures enabled in the application.\r\n */\r\n public static get SpecularTextureEnabled(): boolean {\r\n return this._SpecularTextureEnabled;\r\n }\r\n public static set SpecularTextureEnabled(value: boolean) {\r\n if (this._SpecularTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SpecularTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _BumpTextureEnabled = true;\r\n /**\r\n * Are bump textures enabled in the application.\r\n */\r\n public static get BumpTextureEnabled(): boolean {\r\n return this._BumpTextureEnabled;\r\n }\r\n public static set BumpTextureEnabled(value: boolean) {\r\n if (this._BumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BumpTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _LightmapTextureEnabled = true;\r\n /**\r\n * Are lightmap textures enabled in the application.\r\n */\r\n public static get LightmapTextureEnabled(): boolean {\r\n return this._LightmapTextureEnabled;\r\n }\r\n public static set LightmapTextureEnabled(value: boolean) {\r\n if (this._LightmapTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._LightmapTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _RefractionTextureEnabled = true;\r\n /**\r\n * Are refraction textures enabled in the application.\r\n */\r\n public static get RefractionTextureEnabled(): boolean {\r\n return this._RefractionTextureEnabled;\r\n }\r\n public static set RefractionTextureEnabled(value: boolean) {\r\n if (this._RefractionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._RefractionTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ColorGradingTextureEnabled = true;\r\n /**\r\n * Are color grading textures enabled in the application.\r\n */\r\n public static get ColorGradingTextureEnabled(): boolean {\r\n return this._ColorGradingTextureEnabled;\r\n }\r\n public static set ColorGradingTextureEnabled(value: boolean) {\r\n if (this._ColorGradingTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ColorGradingTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _FresnelEnabled = true;\r\n /**\r\n * Are fresnels enabled in the application.\r\n */\r\n public static get FresnelEnabled(): boolean {\r\n return this._FresnelEnabled;\r\n }\r\n public static set FresnelEnabled(value: boolean) {\r\n if (this._FresnelEnabled === value) {\r\n return;\r\n }\r\n\r\n this._FresnelEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_FresnelDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatTextureEnabled = true;\r\n /**\r\n * Are clear coat textures enabled in the application.\r\n */\r\n public static get ClearCoatTextureEnabled(): boolean {\r\n return this._ClearCoatTextureEnabled;\r\n }\r\n public static set ClearCoatTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatBumpTextureEnabled = true;\r\n /**\r\n * Are clear coat bump textures enabled in the application.\r\n */\r\n public static get ClearCoatBumpTextureEnabled(): boolean {\r\n return this._ClearCoatBumpTextureEnabled;\r\n }\r\n public static set ClearCoatBumpTextureEnabled(value: boolean) {\r\n if (this._ClearCoatBumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatBumpTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ClearCoatTintTextureEnabled = true;\r\n /**\r\n * Are clear coat tint textures enabled in the application.\r\n */\r\n public static get ClearCoatTintTextureEnabled(): boolean {\r\n return this._ClearCoatTintTextureEnabled;\r\n }\r\n public static set ClearCoatTintTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTintTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTintTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _SheenTextureEnabled = true;\r\n /**\r\n * Are sheen textures enabled in the application.\r\n */\r\n public static get SheenTextureEnabled(): boolean {\r\n return this._SheenTextureEnabled;\r\n }\r\n public static set SheenTextureEnabled(value: boolean) {\r\n if (this._SheenTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SheenTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _AnisotropicTextureEnabled = true;\r\n /**\r\n * Are anisotropic textures enabled in the application.\r\n */\r\n public static get AnisotropicTextureEnabled(): boolean {\r\n return this._AnisotropicTextureEnabled;\r\n }\r\n public static set AnisotropicTextureEnabled(value: boolean) {\r\n if (this._AnisotropicTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AnisotropicTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _ThicknessTextureEnabled = true;\r\n /**\r\n * Are thickness textures enabled in the application.\r\n */\r\n public static get ThicknessTextureEnabled(): boolean {\r\n return this._ThicknessTextureEnabled;\r\n }\r\n public static set ThicknessTextureEnabled(value: boolean) {\r\n if (this._ThicknessTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ThicknessTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _RefractionIntensityTextureEnabled = true;\r\n /**\r\n * Are refraction intensity textures enabled in the application.\r\n */\r\n public static get RefractionIntensityTextureEnabled(): boolean {\r\n return this._ThicknessTextureEnabled;\r\n }\r\n public static set RefractionIntensityTextureEnabled(value: boolean) {\r\n if (this._RefractionIntensityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._RefractionIntensityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _TranslucencyIntensityTextureEnabled = true;\r\n /**\r\n * Are translucency intensity textures enabled in the application.\r\n */\r\n public static get TranslucencyIntensityTextureEnabled(): boolean {\r\n return this._TranslucencyIntensityTextureEnabled;\r\n }\r\n public static set TranslucencyIntensityTextureEnabled(value: boolean) {\r\n if (this._TranslucencyIntensityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._TranslucencyIntensityTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _TranslucencyColorTextureEnabled = true;\r\n /**\r\n * Are translucency tint textures enabled in the application.\r\n */\r\n public static get TranslucencyColorTextureEnabled(): boolean {\r\n return this._TranslucencyColorTextureEnabled;\r\n }\r\n public static set TranslucencyColorTextureEnabled(value: boolean) {\r\n if (this._TranslucencyColorTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._TranslucencyColorTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n\r\n private static _IridescenceTextureEnabled = true;\r\n /**\r\n * Are translucency intensity textures enabled in the application.\r\n */\r\n public static get IridescenceTextureEnabled(): boolean {\r\n return this._IridescenceTextureEnabled;\r\n }\r\n public static set IridescenceTextureEnabled(value: boolean) {\r\n if (this._IridescenceTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._IridescenceTextureEnabled = value;\r\n AbstractEngine.MarkAllMaterialsAsDirty(Constants.MATERIAL_TextureDirtyFlag);\r\n }\r\n}\r\n"]}
@@ -350,8 +350,9 @@ export declare function PrepareDefinesForCamera(scene: Scene, defines: any): boo
350
350
  * @param clusteredLightTextures defines if the clustered light textures must be used
351
351
  * @param rectAreaLightTexture defines if rect area light is using a emission texture.
352
352
  * @param clusteredLightStorageBuffer defines if the clustered light tile mask uses a storage buffer instead of a texture
353
+ * @param cascadesUniformBuffer defines if the shader reads the cascades of a CascadedShadowGenerator from its uniform buffer (SHADOWCSMUBO define)
353
354
  */
354
- export declare function PrepareUniformsAndSamplersForLight(lightIndex: number, uniformsList: string[], samplersList: string[], projectedLightTexture?: any, uniformBuffersList?: Nullable<string[]>, updateOnlyBuffersList?: boolean, iesLightTexture?: boolean, clusteredLightTextures?: boolean, rectAreaLightTexture?: boolean, clusteredLightStorageBuffer?: boolean): void;
355
+ export declare function PrepareUniformsAndSamplersForLight(lightIndex: number, uniformsList: string[], samplersList: string[], projectedLightTexture?: any, uniformBuffersList?: Nullable<string[]>, updateOnlyBuffersList?: boolean, iesLightTexture?: boolean, clusteredLightTextures?: boolean, rectAreaLightTexture?: boolean, clusteredLightStorageBuffer?: boolean, cascadesUniformBuffer?: boolean): void;
355
356
  /**
356
357
  * Append uniforms and samplers related to IBL to the provided lists
357
358
  * @param uniformsList The list of uniforms to append to
@@ -456,6 +456,30 @@ export function GetSupportedSimultaneousLights(scene, maxSimultaneousLights) {
456
456
  const supported = Math.max(maxUniformBuffersPerShaderStage - _NonLightVertexUniformBufferCount, 1);
457
457
  return Math.min(maxSimultaneousLights, supported);
458
458
  }
459
+ /**
460
+ * Decides, for each light with cascaded shadows (SHADOWCSM define), whether WGSL receivers read the cascades from the
461
+ * CascadedShadowGenerator's own uniform buffer (SHADOWCSMUBO define) or from effect uniforms, as GLSL receivers do.
462
+ *
463
+ * The cascades buffer is one more uniform buffer per CSM light, declared in both stages. It is only used while it fits
464
+ * within maxUniformBuffersPerShaderStage next to the light buffers and the four buffers GetSupportedSimultaneousLights
465
+ * reserves (in a WGSL material shader: Scene, Mesh, Internals and LeftOver). Every light that fits without cascades
466
+ * buffers still fits, and the CSM lights past the limit keep the effect uniforms.
467
+ * @param scene The scene that will be rendered
468
+ * @param defines The defines to update
469
+ * @param lightCount The number of lights the effect is prepared for
470
+ */
471
+ function PrepareDefinesForCascadesUniformBuffers(scene, defines, lightCount) {
472
+ const maxUniformBuffersPerShaderStage = scene.getEngine().getCaps().maxUniformBuffersPerShaderStage;
473
+ // Engines that do not report the limit (WebGL, native) have no WGSL receivers.
474
+ let freeUniformBuffers = maxUniformBuffersPerShaderStage == null ? 0 : maxUniformBuffersPerShaderStage - _NonLightVertexUniformBufferCount - lightCount;
475
+ for (let lightIndex = 0; lightIndex < lightCount; lightIndex++) {
476
+ const useCascadesBuffer = !!defines["SHADOWCSM" + lightIndex] && freeUniformBuffers > 0;
477
+ defines["SHADOWCSMUBO" + lightIndex] = useCascadesBuffer;
478
+ if (useCascadesBuffer) {
479
+ freeUniformBuffers--;
480
+ }
481
+ }
482
+ }
459
483
  function WarnAboutClampedLights(engine, requested, supported, lightsInUse) {
460
484
  let warned = _LightBudgetWarnedEngines.get(engine);
461
485
  if (!warned) {
@@ -668,6 +692,7 @@ export function PrepareDefinesForLights(scene, mesh, defines, specularSupported,
668
692
  }
669
693
  defines["SPECULARTERM"] = state.specularEnabled;
670
694
  defines["SHADOWS"] = state.shadowEnabled;
695
+ PrepareDefinesForCascadesUniformBuffers(scene, defines, lightIndex);
671
696
  // Resetting all other lights if any
672
697
  const maxLightCount = Math.max(maxSimultaneousLights, defines["MAXLIGHTCOUNT"] || 0);
673
698
  for (let index = lightIndex; index < maxLightCount; index++) {
@@ -686,6 +711,7 @@ export function PrepareDefinesForLights(scene, mesh, defines, specularSupported,
686
711
  defines["SHADOWCSMUSESHADOWMAXZ" + index] = false;
687
712
  defines["SHADOWCSMNOBLEND" + index] = false;
688
713
  defines["SHADOWCSM_RIGHTHANDED" + index] = false;
714
+ defines["SHADOWCSMUBO" + index] = false;
689
715
  defines["SHADOWPCF" + index] = false;
690
716
  defines["SHADOWPCSS" + index] = false;
691
717
  defines["SHADOWPOISSON" + index] = false;
@@ -893,6 +919,9 @@ export function PrepareDefinesForLight(scene, mesh, light, lightIndex, defines,
893
919
  defines["SHADOWCSMUSESHADOWMAXZ" + lightIndex] = false;
894
920
  defines["SHADOWCSMNOBLEND" + lightIndex] = false;
895
921
  defines["SHADOWCSM_RIGHTHANDED" + lightIndex] = false;
922
+ // set by PrepareDefinesForLights once it knows how many lights the effect has (PrepareDefinesForCascadesUniformBuffers):
923
+ // lights prepared one by one (node material light blocks) keep the effect uniforms
924
+ defines["SHADOWCSMUBO" + lightIndex] = false;
896
925
  defines["SHADOWPCF" + lightIndex] = false;
897
926
  defines["SHADOWPCSS" + lightIndex] = false;
898
927
  defines["SHADOWPOISSON" + lightIndex] = false;
@@ -1285,10 +1314,15 @@ export function PrepareDefinesForCamera(scene, defines) {
1285
1314
  * @param clusteredLightTextures defines if the clustered light textures must be used
1286
1315
  * @param rectAreaLightTexture defines if rect area light is using a emission texture.
1287
1316
  * @param clusteredLightStorageBuffer defines if the clustered light tile mask uses a storage buffer instead of a texture
1317
+ * @param cascadesUniformBuffer defines if the shader reads the cascades of a CascadedShadowGenerator from its uniform buffer (SHADOWCSMUBO define)
1288
1318
  */
1289
- export function PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, projectedLightTexture, uniformBuffersList = null, updateOnlyBuffersList = false, iesLightTexture = false, clusteredLightTextures = false, rectAreaLightTexture = false, clusteredLightStorageBuffer = false) {
1319
+ export function PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, projectedLightTexture, uniformBuffersList = null, updateOnlyBuffersList = false, iesLightTexture = false, clusteredLightTextures = false, rectAreaLightTexture = false, clusteredLightStorageBuffer = false, cascadesUniformBuffer = false) {
1290
1320
  if (uniformBuffersList) {
1291
1321
  uniformBuffersList.push("Light" + lightIndex);
1322
+ if (cascadesUniformBuffer) {
1323
+ // the cascades of a CascadedShadowGenerator, read from its own buffer by WGSL shaders (SHADOWCSMUBO{X})
1324
+ uniformBuffersList.push("cascades" + lightIndex);
1325
+ }
1292
1326
  }
1293
1327
  if (updateOnlyBuffersList) {
1294
1328
  return;
@@ -1368,7 +1402,7 @@ export function PrepareUniformsAndSamplersList(uniformsListOrOptions, samplersLi
1368
1402
  if (!defines["LIGHT" + lightIndex]) {
1369
1403
  break;
1370
1404
  }
1371
- PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffersList, false, defines["IESLIGHTTEXTURE" + lightIndex], defines["CLUSTLIGHT" + lightIndex], defines["RECTAREALIGHTEMISSIONTEXTURE" + lightIndex], shaderLanguage === 1 /* ShaderLanguage.WGSL */);
1405
+ PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, defines["PROJECTEDLIGHTTEXTURE" + lightIndex], uniformBuffersList, false, defines["IESLIGHTTEXTURE" + lightIndex], defines["CLUSTLIGHT" + lightIndex], defines["RECTAREALIGHTEMISSIONTEXTURE" + lightIndex], shaderLanguage === 1 /* ShaderLanguage.WGSL */, !!defines["SHADOWCSMUBO" + lightIndex]);
1372
1406
  }
1373
1407
  if (defines["NUM_MORPH_INFLUENCERS"]) {
1374
1408
  uniformsList.push("morphTargetInfluences");