@babylonjs/core 7.18.0 → 7.19.0

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 (419) hide show
  1. package/Animations/animationGroup.js +10 -2
  2. package/Animations/animationGroup.js.map +1 -1
  3. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -58
  4. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +26 -75
  5. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  6. package/Engines/abstractEngine.js +2 -2
  7. package/Engines/abstractEngine.js.map +1 -1
  8. package/Materials/Background/backgroundMaterial.d.ts +5 -3
  9. package/Materials/Background/backgroundMaterial.js +26 -3
  10. package/Materials/Background/backgroundMaterial.js.map +1 -1
  11. package/Materials/Background/index.d.ts +4 -0
  12. package/Materials/Background/index.js +6 -0
  13. package/Materials/Background/index.js.map +1 -1
  14. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +3 -1
  15. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js +3 -1
  16. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -1
  17. package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +1 -0
  18. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +22 -0
  19. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
  20. package/Materials/Node/Blocks/Dual/fogBlock.d.ts +2 -1
  21. package/Materials/Node/Blocks/Dual/fogBlock.js +14 -1
  22. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  23. package/Materials/Node/Blocks/Dual/index.d.ts +28 -0
  24. package/Materials/Node/Blocks/Dual/index.js +33 -0
  25. package/Materials/Node/Blocks/Dual/index.js.map +1 -1
  26. package/Materials/Node/Blocks/Dual/lightBlock.d.ts +2 -9
  27. package/Materials/Node/Blocks/Dual/lightBlock.js +32 -9
  28. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  29. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +2 -1
  30. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +14 -1
  31. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  32. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +1 -3
  33. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +20 -3
  34. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  35. package/Materials/Node/Blocks/Fragment/index.d.ts +18 -0
  36. package/Materials/Node/Blocks/Fragment/index.js +22 -0
  37. package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
  38. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +2 -3
  39. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +65 -35
  40. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  41. package/Materials/Node/Blocks/Fragment/shadowMapBlock.d.ts +1 -0
  42. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js +20 -0
  43. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
  44. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +8 -7
  45. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  46. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +9 -6
  47. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  48. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +1 -0
  49. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +28 -18
  50. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  51. package/Materials/Node/Blocks/PBR/refractionBlock.js +14 -12
  52. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  53. package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +1 -2
  54. package/Materials/Node/Blocks/Vertex/bonesBlock.js +12 -2
  55. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  56. package/Materials/Node/Blocks/Vertex/index.d.ts +12 -0
  57. package/Materials/Node/Blocks/Vertex/index.js +15 -0
  58. package/Materials/Node/Blocks/Vertex/index.js.map +1 -1
  59. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +1 -2
  60. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +22 -2
  61. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  62. package/Materials/Node/nodeMaterial.d.ts +1 -0
  63. package/Materials/Node/nodeMaterial.js +19 -0
  64. package/Materials/Node/nodeMaterial.js.map +1 -1
  65. package/Materials/Node/nodeMaterialBlock.d.ts +10 -0
  66. package/Materials/Node/nodeMaterialBlock.js +13 -0
  67. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  68. package/Materials/PBR/index.d.ts +4 -0
  69. package/Materials/PBR/index.js +5 -0
  70. package/Materials/PBR/index.js.map +1 -1
  71. package/Materials/PBR/pbrBaseMaterial.d.ts +12 -3
  72. package/Materials/PBR/pbrBaseMaterial.js +62 -20
  73. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  74. package/Materials/PBR/pbrMaterial.d.ts +2 -1
  75. package/Materials/PBR/pbrMaterial.js +3 -2
  76. package/Materials/PBR/pbrMaterial.js.map +1 -1
  77. package/Materials/index.d.ts +4 -0
  78. package/Materials/index.js +6 -0
  79. package/Materials/index.js.map +1 -1
  80. package/Materials/material.d.ts +7 -0
  81. package/Materials/material.js +8 -0
  82. package/Materials/material.js.map +1 -1
  83. package/Materials/materialPluginManager.js +19 -1
  84. package/Materials/materialPluginManager.js.map +1 -1
  85. package/Materials/standardMaterial.d.ts +9 -3
  86. package/Materials/standardMaterial.js +30 -3
  87. package/Materials/standardMaterial.js.map +1 -1
  88. package/Meshes/Builders/greasedLineBuilder.js +2 -2
  89. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  90. package/Meshes/Builders/linesBuilder.js +1 -0
  91. package/Meshes/Builders/linesBuilder.js.map +1 -1
  92. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.d.ts +6 -0
  93. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +12 -0
  94. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -0
  95. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  96. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  97. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  98. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  99. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  100. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  101. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  102. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  103. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  104. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  105. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  106. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  107. package/ShadersWGSL/ShadersInclude/bumpFragment.d.ts +1 -1
  108. package/ShadersWGSL/ShadersInclude/bumpFragment.js +17 -17
  109. package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -1
  110. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  111. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js +3 -3
  112. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  113. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  114. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +22 -42
  115. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  116. package/ShadersWGSL/ShadersInclude/bumpVertex.d.ts +5 -0
  117. package/ShadersWGSL/ShadersInclude/bumpVertex.js +14 -0
  118. package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -0
  119. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.d.ts +5 -0
  120. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +14 -0
  121. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -0
  122. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  123. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  124. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  125. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  126. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  127. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  128. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  129. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  130. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  131. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  132. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  133. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  134. package/ShadersWGSL/ShadersInclude/decalFragment.d.ts +1 -1
  135. package/ShadersWGSL/ShadersInclude/decalFragment.js +5 -4
  136. package/ShadersWGSL/ShadersInclude/decalFragment.js.map +1 -1
  137. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.d.ts +5 -0
  138. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js +12 -0
  139. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js.map +1 -0
  140. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.d.ts +5 -0
  141. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js +12 -0
  142. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js.map +1 -0
  143. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.d.ts +7 -0
  144. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +15 -0
  145. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -0
  146. package/ShadersWGSL/ShadersInclude/depthPrePass.d.ts +1 -1
  147. package/ShadersWGSL/ShadersInclude/depthPrePass.js +1 -1
  148. package/ShadersWGSL/ShadersInclude/depthPrePass.js.map +1 -1
  149. package/ShadersWGSL/ShadersInclude/fogFragment.d.ts +5 -0
  150. package/ShadersWGSL/ShadersInclude/fogFragment.js +16 -0
  151. package/ShadersWGSL/ShadersInclude/fogFragment.js.map +1 -0
  152. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  153. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js +2 -3
  154. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  155. package/ShadersWGSL/ShadersInclude/fogVertex.d.ts +1 -1
  156. package/ShadersWGSL/ShadersInclude/fogVertex.js +2 -2
  157. package/ShadersWGSL/ShadersInclude/fogVertex.js.map +1 -1
  158. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  159. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js +1 -1
  160. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  161. package/ShadersWGSL/ShadersInclude/fresnelFunction.d.ts +1 -1
  162. package/ShadersWGSL/ShadersInclude/fresnelFunction.js +1 -1
  163. package/ShadersWGSL/ShadersInclude/fresnelFunction.js.map +1 -1
  164. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  165. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js +1 -1
  166. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js.map +1 -1
  167. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  168. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +1 -1
  169. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  170. package/ShadersWGSL/ShadersInclude/helperFunctions.d.ts +1 -1
  171. package/ShadersWGSL/ShadersInclude/helperFunctions.js +15 -6
  172. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  173. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  174. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js +3 -3
  175. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  176. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  177. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js +5 -5
  178. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  179. package/ShadersWGSL/ShadersInclude/importanceSampling.d.ts +1 -1
  180. package/ShadersWGSL/ShadersInclude/importanceSampling.js +1 -1
  181. package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
  182. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  183. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  184. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  185. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  186. package/ShadersWGSL/ShadersInclude/instancesVertex.js +4 -4
  187. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  188. package/ShadersWGSL/ShadersInclude/lightFragment.d.ts +1 -1
  189. package/ShadersWGSL/ShadersInclude/lightFragment.js +8 -8
  190. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  191. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  192. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +2 -2
  193. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  194. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.d.ts +5 -0
  195. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js +33 -0
  196. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -0
  197. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  198. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +1 -1
  199. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  200. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  201. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +3 -3
  202. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  203. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  204. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js +1 -1
  205. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js.map +1 -1
  206. package/ShadersWGSL/ShadersInclude/logDepthFragment.d.ts +5 -0
  207. package/ShadersWGSL/ShadersInclude/logDepthFragment.js +12 -0
  208. package/ShadersWGSL/ShadersInclude/logDepthFragment.js.map +1 -0
  209. package/ShadersWGSL/ShadersInclude/logDepthVertex.d.ts +1 -1
  210. package/ShadersWGSL/ShadersInclude/logDepthVertex.js +2 -2
  211. package/ShadersWGSL/ShadersInclude/logDepthVertex.js.map +1 -1
  212. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.d.ts +5 -0
  213. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js +12 -0
  214. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -0
  215. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  216. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  217. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  218. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  219. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +6 -6
  220. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  221. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  222. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  223. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  224. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  225. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  226. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  227. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  228. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  229. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  230. package/ShadersWGSL/ShadersInclude/oitDeclaration.d.ts +5 -0
  231. package/ShadersWGSL/ShadersInclude/oitDeclaration.js +13 -0
  232. package/ShadersWGSL/ShadersInclude/oitDeclaration.js.map +1 -0
  233. package/ShadersWGSL/ShadersInclude/oitFragment.d.ts +5 -0
  234. package/ShadersWGSL/ShadersInclude/oitFragment.js +34 -0
  235. package/ShadersWGSL/ShadersInclude/oitFragment.js.map +1 -0
  236. package/ShadersWGSL/ShadersInclude/packingFunctions.d.ts +1 -1
  237. package/ShadersWGSL/ShadersInclude/packingFunctions.js +1 -1
  238. package/ShadersWGSL/ShadersInclude/packingFunctions.js.map +1 -1
  239. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  240. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +12 -8
  241. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  242. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  243. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js +5 -6
  244. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  245. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  246. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js +7 -8
  247. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  248. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  249. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  250. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  251. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  252. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js +5 -5
  253. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  254. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  255. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js +5 -5
  256. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  257. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  258. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  259. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  260. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  261. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js +3 -3
  262. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  263. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  264. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +6 -6
  265. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  266. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  267. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +7 -7
  268. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  269. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  270. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  271. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  272. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  273. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js +4 -4
  274. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  275. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  276. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js +3 -5
  277. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  278. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  279. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js +5 -5
  280. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  281. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  282. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +4 -4
  283. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  284. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.d.ts +5 -0
  285. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js +19 -0
  286. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -0
  287. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  288. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  289. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  290. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  291. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js +1 -1
  292. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  293. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  294. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +6 -6
  295. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
  296. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  297. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +1 -1
  298. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  299. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  300. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js +4 -4
  301. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js.map +1 -1
  302. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  303. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js +4 -4
  304. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  305. package/ShadersWGSL/ShadersInclude/pbrDebug.d.ts +1 -1
  306. package/ShadersWGSL/ShadersInclude/pbrDebug.js +10 -10
  307. package/ShadersWGSL/ShadersInclude/pbrDebug.js.map +1 -1
  308. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  309. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  310. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  311. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  312. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  313. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  314. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  315. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  316. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  317. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +6 -0
  318. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js +24 -0
  319. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -0
  320. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +7 -0
  321. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +96 -0
  322. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -0
  323. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  324. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +3 -3
  325. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  326. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  327. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +3 -3
  328. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  329. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.d.ts +7 -0
  330. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +15 -0
  331. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -0
  332. package/ShadersWGSL/ShadersInclude/prePassDeclaration.d.ts +5 -0
  333. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +17 -0
  334. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -0
  335. package/ShadersWGSL/ShadersInclude/prePassVertex.d.ts +5 -0
  336. package/ShadersWGSL/ShadersInclude/prePassVertex.js +42 -0
  337. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -0
  338. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.d.ts +5 -0
  339. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +17 -0
  340. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -0
  341. package/ShadersWGSL/ShadersInclude/reflectionFunction.d.ts +1 -1
  342. package/ShadersWGSL/ShadersInclude/reflectionFunction.js +12 -10
  343. package/ShadersWGSL/ShadersInclude/reflectionFunction.js.map +1 -1
  344. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +5 -0
  345. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js +26 -0
  346. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -0
  347. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  348. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js +2 -2
  349. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  350. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.d.ts +5 -0
  351. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js +12 -0
  352. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js.map +1 -0
  353. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.d.ts +5 -0
  354. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js +33 -0
  355. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js.map +1 -0
  356. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  357. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  358. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  359. package/ShadersWGSL/ShadersInclude/shadowMapFragment.d.ts +1 -1
  360. package/ShadersWGSL/ShadersInclude/shadowMapFragment.js +1 -1
  361. package/ShadersWGSL/ShadersInclude/shadowMapFragment.js.map +1 -1
  362. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  363. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js +1 -1
  364. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  365. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  366. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  367. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  368. package/ShadersWGSL/ShadersInclude/shadowsVertex.d.ts +1 -1
  369. package/ShadersWGSL/ShadersInclude/shadowsVertex.js +2 -2
  370. package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
  371. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.d.ts +5 -0
  372. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js +10 -0
  373. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -0
  374. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.d.ts +5 -0
  375. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js +12 -0
  376. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js.map +1 -0
  377. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.d.ts +5 -0
  378. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js +17 -0
  379. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js.map +1 -0
  380. package/ShadersWGSL/ShadersInclude/vertexColorMixing.d.ts +5 -0
  381. package/ShadersWGSL/ShadersInclude/vertexColorMixing.js +22 -0
  382. package/ShadersWGSL/ShadersInclude/vertexColorMixing.js.map +1 -0
  383. package/ShadersWGSL/background.fragment.d.ts +20 -0
  384. package/ShadersWGSL/background.fragment.js +225 -0
  385. package/ShadersWGSL/background.fragment.js.map +1 -0
  386. package/ShadersWGSL/background.vertex.d.ts +21 -0
  387. package/ShadersWGSL/background.vertex.js +123 -0
  388. package/ShadersWGSL/background.vertex.js.map +1 -0
  389. package/ShadersWGSL/boundingInfo.compute.d.ts +1 -1
  390. package/ShadersWGSL/boundingInfo.compute.js +1 -1
  391. package/ShadersWGSL/boundingInfo.compute.js.map +1 -1
  392. package/ShadersWGSL/clearQuad.fragment.d.ts +1 -1
  393. package/ShadersWGSL/clearQuad.fragment.js +1 -1
  394. package/ShadersWGSL/clearQuad.fragment.js.map +1 -1
  395. package/ShadersWGSL/clearQuad.vertex.d.ts +1 -1
  396. package/ShadersWGSL/clearQuad.vertex.js +1 -1
  397. package/ShadersWGSL/clearQuad.vertex.js.map +1 -1
  398. package/ShadersWGSL/default.fragment.d.ts +31 -0
  399. package/ShadersWGSL/default.fragment.js +381 -0
  400. package/ShadersWGSL/default.fragment.js.map +1 -0
  401. package/ShadersWGSL/default.vertex.d.ts +36 -0
  402. package/ShadersWGSL/default.vertex.js +169 -0
  403. package/ShadersWGSL/default.vertex.js.map +1 -0
  404. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  405. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  406. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  407. package/ShadersWGSL/particles.vertex.d.ts +1 -1
  408. package/ShadersWGSL/particles.vertex.js +1 -1
  409. package/ShadersWGSL/particles.vertex.js.map +1 -1
  410. package/ShadersWGSL/pbr.fragment.d.ts +60 -0
  411. package/ShadersWGSL/pbr.fragment.js +667 -0
  412. package/ShadersWGSL/pbr.fragment.js.map +1 -0
  413. package/ShadersWGSL/pbr.vertex.d.ts +36 -0
  414. package/ShadersWGSL/pbr.vertex.js +232 -0
  415. package/ShadersWGSL/pbr.vertex.js.map +1 -0
  416. package/ShadersWGSL/postprocess.vertex.d.ts +1 -1
  417. package/ShadersWGSL/postprocess.vertex.js +1 -1
  418. package/ShadersWGSL/postprocess.vertex.js.map +1 -1
  419. package/package.json +1 -1
@@ -0,0 +1,667 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/prePassDeclaration.js";
4
+ import "./ShadersInclude/oitDeclaration.js";
5
+ import "./ShadersInclude/pbrUboDeclaration.js";
6
+ import "./ShadersInclude/pbrFragmentExtraDeclaration.js";
7
+ import "./ShadersInclude/lightUboDeclaration.js";
8
+ import "./ShadersInclude/pbrFragmentSamplersDeclaration.js";
9
+ import "./ShadersInclude/imageProcessingDeclaration.js";
10
+ import "./ShadersInclude/clipPlaneFragmentDeclaration.js";
11
+ import "./ShadersInclude/logDepthDeclaration.js";
12
+ import "./ShadersInclude/fogFragmentDeclaration.js";
13
+ import "./ShadersInclude/helperFunctions.js";
14
+ import "./ShadersInclude/subSurfaceScatteringFunctions.js";
15
+ import "./ShadersInclude/importanceSampling.js";
16
+ import "./ShadersInclude/pbrHelperFunctions.js";
17
+ import "./ShadersInclude/imageProcessingFunctions.js";
18
+ import "./ShadersInclude/shadowsFragmentFunctions.js";
19
+ import "./ShadersInclude/harmonicsFunctions.js";
20
+ import "./ShadersInclude/pbrDirectLightingSetupFunctions.js";
21
+ import "./ShadersInclude/pbrDirectLightingFalloffFunctions.js";
22
+ import "./ShadersInclude/pbrBRDFFunctions.js";
23
+ import "./ShadersInclude/hdrFilteringFunctions.js";
24
+ import "./ShadersInclude/pbrDirectLightingFunctions.js";
25
+ import "./ShadersInclude/pbrIBLFunctions.js";
26
+ import "./ShadersInclude/bumpFragmentMainFunctions.js";
27
+ import "./ShadersInclude/bumpFragmentFunctions.js";
28
+ import "./ShadersInclude/reflectionFunction.js";
29
+ import "./ShadersInclude/pbrBlockAlbedoOpacity.js";
30
+ import "./ShadersInclude/pbrBlockReflectivity.js";
31
+ import "./ShadersInclude/pbrBlockAmbientOcclusion.js";
32
+ import "./ShadersInclude/pbrBlockAlphaFresnel.js";
33
+ import "./ShadersInclude/pbrBlockAnisotropic.js";
34
+ import "./ShadersInclude/pbrBlockReflection.js";
35
+ import "./ShadersInclude/pbrBlockSheen.js";
36
+ import "./ShadersInclude/pbrBlockClearcoat.js";
37
+ import "./ShadersInclude/pbrBlockIridescence.js";
38
+ import "./ShadersInclude/pbrBlockSubSurface.js";
39
+ import "./ShadersInclude/clipPlaneFragment.js";
40
+ import "./ShadersInclude/pbrBlockNormalGeometric.js";
41
+ import "./ShadersInclude/bumpFragment.js";
42
+ import "./ShadersInclude/pbrBlockNormalFinal.js";
43
+ import "./ShadersInclude/depthPrePass.js";
44
+ import "./ShadersInclude/pbrBlockLightmapInit.js";
45
+ import "./ShadersInclude/pbrBlockGeometryInfo.js";
46
+ import "./ShadersInclude/pbrBlockReflectance0.js";
47
+ import "./ShadersInclude/pbrBlockReflectance.js";
48
+ import "./ShadersInclude/pbrBlockDirectLighting.js";
49
+ import "./ShadersInclude/lightFragment.js";
50
+ import "./ShadersInclude/pbrBlockFinalLitComponents.js";
51
+ import "./ShadersInclude/pbrBlockFinalUnlitComponents.js";
52
+ import "./ShadersInclude/pbrBlockFinalColorComposition.js";
53
+ import "./ShadersInclude/logDepthFragment.js";
54
+ import "./ShadersInclude/fogFragment.js";
55
+ import "./ShadersInclude/pbrBlockImageProcessing.js";
56
+ import "./ShadersInclude/oitFragment.js";
57
+ import "./ShadersInclude/pbrDebug.js";
58
+ const name = "pbrPixelShader";
59
+ const shader = `#define CUSTOM_FRAGMENT_BEGIN
60
+ #include<prePassDeclaration>[SCENE_MRT_COUNT]
61
+ #include<oitDeclaration>
62
+ #ifndef FROMLINEARSPACE
63
+ #define FROMLINEARSPACE
64
+ #endif
65
+ #include<pbrUboDeclaration>
66
+ #include<pbrFragmentExtraDeclaration>
67
+ #include<lightUboDeclaration>[0..maxSimultaneousLights]
68
+ #include<pbrFragmentSamplersDeclaration>
69
+ #include<imageProcessingDeclaration>
70
+ #include<clipPlaneFragmentDeclaration>
71
+ #include<logDepthDeclaration>
72
+ #include<fogFragmentDeclaration>
73
+ #include<helperFunctions>
74
+ #include<subSurfaceScatteringFunctions>
75
+ #include<importanceSampling>
76
+ #include<pbrHelperFunctions>
77
+ #include<imageProcessingFunctions>
78
+ #include<shadowsFragmentFunctions>
79
+ #include<harmonicsFunctions>
80
+ #include<pbrDirectLightingSetupFunctions>
81
+ #include<pbrDirectLightingFalloffFunctions>
82
+ #include<pbrBRDFFunctions>
83
+ #include<hdrFilteringFunctions>
84
+ #include<pbrDirectLightingFunctions>
85
+ #include<pbrIBLFunctions>
86
+ #include<bumpFragmentMainFunctions>
87
+ #include<bumpFragmentFunctions>
88
+ #ifdef REFLECTION
89
+ #include<reflectionFunction>
90
+ #endif
91
+ #define CUSTOM_FRAGMENT_DEFINITIONS
92
+ #include<pbrBlockAlbedoOpacity>
93
+ #include<pbrBlockReflectivity>
94
+ #include<pbrBlockAmbientOcclusion>
95
+ #include<pbrBlockAlphaFresnel>
96
+ #include<pbrBlockAnisotropic>
97
+ #include<pbrBlockReflection>
98
+ #include<pbrBlockSheen>
99
+ #include<pbrBlockClearcoat>
100
+ #include<pbrBlockIridescence>
101
+ #include<pbrBlockSubSurface>
102
+ @fragment
103
+ fn main(input: FragmentInputs)->FragmentOutputs {
104
+ #define CUSTOM_FRAGMENT_MAIN_BEGIN
105
+ #include<clipPlaneFragment>
106
+ #include<pbrBlockNormalGeometric>
107
+ #include<bumpFragment>
108
+ #include<pbrBlockNormalFinal>
109
+ var albedoOpacityOut: albedoOpacityOutParams;
110
+ #ifdef ALBEDO
111
+ var albedoTexture: vec4f=textureSample(albedoSampler,albedoSamplerSampler,fragmentInputs.vAlbedoUV+uvOffset);
112
+ #endif
113
+ #ifdef OPACITY
114
+ var opacityMap: vec4f=textureSample(opacitySampler,opacitySamplerSampler,fragmentInputs.vOpacityUV+uvOffset);
115
+ #endif
116
+ #ifdef DECAL
117
+ var decalColor: vec4f=textureSample(decalSampler,decalSamplerSampler,fragmentInputs.vDecalUV+uvOffset);
118
+ #endif
119
+ albedoOpacityOut=albedoOpacityBlock(
120
+ uniforms.vAlbedoColor
121
+ #ifdef ALBEDO
122
+ ,albedoTexture
123
+ ,uniforms.vAlbedoInfos
124
+ #endif
125
+ #ifdef OPACITY
126
+ ,opacityMap
127
+ ,uniforms.vOpacityInfos
128
+ #endif
129
+ #ifdef DETAIL
130
+ ,detailColor
131
+ ,uniforms.vDetailInfos
132
+ #endif
133
+ #ifdef DECAL
134
+ ,decalColor
135
+ ,uniforms.vDecalInfos
136
+ #endif
137
+ );var surfaceAlbedo: vec3f=albedoOpacityOut.surfaceAlbedo;var alpha: f32=albedoOpacityOut.alpha;
138
+ #define CUSTOM_FRAGMENT_UPDATE_ALPHA
139
+ #include<depthPrePass>
140
+ #define CUSTOM_FRAGMENT_BEFORE_LIGHTS
141
+ var aoOut: ambientOcclusionOutParams;
142
+ #ifdef AMBIENT
143
+ var ambientOcclusionColorMap: vec3f=textureSample(ambientSampler,ambientSamplerSampler,fragmentInputs.vAmbientUV+uvOffset).rgb;
144
+ #endif
145
+ aoOut=ambientOcclusionBlock(
146
+ #ifdef AMBIENT
147
+ ambientOcclusionColorMap,
148
+ uniforms.vAmbientInfos
149
+ #endif
150
+ );
151
+ #include<pbrBlockLightmapInit>
152
+ #ifdef UNLIT
153
+ var diffuseBase: vec3f= vec3f(1.,1.,1.);
154
+ #else
155
+ var baseColor: vec3f=surfaceAlbedo;var reflectivityOut: reflectivityOutParams;
156
+ #if defined(REFLECTIVITY)
157
+ var surfaceMetallicOrReflectivityColorMap: vec4f=textureSample(reflectivitySampler,reflectivitySamplerSampler,fragmentInputs.vReflectivityUV+uvOffset);var baseReflectivity: vec4f=surfaceMetallicOrReflectivityColorMap;
158
+ #ifndef METALLICWORKFLOW
159
+ #ifdef REFLECTIVITY_GAMMA
160
+ surfaceMetallicOrReflectivityColorMap=toLinearSpaceVec4(surfaceMetallicOrReflectivityColorMap);
161
+ #endif
162
+ surfaceMetallicOrReflectivityColorMap=vec4f(surfaceMetallicOrReflectivityColorMap.rgb*uniforms.vReflectivityInfos.y,surfaceMetallicOrReflectivityColorMap.a);
163
+ #endif
164
+ #endif
165
+ #if defined(MICROSURFACEMAP)
166
+ var microSurfaceTexel: vec4f=textureSample(microSurfaceSampler,microSurfaceSamplerSampler,fragmentInputs.vMicroSurfaceSamplerUV+uvOffset)*uniforms.vMicroSurfaceSamplerInfos.y;
167
+ #endif
168
+ #ifdef METALLICWORKFLOW
169
+ var metallicReflectanceFactors: vec4f=uniforms.vMetallicReflectanceFactors;
170
+ #ifdef REFLECTANCE
171
+ var reflectanceFactorsMap: vec4f=textureSample(reflectanceSampler,reflectanceSamplerSampler,fragmentInputs.vReflectanceUV+uvOffset);
172
+ #ifdef REFLECTANCE_GAMMA
173
+ reflectanceFactorsMap=toLinearSpaceVec4(reflectanceFactorsMap);
174
+ #endif
175
+ metallicReflectanceFactors=vec4f(metallicReflectanceFactors.rgb*reflectanceFactorsMap.rgb,metallicReflectanceFactors.a);
176
+ #endif
177
+ #ifdef METALLIC_REFLECTANCE
178
+ var metallicReflectanceFactorsMap: vec4f=textureSample(metallicReflectanceSampler,metallicReflectanceSamplerSampler,fragmentInputs.vMetallicReflectanceUV+uvOffset);
179
+ #ifdef METALLIC_REFLECTANCE_GAMMA
180
+ metallicReflectanceFactorsMap=toLinearSpaceVec4(metallicReflectanceFactorsMap);
181
+ #endif
182
+ #ifndef METALLIC_REFLECTANCE_USE_ALPHA_ONLY
183
+ metallicReflectanceFactors=vec4f(metallicReflectanceFactors.rgb*reflectanceFactorsMap.rgb,metallicReflectanceFactors.a);
184
+ #endif
185
+ metallicReflectanceFactors*=metallicReflectanceFactorsMap.a;
186
+ #endif
187
+ #endif
188
+ reflectivityOut=reflectivityBlock(
189
+ uniforms.vReflectivityColor
190
+ #ifdef METALLICWORKFLOW
191
+ ,surfaceAlbedo
192
+ ,metallicReflectanceFactors
193
+ #endif
194
+ #ifdef REFLECTIVITY
195
+ ,uniforms.vReflectivityInfos
196
+ ,surfaceMetallicOrReflectivityColorMap
197
+ #endif
198
+ #if defined(METALLICWORKFLOW) && defined(REFLECTIVITY) && defined(AOSTOREINMETALMAPRED)
199
+ ,aoOut.ambientOcclusionColor
200
+ #endif
201
+ #ifdef MICROSURFACEMAP
202
+ ,microSurfaceTexel
203
+ #endif
204
+ #ifdef DETAIL
205
+ ,detailColor
206
+ ,uniforms.vDetailInfos
207
+ #endif
208
+ );var microSurface: f32=reflectivityOut.microSurface;var roughness: f32=reflectivityOut.roughness;
209
+ #ifdef METALLICWORKFLOW
210
+ surfaceAlbedo=reflectivityOut.surfaceAlbedo;
211
+ #endif
212
+ #if defined(METALLICWORKFLOW) && defined(REFLECTIVITY) && defined(AOSTOREINMETALMAPRED)
213
+ aoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;
214
+ #endif
215
+ #ifdef ALPHAFRESNEL
216
+ #if defined(ALPHATEST) || defined(ALPHABLEND)
217
+ var alphaFresnelOut: alphaFresnelOutParams;alphaFresnelOut=alphaFresnelBlock(
218
+ normalW,
219
+ viewDirectionW,
220
+ alpha,
221
+ microSurface
222
+ );alpha=alphaFresnelOut.alpha;
223
+ #endif
224
+ #endif
225
+ #include<pbrBlockGeometryInfo>
226
+ #ifdef ANISOTROPIC
227
+ var anisotropicOut: anisotropicOutParams;
228
+ #ifdef ANISOTROPIC_TEXTURE
229
+ var anisotropyMapData: vec3f=textureSample(anisotropySampler,anisotropySamplerSampler,fragmentInputs.vAnisotropyUV+uvOffset).rgb*uniforms.vAnisotropyInfos.y;
230
+ #endif
231
+ anisotropicOut=anisotropicBlock(
232
+ uniforms.vAnisotropy,
233
+ roughness,
234
+ #ifdef ANISOTROPIC_TEXTURE
235
+ anisotropyMapData,
236
+ #endif
237
+ TBN,
238
+ normalW,
239
+ viewDirectionW
240
+ );
241
+ #endif
242
+ #ifdef REFLECTION
243
+ var reflectionOut: reflectionOutParams;
244
+ #ifndef USE_CUSTOM_REFLECTION
245
+ reflectionOut=reflectionBlock(
246
+ input.vPositionW
247
+ ,normalW
248
+ ,alphaG
249
+ ,uniforms.vReflectionMicrosurfaceInfos
250
+ ,uniforms.vReflectionInfos
251
+ ,uniforms.vReflectionColor
252
+ #ifdef ANISOTROPIC
253
+ ,anisotropicOut
254
+ #endif
255
+ #if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)
256
+ ,NdotVUnclamped
257
+ #endif
258
+ #ifdef LINEARSPECULARREFLECTION
259
+ ,roughness
260
+ #endif
261
+ ,reflectionSampler
262
+ ,reflectionSamplerSampler
263
+ #if defined(NORMAL) && defined(USESPHERICALINVERTEX)
264
+ ,input.vEnvironmentIrradiance
265
+ #endif
266
+ #ifdef USESPHERICALFROMREFLECTIONMAP
267
+ #if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)
268
+ ,uniforms.reflectionMatrix
269
+ #endif
270
+ #endif
271
+ #ifdef USEIRRADIANCEMAP
272
+ ,irradianceSampler
273
+ ,irradianceSamplerSampler
274
+ #endif
275
+ #ifndef LODBASEDMICROSFURACE
276
+ ,reflectionLowSampler
277
+ ,reflectionLowSamplerSampler
278
+ ,reflectionHighSampler
279
+ ,reflectionHighSamplerSampler
280
+ #endif
281
+ #ifdef REALTIME_FILTERING
282
+ ,uniforms.vReflectionFilteringInfo
283
+ #endif
284
+ );
285
+ #else
286
+ #define CUSTOM_REFLECTION
287
+ #endif
288
+ #endif
289
+ #include<pbrBlockReflectance0>
290
+ #ifdef SHEEN
291
+ var sheenOut: sheenOutParams;
292
+ #ifdef SHEEN_TEXTURE
293
+ var sheenMapData: vec4f=textureSample(sheenSampler,sheenSamplerSampler,fragmentInputs.vSheenUV+uvOffset);
294
+ #endif
295
+ #if defined(SHEEN_ROUGHNESS) && defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)
296
+ var sheenMapRoughnessData: vec4f=textureSample(sheenRoughnessSampler,sheenRoughnessSamplerSampler,fragmentInputs.vSheenRoughnessUV+uvOffset)*uniforms.vSheenInfos.w;
297
+ #endif
298
+ sheenOut=sheenBlock(
299
+ uniforms.vSheenColor
300
+ #ifdef SHEEN_ROUGHNESS
301
+ ,uniforms.vSheenRoughness
302
+ #if defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)
303
+ ,sheenMapRoughnessData
304
+ #endif
305
+ #endif
306
+ ,roughness
307
+ #ifdef SHEEN_TEXTURE
308
+ ,sheenMapData
309
+ ,uniforms.vSheenInfos.y
310
+ #endif
311
+ ,reflectance
312
+ #ifdef SHEEN_LINKWITHALBEDO
313
+ ,baseColor
314
+ ,surfaceAlbedo
315
+ #endif
316
+ #ifdef ENVIRONMENTBRDF
317
+ ,NdotV
318
+ ,environmentBrdf
319
+ #endif
320
+ #if defined(REFLECTION) && defined(ENVIRONMENTBRDF)
321
+ ,AARoughnessFactors
322
+ ,uniforms.vReflectionMicrosurfaceInfos
323
+ ,uniforms.vReflectionInfos
324
+ ,uniforms.vReflectionColor
325
+ ,uniforms.vLightingIntensity
326
+ ,reflectionSampler
327
+ ,reflectionSamplerSampler
328
+ ,reflectionOut.reflectionCoords
329
+ ,NdotVUnclamped
330
+ #ifndef LODBASEDMICROSFURACE
331
+ ,reflectionLowSampler
332
+ ,reflectionLowSamplerSampler
333
+ ,reflectionHighSampler
334
+ ,reflectionHighSamplerSampler
335
+ #endif
336
+ #ifdef REALTIME_FILTERING
337
+ ,vReflectionFilteringInfo
338
+ #endif
339
+ #if !defined(REFLECTIONMAP_SKYBOX) && defined(RADIANCEOCCLUSION)
340
+ ,seo
341
+ #endif
342
+ #if !defined(REFLECTIONMAP_SKYBOX) && defined(HORIZONOCCLUSION) && defined(BUMP) && defined(REFLECTIONMAP_3D)
343
+ ,eho
344
+ #endif
345
+ #endif
346
+ );
347
+ #ifdef SHEEN_LINKWITHALBEDO
348
+ surfaceAlbedo=sheenOut.surfaceAlbedo;
349
+ #endif
350
+ #endif
351
+ #ifdef CLEARCOAT
352
+ #ifdef CLEARCOAT_TEXTURE
353
+ var clearCoatMapData: vec2f=textureSample(clearCoatSampler,clearCoatSamplerSampler,fragmentInputs.vClearCoatUV+uvOffset).rg*uniforms.vClearCoatInfos.y;
354
+ #endif
355
+ #endif
356
+ #ifdef IRIDESCENCE
357
+ var iridescenceOut: iridescenceOutParams;
358
+ #ifdef IRIDESCENCE_TEXTURE
359
+ var iridescenceMapData: vec2f=textureSample(iridescenceSampler,iridescenceSamplerSampler,fragmentInputs.vIridescenceUV+uvOffset).rg*vIridescenceInfos.y;
360
+ #endif
361
+ #ifdef IRIDESCENCE_THICKNESS_TEXTURE
362
+ var iridescenceThicknessMapData: vec2f=textureSample(iridescenceThicknessSampler,iridescenceThicknessSamplerSampler,fragmentInputs.vIridescenceThicknessUV+uvOffset).rg*vIridescenceInfos.w;
363
+ #endif
364
+ iridescenceOut=iridescenceBlock(
365
+ uniforms.vIridescenceParams
366
+ ,NdotV
367
+ ,specularEnvironmentR0
368
+ #ifdef IRIDESCENCE_TEXTURE
369
+ ,iridescenceMapData
370
+ #endif
371
+ #ifdef IRIDESCENCE_THICKNESS_TEXTURE
372
+ ,iridescenceThicknessMapData
373
+ #endif
374
+ #ifdef CLEARCOAT
375
+ ,NdotVUnclamped
376
+ #ifdef CLEARCOAT_TEXTURE
377
+ ,clearCoatMapData
378
+ #endif
379
+ #endif
380
+ );var iridescenceIntensity: f32=iridescenceOut.iridescenceIntensity;specularEnvironmentR0=iridescenceOut.specularEnvironmentR0;
381
+ #endif
382
+ var clearcoatOut: clearcoatOutParams;
383
+ #ifdef CLEARCOAT
384
+ #if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)
385
+ var clearCoatMapRoughnessData: vec4f=textureSample(clearCoatRoughnessSampler,clearCoatRoughnessSamplerSampler,fragmentInputs.vClearCoatRoughnessUV+uvOffset)*uniforms.vClearCoatInfos.w;
386
+ #endif
387
+ #if defined(CLEARCOAT_TINT) && defined(CLEARCOAT_TINT_TEXTURE)
388
+ var clearCoatTintMapData: vec4f=textureSample(clearCoatTintSampler,clearCoatTintSamplerSampler,fragmentInputs.vClearCoatTintUV+uvOffset);
389
+ #endif
390
+ #ifdef CLEARCOAT_BUMP
391
+ var clearCoatBumpMapData: vec4f=textureSample(clearCoatBumpSampler,clearCoatBumpSamplerSampler,fragmentInputs.vClearCoatBumpUV+uvOffset);
392
+ #endif
393
+ clearcoatOut=clearcoatBlock(
394
+ input.vPositionW
395
+ ,geometricNormalW
396
+ ,viewDirectionW
397
+ ,uniforms.vClearCoatParams
398
+ #if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)
399
+ ,clearCoatMapRoughnessData
400
+ #endif
401
+ ,specularEnvironmentR0
402
+ #ifdef CLEARCOAT_TEXTURE
403
+ ,clearCoatMapData
404
+ #endif
405
+ #ifdef CLEARCOAT_TINT
406
+ ,uniforms.vClearCoatTintParams
407
+ ,uniforms.clearCoatColorAtDistance
408
+ ,uniforms.vClearCoatRefractionParams
409
+ #ifdef CLEARCOAT_TINT_TEXTURE
410
+ ,clearCoatTintMapData
411
+ #endif
412
+ #endif
413
+ #ifdef CLEARCOAT_BUMP
414
+ ,uniforms.vClearCoatBumpInfos
415
+ ,clearCoatBumpMapData
416
+ ,fragmentInputs.vClearCoatBumpUV
417
+ #if defined(TANGENT) && defined(NORMAL)
418
+ ,vTBN
419
+ #else
420
+ ,uniforms.vClearCoatTangentSpaceParams
421
+ #endif
422
+ #ifdef OBJECTSPACE_NORMALMAP
423
+ ,uniforms.normalMatrix
424
+ #endif
425
+ #endif
426
+ #if defined(FORCENORMALFORWARD) && defined(NORMAL)
427
+ ,faceNormal
428
+ #endif
429
+ #ifdef REFLECTION
430
+ ,uniforms.vReflectionMicrosurfaceInfos
431
+ ,uniforms.vReflectionInfos
432
+ ,uniforms.vReflectionColor
433
+ ,uniforms.vLightingIntensity
434
+ ,reflectionSampler
435
+ ,reflectionSamplerSampler
436
+ #ifndef LODBASEDMICROSFURACE
437
+ ,reflectionLowSampler
438
+ ,reflectionLowSamplerSampler
439
+ ,reflectionHighSampler
440
+ ,reflectionHighSamplerSampler
441
+ #endif
442
+ #ifdef REALTIME_FILTERING
443
+ ,uniforms.vReflectionFilteringInfo
444
+ #endif
445
+ #endif
446
+ #if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)
447
+ #ifdef RADIANCEOCCLUSION
448
+ ,ambientMonochrome
449
+ #endif
450
+ #endif
451
+ #if defined(CLEARCOAT_BUMP) || defined(TWOSIDEDLIGHTING)
452
+ ,select(-1.,1.,fragmentInputs.frontFacing)
453
+ #endif
454
+ );
455
+ #else
456
+ clearcoatOut.specularEnvironmentR0=specularEnvironmentR0;
457
+ #endif
458
+ #include<pbrBlockReflectance>
459
+ var subSurfaceOut: subSurfaceOutParams;
460
+ #ifdef SUBSURFACE
461
+ #ifdef SS_THICKNESSANDMASK_TEXTURE
462
+ var thicknessMap: vec4f=textureSample(thicknessSampler,thicknessSamplerSampler,fragmentInputs.vThicknessUV+uvOffset);
463
+ #endif
464
+ #ifdef SS_REFRACTIONINTENSITY_TEXTURE
465
+ var refractionIntensityMap: vec4f=textureSample(refractionIntensitySampler,refractionIntensitySamplerSampler,fragmentInputs.vRefractionIntensityUV+uvOffset);
466
+ #endif
467
+ #ifdef SS_TRANSLUCENCYINTENSITY_TEXTURE
468
+ var translucencyIntensityMap: vec4f=textureSample(translucencyIntensitySampler,translucencyIntensitySamplerSampler,fragmentInputs.vTranslucencyIntensityUV+uvOffset);
469
+ #endif
470
+ #ifdef SS_TRANSLUCENCYCOLOR_TEXTURE
471
+ var translucencyColorMap: vec4f=textureSample(translucencyColorSampler,translucencyColorSamplerSampler,fragmentInputs.vTranslucencyColorUV+uvOffset);
472
+ #endif
473
+ subSurfaceOut=subSurfaceBlock(
474
+ uniforms.vSubSurfaceIntensity
475
+ ,uniforms.vThicknessParam
476
+ ,uniforms.vTintColor
477
+ ,normalW
478
+ ,specularEnvironmentReflectance
479
+ #ifdef SS_THICKNESSANDMASK_TEXTURE
480
+ ,thicknessMap
481
+ #endif
482
+ #ifdef SS_REFRACTIONINTENSITY_TEXTURE
483
+ ,refractionIntensityMap
484
+ #endif
485
+ #ifdef SS_TRANSLUCENCYINTENSITY_TEXTURE
486
+ ,translucencyIntensityMap
487
+ #endif
488
+ #ifdef REFLECTION
489
+ #ifdef SS_TRANSLUCENCY
490
+ ,uniforms.reflectionMatrix
491
+ #ifdef USESPHERICALFROMREFLECTIONMAP
492
+ #if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)
493
+ ,reflectionOut.irradianceVector
494
+ #endif
495
+ #if defined(REALTIME_FILTERING)
496
+ ,reflectionSampler
497
+ ,reflectionSamplerSampler
498
+ ,vReflectionFilteringInfo
499
+ #endif
500
+ #endif
501
+ #ifdef USEIRRADIANCEMAP
502
+ ,irradianceSampler
503
+ ,irradianceSamplerSampler
504
+ #endif
505
+ #endif
506
+ #endif
507
+ #if defined(SS_REFRACTION) || defined(SS_TRANSLUCENCY)
508
+ ,surfaceAlbedo
509
+ #endif
510
+ #ifdef SS_REFRACTION
511
+ ,input.vPositionW
512
+ ,viewDirectionW
513
+ ,scene.view
514
+ ,uniforms.vRefractionInfos
515
+ ,uniforms.refractionMatrix
516
+ ,uniforms.vRefractionMicrosurfaceInfos
517
+ ,uniforms.vLightingIntensity
518
+ #ifdef SS_LINKREFRACTIONTOTRANSPARENCY
519
+ ,alpha
520
+ #endif
521
+ #ifdef SS_LODINREFRACTIONALPHA
522
+ ,NdotVUnclamped
523
+ #endif
524
+ #ifdef SS_LINEARSPECULARREFRACTION
525
+ ,roughness
526
+ #endif
527
+ ,alphaG
528
+ ,refractionSampler
529
+ ,refractionSamplerSampler
530
+ #ifndef LODBASEDMICROSFURACE
531
+ ,refractionLowSampler
532
+ ,refractionLowSamplerSampler
533
+ ,refractionHighSampler
534
+ ,refractionHighSamplerSampler
535
+ #endif
536
+ #ifdef ANISOTROPIC
537
+ ,anisotropicOut
538
+ #endif
539
+ #ifdef REALTIME_FILTERING
540
+ ,uniforms.vRefractionFilteringInfo
541
+ #endif
542
+ #ifdef SS_USE_LOCAL_REFRACTIONMAP_CUBIC
543
+ ,uniforms.vRefractionPosition
544
+ ,uniforms.vRefractionSize
545
+ #endif
546
+ #ifdef SS_DISPERSION
547
+ ,dispersion
548
+ #endif
549
+ #endif
550
+ #ifdef SS_TRANSLUCENCY
551
+ ,uniforms.vDiffusionDistance
552
+ ,uniforms.vTranslucencyColor
553
+ #ifdef SS_TRANSLUCENCYCOLOR_TEXTURE
554
+ ,translucencyColorMap
555
+ #endif
556
+ #endif
557
+ );
558
+ #ifdef SS_REFRACTION
559
+ surfaceAlbedo=subSurfaceOut.surfaceAlbedo;
560
+ #ifdef SS_LINKREFRACTIONTOTRANSPARENCY
561
+ alpha=subSurfaceOut.alpha;
562
+ #endif
563
+ #endif
564
+ #else
565
+ subSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;
566
+ #endif
567
+ #include<pbrBlockDirectLighting>
568
+ #include<lightFragment>[0..maxSimultaneousLights]
569
+ #include<pbrBlockFinalLitComponents>
570
+ #endif
571
+ #include<pbrBlockFinalUnlitComponents>
572
+ #define CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION
573
+ #include<pbrBlockFinalColorComposition>
574
+ #include<logDepthFragment>
575
+ #include<fogFragment>(color,finalColor)
576
+ #include<pbrBlockImageProcessing>
577
+ #define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR
578
+ #ifdef PREPASS
579
+ var writeGeometryInfo: f32=select(0.0,1.0,finalColor.a>0.4);var fragData: array<vec4<f32>,SCENE_MRT_COUNT>;
580
+ #ifdef PREPASS_POSITION
581
+ fragData[PREPASS_POSITION_INDEX]= vec4f(input.vPositionW,writeGeometryInfo);
582
+ #endif
583
+ #ifdef PREPASS_VELOCITY
584
+ var a: vec2f=(fragmentInputs.vCurrentPosition.xy/fragmentInputs.vCurrentPosition.w)*0.5+0.5;var b: vec2f=(fragmentInputs.vPreviousPosition.xy/fragmentInputs.vPreviousPosition.w)*0.5+0.5;var velocity: vec2f=abs(a-b);velocity= vec2f(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;fragData[PREPASS_VELOCITY_INDEX]= vec4f(velocity,0.0,writeGeometryInfo);
585
+ #endif
586
+ #ifdef PREPASS_ALBEDO_SQRT
587
+ var sqAlbedo: vec3f=sqrt(surfaceAlbedo);
588
+ #endif
589
+ #ifdef PREPASS_IRRADIANCE
590
+ var irradiance: vec3f=finalDiffuse;
591
+ #ifndef UNLIT
592
+ #ifdef REFLECTION
593
+ irradiance+=finalIrradiance;
594
+ #endif
595
+ #endif
596
+ #ifdef SS_SCATTERING
597
+ fragData[0]= vec4f(finalColor.rgb-irradiance,finalColor.a);
598
+ irradiance/=sqAlbedo;
599
+ #else
600
+ fragData[0]=finalColor;
601
+ var scatteringDiffusionProfile: f32=255.;
602
+ #endif
603
+ fragData[PREPASS_IRRADIANCE_INDEX]= vec4f(clamp(irradiance, vec3f(0.), vec3f(1.)),writeGeometryInfo*scatteringDiffusionProfile/255.);
604
+ #else
605
+ fragData[0]= vec4f(finalColor.rgb,finalColor.a);
606
+ #endif
607
+ #ifdef PREPASS_DEPTH
608
+ fragData[PREPASS_DEPTH_INDEX]= vec4f(fragmentInputs.vViewPos.z,0.0,0.0,writeGeometryInfo);
609
+ #endif
610
+ #ifdef PREPASS_NORMAL
611
+ #ifdef PREPASS_NORMAL_WORLDSPACE
612
+ fragData[PREPASS_NORMAL_INDEX]= vec4f(normalW,writeGeometryInfo);
613
+ #else
614
+ fragData[PREPASS_NORMAL_INDEX]= vec4f(normalize((scene.view* vec4f(normalW,0.0)).rgb),writeGeometryInfo);
615
+ #endif
616
+ #endif
617
+ #ifdef PREPASS_ALBEDO_SQRT
618
+ fragData[PREPASS_ALBEDO_SQRT_INDEX]= vec4f(sqAlbedo,writeGeometryInfo);
619
+ #endif
620
+ #ifdef PREPASS_REFLECTIVITY
621
+ #ifndef UNLIT
622
+ fragData[PREPASS_REFLECTIVITY_INDEX]= vec4f(specularEnvironmentR0,microSurface)*writeGeometryInfo;
623
+ #else
624
+ fragData[PREPASS_REFLECTIVITY_INDEX]= vec4f( 0.0,0.0,0.0,1.0 )*writeGeometryInfo;
625
+ #endif
626
+ #endif
627
+ #if SCENE_MRT_COUNT>0
628
+ fragmentOutputs.fragData0= fragData[0];
629
+ #endif
630
+ #if SCENE_MRT_COUNT>1
631
+ fragmentOutputs.fragData1= fragData[1];
632
+ #endif
633
+ #if SCENE_MRT_COUNT>2
634
+ fragmentOutputs.fragData2= fragData[2];
635
+ #endif
636
+ #if SCENE_MRT_COUNT>3
637
+ fragmentOutputs.fragData3= fragData[3];
638
+ #endif
639
+ #if SCENE_MRT_COUNT>4
640
+ fragmentOutputs.fragData4= fragData[4];
641
+ #endif
642
+ #if SCENE_MRT_COUNT>5
643
+ fragmentOutputs.fragData5= fragData[5];
644
+ #endif
645
+ #if SCENE_MRT_COUNT>6
646
+ fragmentOutputs.fragData6= fragData[6];
647
+ #endif
648
+ #if SCENE_MRT_COUNT>7
649
+ fragmentOutputs.fragData7= fragData[7];
650
+ #endif
651
+ #endif
652
+ #if !defined(PREPASS) && !defined(ORDER_INDEPENDENT_TRANSPARENCY)
653
+ fragmentOutputs.color=finalColor;
654
+ #endif
655
+ #include<oitFragment>
656
+ #if ORDER_INDEPENDENT_TRANSPARENCY
657
+ if (fragDepth==nearestDepth) {fragmentOutputs.frontColor=vec4f(fragmentOutputs.frontColor.rgb+finalColor.rgb*finalColor.a*alphaMultiplier,1.0-alphaMultiplier*(1.0-finalColor.a));} else {fragmentOutputs.backColor+=finalColor;}
658
+ #endif
659
+ #include<pbrDebug>
660
+ #define CUSTOM_FRAGMENT_MAIN_END
661
+ }
662
+ `;
663
+ // Sideeffect
664
+ ShaderStore.ShadersStoreWGSL[name] = shader;
665
+ /** @internal */
666
+ export const pbrPixelShaderWGSL = { name, shader };
667
+ //# sourceMappingURL=pbr.fragment.js.map