@babylonjs/core 8.31.0 → 8.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  2. package/Buffers/bufferUtils.d.ts +1 -2
  3. package/Buffers/bufferUtils.js +3 -4
  4. package/Buffers/bufferUtils.js.map +1 -1
  5. package/Engines/abstractEngine.js +2 -2
  6. package/Engines/abstractEngine.js.map +1 -1
  7. package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.d.ts +21 -0
  8. package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.js +18 -0
  9. package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.js.map +1 -0
  10. package/FrameGraph/frameGraphTextureManager.d.ts +6 -2
  11. package/FrameGraph/frameGraphTextureManager.js +22 -8
  12. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  13. package/FrameGraph/index.d.ts +1 -0
  14. package/FrameGraph/index.js +1 -0
  15. package/FrameGraph/index.js.map +1 -1
  16. package/Materials/PBR/openPbrMaterial.d.ts +39 -0
  17. package/Materials/PBR/openPbrMaterial.js +46 -0
  18. package/Materials/PBR/openPbrMaterial.js.map +1 -1
  19. package/Materials/Textures/texture.js +9 -2
  20. package/Materials/Textures/texture.js.map +1 -1
  21. package/Materials/materialHelper.functions.d.ts +1 -7
  22. package/Materials/materialHelper.functions.js +2 -15
  23. package/Materials/materialHelper.functions.js.map +1 -1
  24. package/Materials/materialHelper.functions.pure.d.ts +10 -0
  25. package/Materials/materialHelper.functions.pure.js +21 -0
  26. package/Materials/materialHelper.functions.pure.js.map +1 -0
  27. package/Meshes/Compression/dracoEncoder.js +1 -1
  28. package/Meshes/Compression/dracoEncoder.js.map +1 -1
  29. package/Meshes/geometry.js +6 -6
  30. package/Meshes/geometry.js.map +1 -1
  31. package/Meshes/mesh.js +2 -2
  32. package/Meshes/mesh.js.map +1 -1
  33. package/Particles/gpuParticleSystem.js +2 -1
  34. package/Particles/gpuParticleSystem.js.map +1 -1
  35. package/Particles/thinParticleSystem.js +4 -3
  36. package/Particles/thinParticleSystem.js.map +1 -1
  37. package/PostProcesses/thinCustomPostProcess.d.ts +20 -0
  38. package/PostProcesses/thinCustomPostProcess.js +32 -0
  39. package/PostProcesses/thinCustomPostProcess.js.map +1 -0
  40. package/Rendering/geometryBufferRenderer.js +6 -1
  41. package/Rendering/geometryBufferRenderer.js.map +1 -1
  42. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +8 -9
  43. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -1
  44. package/Shaders/ShadersInclude/openpbrDirectLighting.js +13 -6
  45. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  46. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +10 -2
  47. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  48. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +7 -1
  49. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -1
  50. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +2 -0
  51. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -1
  52. package/Shaders/ShadersInclude/openpbrThinFilmLayerData.d.ts +5 -0
  53. package/Shaders/ShadersInclude/openpbrThinFilmLayerData.js +27 -0
  54. package/Shaders/ShadersInclude/openpbrThinFilmLayerData.js.map +1 -0
  55. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +1 -1
  56. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  57. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +6 -0
  58. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  59. package/Shaders/geometry.vertex.js +10 -2
  60. package/Shaders/geometry.vertex.js.map +1 -1
  61. package/Shaders/openpbr.fragment.d.ts +1 -0
  62. package/Shaders/openpbr.fragment.js +7 -1
  63. package/Shaders/openpbr.fragment.js.map +1 -1
  64. package/Shaders/openpbr.vertex.js +4 -0
  65. package/Shaders/openpbr.vertex.js.map +1 -1
  66. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +2 -2
  67. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
  68. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +13 -6
  69. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  70. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +10 -2
  71. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  72. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +2 -0
  73. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -1
  74. package/ShadersWGSL/ShadersInclude/openpbrThinFilmLayerData.d.ts +5 -0
  75. package/ShadersWGSL/ShadersInclude/openpbrThinFilmLayerData.js +27 -0
  76. package/ShadersWGSL/ShadersInclude/openpbrThinFilmLayerData.js.map +1 -0
  77. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +1 -1
  78. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  79. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +3 -3
  80. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  81. package/ShadersWGSL/geometry.vertex.js +10 -2
  82. package/ShadersWGSL/geometry.vertex.js.map +1 -1
  83. package/ShadersWGSL/openpbr.fragment.d.ts +1 -0
  84. package/ShadersWGSL/openpbr.fragment.js +7 -1
  85. package/ShadersWGSL/openpbr.fragment.js.map +1 -1
  86. package/ShadersWGSL/openpbr.vertex.js +4 -0
  87. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  88. package/ShadersWGSL/pbr.fragment.js +1 -1
  89. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  90. package/Sprites/spriteRenderer.js +1 -1
  91. package/Sprites/spriteRenderer.js.map +1 -1
  92. package/XR/features/WebXRAnchorSystem.d.ts +1 -1
  93. package/XR/features/WebXRBackgroundRemover.d.ts +1 -1
  94. package/XR/features/WebXRControllerMovement.d.ts +1 -1
  95. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  96. package/XR/features/WebXRControllerPointerSelection.d.ts +1 -1
  97. package/XR/features/WebXRControllerTeleportation.d.ts +1 -1
  98. package/XR/features/WebXRDOMOverlay.d.ts +1 -1
  99. package/XR/features/WebXRDepthSensing.d.ts +1 -1
  100. package/XR/features/WebXREyeTracking.d.ts +1 -1
  101. package/XR/features/WebXRFeaturePointSystem.d.ts +1 -1
  102. package/XR/features/WebXRHandTracking.d.ts +1 -1
  103. package/XR/features/WebXRHitTest.d.ts +1 -1
  104. package/XR/features/WebXRHitTestLegacy.d.ts +1 -1
  105. package/XR/features/WebXRImageTracking.d.ts +1 -1
  106. package/XR/features/WebXRLayers.d.ts +1 -1
  107. package/XR/features/WebXRLightEstimation.d.ts +1 -1
  108. package/XR/features/WebXRMeshDetector.d.ts +1 -1
  109. package/XR/features/WebXRNearInteraction.d.ts +1 -1
  110. package/XR/features/WebXRPlaneDetector.d.ts +1 -1
  111. package/XR/features/WebXRRawCameraAccess.d.ts +1 -1
  112. package/XR/features/WebXRSpaceWarp.d.ts +1 -1
  113. package/XR/motionController/index.d.ts +1 -0
  114. package/XR/motionController/index.js +1 -0
  115. package/XR/motionController/index.js.map +1 -1
  116. package/XR/motionController/webXRMotionControllerManager.js +1 -0
  117. package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
  118. package/XR/motionController/webXROculusHandController.d.ts +25 -0
  119. package/XR/motionController/webXROculusHandController.js +246 -0
  120. package/XR/motionController/webXROculusHandController.js.map +1 -0
  121. package/XR/webXRDefaultExperience.js +1 -1
  122. package/XR/webXRDefaultExperience.js.map +1 -1
  123. package/XR/webXRFeaturesManager.d.ts +116 -27
  124. package/XR/webXRFeaturesManager.js.map +1 -1
  125. package/package.json +1 -1
@@ -18,6 +18,7 @@ export * from "./Tasks/PostProcesses/blurTask.js";
18
18
  export * from "./Tasks/PostProcesses/chromaticAberrationTask.js";
19
19
  export * from "./Tasks/PostProcesses/circleOfConfusionTask.js";
20
20
  export * from "./Tasks/PostProcesses/convolutionTask.js";
21
+ export * from "./Tasks/PostProcesses/customPostProcessTask.js";
21
22
  export * from "./Tasks/PostProcesses/depthOfFieldTask.js";
22
23
  export * from "./Tasks/PostProcesses/extractHighlightsTask.js";
23
24
  export * from "./Tasks/PostProcesses/fxaaTask.js";
@@ -19,6 +19,7 @@ export * from "./Tasks/PostProcesses/blurTask.js";
19
19
  export * from "./Tasks/PostProcesses/chromaticAberrationTask.js";
20
20
  export * from "./Tasks/PostProcesses/circleOfConfusionTask.js";
21
21
  export * from "./Tasks/PostProcesses/convolutionTask.js";
22
+ export * from "./Tasks/PostProcesses/customPostProcessTask.js";
22
23
  export * from "./Tasks/PostProcesses/depthOfFieldTask.js";
23
24
  export * from "./Tasks/PostProcesses/extractHighlightsTask.js";
24
25
  export * from "./Tasks/PostProcesses/fxaaTask.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dev/core/src/FrameGraph/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAElD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAE3D,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./Node/nodeRenderGraph\";\r\nexport * from \"./Node/nodeRenderGraphBlock\";\r\nexport * from \"./Node/nodeRenderGraphBlockConnectionPoint\";\r\nexport * from \"./Node/nodeRenderGraphBuildState\";\r\nexport * from \"./Node/Types/nodeRenderGraphTypes\";\r\nexport * from \"./Node/Blocks/index\";\r\n\r\nexport * from \"./Passes/cullPass\";\r\nexport * from \"./Passes/pass\";\r\nexport * from \"./Passes/renderPass\";\r\n\r\nexport * from \"./Tasks/Layers/glowLayerTask\";\r\nexport * from \"./Tasks/Layers/highlightLayerTask\";\r\n\r\nexport * from \"./Tasks/Misc/cullObjectsTask\";\r\nexport * from \"./Tasks/Misc/executeTask\";\r\n\r\nexport * from \"./Tasks/PostProcesses/anaglyphTask\";\r\nexport * from \"./Tasks/PostProcesses/blackAndWhiteTask\";\r\nexport * from \"./Tasks/PostProcesses/bloomTask\";\r\nexport * from \"./Tasks/PostProcesses/blurTask\";\r\nexport * from \"./Tasks/PostProcesses/chromaticAberrationTask\";\r\nexport * from \"./Tasks/PostProcesses/circleOfConfusionTask\";\r\nexport * from \"./Tasks/PostProcesses/convolutionTask\";\r\nexport * from \"./Tasks/PostProcesses/depthOfFieldTask\";\r\nexport * from \"./Tasks/PostProcesses/extractHighlightsTask\";\r\nexport * from \"./Tasks/PostProcesses/fxaaTask\";\r\nexport * from \"./Tasks/PostProcesses/grainTask\";\r\nexport * from \"./Tasks/PostProcesses/imageProcessingTask\";\r\nexport * from \"./Tasks/PostProcesses/motionBlurTask\";\r\nexport * from \"./Tasks/PostProcesses/passTask\";\r\nexport * from \"./Tasks/PostProcesses/postProcessTask\";\r\nexport * from \"./Tasks/PostProcesses/sharpenTask\";\r\nexport * from \"./Tasks/PostProcesses/screenSpaceCurvatureTask\";\r\nexport * from \"./Tasks/PostProcesses/ssrRenderingPipelineTask\";\r\n\r\nexport * from \"./Tasks/Texture/clearTextureTask\";\r\nexport * from \"./Tasks/Texture/copyToBackbufferColorTask\";\r\nexport * from \"./Tasks/Texture/copyToTextureTask\";\r\nexport * from \"./Tasks/Texture/generateMipMapsTask\";\r\n\r\nexport * from \"./Tasks/Rendering/csmShadowGeneratorTask\";\r\nexport * from \"./Tasks/Rendering/geometryRendererTask\";\r\nexport * from \"./Tasks/Rendering/objectRendererTask\";\r\nexport * from \"./Tasks/Rendering/shadowGeneratorTask\";\r\nexport * from \"./Tasks/Rendering/taaObjectRendererTask\";\r\nexport * from \"./Tasks/Rendering/utilityLayerRendererTask\";\r\n\r\nexport * from \"./frameGraph\";\r\nexport * from \"./frameGraphContext\";\r\nexport * from \"./frameGraphObjectList\";\r\nexport * from \"./frameGraphRenderContext\";\r\nexport * from \"./frameGraphRenderTarget\";\r\nexport * from \"./frameGraphTask\";\r\nexport * from \"./frameGraphTextureManager\";\r\nexport * from \"./frameGraphTypes\";\r\nexport * from \"./frameGraphUtils\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dev/core/src/FrameGraph/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAElD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAE3D,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./Node/nodeRenderGraph\";\r\nexport * from \"./Node/nodeRenderGraphBlock\";\r\nexport * from \"./Node/nodeRenderGraphBlockConnectionPoint\";\r\nexport * from \"./Node/nodeRenderGraphBuildState\";\r\nexport * from \"./Node/Types/nodeRenderGraphTypes\";\r\nexport * from \"./Node/Blocks/index\";\r\n\r\nexport * from \"./Passes/cullPass\";\r\nexport * from \"./Passes/pass\";\r\nexport * from \"./Passes/renderPass\";\r\n\r\nexport * from \"./Tasks/Layers/glowLayerTask\";\r\nexport * from \"./Tasks/Layers/highlightLayerTask\";\r\n\r\nexport * from \"./Tasks/Misc/cullObjectsTask\";\r\nexport * from \"./Tasks/Misc/executeTask\";\r\n\r\nexport * from \"./Tasks/PostProcesses/anaglyphTask\";\r\nexport * from \"./Tasks/PostProcesses/blackAndWhiteTask\";\r\nexport * from \"./Tasks/PostProcesses/bloomTask\";\r\nexport * from \"./Tasks/PostProcesses/blurTask\";\r\nexport * from \"./Tasks/PostProcesses/chromaticAberrationTask\";\r\nexport * from \"./Tasks/PostProcesses/circleOfConfusionTask\";\r\nexport * from \"./Tasks/PostProcesses/convolutionTask\";\r\nexport * from \"./Tasks/PostProcesses/customPostProcessTask\";\r\nexport * from \"./Tasks/PostProcesses/depthOfFieldTask\";\r\nexport * from \"./Tasks/PostProcesses/extractHighlightsTask\";\r\nexport * from \"./Tasks/PostProcesses/fxaaTask\";\r\nexport * from \"./Tasks/PostProcesses/grainTask\";\r\nexport * from \"./Tasks/PostProcesses/imageProcessingTask\";\r\nexport * from \"./Tasks/PostProcesses/motionBlurTask\";\r\nexport * from \"./Tasks/PostProcesses/passTask\";\r\nexport * from \"./Tasks/PostProcesses/postProcessTask\";\r\nexport * from \"./Tasks/PostProcesses/sharpenTask\";\r\nexport * from \"./Tasks/PostProcesses/screenSpaceCurvatureTask\";\r\nexport * from \"./Tasks/PostProcesses/ssrRenderingPipelineTask\";\r\n\r\nexport * from \"./Tasks/Texture/clearTextureTask\";\r\nexport * from \"./Tasks/Texture/copyToBackbufferColorTask\";\r\nexport * from \"./Tasks/Texture/copyToTextureTask\";\r\nexport * from \"./Tasks/Texture/generateMipMapsTask\";\r\n\r\nexport * from \"./Tasks/Rendering/csmShadowGeneratorTask\";\r\nexport * from \"./Tasks/Rendering/geometryRendererTask\";\r\nexport * from \"./Tasks/Rendering/objectRendererTask\";\r\nexport * from \"./Tasks/Rendering/shadowGeneratorTask\";\r\nexport * from \"./Tasks/Rendering/taaObjectRendererTask\";\r\nexport * from \"./Tasks/Rendering/utilityLayerRendererTask\";\r\n\r\nexport * from \"./frameGraph\";\r\nexport * from \"./frameGraphContext\";\r\nexport * from \"./frameGraphObjectList\";\r\nexport * from \"./frameGraphRenderContext\";\r\nexport * from \"./frameGraphRenderTarget\";\r\nexport * from \"./frameGraphTask\";\r\nexport * from \"./frameGraphTextureManager\";\r\nexport * from \"./frameGraphTypes\";\r\nexport * from \"./frameGraphUtils\";\r\n"]}
@@ -82,6 +82,7 @@ export declare class OpenPBRMaterialDefines extends OpenPBRMaterialDefines_base
82
82
  SPECULAR_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE: boolean;
83
83
  COAT_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE: boolean;
84
84
  USE_GLTF_STYLE_ANISOTROPY: boolean;
85
+ THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE: boolean;
85
86
  ENVIRONMENTBRDF: boolean;
86
87
  ENVIRONMENTBRDF_RGBD: boolean;
87
88
  NORMAL: boolean;
@@ -95,6 +96,8 @@ export declare class OpenPBRMaterialDefines extends OpenPBRMaterialDefines_base
95
96
  ANISOTROPIC_OPENPBR: boolean;
96
97
  ANISOTROPIC_BASE: boolean;
97
98
  ANISOTROPIC_COAT: boolean;
99
+ THIN_FILM: boolean;
100
+ IRIDESCENCE: boolean;
98
101
  REFLECTION: boolean;
99
102
  REFLECTIONMAP_3D: boolean;
100
103
  REFLECTIONMAP_SPHERICAL: boolean;
@@ -501,6 +504,38 @@ export declare class OpenPBRMaterial extends OpenPBRMaterialBase {
501
504
  */
502
505
  emissionColorTexture: Nullable<BaseTexture>;
503
506
  private _emissionColorTexture;
507
+ /**
508
+ * Defines the weight of the thin film layer on top of the base layer for iridescent effects.
509
+ */
510
+ thinFilmWeight: number;
511
+ private _thinFilmWeight;
512
+ /**
513
+ * Thin film weight texture.
514
+ */
515
+ thinFilmWeightTexture: Nullable<BaseTexture>;
516
+ private _thinFilmWeightTexture;
517
+ /**
518
+ * Defines the thickness of the thin film layer in μm. If a texture is provided for thinFilmWeightTexture,
519
+ * this value will act as a multiplier to the texture values.
520
+ * See OpenPBR's specs for thin_film_thickness
521
+ */
522
+ thinFilmThickness: number;
523
+ private _thinFilmThickness;
524
+ /**
525
+ * Defines the minimum thickness of the thin film layer in μm.
526
+ */
527
+ thinFilmThicknessMin: number;
528
+ private _thinFilmThicknessMin;
529
+ /**
530
+ * Defines the maximum thickness of the thin film layer in μm.
531
+ */
532
+ thinFilmThicknessTexture: Nullable<BaseTexture>;
533
+ private _thinFilmThicknessTexture;
534
+ /**
535
+ * Defines the index of refraction of the thin film layer.
536
+ */
537
+ thinFilmIor: number;
538
+ private _thinFilmIor;
504
539
  /**
505
540
  * Defines the ambient occlusion texture.
506
541
  */
@@ -730,6 +765,10 @@ export declare class OpenPBRMaterial extends OpenPBRMaterialBase {
730
765
  * @internal
731
766
  */
732
767
  _useMetallicFromMetallicTextureBlue: boolean;
768
+ /**
769
+ * Specifies if the thin film thickness is stored in the green channel of the thin film thickness texture.
770
+ */
771
+ _useThinFilmThicknessFromTextureGreen: boolean;
733
772
  /**
734
773
  * Defines the falloff type used in this material.
735
774
  * It by default is Physical.
@@ -178,6 +178,7 @@ export class OpenPBRMaterialDefines extends ImageProcessingDefinesMixin(OpenPBRM
178
178
  this.SPECULAR_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE = false;
179
179
  this.COAT_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE = false;
180
180
  this.USE_GLTF_STYLE_ANISOTROPY = false;
181
+ this.THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE = false;
181
182
  this.ENVIRONMENTBRDF = false;
182
183
  this.ENVIRONMENTBRDF_RGBD = false;
183
184
  this.NORMAL = false;
@@ -191,6 +192,8 @@ export class OpenPBRMaterialDefines extends ImageProcessingDefinesMixin(OpenPBRM
191
192
  this.ANISOTROPIC_OPENPBR = true; // Tells the shader to use OpenPBR's anisotropic roughness remapping
192
193
  this.ANISOTROPIC_BASE = false; // Tells the shader to apply anisotropy to the base layer
193
194
  this.ANISOTROPIC_COAT = false; // Tells the shader to apply anisotropy to the coat layer
195
+ this.THIN_FILM = false; // Enables thin film layer
196
+ this.IRIDESCENCE = false; // Enables iridescence layer
194
197
  this.REFLECTION = false;
195
198
  this.REFLECTIONMAP_3D = false;
196
199
  this.REFLECTIONMAP_SPHERICAL = false;
@@ -471,6 +474,12 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
471
474
  this._emissionLuminance = new Property("emission_luminance", 1.0, "vLightingIntensity", 4, 1);
472
475
  this._emissionColor = new Property("emission_color", Color3.Black(), "vEmissionColor", 3);
473
476
  this._emissionColorTexture = new Sampler("emission_color", "emissionColor", "EMISSION_COLOR");
477
+ this._thinFilmWeight = new Property("thin_film_weight", 0.0, "vThinFilmWeight", 1, 0);
478
+ this._thinFilmWeightTexture = new Sampler("thin_film_weight", "thinFilmWeight", "THIN_FILM_WEIGHT");
479
+ this._thinFilmThickness = new Property("thin_film_thickness", 0.5, "vThinFilmThickness", 2, 0);
480
+ this._thinFilmThicknessMin = new Property("thin_film_thickness_min", 0.0, "vThinFilmThickness", 2, 1);
481
+ this._thinFilmThicknessTexture = new Sampler("thin_film_thickness", "thinFilmThickness", "THIN_FILM_THICKNESS");
482
+ this._thinFilmIor = new Property("thin_film_ior", 1.4, "vThinFilmIor", 1, 0);
474
483
  this._ambientOcclusionTexture = new Sampler("ambient_occlusion", "ambientOcclusion", "AMBIENT_OCCLUSION");
475
484
  this._uniformsList = {};
476
485
  this._samplersList = {};
@@ -667,6 +676,10 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
667
676
  * @internal
668
677
  */
669
678
  this._useMetallicFromMetallicTextureBlue = false;
679
+ /**
680
+ * Specifies if the thin film thickness is stored in the green channel of the thin film thickness texture.
681
+ */
682
+ this._useThinFilmThicknessFromTextureGreen = false;
670
683
  /**
671
684
  * Defines the falloff type used in this material.
672
685
  * It by default is Physical.
@@ -901,6 +914,12 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
901
914
  this._geometryCoatTangentTexture;
902
915
  this._geometryOpacity;
903
916
  this._geometryOpacityTexture;
917
+ this._thinFilmWeight;
918
+ this._thinFilmWeightTexture;
919
+ this._thinFilmThickness;
920
+ this._thinFilmThicknessMin;
921
+ this._thinFilmThicknessTexture;
922
+ this._thinFilmIor;
904
923
  this._emissionLuminance;
905
924
  this._emissionColor;
906
925
  this._emissionColorTexture;
@@ -1681,6 +1700,7 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
1681
1700
  defines.COAT_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE = this._useCoatRoughnessAnisotropyFromTangentTexture;
1682
1701
  defines.ROUGHNESSSTOREINMETALMAPGREEN = this._useRoughnessFromMetallicTextureGreen;
1683
1702
  defines.METALLNESSSTOREINMETALMAPBLUE = this._useMetallicFromMetallicTextureBlue;
1703
+ defines.THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE = this._useThinFilmThicknessFromTextureGreen;
1684
1704
  if (this.geometryNormalTexture) {
1685
1705
  if (this._useParallax && this.baseColorTexture && MaterialFlags.DiffuseTextureEnabled) {
1686
1706
  defines.PARALLAX = true;
@@ -1769,6 +1789,8 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
1769
1789
  defines.ANISOTROPIC_BASE = false;
1770
1790
  defines.ANISOTROPIC_COAT = false;
1771
1791
  }
1792
+ defines.THIN_FILM = this.thinFilmWeight > 0.0;
1793
+ defines.IRIDESCENCE = this.thinFilmWeight > 0.0;
1772
1794
  // Misc.
1773
1795
  if (defines._areMiscDirty) {
1774
1796
  PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this.needAlphaTestingForMesh(mesh), defines, this._applyDecalMapAfterDetailMap, this._useVertexPulling, renderingMesh, this._setVertexOutputInvariant);
@@ -1949,6 +1971,30 @@ __decorate([
1949
1971
  addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "emissionColorTexture")
1950
1972
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1951
1973
  ], OpenPBRMaterial.prototype, "_emissionColorTexture", void 0);
1974
+ __decorate([
1975
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmWeight")
1976
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1977
+ ], OpenPBRMaterial.prototype, "_thinFilmWeight", void 0);
1978
+ __decorate([
1979
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmWeightTexture")
1980
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1981
+ ], OpenPBRMaterial.prototype, "_thinFilmWeightTexture", void 0);
1982
+ __decorate([
1983
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmThickness")
1984
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1985
+ ], OpenPBRMaterial.prototype, "_thinFilmThickness", void 0);
1986
+ __decorate([
1987
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmThicknessMin")
1988
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1989
+ ], OpenPBRMaterial.prototype, "_thinFilmThicknessMin", void 0);
1990
+ __decorate([
1991
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmThicknessTexture")
1992
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1993
+ ], OpenPBRMaterial.prototype, "_thinFilmThicknessTexture", void 0);
1994
+ __decorate([
1995
+ addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "thinFilmIor")
1996
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1997
+ ], OpenPBRMaterial.prototype, "_thinFilmIor", void 0);
1952
1998
  __decorate([
1953
1999
  addAccessorsForMaterialProperty("_markAllSubMeshesAsTexturesDirty", "ambientOcclusionTexture")
1954
2000
  // eslint-disable-next-line @typescript-eslint/no-unused-vars