@onerjs/core 8.26.1 → 8.26.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/Engines/abstractEngine.js +2 -2
  2. package/Engines/abstractEngine.js.map +1 -1
  3. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +6 -0
  4. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  5. package/FrameGraph/frameGraphContext.d.ts +2 -1
  6. package/FrameGraph/frameGraphContext.js +4 -1
  7. package/FrameGraph/frameGraphContext.js.map +1 -1
  8. package/Lights/Clustered/clusteredLightContainer.d.ts +1 -1
  9. package/Lights/Clustered/clusteredLightContainer.js +4 -5
  10. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  11. package/Lights/pointLight.js +4 -4
  12. package/Lights/pointLight.js.map +1 -1
  13. package/Lights/rectAreaLight.js +4 -4
  14. package/Lights/rectAreaLight.js.map +1 -1
  15. package/Lights/spotLight.js +2 -2
  16. package/Lights/spotLight.js.map +1 -1
  17. package/Materials/Background/backgroundMaterial.d.ts +19 -91
  18. package/Materials/Background/backgroundMaterial.js +17 -245
  19. package/Materials/Background/backgroundMaterial.js.map +1 -1
  20. package/Materials/Node/Blocks/Dual/lightBlock.js +15 -4
  21. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  22. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +28 -5
  23. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  24. package/Materials/Node/nodeMaterial.d.ts +57 -69
  25. package/Materials/Node/nodeMaterial.js +9 -86
  26. package/Materials/Node/nodeMaterial.js.map +1 -1
  27. package/Materials/Node/nodeMaterialBuildState.d.ts +3 -1
  28. package/Materials/Node/nodeMaterialBuildState.js +35 -15
  29. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  30. package/Materials/PBR/index.d.ts +5 -0
  31. package/Materials/PBR/index.js +5 -0
  32. package/Materials/PBR/index.js.map +1 -1
  33. package/Materials/PBR/openPbrMaterial.d.ts +998 -0
  34. package/Materials/PBR/openPbrMaterial.js +2069 -0
  35. package/Materials/PBR/openPbrMaterial.js.map +1 -0
  36. package/Materials/PBR/pbrBaseMaterial.d.ts +57 -43
  37. package/Materials/PBR/pbrBaseMaterial.js +21 -304
  38. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  39. package/Materials/PBR/pbrMaterial.d.ts +0 -78
  40. package/Materials/PBR/pbrMaterial.js +0 -110
  41. package/Materials/PBR/pbrMaterial.js.map +1 -1
  42. package/Materials/floatingOriginMatrixOverrides.d.ts +3 -0
  43. package/Materials/floatingOriginMatrixOverrides.js +91 -0
  44. package/Materials/floatingOriginMatrixOverrides.js.map +1 -0
  45. package/Materials/imageProcessing.d.ts +65 -0
  46. package/Materials/imageProcessing.js +162 -0
  47. package/Materials/imageProcessing.js.map +1 -0
  48. package/Materials/imageProcessingConfiguration.defines.d.ts +25 -0
  49. package/Materials/imageProcessingConfiguration.defines.js +27 -0
  50. package/Materials/imageProcessingConfiguration.defines.js.map +1 -1
  51. package/Materials/index.d.ts +2 -0
  52. package/Materials/index.js +2 -0
  53. package/Materials/index.js.map +1 -1
  54. package/Materials/material.d.ts +14 -0
  55. package/Materials/material.js +14 -0
  56. package/Materials/material.js.map +1 -1
  57. package/Materials/materialHelper.functions.d.ts +53 -0
  58. package/Materials/materialHelper.functions.js +297 -0
  59. package/Materials/materialHelper.functions.js.map +1 -1
  60. package/Materials/standardMaterial.d.ts +57 -121
  61. package/Materials/standardMaterial.js +21 -250
  62. package/Materials/standardMaterial.js.map +1 -1
  63. package/Materials/uv.defines.d.ts +22 -0
  64. package/Materials/uv.defines.js +24 -0
  65. package/Materials/uv.defines.js.map +1 -0
  66. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +1 -0
  67. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  68. package/Meshes/transformNode.d.ts +2 -0
  69. package/Meshes/transformNode.js +7 -4
  70. package/Meshes/transformNode.js.map +1 -1
  71. package/Misc/decorators.d.ts +7 -0
  72. package/Misc/decorators.js +34 -0
  73. package/Misc/decorators.js.map +1 -1
  74. package/Particles/Node/Blocks/Emitters/createParticleBlock.js +10 -1
  75. package/Particles/Node/Blocks/Emitters/createParticleBlock.js.map +1 -1
  76. package/Particles/Node/Blocks/index.d.ts +2 -0
  77. package/Particles/Node/Blocks/index.js +2 -0
  78. package/Particles/Node/Blocks/index.js.map +1 -1
  79. package/Particles/Node/Blocks/particleInputBlock.js +4 -1
  80. package/Particles/Node/Blocks/particleInputBlock.js.map +1 -1
  81. package/Particles/Node/Blocks/particleLocalVariableBlock.d.ts +38 -0
  82. package/Particles/Node/Blocks/particleLocalVariableBlock.js +108 -0
  83. package/Particles/Node/Blocks/particleLocalVariableBlock.js.map +1 -0
  84. package/Particles/Node/Blocks/particleVectorLengthBlock.d.ts +26 -0
  85. package/Particles/Node/Blocks/particleVectorLengthBlock.js +50 -0
  86. package/Particles/Node/Blocks/particleVectorLengthBlock.js.map +1 -0
  87. package/Rendering/IBLShadows/iblShadowsPluginMaterial.d.ts +2 -1
  88. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js +45 -0
  89. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js.map +1 -1
  90. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +2 -1
  91. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  92. package/Rendering/geometryBufferRenderer.js +6 -4
  93. package/Rendering/geometryBufferRenderer.js.map +1 -1
  94. package/Rendering/iblCdfGenerator.js +28 -20
  95. package/Rendering/iblCdfGenerator.js.map +1 -1
  96. package/Rendering/reflectiveShadowMap.d.ts +3 -3
  97. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  98. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  99. package/Shaders/ShadersInclude/clusteredLightingFunctions.js +3 -1
  100. package/Shaders/ShadersInclude/clusteredLightingFunctions.js.map +1 -1
  101. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  102. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  103. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +34 -0
  104. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  105. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  106. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  107. package/Shaders/ShadersInclude/importanceSampling.js +4 -0
  108. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  109. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -0
  110. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  111. package/Shaders/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  112. package/Shaders/ShadersInclude/openpbrBaseLayerData.js +127 -0
  113. package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  114. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  115. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js +35 -0
  116. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  117. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  118. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  119. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  120. package/Shaders/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  121. package/Shaders/ShadersInclude/openpbrCoatLayerData.js +59 -0
  122. package/Shaders/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  123. package/Shaders/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  124. package/Shaders/ShadersInclude/openpbrConductorReflectance.js +19 -0
  125. package/Shaders/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  126. package/Shaders/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  127. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +30 -0
  128. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  129. package/Shaders/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  130. package/Shaders/ShadersInclude/openpbrDirectLighting.js +69 -0
  131. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  132. package/Shaders/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  133. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  134. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  135. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.d.ts +5 -0
  136. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js +129 -0
  137. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js.map +1 -0
  138. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  139. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +106 -0
  140. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  141. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.d.ts +6 -0
  142. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +115 -0
  143. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -0
  144. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  145. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +72 -0
  146. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  147. package/Shaders/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  148. package/Shaders/ShadersInclude/openpbrGeometryInfo.js +46 -0
  149. package/Shaders/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  150. package/Shaders/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  151. package/Shaders/ShadersInclude/openpbrIblFunctions.js +221 -0
  152. package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  153. package/Shaders/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  154. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  155. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  156. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  157. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  158. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  159. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  160. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +72 -0
  161. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  162. package/Shaders/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  163. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  164. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  165. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  166. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  167. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  168. package/Shaders/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  169. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +18 -0
  170. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  171. package/Shaders/ShadersInclude/openpbrVertexDeclaration.d.ts +6 -0
  172. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +103 -0
  173. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -0
  174. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  175. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  176. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js +1 -0
  177. package/Shaders/ShadersInclude/pbrClusteredLightingFunctions.js.map +1 -1
  178. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
  179. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  180. package/Shaders/ShadersInclude/pbrHelperFunctions.js +2 -0
  181. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  182. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  183. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  184. package/Shaders/openpbr.fragment.d.ts +54 -0
  185. package/Shaders/openpbr.fragment.js +206 -0
  186. package/Shaders/openpbr.fragment.js.map +1 -0
  187. package/Shaders/openpbr.vertex.d.ts +39 -0
  188. package/Shaders/openpbr.vertex.js +238 -0
  189. package/Shaders/openpbr.vertex.js.map +1 -0
  190. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +1 -1
  191. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  192. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +1 -1
  193. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  194. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +28 -0
  195. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  196. package/ShadersWGSL/ShadersInclude/importanceSampling.js +4 -0
  197. package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
  198. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  199. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +126 -0
  200. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  201. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  202. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js +36 -0
  203. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  204. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  205. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  206. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  207. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  208. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js +59 -0
  209. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  210. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  211. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js +19 -0
  212. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  213. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  214. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js +33 -0
  215. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  216. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  217. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +69 -0
  218. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  219. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  220. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  221. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  222. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  223. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +112 -0
  224. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  225. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  226. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +68 -0
  227. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  228. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  229. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js +54 -0
  230. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  231. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  232. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +218 -0
  233. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  234. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  235. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  236. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  237. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  238. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  239. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  240. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  241. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +51 -0
  242. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  243. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  244. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  245. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  246. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  247. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  248. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  249. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  250. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +17 -0
  251. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  252. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +1 -1
  253. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  254. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
  255. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  256. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +2 -0
  257. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  258. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  259. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  260. package/ShadersWGSL/openpbr.fragment.d.ts +52 -0
  261. package/ShadersWGSL/openpbr.fragment.js +193 -0
  262. package/ShadersWGSL/openpbr.fragment.js.map +1 -0
  263. package/ShadersWGSL/openpbr.vertex.d.ts +37 -0
  264. package/ShadersWGSL/openpbr.vertex.js +227 -0
  265. package/ShadersWGSL/openpbr.vertex.js.map +1 -0
  266. package/package.json +1 -1
  267. package/scene.d.ts +21 -0
  268. package/scene.js +29 -3
  269. package/scene.js.map +1 -1
@@ -11,7 +11,6 @@ import { Observable } from "../../Misc/observable.js";
11
11
  import type { SubMesh } from "../../Meshes/subMesh.js";
12
12
  import { MaterialDefines } from "../../Materials/materialDefines.js";
13
13
  import type { NodeMaterialOptimizer } from "./Optimizers/nodeMaterialOptimizer.js";
14
- import type { ImageProcessingConfiguration } from "../imageProcessingConfiguration.js";
15
14
  import type { Nullable } from "../../types.js";
16
15
  import { InputBlock } from "./Blocks/Input/inputBlock.js";
17
16
  import type { TextureBlock } from "./Blocks/Dual/textureBlock.js";
@@ -31,7 +30,6 @@ import type { TriPlanarBlock } from "./Blocks/triPlanarBlock.js";
31
30
  import type { BiPlanarBlock } from "./Blocks/biPlanarBlock.js";
32
31
  import type { PrePassRenderer } from "../../Rendering/prePassRenderer.js";
33
32
  import type { PrePassTextureBlock } from "./Blocks/Input/prePassTextureBlock.js";
34
- import type { IImageProcessingConfigurationDefines } from "../imageProcessingConfiguration.defines.js";
35
33
  import { ShaderLanguage } from "../shaderLanguage.js";
36
34
  import { AbstractEngine } from "../../Engines/abstractEngine.js";
37
35
  /**
@@ -45,26 +43,51 @@ export interface INodeMaterialEditorOptions {
45
43
  backgroundColor?: Color4;
46
44
  };
47
45
  }
46
+ declare const NodeMaterialDefinesBase_base: {
47
+ new (...args: any[]): {
48
+ MAINUV1: boolean;
49
+ MAINUV2: boolean;
50
+ MAINUV3: boolean;
51
+ MAINUV4: boolean;
52
+ MAINUV5: boolean;
53
+ MAINUV6: boolean;
54
+ UV1: boolean;
55
+ UV2: boolean;
56
+ UV3: boolean;
57
+ UV4: boolean;
58
+ UV5: boolean;
59
+ UV6: boolean;
60
+ };
61
+ } & typeof MaterialDefines;
62
+ declare class NodeMaterialDefinesBase extends NodeMaterialDefinesBase_base {
63
+ }
64
+ declare const NodeMaterialDefines_base: {
65
+ new (...args: any[]): {
66
+ IMAGEPROCESSING: boolean;
67
+ VIGNETTE: boolean;
68
+ VIGNETTEBLENDMODEMULTIPLY: boolean;
69
+ VIGNETTEBLENDMODEOPAQUE: boolean;
70
+ TONEMAPPING: number;
71
+ CONTRAST: boolean;
72
+ COLORCURVES: boolean;
73
+ COLORGRADING: boolean;
74
+ COLORGRADING3D: boolean;
75
+ SAMPLER3DGREENDEPTH: boolean;
76
+ SAMPLER3DBGRMAP: boolean;
77
+ DITHER: boolean;
78
+ IMAGEPROCESSINGPOSTPROCESS: boolean;
79
+ SKIPFINALCOLORCLAMP: boolean;
80
+ EXPOSURE: boolean;
81
+ };
82
+ } & typeof NodeMaterialDefinesBase;
48
83
  /** @internal */
49
- export declare class NodeMaterialDefines extends MaterialDefines implements IImageProcessingConfigurationDefines {
84
+ export declare class NodeMaterialDefines extends NodeMaterialDefines_base {
50
85
  /** Normal */
51
86
  NORMAL: boolean;
52
87
  /** Tangent */
53
88
  TANGENT: boolean;
54
89
  /** Vertex color */
55
90
  VERTEXCOLOR_NME: boolean;
56
- /** Uv1 **/
57
- UV1: boolean;
58
- /** Uv2 **/
59
- UV2: boolean;
60
- /** Uv3 **/
61
- UV3: boolean;
62
- /** Uv4 **/
63
- UV4: boolean;
64
- /** Uv5 **/
65
- UV5: boolean;
66
- /** Uv6 **/
67
- UV6: boolean;
68
91
  /** Prepass **/
69
92
  PREPASS: boolean;
70
93
  /** Prepass normal */
@@ -127,36 +150,6 @@ export declare class NodeMaterialDefines extends MaterialDefines implements IIma
127
150
  NUM_MORPH_INFLUENCERS: number;
128
151
  /** Using a texture to store morph target data */
129
152
  MORPHTARGETS_TEXTURE: boolean;
130
- /** IMAGE PROCESSING */
131
- IMAGEPROCESSING: boolean;
132
- /** Vignette */
133
- VIGNETTE: boolean;
134
- /** Multiply blend mode for vignette */
135
- VIGNETTEBLENDMODEMULTIPLY: boolean;
136
- /** Opaque blend mode for vignette */
137
- VIGNETTEBLENDMODEOPAQUE: boolean;
138
- /** Tone mapping */
139
- TONEMAPPING: number;
140
- /** Contrast */
141
- CONTRAST: boolean;
142
- /** Exposure */
143
- EXPOSURE: boolean;
144
- /** Color curves */
145
- COLORCURVES: boolean;
146
- /** Color grading */
147
- COLORGRADING: boolean;
148
- /** 3D color grading */
149
- COLORGRADING3D: boolean;
150
- /** Sampler green depth */
151
- SAMPLER3DGREENDEPTH: boolean;
152
- /** Sampler for BGR map */
153
- SAMPLER3DBGRMAP: boolean;
154
- /** Dithering */
155
- DITHER: boolean;
156
- /** Using post process for image processing */
157
- IMAGEPROCESSINGPOSTPROCESS: boolean;
158
- /** Skip color clamp */
159
- SKIPFINALCOLORCLAMP: boolean;
160
153
  /** MISC. */
161
154
  BUMPDIRECTUV: number;
162
155
  /** Camera is orthographic */
@@ -192,10 +185,27 @@ export interface INodeMaterialOptions {
192
185
  * Blocks that manage a texture
193
186
  */
194
187
  export type NodeMaterialTextureBlocks = TextureBlock | ReflectionTextureBaseBlock | RefractionBlock | CurrentScreenBlock | ParticleTextureBlock | ImageSourceBlock | TriPlanarBlock | BiPlanarBlock | PrePassTextureBlock;
188
+ declare const NodeMaterialBase_base: {
189
+ new (...args: any[]): {
190
+ _imageProcessingConfiguration: import("../index.js").ImageProcessingConfiguration;
191
+ imageProcessingConfiguration: import("../index.js").ImageProcessingConfiguration;
192
+ _imageProcessingObserver: Nullable<import("../../Misc/observable.js").Observer<import("../index.js").ImageProcessingConfiguration>>;
193
+ _attachImageProcessingConfiguration(configuration: Nullable<import("../index.js").ImageProcessingConfiguration>): void;
194
+ cameraColorCurvesEnabled: boolean;
195
+ cameraColorGradingEnabled: boolean;
196
+ cameraToneMappingEnabled: boolean;
197
+ cameraExposure: number;
198
+ cameraContrast: number;
199
+ cameraColorGradingTexture: Nullable<BaseTexture>;
200
+ cameraColorCurves: Nullable<import("../index.js").ColorCurves>;
201
+ };
202
+ } & typeof PushMaterial;
203
+ declare class NodeMaterialBase extends NodeMaterialBase_base {
204
+ }
195
205
  /**
196
206
  * Class used to create a node based material built by assembling shader blocks
197
207
  */
198
- export declare class NodeMaterial extends PushMaterial {
208
+ export declare class NodeMaterial extends NodeMaterialBase {
199
209
  private static _BuildIdGenerator;
200
210
  private _options;
201
211
  private _vertexCompilationState;
@@ -275,20 +285,6 @@ export declare class NodeMaterial extends PushMaterial {
275
285
  /** Gets or sets options to control the node material overall behavior */
276
286
  get options(): INodeMaterialOptions;
277
287
  set options(options: INodeMaterialOptions);
278
- /**
279
- * Default configuration related to image processing available in the standard Material.
280
- */
281
- protected _imageProcessingConfiguration: ImageProcessingConfiguration;
282
- /**
283
- * Gets the image processing configuration used either in this material.
284
- */
285
- get imageProcessingConfiguration(): ImageProcessingConfiguration;
286
- /**
287
- * Sets the Default image processing configuration used either in the this material.
288
- *
289
- * If sets to null, the scene one is in use.
290
- */
291
- set imageProcessingConfiguration(value: ImageProcessingConfiguration);
292
288
  /**
293
289
  * Gets an array of blocks that needs to be serialized even if they are not yet connected
294
290
  */
@@ -322,15 +318,6 @@ export declare class NodeMaterial extends PushMaterial {
322
318
  * @returns the class name
323
319
  */
324
320
  getClassName(): string;
325
- /**
326
- * Keep track of the image processing observer to allow dispose and replace.
327
- */
328
- private _imageProcessingObserver;
329
- /**
330
- * Attaches a new image processing configuration to the Standard Material.
331
- * @param configuration
332
- */
333
- protected _attachImageProcessingConfiguration(configuration: Nullable<ImageProcessingConfiguration>): void;
334
321
  /**
335
322
  * Get a block by its name
336
323
  * @param name defines the name of the block to retrieve
@@ -663,3 +650,4 @@ export declare class NodeMaterial extends PushMaterial {
663
650
  */
664
651
  static CreateDefault(name: string, scene?: Scene): NodeMaterial;
665
652
  }
653
+ export {};
@@ -42,11 +42,16 @@ import { EngineStore } from "../../Engines/engineStore.js";
42
42
  import { Material } from "../material.js";
43
43
  import { Logger } from "../../Misc/logger.js";
44
44
  import { PrepareDefinesForCamera, PrepareDefinesForPrePass } from "../materialHelper.functions.js";
45
+ import { ImageProcessingDefinesMixin } from "../imageProcessingConfiguration.defines.js";
45
46
  import { AbstractEngine } from "../../Engines/abstractEngine.js";
46
47
  import { MaterialHelperGeometryRendering } from "../materialHelper.geometryrendering.js";
48
+ import { UVDefinesMixin } from "../uv.defines.js";
49
+ import { ImageProcessingMixin } from "../imageProcessing.js";
47
50
  const onCreatedEffectParameters = { effect: null, subMesh: null };
51
+ class NodeMaterialDefinesBase extends UVDefinesMixin(MaterialDefines) {
52
+ }
48
53
  /** @internal */
49
- export class NodeMaterialDefines extends MaterialDefines {
54
+ export class NodeMaterialDefines extends ImageProcessingDefinesMixin(NodeMaterialDefinesBase) {
50
55
  /**
51
56
  * Creates a new NodeMaterialDefines
52
57
  */
@@ -58,18 +63,6 @@ export class NodeMaterialDefines extends MaterialDefines {
58
63
  this.TANGENT = false;
59
64
  /** Vertex color */
60
65
  this.VERTEXCOLOR_NME = false;
61
- /** Uv1 **/
62
- this.UV1 = false;
63
- /** Uv2 **/
64
- this.UV2 = false;
65
- /** Uv3 **/
66
- this.UV3 = false;
67
- /** Uv4 **/
68
- this.UV4 = false;
69
- /** Uv5 **/
70
- this.UV5 = false;
71
- /** Uv6 **/
72
- this.UV6 = false;
73
66
  /** Prepass **/
74
67
  this.PREPASS = false;
75
68
  /** Prepass normal */
@@ -132,36 +125,6 @@ export class NodeMaterialDefines extends MaterialDefines {
132
125
  this.NUM_MORPH_INFLUENCERS = 0;
133
126
  /** Using a texture to store morph target data */
134
127
  this.MORPHTARGETS_TEXTURE = false;
135
- /** IMAGE PROCESSING */
136
- this.IMAGEPROCESSING = false;
137
- /** Vignette */
138
- this.VIGNETTE = false;
139
- /** Multiply blend mode for vignette */
140
- this.VIGNETTEBLENDMODEMULTIPLY = false;
141
- /** Opaque blend mode for vignette */
142
- this.VIGNETTEBLENDMODEOPAQUE = false;
143
- /** Tone mapping */
144
- this.TONEMAPPING = 0;
145
- /** Contrast */
146
- this.CONTRAST = false;
147
- /** Exposure */
148
- this.EXPOSURE = false;
149
- /** Color curves */
150
- this.COLORCURVES = false;
151
- /** Color grading */
152
- this.COLORGRADING = false;
153
- /** 3D color grading */
154
- this.COLORGRADING3D = false;
155
- /** Sampler green depth */
156
- this.SAMPLER3DGREENDEPTH = false;
157
- /** Sampler for BGR map */
158
- this.SAMPLER3DBGRMAP = false;
159
- /** Dithering */
160
- this.DITHER = false;
161
- /** Using post process for image processing */
162
- this.IMAGEPROCESSINGPOSTPROCESS = false;
163
- /** Skip color clamp */
164
- this.SKIPFINALCOLORCLAMP = false;
165
128
  /** MISC. */
166
129
  this.BUMPDIRECTUV = 0;
167
130
  /** Camera is orthographic */
@@ -188,10 +151,12 @@ export class NodeMaterialDefines extends MaterialDefines {
188
151
  this[name] = value;
189
152
  }
190
153
  }
154
+ class NodeMaterialBase extends ImageProcessingMixin(PushMaterial) {
155
+ }
191
156
  /**
192
157
  * Class used to create a node based material built by assembling shader blocks
193
158
  */
194
- export class NodeMaterial extends PushMaterial {
159
+ export class NodeMaterial extends NodeMaterialBase {
195
160
  /**
196
161
  * Checks if a block is a texture block
197
162
  * @param block The block to check
@@ -246,22 +211,6 @@ export class NodeMaterial extends PushMaterial {
246
211
  set options(options) {
247
212
  this._options = options;
248
213
  }
249
- /**
250
- * Gets the image processing configuration used either in this material.
251
- */
252
- get imageProcessingConfiguration() {
253
- return this._imageProcessingConfiguration;
254
- }
255
- /**
256
- * Sets the Default image processing configuration used either in the this material.
257
- *
258
- * If sets to null, the scene one is in use.
259
- */
260
- set imageProcessingConfiguration(value) {
261
- this._attachImageProcessingConfiguration(value);
262
- // Ensure the effect will be rebuilt.
263
- this._markAllSubMeshesAsTexturesDirty();
264
- }
265
214
  /**
266
215
  * Gets or sets the mode property
267
216
  */
@@ -359,32 +308,6 @@ export class NodeMaterial extends PushMaterial {
359
308
  getClassName() {
360
309
  return "NodeMaterial";
361
310
  }
362
- /**
363
- * Attaches a new image processing configuration to the Standard Material.
364
- * @param configuration
365
- */
366
- _attachImageProcessingConfiguration(configuration) {
367
- if (configuration === this._imageProcessingConfiguration) {
368
- return;
369
- }
370
- // Detaches observer.
371
- if (this._imageProcessingConfiguration && this._imageProcessingObserver) {
372
- this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);
373
- }
374
- // Pick the scene configuration if needed.
375
- if (!configuration) {
376
- this._imageProcessingConfiguration = this.getScene().imageProcessingConfiguration;
377
- }
378
- else {
379
- this._imageProcessingConfiguration = configuration;
380
- }
381
- // Attaches observer.
382
- if (this._imageProcessingConfiguration) {
383
- this._imageProcessingObserver = this._imageProcessingConfiguration.onUpdateParameters.add(() => {
384
- this._markAllSubMeshesAsImageProcessingDirty();
385
- });
386
- }
387
- }
388
311
  /**
389
312
  * Get a block by its name
390
313
  * @param name defines the name of the block to retrieve