@babylonjs/core 8.28.0 → 8.28.2

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 (236) 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/Materials/Background/backgroundMaterial.d.ts +19 -91
  9. package/Materials/Background/backgroundMaterial.js +17 -245
  10. package/Materials/Background/backgroundMaterial.js.map +1 -1
  11. package/Materials/Node/nodeMaterial.d.ts +57 -69
  12. package/Materials/Node/nodeMaterial.js +9 -86
  13. package/Materials/Node/nodeMaterial.js.map +1 -1
  14. package/Materials/PBR/index.d.ts +5 -0
  15. package/Materials/PBR/index.js +5 -0
  16. package/Materials/PBR/index.js.map +1 -1
  17. package/Materials/PBR/openPbrMaterial.d.ts +998 -0
  18. package/Materials/PBR/openPbrMaterial.js +2069 -0
  19. package/Materials/PBR/openPbrMaterial.js.map +1 -0
  20. package/Materials/PBR/pbrBaseMaterial.d.ts +57 -43
  21. package/Materials/PBR/pbrBaseMaterial.js +21 -304
  22. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  23. package/Materials/PBR/pbrMaterial.d.ts +0 -78
  24. package/Materials/PBR/pbrMaterial.js +0 -110
  25. package/Materials/PBR/pbrMaterial.js.map +1 -1
  26. package/Materials/imageProcessing.d.ts +65 -0
  27. package/Materials/imageProcessing.js +162 -0
  28. package/Materials/imageProcessing.js.map +1 -0
  29. package/Materials/imageProcessingConfiguration.defines.d.ts +25 -0
  30. package/Materials/imageProcessingConfiguration.defines.js +27 -0
  31. package/Materials/imageProcessingConfiguration.defines.js.map +1 -1
  32. package/Materials/index.d.ts +2 -0
  33. package/Materials/index.js +2 -0
  34. package/Materials/index.js.map +1 -1
  35. package/Materials/material.d.ts +14 -0
  36. package/Materials/material.js +14 -0
  37. package/Materials/material.js.map +1 -1
  38. package/Materials/materialHelper.functions.d.ts +53 -0
  39. package/Materials/materialHelper.functions.js +297 -0
  40. package/Materials/materialHelper.functions.js.map +1 -1
  41. package/Materials/standardMaterial.d.ts +57 -121
  42. package/Materials/standardMaterial.js +21 -250
  43. package/Materials/standardMaterial.js.map +1 -1
  44. package/Materials/uv.defines.d.ts +22 -0
  45. package/Materials/uv.defines.js +24 -0
  46. package/Materials/uv.defines.js.map +1 -0
  47. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +1 -0
  48. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  49. package/Misc/decorators.d.ts +7 -0
  50. package/Misc/decorators.js +34 -0
  51. package/Misc/decorators.js.map +1 -1
  52. package/Particles/Node/Blocks/Emitters/createParticleBlock.js +10 -1
  53. package/Particles/Node/Blocks/Emitters/createParticleBlock.js.map +1 -1
  54. package/Particles/Node/Blocks/index.d.ts +2 -0
  55. package/Particles/Node/Blocks/index.js +2 -0
  56. package/Particles/Node/Blocks/index.js.map +1 -1
  57. package/Particles/Node/Blocks/particleInputBlock.js +4 -1
  58. package/Particles/Node/Blocks/particleInputBlock.js.map +1 -1
  59. package/Particles/Node/Blocks/particleLocalVariableBlock.d.ts +38 -0
  60. package/Particles/Node/Blocks/particleLocalVariableBlock.js +108 -0
  61. package/Particles/Node/Blocks/particleLocalVariableBlock.js.map +1 -0
  62. package/Particles/Node/Blocks/particleVectorLengthBlock.d.ts +26 -0
  63. package/Particles/Node/Blocks/particleVectorLengthBlock.js +50 -0
  64. package/Particles/Node/Blocks/particleVectorLengthBlock.js.map +1 -0
  65. package/Rendering/IBLShadows/iblShadowsPluginMaterial.d.ts +2 -1
  66. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js +45 -0
  67. package/Rendering/IBLShadows/iblShadowsPluginMaterial.js.map +1 -1
  68. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +2 -1
  69. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  70. package/Rendering/geometryBufferRenderer.js +6 -4
  71. package/Rendering/geometryBufferRenderer.js.map +1 -1
  72. package/Rendering/iblCdfGenerator.js +28 -20
  73. package/Rendering/iblCdfGenerator.js.map +1 -1
  74. package/Rendering/reflectiveShadowMap.d.ts +3 -3
  75. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  76. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  77. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  78. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  79. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +34 -0
  80. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  81. package/Shaders/ShadersInclude/importanceSampling.js +4 -0
  82. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  83. package/Shaders/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  84. package/Shaders/ShadersInclude/openpbrBaseLayerData.js +127 -0
  85. package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  86. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  87. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js +35 -0
  88. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  89. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  90. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  91. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  92. package/Shaders/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  93. package/Shaders/ShadersInclude/openpbrCoatLayerData.js +59 -0
  94. package/Shaders/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  95. package/Shaders/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  96. package/Shaders/ShadersInclude/openpbrConductorReflectance.js +19 -0
  97. package/Shaders/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  98. package/Shaders/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  99. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +30 -0
  100. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  101. package/Shaders/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  102. package/Shaders/ShadersInclude/openpbrDirectLighting.js +69 -0
  103. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  104. package/Shaders/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  105. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  106. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  107. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.d.ts +5 -0
  108. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js +129 -0
  109. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js.map +1 -0
  110. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  111. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +106 -0
  112. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  113. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.d.ts +6 -0
  114. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +115 -0
  115. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -0
  116. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  117. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +72 -0
  118. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  119. package/Shaders/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  120. package/Shaders/ShadersInclude/openpbrGeometryInfo.js +46 -0
  121. package/Shaders/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  122. package/Shaders/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  123. package/Shaders/ShadersInclude/openpbrIblFunctions.js +221 -0
  124. package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  125. package/Shaders/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  126. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  127. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  128. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  129. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  130. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  131. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  132. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +72 -0
  133. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  134. package/Shaders/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  135. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  136. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  137. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  138. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  139. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  140. package/Shaders/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  141. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +18 -0
  142. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  143. package/Shaders/ShadersInclude/openpbrVertexDeclaration.d.ts +6 -0
  144. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +103 -0
  145. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -0
  146. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  147. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  148. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
  149. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  150. package/Shaders/ShadersInclude/pbrHelperFunctions.js +2 -0
  151. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  152. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  153. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  154. package/Shaders/openpbr.fragment.d.ts +54 -0
  155. package/Shaders/openpbr.fragment.js +206 -0
  156. package/Shaders/openpbr.fragment.js.map +1 -0
  157. package/Shaders/openpbr.vertex.d.ts +39 -0
  158. package/Shaders/openpbr.vertex.js +238 -0
  159. package/Shaders/openpbr.vertex.js.map +1 -0
  160. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +1 -1
  161. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  162. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +1 -1
  163. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  164. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +28 -0
  165. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  166. package/ShadersWGSL/ShadersInclude/importanceSampling.js +4 -0
  167. package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
  168. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  169. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +126 -0
  170. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  171. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  172. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js +36 -0
  173. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  174. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  175. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  176. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  177. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  178. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js +59 -0
  179. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  180. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  181. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js +19 -0
  182. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  183. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  184. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js +33 -0
  185. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  186. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  187. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +69 -0
  188. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  189. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  190. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  191. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  192. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  193. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +112 -0
  194. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  195. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  196. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +68 -0
  197. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  198. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  199. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js +54 -0
  200. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  201. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  202. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +218 -0
  203. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  204. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  205. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  206. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  207. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  208. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  209. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  210. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  211. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +51 -0
  212. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  213. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  214. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  215. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  216. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  217. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  218. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  219. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  220. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +17 -0
  221. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  222. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +1 -1
  223. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  224. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +3 -1
  225. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  226. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +2 -0
  227. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  228. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  229. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  230. package/ShadersWGSL/openpbr.fragment.d.ts +52 -0
  231. package/ShadersWGSL/openpbr.fragment.js +193 -0
  232. package/ShadersWGSL/openpbr.fragment.js.map +1 -0
  233. package/ShadersWGSL/openpbr.vertex.d.ts +37 -0
  234. package/ShadersWGSL/openpbr.vertex.js +227 -0
  235. package/ShadersWGSL/openpbr.vertex.js.map +1 -0
  236. package/package.json +1 -1
@@ -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