@babylonjs/core 7.17.2 → 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 (434) hide show
  1. package/Animations/animatable.d.ts +2 -1
  2. package/Animations/animatable.js +8 -3
  3. package/Animations/animatable.js.map +1 -1
  4. package/Animations/animationGroup.d.ts +2 -1
  5. package/Animations/animationGroup.js +14 -5
  6. package/Animations/animationGroup.js.map +1 -1
  7. package/Collisions/gpuPicker.d.ts +1 -0
  8. package/Collisions/gpuPicker.js +35 -17
  9. package/Collisions/gpuPicker.js.map +1 -1
  10. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -58
  11. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +26 -75
  12. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  13. package/Engines/abstractEngine.js +2 -2
  14. package/Engines/abstractEngine.js.map +1 -1
  15. package/Lights/Shadows/shadowGenerator.js +1 -1
  16. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  17. package/Materials/Background/backgroundMaterial.d.ts +5 -3
  18. package/Materials/Background/backgroundMaterial.js +26 -3
  19. package/Materials/Background/backgroundMaterial.js.map +1 -1
  20. package/Materials/Background/index.d.ts +4 -0
  21. package/Materials/Background/index.js +6 -0
  22. package/Materials/Background/index.js.map +1 -1
  23. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +3 -1
  24. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js +3 -1
  25. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -1
  26. package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +1 -0
  27. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +22 -0
  28. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
  29. package/Materials/Node/Blocks/Dual/fogBlock.d.ts +2 -1
  30. package/Materials/Node/Blocks/Dual/fogBlock.js +14 -1
  31. package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
  32. package/Materials/Node/Blocks/Dual/index.d.ts +28 -0
  33. package/Materials/Node/Blocks/Dual/index.js +33 -0
  34. package/Materials/Node/Blocks/Dual/index.js.map +1 -1
  35. package/Materials/Node/Blocks/Dual/lightBlock.d.ts +2 -9
  36. package/Materials/Node/Blocks/Dual/lightBlock.js +32 -9
  37. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  38. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +2 -1
  39. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +14 -1
  40. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  41. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +1 -3
  42. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +20 -3
  43. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  44. package/Materials/Node/Blocks/Fragment/index.d.ts +18 -0
  45. package/Materials/Node/Blocks/Fragment/index.js +22 -0
  46. package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
  47. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +2 -3
  48. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +65 -35
  49. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  50. package/Materials/Node/Blocks/Fragment/shadowMapBlock.d.ts +1 -0
  51. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js +20 -0
  52. package/Materials/Node/Blocks/Fragment/shadowMapBlock.js.map +1 -1
  53. package/Materials/Node/Blocks/PBR/anisotropyBlock.js +8 -7
  54. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  55. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +9 -6
  56. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  57. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +1 -0
  58. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +28 -18
  59. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  60. package/Materials/Node/Blocks/PBR/refractionBlock.js +14 -12
  61. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  62. package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +1 -2
  63. package/Materials/Node/Blocks/Vertex/bonesBlock.js +12 -2
  64. package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
  65. package/Materials/Node/Blocks/Vertex/index.d.ts +12 -0
  66. package/Materials/Node/Blocks/Vertex/index.js +15 -0
  67. package/Materials/Node/Blocks/Vertex/index.js.map +1 -1
  68. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +1 -2
  69. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +22 -2
  70. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  71. package/Materials/Node/nodeMaterial.d.ts +1 -0
  72. package/Materials/Node/nodeMaterial.js +19 -0
  73. package/Materials/Node/nodeMaterial.js.map +1 -1
  74. package/Materials/Node/nodeMaterialBlock.d.ts +10 -0
  75. package/Materials/Node/nodeMaterialBlock.js +13 -0
  76. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  77. package/Materials/PBR/index.d.ts +4 -0
  78. package/Materials/PBR/index.js +5 -0
  79. package/Materials/PBR/index.js.map +1 -1
  80. package/Materials/PBR/pbrBaseMaterial.d.ts +12 -3
  81. package/Materials/PBR/pbrBaseMaterial.js +62 -20
  82. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  83. package/Materials/PBR/pbrMaterial.d.ts +2 -1
  84. package/Materials/PBR/pbrMaterial.js +3 -2
  85. package/Materials/PBR/pbrMaterial.js.map +1 -1
  86. package/Materials/index.d.ts +4 -0
  87. package/Materials/index.js +6 -0
  88. package/Materials/index.js.map +1 -1
  89. package/Materials/material.d.ts +7 -0
  90. package/Materials/material.js +8 -0
  91. package/Materials/material.js.map +1 -1
  92. package/Materials/materialPluginManager.js +19 -1
  93. package/Materials/materialPluginManager.js.map +1 -1
  94. package/Materials/standardMaterial.d.ts +9 -3
  95. package/Materials/standardMaterial.js +30 -3
  96. package/Materials/standardMaterial.js.map +1 -1
  97. package/Meshes/Builders/greasedLineBuilder.js +2 -2
  98. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  99. package/Meshes/Builders/linesBuilder.js +1 -0
  100. package/Meshes/Builders/linesBuilder.js.map +1 -1
  101. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  102. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  103. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  104. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  105. package/Shaders/shadowMap.fragment.js +6 -3
  106. package/Shaders/shadowMap.fragment.js.map +1 -1
  107. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.d.ts +6 -0
  108. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js +12 -0
  109. package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.js.map +1 -0
  110. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  111. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  112. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  113. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  114. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  115. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  116. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  117. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  118. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  119. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  120. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  121. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  122. package/ShadersWGSL/ShadersInclude/bumpFragment.d.ts +1 -1
  123. package/ShadersWGSL/ShadersInclude/bumpFragment.js +17 -17
  124. package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -1
  125. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  126. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js +3 -3
  127. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  128. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  129. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +22 -42
  130. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  131. package/ShadersWGSL/ShadersInclude/bumpVertex.d.ts +5 -0
  132. package/ShadersWGSL/ShadersInclude/bumpVertex.js +14 -0
  133. package/ShadersWGSL/ShadersInclude/bumpVertex.js.map +1 -0
  134. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.d.ts +5 -0
  135. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js +14 -0
  136. package/ShadersWGSL/ShadersInclude/bumpVertexDeclaration.js.map +1 -0
  137. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  138. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  139. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  140. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  141. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  142. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  143. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  144. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  145. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  146. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  147. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  148. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  149. package/ShadersWGSL/ShadersInclude/decalFragment.d.ts +1 -1
  150. package/ShadersWGSL/ShadersInclude/decalFragment.js +5 -4
  151. package/ShadersWGSL/ShadersInclude/decalFragment.js.map +1 -1
  152. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.d.ts +5 -0
  153. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js +12 -0
  154. package/ShadersWGSL/ShadersInclude/decalFragmentDeclaration.js.map +1 -0
  155. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.d.ts +5 -0
  156. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js +12 -0
  157. package/ShadersWGSL/ShadersInclude/decalVertexDeclaration.js.map +1 -0
  158. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.d.ts +7 -0
  159. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +15 -0
  160. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -0
  161. package/ShadersWGSL/ShadersInclude/depthPrePass.d.ts +1 -1
  162. package/ShadersWGSL/ShadersInclude/depthPrePass.js +1 -1
  163. package/ShadersWGSL/ShadersInclude/depthPrePass.js.map +1 -1
  164. package/ShadersWGSL/ShadersInclude/fogFragment.d.ts +5 -0
  165. package/ShadersWGSL/ShadersInclude/fogFragment.js +16 -0
  166. package/ShadersWGSL/ShadersInclude/fogFragment.js.map +1 -0
  167. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  168. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js +2 -3
  169. package/ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  170. package/ShadersWGSL/ShadersInclude/fogVertex.d.ts +1 -1
  171. package/ShadersWGSL/ShadersInclude/fogVertex.js +2 -2
  172. package/ShadersWGSL/ShadersInclude/fogVertex.js.map +1 -1
  173. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  174. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js +1 -1
  175. package/ShadersWGSL/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  176. package/ShadersWGSL/ShadersInclude/fresnelFunction.d.ts +1 -1
  177. package/ShadersWGSL/ShadersInclude/fresnelFunction.js +1 -1
  178. package/ShadersWGSL/ShadersInclude/fresnelFunction.js.map +1 -1
  179. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  180. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js +1 -1
  181. package/ShadersWGSL/ShadersInclude/harmonicsFunctions.js.map +1 -1
  182. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  183. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +1 -1
  184. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  185. package/ShadersWGSL/ShadersInclude/helperFunctions.d.ts +1 -1
  186. package/ShadersWGSL/ShadersInclude/helperFunctions.js +15 -6
  187. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  188. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  189. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js +3 -3
  190. package/ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  191. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  192. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js +5 -5
  193. package/ShadersWGSL/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  194. package/ShadersWGSL/ShadersInclude/importanceSampling.d.ts +1 -1
  195. package/ShadersWGSL/ShadersInclude/importanceSampling.js +1 -1
  196. package/ShadersWGSL/ShadersInclude/importanceSampling.js.map +1 -1
  197. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  198. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  199. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  200. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  201. package/ShadersWGSL/ShadersInclude/instancesVertex.js +4 -4
  202. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  203. package/ShadersWGSL/ShadersInclude/lightFragment.d.ts +1 -1
  204. package/ShadersWGSL/ShadersInclude/lightFragment.js +8 -8
  205. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  206. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  207. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js +2 -2
  208. package/ShadersWGSL/ShadersInclude/lightUboDeclaration.js.map +1 -1
  209. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.d.ts +5 -0
  210. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js +33 -0
  211. package/ShadersWGSL/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -0
  212. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  213. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js +1 -1
  214. package/ShadersWGSL/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  215. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  216. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +3 -3
  217. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  218. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  219. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js +1 -1
  220. package/ShadersWGSL/ShadersInclude/logDepthDeclaration.js.map +1 -1
  221. package/ShadersWGSL/ShadersInclude/logDepthFragment.d.ts +5 -0
  222. package/ShadersWGSL/ShadersInclude/logDepthFragment.js +12 -0
  223. package/ShadersWGSL/ShadersInclude/logDepthFragment.js.map +1 -0
  224. package/ShadersWGSL/ShadersInclude/logDepthVertex.d.ts +1 -1
  225. package/ShadersWGSL/ShadersInclude/logDepthVertex.js +2 -2
  226. package/ShadersWGSL/ShadersInclude/logDepthVertex.js.map +1 -1
  227. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.d.ts +5 -0
  228. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js +12 -0
  229. package/ShadersWGSL/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -0
  230. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  231. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  232. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  233. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  234. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +6 -6
  235. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  236. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  237. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  238. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  239. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  240. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  241. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  242. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  243. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  244. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  245. package/ShadersWGSL/ShadersInclude/oitDeclaration.d.ts +5 -0
  246. package/ShadersWGSL/ShadersInclude/oitDeclaration.js +13 -0
  247. package/ShadersWGSL/ShadersInclude/oitDeclaration.js.map +1 -0
  248. package/ShadersWGSL/ShadersInclude/oitFragment.d.ts +5 -0
  249. package/ShadersWGSL/ShadersInclude/oitFragment.js +34 -0
  250. package/ShadersWGSL/ShadersInclude/oitFragment.js.map +1 -0
  251. package/ShadersWGSL/ShadersInclude/packingFunctions.d.ts +1 -1
  252. package/ShadersWGSL/ShadersInclude/packingFunctions.js +1 -1
  253. package/ShadersWGSL/ShadersInclude/packingFunctions.js.map +1 -1
  254. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  255. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +12 -8
  256. package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  257. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  258. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js +5 -6
  259. package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  260. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  261. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js +7 -8
  262. package/ShadersWGSL/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  263. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  264. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  265. package/ShadersWGSL/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  266. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  267. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js +5 -5
  268. package/ShadersWGSL/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  269. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  270. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js +5 -5
  271. package/ShadersWGSL/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  272. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  273. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  274. package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  275. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  276. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js +3 -3
  277. package/ShadersWGSL/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  278. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  279. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js +6 -6
  280. package/ShadersWGSL/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  281. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  282. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +7 -7
  283. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  284. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  285. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  286. package/ShadersWGSL/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  287. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  288. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js +4 -4
  289. package/ShadersWGSL/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  290. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  291. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js +3 -5
  292. package/ShadersWGSL/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  293. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  294. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js +5 -5
  295. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  296. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  297. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js +4 -4
  298. package/ShadersWGSL/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  299. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.d.ts +5 -0
  300. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js +19 -0
  301. package/ShadersWGSL/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -0
  302. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  303. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
  304. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  305. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  306. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js +1 -1
  307. package/ShadersWGSL/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  308. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  309. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +6 -6
  310. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
  311. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  312. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +1 -1
  313. package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  314. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  315. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js +4 -4
  316. package/ShadersWGSL/ShadersInclude/pbrBlockSheen.js.map +1 -1
  317. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  318. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js +4 -4
  319. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  320. package/ShadersWGSL/ShadersInclude/pbrDebug.d.ts +1 -1
  321. package/ShadersWGSL/ShadersInclude/pbrDebug.js +10 -10
  322. package/ShadersWGSL/ShadersInclude/pbrDebug.js.map +1 -1
  323. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  324. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  325. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  326. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  327. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  328. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  329. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  330. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  331. package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  332. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +6 -0
  333. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js +24 -0
  334. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -0
  335. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +7 -0
  336. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +96 -0
  337. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -0
  338. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  339. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +3 -3
  340. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  341. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  342. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js +3 -3
  343. package/ShadersWGSL/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  344. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.d.ts +7 -0
  345. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +15 -0
  346. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -0
  347. package/ShadersWGSL/ShadersInclude/prePassDeclaration.d.ts +5 -0
  348. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +17 -0
  349. package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -0
  350. package/ShadersWGSL/ShadersInclude/prePassVertex.d.ts +5 -0
  351. package/ShadersWGSL/ShadersInclude/prePassVertex.js +42 -0
  352. package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -0
  353. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.d.ts +5 -0
  354. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +17 -0
  355. package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -0
  356. package/ShadersWGSL/ShadersInclude/reflectionFunction.d.ts +1 -1
  357. package/ShadersWGSL/ShadersInclude/reflectionFunction.js +12 -10
  358. package/ShadersWGSL/ShadersInclude/reflectionFunction.js.map +1 -1
  359. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +5 -0
  360. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js +26 -0
  361. package/ShadersWGSL/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -0
  362. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  363. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js +2 -2
  364. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  365. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.d.ts +5 -0
  366. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js +12 -0
  367. package/ShadersWGSL/ShadersInclude/samplerVertexDeclaration.js.map +1 -0
  368. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.d.ts +5 -0
  369. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js +33 -0
  370. package/ShadersWGSL/ShadersInclude/samplerVertexImplementation.js.map +1 -0
  371. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  372. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  373. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  374. package/ShadersWGSL/ShadersInclude/shadowMapFragment.d.ts +1 -1
  375. package/ShadersWGSL/ShadersInclude/shadowMapFragment.js +1 -1
  376. package/ShadersWGSL/ShadersInclude/shadowMapFragment.js.map +1 -1
  377. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  378. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js +1 -1
  379. package/ShadersWGSL/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  380. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  381. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  382. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  383. package/ShadersWGSL/ShadersInclude/shadowsVertex.d.ts +1 -1
  384. package/ShadersWGSL/ShadersInclude/shadowsVertex.js +2 -2
  385. package/ShadersWGSL/ShadersInclude/shadowsVertex.js.map +1 -1
  386. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.d.ts +5 -0
  387. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js +10 -0
  388. package/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -0
  389. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.d.ts +5 -0
  390. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js +12 -0
  391. package/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.js.map +1 -0
  392. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.d.ts +5 -0
  393. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js +17 -0
  394. package/ShadersWGSL/ShadersInclude/uvVariableDeclaration.js.map +1 -0
  395. package/ShadersWGSL/ShadersInclude/vertexColorMixing.d.ts +5 -0
  396. package/ShadersWGSL/ShadersInclude/vertexColorMixing.js +22 -0
  397. package/ShadersWGSL/ShadersInclude/vertexColorMixing.js.map +1 -0
  398. package/ShadersWGSL/background.fragment.d.ts +20 -0
  399. package/ShadersWGSL/background.fragment.js +225 -0
  400. package/ShadersWGSL/background.fragment.js.map +1 -0
  401. package/ShadersWGSL/background.vertex.d.ts +21 -0
  402. package/ShadersWGSL/background.vertex.js +123 -0
  403. package/ShadersWGSL/background.vertex.js.map +1 -0
  404. package/ShadersWGSL/boundingInfo.compute.d.ts +1 -1
  405. package/ShadersWGSL/boundingInfo.compute.js +1 -1
  406. package/ShadersWGSL/boundingInfo.compute.js.map +1 -1
  407. package/ShadersWGSL/clearQuad.fragment.d.ts +1 -1
  408. package/ShadersWGSL/clearQuad.fragment.js +1 -1
  409. package/ShadersWGSL/clearQuad.fragment.js.map +1 -1
  410. package/ShadersWGSL/clearQuad.vertex.d.ts +1 -1
  411. package/ShadersWGSL/clearQuad.vertex.js +1 -1
  412. package/ShadersWGSL/clearQuad.vertex.js.map +1 -1
  413. package/ShadersWGSL/default.fragment.d.ts +31 -0
  414. package/ShadersWGSL/default.fragment.js +381 -0
  415. package/ShadersWGSL/default.fragment.js.map +1 -0
  416. package/ShadersWGSL/default.vertex.d.ts +36 -0
  417. package/ShadersWGSL/default.vertex.js +169 -0
  418. package/ShadersWGSL/default.vertex.js.map +1 -0
  419. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  420. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  421. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  422. package/ShadersWGSL/particles.vertex.d.ts +1 -1
  423. package/ShadersWGSL/particles.vertex.js +1 -1
  424. package/ShadersWGSL/particles.vertex.js.map +1 -1
  425. package/ShadersWGSL/pbr.fragment.d.ts +60 -0
  426. package/ShadersWGSL/pbr.fragment.js +667 -0
  427. package/ShadersWGSL/pbr.fragment.js.map +1 -0
  428. package/ShadersWGSL/pbr.vertex.d.ts +36 -0
  429. package/ShadersWGSL/pbr.vertex.js +232 -0
  430. package/ShadersWGSL/pbr.vertex.js.map +1 -0
  431. package/ShadersWGSL/postprocess.vertex.d.ts +1 -1
  432. package/ShadersWGSL/postprocess.vertex.js +1 -1
  433. package/ShadersWGSL/postprocess.vertex.js.map +1 -1
  434. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { ShaderStore } from "../../Engines/shaderStore.js";
3
3
  const name = "shadowsVertex";
4
4
  const shader = `#ifdef SHADOWS
5
5
  #if defined(SHADOWCSM{X})
6
- vertexOutputs.vPositionFromCamera{X}=view*worldPos;
6
+ vertexOutputs.vPositionFromCamera{X}=scene.view*worldPos;
7
7
  #if SHADOWCSMNUM_CASCADES{X}>0
8
8
  vertexOutputs.vPositionFromLight{X}_0=uniforms.lightMatrix{X}[0]*worldPos;
9
9
  #ifdef USE_REVERSE_DEPTHBUFFER
@@ -49,5 +49,5 @@ vertexOutputs.vDepthMetric{X}=(vertexOutputs.vPositionFromLight{X}.z+light{X}.de
49
49
  // Sideeffect
50
50
  ShaderStore.IncludesShadersStoreWGSL[name] = shader;
51
51
  /** @internal */
52
- export const shadowsVertex = { name, shader };
52
+ export const shadowsVertexWGSL = { name, shader };
53
53
  //# sourceMappingURL=shadowsVertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadowsVertex.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/shadowsVertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"shadowsVertex\";\nconst shader = `#ifdef SHADOWS\n#if defined(SHADOWCSM{X})\nvertexOutputs.vPositionFromCamera{X}=view*worldPos;\n#if SHADOWCSMNUM_CASCADES{X}>0\nvertexOutputs.vPositionFromLight{X}_0=uniforms.lightMatrix{X}[0]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_0=(-vertexOutputs.vPositionFromLight{X}_0.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_0= (vertexOutputs.vPositionFromLight{X}_0.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif\n#if SHADOWCSMNUM_CASCADES{X}>1\nvertexOutputs.vPositionFromLight{X}_1=uniforms.lightMatrix{X}[1]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_1=(-vertexOutputs.vPositionFromLight{X}_1.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_1= (vertexOutputs.vPositionFromLight{X}_1.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#if SHADOWCSMNUM_CASCADES{X}>2\nvertexOutputs.vPositionFromLight{X}_2=uniforms.lightMatrix{X}[2]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_2=(-vertexOutputs.vPositionFromLight{X}_2.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_2= (vertexOutputs.vPositionFromLight{X}_2.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#if SHADOWCSMNUM_CASCADES{X}>3\nvertexOutputs.vPositionFromLight{X}_3=uniforms.lightMatrix{X}[3]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_3=(-vertexOutputs.vPositionFromLight{X}_3.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_3= (vertexOutputs.vPositionFromLight{X}_3.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#elif defined(SHADOW{X}) && !defined(SHADOWCUBE{X})\nvertexOutputs.vPositionFromLight{X}=uniforms.lightMatrix{X}*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}=(-vertexOutputs.vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}=(vertexOutputs.vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const shadowsVertex = { name, shader };\n"]}
1
+ {"version":3,"file":"shadowsVertex.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/shadowsVertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"shadowsVertex\";\nconst shader = `#ifdef SHADOWS\n#if defined(SHADOWCSM{X})\nvertexOutputs.vPositionFromCamera{X}=scene.view*worldPos;\n#if SHADOWCSMNUM_CASCADES{X}>0\nvertexOutputs.vPositionFromLight{X}_0=uniforms.lightMatrix{X}[0]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_0=(-vertexOutputs.vPositionFromLight{X}_0.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_0= (vertexOutputs.vPositionFromLight{X}_0.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif\n#if SHADOWCSMNUM_CASCADES{X}>1\nvertexOutputs.vPositionFromLight{X}_1=uniforms.lightMatrix{X}[1]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_1=(-vertexOutputs.vPositionFromLight{X}_1.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_1= (vertexOutputs.vPositionFromLight{X}_1.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#if SHADOWCSMNUM_CASCADES{X}>2\nvertexOutputs.vPositionFromLight{X}_2=uniforms.lightMatrix{X}[2]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_2=(-vertexOutputs.vPositionFromLight{X}_2.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_2= (vertexOutputs.vPositionFromLight{X}_2.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#if SHADOWCSMNUM_CASCADES{X}>3\nvertexOutputs.vPositionFromLight{X}_3=uniforms.lightMatrix{X}[3]*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}_3=(-vertexOutputs.vPositionFromLight{X}_3.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}_3= (vertexOutputs.vPositionFromLight{X}_3.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif \n#elif defined(SHADOW{X}) && !defined(SHADOWCUBE{X})\nvertexOutputs.vPositionFromLight{X}=uniforms.lightMatrix{X}*worldPos;\n#ifdef USE_REVERSE_DEPTHBUFFER\nvertexOutputs.vDepthMetric{X}=(-vertexOutputs.vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#else\nvertexOutputs.vDepthMetric{X}=(vertexOutputs.vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\n#endif\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const shadowsVertexWGSL = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const subSurfaceScatteringFunctionsWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,10 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../../Engines/shaderStore.js";
3
+ const name = "subSurfaceScatteringFunctions";
4
+ const shader = `fn testLightingForSSS(diffusionProfile: f32)->bool
5
+ {return diffusionProfile<1.;}`;
6
+ // Sideeffect
7
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
8
+ /** @internal */
9
+ export const subSurfaceScatteringFunctionsWGSL = { name, shader };
10
+ //# sourceMappingURL=subSurfaceScatteringFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subSurfaceScatteringFunctions.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/subSurfaceScatteringFunctions.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,+BAA+B,CAAC;AAC7C,MAAM,MAAM,GAAG;8BACe,CAAC;AAC/B,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"subSurfaceScatteringFunctions\";\nconst shader = `fn testLightingForSSS(diffusionProfile: f32)->bool\n{return diffusionProfile<1.;}`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const subSurfaceScatteringFunctionsWGSL = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const uvAttributeDeclarationWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,12 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../../Engines/shaderStore.js";
3
+ const name = "uvAttributeDeclaration";
4
+ const shader = `#ifdef UV{X}
5
+ attribute uv{X}: vec2f;
6
+ #endif
7
+ `;
8
+ // Sideeffect
9
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
10
+ /** @internal */
11
+ export const uvAttributeDeclarationWGSL = { name, shader };
12
+ //# sourceMappingURL=uvAttributeDeclaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uvAttributeDeclaration.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/uvAttributeDeclaration.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC,MAAM,MAAM,GAAG;;;CAGd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"uvAttributeDeclaration\";\nconst shader = `#ifdef UV{X}\nattribute uv{X}: vec2f;\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const uvAttributeDeclarationWGSL = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const uvVariableDeclarationWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,17 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../../Engines/shaderStore.js";
3
+ const name = "uvVariableDeclaration";
4
+ const shader = `#ifdef MAINUV{X}
5
+ #if !defined(UV{X})
6
+ var uv{X}: vec2f=vec2f(0.,0.);
7
+ #else
8
+ var uv{X}: vec2f=vertexInputs.uv{X};
9
+ #endif
10
+ vertexOutputs.vMainUV{X}=uv{X};
11
+ #endif
12
+ `;
13
+ // Sideeffect
14
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
15
+ /** @internal */
16
+ export const uvVariableDeclarationWGSL = { name, shader };
17
+ //# sourceMappingURL=uvVariableDeclaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uvVariableDeclaration.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/uvVariableDeclaration.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,uBAAuB,CAAC;AACrC,MAAM,MAAM,GAAG;;;;;;;;CAQd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"uvVariableDeclaration\";\nconst shader = `#ifdef MAINUV{X}\n#if !defined(UV{X})\nvar uv{X}: vec2f=vec2f(0.,0.);\n#else\nvar uv{X}: vec2f=vertexInputs.uv{X};\n#endif\nvertexOutputs.vMainUV{X}=uv{X};\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const uvVariableDeclarationWGSL = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const vertexColorMixingWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,22 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../../Engines/shaderStore.js";
3
+ const name = "vertexColorMixing";
4
+ const shader = `#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
5
+ vertexOutputs.vColor=vec4f(1.0);
6
+ #ifdef VERTEXCOLOR
7
+ #ifdef VERTEXALPHA
8
+ vertexOutputs.vColor*=vertexInputs.color;
9
+ #else
10
+ vertexOutputs.vColor=vec4f(vertexOutputs.vColor.rgb*vertexInputs.color.rgb,vertexOutputs.vColor.a);
11
+ #endif
12
+ #endif
13
+ #ifdef INSTANCESCOLOR
14
+ vertexOutputs.vColor*=vertexInputs.instanceColor;
15
+ #endif
16
+ #endif
17
+ `;
18
+ // Sideeffect
19
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
20
+ /** @internal */
21
+ export const vertexColorMixingWGSL = { name, shader };
22
+ //# sourceMappingURL=vertexColorMixing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertexColorMixing.js","sourceRoot":"","sources":["../../../../../dev/core/src/ShadersWGSL/ShadersInclude/vertexColorMixing.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,MAAM,MAAM,GAAG;;;;;;;;;;;;;CAad,CAAC;AACF,aAAa;AACb,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\n\nconst name = \"vertexColorMixing\";\nconst shader = `#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nvertexOutputs.vColor=vec4f(1.0);\n#ifdef VERTEXCOLOR\n#ifdef VERTEXALPHA\nvertexOutputs.vColor*=vertexInputs.color;\n#else\nvertexOutputs.vColor=vec4f(vertexOutputs.vColor.rgb*vertexInputs.color.rgb,vertexOutputs.vColor.a);\n#endif\n#endif\n#ifdef INSTANCESCOLOR\nvertexOutputs.vColor*=vertexInputs.instanceColor;\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const vertexColorMixingWGSL = { name, shader };\n"]}
@@ -0,0 +1,20 @@
1
+ import "./ShadersInclude/backgroundUboDeclaration";
2
+ import "./ShadersInclude/helperFunctions";
3
+ import "./ShadersInclude/reflectionFunction";
4
+ import "./ShadersInclude/imageProcessingDeclaration";
5
+ import "./ShadersInclude/lightUboDeclaration";
6
+ import "./ShadersInclude/lightsFragmentFunctions";
7
+ import "./ShadersInclude/shadowsFragmentFunctions";
8
+ import "./ShadersInclude/imageProcessingFunctions";
9
+ import "./ShadersInclude/logDepthDeclaration";
10
+ import "./ShadersInclude/clipPlaneFragmentDeclaration";
11
+ import "./ShadersInclude/fogFragmentDeclaration";
12
+ import "./ShadersInclude/clipPlaneFragment";
13
+ import "./ShadersInclude/lightFragment";
14
+ import "./ShadersInclude/logDepthFragment";
15
+ import "./ShadersInclude/fogFragment";
16
+ /** @internal */
17
+ export declare const backgroundPixelShaderWGSL: {
18
+ name: string;
19
+ shader: string;
20
+ };
@@ -0,0 +1,225 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/backgroundUboDeclaration.js";
4
+ import "./ShadersInclude/helperFunctions.js";
5
+ import "./ShadersInclude/reflectionFunction.js";
6
+ import "./ShadersInclude/imageProcessingDeclaration.js";
7
+ import "./ShadersInclude/lightUboDeclaration.js";
8
+ import "./ShadersInclude/lightsFragmentFunctions.js";
9
+ import "./ShadersInclude/shadowsFragmentFunctions.js";
10
+ import "./ShadersInclude/imageProcessingFunctions.js";
11
+ import "./ShadersInclude/logDepthDeclaration.js";
12
+ import "./ShadersInclude/clipPlaneFragmentDeclaration.js";
13
+ import "./ShadersInclude/fogFragmentDeclaration.js";
14
+ import "./ShadersInclude/clipPlaneFragment.js";
15
+ import "./ShadersInclude/lightFragment.js";
16
+ import "./ShadersInclude/logDepthFragment.js";
17
+ import "./ShadersInclude/fogFragment.js";
18
+ const name = "backgroundPixelShader";
19
+ const shader = `#include<backgroundUboDeclaration>
20
+ #include<helperFunctions>
21
+ varying vPositionW: vec3f;
22
+ #ifdef MAINUV1
23
+ varying vMainUV1: vec2f;
24
+ #endif
25
+ #ifdef MAINUV2
26
+ varying vMainUV2: vec2f;
27
+ #endif
28
+ #ifdef NORMAL
29
+ varying vNormalW: vec3f;
30
+ #endif
31
+ #ifdef DIFFUSE
32
+ #if DIFFUSEDIRECTUV==1
33
+ #define vDiffuseUV vMainUV1
34
+ #elif DIFFUSEDIRECTUV==2
35
+ #define vDiffuseUV vMainUV2
36
+ #else
37
+ varying vDiffuseUV: vec2f;
38
+ #endif
39
+ var diffuseSamplerSampler: sampler;var diffuseSampler: texture_2d<f32>;
40
+ #endif
41
+ #ifdef REFLECTION
42
+ #ifdef REFLECTIONMAP_3D
43
+ var reflectionSamplerSampler: sampler;var reflectionSampler: texture_cube<f32>;
44
+ #ifdef TEXTURELODSUPPORT
45
+ #else
46
+ var reflectionLowSamplerSampler: sampler;var reflectionLowSampler: texture_cube<f32>;var reflectionHighSamplerSampler: sampler;var reflectionHighSampler: texture_cube<f32>;
47
+ #endif
48
+ #else
49
+ var reflectionSamplerSampler: sampler;var reflectionSampler: texture_2d<f32>;
50
+ #ifdef TEXTURELODSUPPORT
51
+ #else
52
+ var reflectionLowSamplerSampler: sampler;var reflectionLowSampler: texture_2d<f32>;var reflectionHighSamplerSampler: sampler;var reflectionHighSampler: texture_2d<f32>;
53
+ #endif
54
+ #endif
55
+ #ifdef REFLECTIONMAP_SKYBOX
56
+ varying vPositionUVW: vec3f;
57
+ #else
58
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
59
+ varying vDirectionW: vec3f;
60
+ #endif
61
+ #endif
62
+ #include<reflectionFunction>
63
+ #endif
64
+ #ifndef FROMLINEARSPACE
65
+ #define FROMLINEARSPACE;
66
+ #endif
67
+ #ifndef SHADOWONLY
68
+ #define SHADOWONLY;
69
+ #endif
70
+ #include<imageProcessingDeclaration>
71
+ #include<lightUboDeclaration>[0..maxSimultaneousLights]
72
+ #include<lightsFragmentFunctions>
73
+ #include<shadowsFragmentFunctions>
74
+ #include<imageProcessingFunctions>
75
+ #include<logDepthDeclaration>
76
+ #include<clipPlaneFragmentDeclaration>
77
+ #include<fogFragmentDeclaration>
78
+ #ifdef REFLECTIONFRESNEL
79
+ #define FRESNEL_MAXIMUM_ON_ROUGH 0.25
80
+ fn fresnelSchlickEnvironmentGGX(VdotN: f32,reflectance0: vec3f,reflectance90: vec3f,smoothness: f32)->vec3f
81
+ {var weight: f32=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}
82
+ #endif
83
+ #ifdef PROJECTED_GROUND
84
+ fn diskIntersectWithBackFaceCulling(ro: vec3f,rd: vec3f,c: vec3f,r: f32)->f32 {var d: f32=rd.y;if(d>0.0) { return 1e6; }
85
+ var o: vec3f=ro-c;var t: f32=-o.y/d;var q: vec3f=o+rd*t;return select(1e6,t,(dot(q,q)<r*r));}
86
+ fn sphereIntersect(ro: vec3f,rd: vec3f,ra: f32)->f32 {var b: f32=dot(ro,rd);var c: f32=dot(ro,ro)-ra*ra;var h: f32=b*b-c;if(h<0.0) { return -1.0; }
87
+ h=sqrt(h);return-b+h;}
88
+ fn project(viewDirectionW: vec3f,eyePosition: vec3f)->vec3f {var radius: f32=uniforms.projectedGroundInfos.x;var height: f32=uniforms.projectedGroundInfos.y;var camDir: vec3f=-viewDirectionW;var skySphereDistance: f32=sphereIntersect(eyePosition,camDir,radius);var skySpherePositionW: vec3f=eyePosition+camDir*skySphereDistance;var p: vec3f=normalize(skySpherePositionW);var upEyePosition=vec3f(eyePosition.x,eyePosition.y-height,eyePosition.z);var sIntersection: f32=sphereIntersect(upEyePosition,p,radius);var h: vec3f= vec3f(0.0,-height,0.0);var dIntersection: f32=diskIntersectWithBackFaceCulling(upEyePosition,p,h,radius);p=(upEyePosition+min(sIntersection,dIntersection)*p);return p;}
89
+ #endif
90
+ #define CUSTOM_FRAGMENT_DEFINITIONS
91
+ @fragment
92
+ fn main(input: FragmentInputs)->FragmentOutputs {
93
+ #define CUSTOM_FRAGMENT_MAIN_BEGIN
94
+ #include<clipPlaneFragment>
95
+ var viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-input.vPositionW);
96
+ #ifdef NORMAL
97
+ var normalW: vec3f=normalize(fragmentInputs.vNormalW);
98
+ #else
99
+ var normalW: vec3f= vec3f(0.0,1.0,0.0);
100
+ #endif
101
+ var shadow: f32=1.;var globalShadow: f32=0.;var shadowLightCount: f32=0.;var aggShadow: f32=0.;var numLights: f32=0.;
102
+ #include<lightFragment>[0..maxSimultaneousLights]
103
+ #ifdef SHADOWINUSE
104
+ globalShadow/=shadowLightCount;
105
+ #else
106
+ globalShadow=1.0;
107
+ #endif
108
+ #ifndef BACKMAT_SHADOWONLY
109
+ var reflectionColor: vec4f= vec4f(1.,1.,1.,1.);
110
+ #ifdef REFLECTION
111
+ #ifdef PROJECTED_GROUND
112
+ var reflectionVector: vec3f=project(viewDirectionW,scene.vEyePosition.xyz);reflectionVector= (uniforms.reflectionMatrix*vec4f(reflectionVector,1.)).xyz;
113
+ #else
114
+ var reflectionVector: vec3f=computeReflectionCoords( vec4f(fragmentInputs.vPositionW,1.0),normalW);
115
+ #endif
116
+ #ifdef REFLECTIONMAP_OPPOSITEZ
117
+ reflectionVector.z*=-1.0;
118
+ #endif
119
+ #ifdef REFLECTIONMAP_3D
120
+ var reflectionCoords: vec3f=reflectionVector;
121
+ #else
122
+ var reflectionCoords: vec2f=reflectionVector.xy;
123
+ #ifdef REFLECTIONMAP_PROJECTION
124
+ reflectionCoords/=reflectionVector.z;
125
+ #endif
126
+ reflectionCoords.y=1.0-reflectionCoords.y;
127
+ #endif
128
+ #ifdef REFLECTIONBLUR
129
+ var reflectionLOD: f32=uniforms.vReflectionInfos.y;
130
+ #ifdef TEXTURELODSUPPORT
131
+ reflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;reflectionColor=textureSampleLevel(reflectionSampler,reflectionSamplerSampler,reflectionCoords,reflectionLOD);
132
+ #else
133
+ var lodReflectionNormalized: f32=saturate(reflectionLOD);var lodReflectionNormalizedDoubled: f32=lodReflectionNormalized*2.0;var reflectionSpecularMid: vec4f=textureSample(reflectionSampler,reflectionSamplerSampler,reflectionCoords);if(lodReflectionNormalizedDoubled<1.0){reflectionColor=mix(
134
+ textureSample(reflectionrHighSampler,reflectionrHighSamplerSampler,reflectionCoords),
135
+ reflectionSpecularMid,
136
+ lodReflectionNormalizedDoubled
137
+ );} else {reflectionColor=mix(
138
+ reflectionSpecularMid,
139
+ textureSample(reflectionLowSampler,reflectionLowSamplerSampler,reflectionCoords),
140
+ lodReflectionNormalizedDoubled-1.0
141
+ );}
142
+ #endif
143
+ #else
144
+ var reflectionSample: vec4f=textureSample(reflectionSampler,reflectionSamplerSampler,reflectionCoords);reflectionColor=reflectionSample;
145
+ #endif
146
+ #ifdef RGBDREFLECTION
147
+ reflectionColor=vec4f(fromRGBD(reflectionColor).rgb,reflectionColor.a);
148
+ #endif
149
+ #ifdef GAMMAREFLECTION
150
+ reflectionColor=vec4f(toLinearSpaceVec3(reflectionColor.rgb),reflectionColor.a);
151
+ #endif
152
+ #ifdef REFLECTIONBGR
153
+ reflectionColor=vec4f(reflectionColor.bgr,reflectionColor.a);
154
+ #endif
155
+ reflectionColor=vec4f(reflectionColor.rgb*uniforms.vReflectionInfos.x,reflectionColor.a);
156
+ #endif
157
+ var diffuseColor: vec3f= vec3f(1.,1.,1.);var finalAlpha: f32=uniforms.alpha;
158
+ #ifdef DIFFUSE
159
+ var diffuseMap: vec4f=textureSample(diffuseSampler,diffuseSamplerSampler,input.vDiffuseUV);
160
+ #ifdef GAMMADIFFUSE
161
+ diffuseMap=vec4f(toLinearSpaceVec3(diffuseMap.rgb),diffuseMap.a);
162
+ #endif
163
+ diffuseMap=vec4f(diffuseMap.rgb *uniforms.vDiffuseInfos.y,diffuseMap.a);
164
+ #ifdef DIFFUSEHASALPHA
165
+ finalAlpha*=diffuseMap.a;
166
+ #endif
167
+ diffuseColor=diffuseMap.rgb;
168
+ #endif
169
+ #ifdef REFLECTIONFRESNEL
170
+ var colorBase: vec3f=diffuseColor;
171
+ #else
172
+ var colorBase: vec3f=reflectionColor.rgb*diffuseColor;
173
+ #endif
174
+ colorBase=max(colorBase,vec3f(0.0));
175
+ #ifdef USERGBCOLOR
176
+ var finalColor: vec3f=colorBase;
177
+ #else
178
+ #ifdef USEHIGHLIGHTANDSHADOWCOLORS
179
+ var mainColor: vec3f=mix(uniforms.vPrimaryColorShadow.rgb,uniforms.vPrimaryColor.rgb,colorBase);
180
+ #else
181
+ var mainColor: vec3f=uniforms.vPrimaryColor.rgb;
182
+ #endif
183
+ var finalColor: vec3f=colorBase*mainColor;
184
+ #endif
185
+ #ifdef REFLECTIONFRESNEL
186
+ var reflectionAmount: vec3f=uniforms.vReflectionControl.xxx;var reflectionReflectance0: vec3f=uniforms.vReflectionControl.yyy;var reflectionReflectance90: vec3f=uniforms.vReflectionControl.zzz;var VdotN: f32=dot(normalize(scene.vEyePosition.xyz),normalW);var planarReflectionFresnel: vec3f=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);reflectionAmount*=planarReflectionFresnel;
187
+ #ifdef REFLECTIONFALLOFF
188
+ var reflectionDistanceFalloff: f32=1.0-saturate(length(vPositionW.xyz-uniforms.vBackgroundCenter)*uniforms.vReflectionControl.w);reflectionDistanceFalloff*=reflectionDistanceFalloff;reflectionAmount*=reflectionDistanceFalloff;
189
+ #endif
190
+ finalColor=mix(finalColor,reflectionColor.rgb,saturateVec3(reflectionAmount));
191
+ #endif
192
+ #ifdef OPACITYFRESNEL
193
+ var viewAngleToFloor: f32=dot(normalW,normalize(scene.vEyePosition.xyz-uniforms.vBackgroundCenter));const startAngle: f32=0.1;var fadeFactor: f32=saturate(viewAngleToFloor/startAngle);finalAlpha*=fadeFactor*fadeFactor;
194
+ #endif
195
+ #ifdef SHADOWINUSE
196
+ finalColor=mix(finalColor*uniforms.shadowLevel,finalColor,globalShadow);
197
+ #endif
198
+ var color: vec4f= vec4f(finalColor,finalAlpha);
199
+ #else
200
+ var color: vec4f= vec4f(uniforms.vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*uniforms.alpha);
201
+ #endif
202
+ #include<logDepthFragment>
203
+ #include<fogFragment>
204
+ #ifdef IMAGEPROCESSINGPOSTPROCESS
205
+ #if !defined(SKIPFINALCOLORCLAMP)
206
+ color=vec4f(clamp(color.rgb,0.,30.0),color.a);
207
+ #endif
208
+ #else
209
+ color=applyImageProcessing(color);
210
+ #endif
211
+ #ifdef PREMULTIPLYALPHA
212
+ color=vec4f(color.rgb *color.a,color.a);
213
+ #endif
214
+ #ifdef NOISE
215
+ color=vec4f(color.rgb+dither(fragmentInputs.vPositionW.xy,0.5),color.a);color=max(color,vec4f(0.0));
216
+ #endif
217
+ fragmentOutputs.color=color;
218
+ #define CUSTOM_FRAGMENT_MAIN_END
219
+ }
220
+ `;
221
+ // Sideeffect
222
+ ShaderStore.ShadersStoreWGSL[name] = shader;
223
+ /** @internal */
224
+ export const backgroundPixelShaderWGSL = { name, shader };
225
+ //# sourceMappingURL=background.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/background.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,2CAA2C,CAAC;AACnD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,6CAA6C,CAAC;AACrD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,2CAA2C,CAAC;AACnD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+CAA+C,CAAC;AACvD,OAAO,yCAAyC,CAAC;AACjD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gCAAgC,CAAC;AACxC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AAEtC,MAAM,IAAI,GAAG,uBAAuB,CAAC;AACrC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/backgroundUboDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/reflectionFunction\";\nimport \"./ShadersInclude/imageProcessingDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/lightsFragmentFunctions\";\nimport \"./ShadersInclude/shadowsFragmentFunctions\";\nimport \"./ShadersInclude/imageProcessingFunctions\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"./ShadersInclude/fogFragmentDeclaration\";\nimport \"./ShadersInclude/clipPlaneFragment\";\nimport \"./ShadersInclude/lightFragment\";\nimport \"./ShadersInclude/logDepthFragment\";\nimport \"./ShadersInclude/fogFragment\";\n\nconst name = \"backgroundPixelShader\";\nconst shader = `#include<backgroundUboDeclaration>\n#include<helperFunctions>\nvarying vPositionW: vec3f;\n#ifdef MAINUV1\nvarying vMainUV1: vec2f;\n#endif \n#ifdef MAINUV2 \nvarying vMainUV2: vec2f; \n#endif \n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef DIFFUSE\n#if DIFFUSEDIRECTUV==1\n#define vDiffuseUV vMainUV1\n#elif DIFFUSEDIRECTUV==2\n#define vDiffuseUV vMainUV2\n#else\nvarying vDiffuseUV: vec2f;\n#endif\nvar diffuseSamplerSampler: sampler;var diffuseSampler: texture_2d<f32>;\n#endif\n#ifdef REFLECTION\n#ifdef REFLECTIONMAP_3D\nvar reflectionSamplerSampler: sampler;var reflectionSampler: texture_cube<f32>;\n#ifdef TEXTURELODSUPPORT\n#else\nvar reflectionLowSamplerSampler: sampler;var reflectionLowSampler: texture_cube<f32>;var reflectionHighSamplerSampler: sampler;var reflectionHighSampler: texture_cube<f32>;\n#endif\n#else\nvar reflectionSamplerSampler: sampler;var reflectionSampler: texture_2d<f32>;\n#ifdef TEXTURELODSUPPORT\n#else\nvar reflectionLowSamplerSampler: sampler;var reflectionLowSampler: texture_2d<f32>;var reflectionHighSamplerSampler: sampler;var reflectionHighSampler: texture_2d<f32>;\n#endif\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vPositionUVW: vec3f;\n#else\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vDirectionW: vec3f;\n#endif\n#endif\n#include<reflectionFunction>\n#endif\n#ifndef FROMLINEARSPACE\n#define FROMLINEARSPACE;\n#endif\n#ifndef SHADOWONLY\n#define SHADOWONLY;\n#endif\n#include<imageProcessingDeclaration>\n#include<lightUboDeclaration>[0..maxSimultaneousLights]\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<imageProcessingFunctions>\n#include<logDepthDeclaration>\n#include<clipPlaneFragmentDeclaration>\n#include<fogFragmentDeclaration>\n#ifdef REFLECTIONFRESNEL\n#define FRESNEL_MAXIMUM_ON_ROUGH 0.25\nfn fresnelSchlickEnvironmentGGX(VdotN: f32,reflectance0: vec3f,reflectance90: vec3f,smoothness: f32)->vec3f\n{var weight: f32=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}\n#endif\n#ifdef PROJECTED_GROUND\nfn diskIntersectWithBackFaceCulling(ro: vec3f,rd: vec3f,c: vec3f,r: f32)->f32 {var d: f32=rd.y;if(d>0.0) { return 1e6; }\nvar o: vec3f=ro-c;var t: f32=-o.y/d;var q: vec3f=o+rd*t;return select(1e6,t,(dot(q,q)<r*r));}\nfn sphereIntersect(ro: vec3f,rd: vec3f,ra: f32)->f32 {var b: f32=dot(ro,rd);var c: f32=dot(ro,ro)-ra*ra;var h: f32=b*b-c;if(h<0.0) { return -1.0; }\nh=sqrt(h);return-b+h;}\nfn project(viewDirectionW: vec3f,eyePosition: vec3f)->vec3f {var radius: f32=uniforms.projectedGroundInfos.x;var height: f32=uniforms.projectedGroundInfos.y;var camDir: vec3f=-viewDirectionW;var skySphereDistance: f32=sphereIntersect(eyePosition,camDir,radius);var skySpherePositionW: vec3f=eyePosition+camDir*skySphereDistance;var p: vec3f=normalize(skySpherePositionW);var upEyePosition=vec3f(eyePosition.x,eyePosition.y-height,eyePosition.z);var sIntersection: f32=sphereIntersect(upEyePosition,p,radius);var h: vec3f= vec3f(0.0,-height,0.0);var dIntersection: f32=diskIntersectWithBackFaceCulling(upEyePosition,p,h,radius);p=(upEyePosition+min(sIntersection,dIntersection)*p);return p;}\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nvar viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-input.vPositionW);\n#ifdef NORMAL\nvar normalW: vec3f=normalize(fragmentInputs.vNormalW);\n#else\nvar normalW: vec3f= vec3f(0.0,1.0,0.0);\n#endif\nvar shadow: f32=1.;var globalShadow: f32=0.;var shadowLightCount: f32=0.;var aggShadow: f32=0.;var numLights: f32=0.;\n#include<lightFragment>[0..maxSimultaneousLights]\n#ifdef SHADOWINUSE\nglobalShadow/=shadowLightCount;\n#else\nglobalShadow=1.0;\n#endif\n#ifndef BACKMAT_SHADOWONLY\nvar reflectionColor: vec4f= vec4f(1.,1.,1.,1.);\n#ifdef REFLECTION\n#ifdef PROJECTED_GROUND\nvar reflectionVector: vec3f=project(viewDirectionW,scene.vEyePosition.xyz);reflectionVector= (uniforms.reflectionMatrix*vec4f(reflectionVector,1.)).xyz;\n#else\nvar reflectionVector: vec3f=computeReflectionCoords( vec4f(fragmentInputs.vPositionW,1.0),normalW);\n#endif\n#ifdef REFLECTIONMAP_OPPOSITEZ\nreflectionVector.z*=-1.0;\n#endif\n#ifdef REFLECTIONMAP_3D\nvar reflectionCoords: vec3f=reflectionVector;\n#else\nvar reflectionCoords: vec2f=reflectionVector.xy;\n#ifdef REFLECTIONMAP_PROJECTION\nreflectionCoords/=reflectionVector.z;\n#endif\nreflectionCoords.y=1.0-reflectionCoords.y;\n#endif\n#ifdef REFLECTIONBLUR\nvar reflectionLOD: f32=uniforms.vReflectionInfos.y;\n#ifdef TEXTURELODSUPPORT\nreflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;reflectionColor=textureSampleLevel(reflectionSampler,reflectionSamplerSampler,reflectionCoords,reflectionLOD);\n#else\nvar lodReflectionNormalized: f32=saturate(reflectionLOD);var lodReflectionNormalizedDoubled: f32=lodReflectionNormalized*2.0;var reflectionSpecularMid: vec4f=textureSample(reflectionSampler,reflectionSamplerSampler,reflectionCoords);if(lodReflectionNormalizedDoubled<1.0){reflectionColor=mix(\ntextureSample(reflectionrHighSampler,reflectionrHighSamplerSampler,reflectionCoords),\nreflectionSpecularMid,\nlodReflectionNormalizedDoubled\n);} else {reflectionColor=mix(\nreflectionSpecularMid,\ntextureSample(reflectionLowSampler,reflectionLowSamplerSampler,reflectionCoords),\nlodReflectionNormalizedDoubled-1.0\n);}\n#endif\n#else\nvar reflectionSample: vec4f=textureSample(reflectionSampler,reflectionSamplerSampler,reflectionCoords);reflectionColor=reflectionSample;\n#endif\n#ifdef RGBDREFLECTION\nreflectionColor=vec4f(fromRGBD(reflectionColor).rgb,reflectionColor.a);\n#endif\n#ifdef GAMMAREFLECTION\nreflectionColor=vec4f(toLinearSpaceVec3(reflectionColor.rgb),reflectionColor.a);\n#endif\n#ifdef REFLECTIONBGR\nreflectionColor=vec4f(reflectionColor.bgr,reflectionColor.a);\n#endif\nreflectionColor=vec4f(reflectionColor.rgb*uniforms.vReflectionInfos.x,reflectionColor.a);\n#endif\nvar diffuseColor: vec3f= vec3f(1.,1.,1.);var finalAlpha: f32=uniforms.alpha;\n#ifdef DIFFUSE\nvar diffuseMap: vec4f=textureSample(diffuseSampler,diffuseSamplerSampler,input.vDiffuseUV);\n#ifdef GAMMADIFFUSE\ndiffuseMap=vec4f(toLinearSpaceVec3(diffuseMap.rgb),diffuseMap.a);\n#endif\ndiffuseMap=vec4f(diffuseMap.rgb *uniforms.vDiffuseInfos.y,diffuseMap.a);\n#ifdef DIFFUSEHASALPHA\nfinalAlpha*=diffuseMap.a;\n#endif\ndiffuseColor=diffuseMap.rgb;\n#endif\n#ifdef REFLECTIONFRESNEL\nvar colorBase: vec3f=diffuseColor;\n#else\nvar colorBase: vec3f=reflectionColor.rgb*diffuseColor;\n#endif\ncolorBase=max(colorBase,vec3f(0.0));\n#ifdef USERGBCOLOR\nvar finalColor: vec3f=colorBase;\n#else\n#ifdef USEHIGHLIGHTANDSHADOWCOLORS\nvar mainColor: vec3f=mix(uniforms.vPrimaryColorShadow.rgb,uniforms.vPrimaryColor.rgb,colorBase);\n#else\nvar mainColor: vec3f=uniforms.vPrimaryColor.rgb;\n#endif\nvar finalColor: vec3f=colorBase*mainColor;\n#endif\n#ifdef REFLECTIONFRESNEL\nvar reflectionAmount: vec3f=uniforms.vReflectionControl.xxx;var reflectionReflectance0: vec3f=uniforms.vReflectionControl.yyy;var reflectionReflectance90: vec3f=uniforms.vReflectionControl.zzz;var VdotN: f32=dot(normalize(scene.vEyePosition.xyz),normalW);var planarReflectionFresnel: vec3f=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);reflectionAmount*=planarReflectionFresnel;\n#ifdef REFLECTIONFALLOFF\nvar reflectionDistanceFalloff: f32=1.0-saturate(length(vPositionW.xyz-uniforms.vBackgroundCenter)*uniforms.vReflectionControl.w);reflectionDistanceFalloff*=reflectionDistanceFalloff;reflectionAmount*=reflectionDistanceFalloff;\n#endif\nfinalColor=mix(finalColor,reflectionColor.rgb,saturateVec3(reflectionAmount));\n#endif\n#ifdef OPACITYFRESNEL\nvar viewAngleToFloor: f32=dot(normalW,normalize(scene.vEyePosition.xyz-uniforms.vBackgroundCenter));const startAngle: f32=0.1;var fadeFactor: f32=saturate(viewAngleToFloor/startAngle);finalAlpha*=fadeFactor*fadeFactor;\n#endif\n#ifdef SHADOWINUSE\nfinalColor=mix(finalColor*uniforms.shadowLevel,finalColor,globalShadow);\n#endif\nvar color: vec4f= vec4f(finalColor,finalAlpha);\n#else\nvar color: vec4f= vec4f(uniforms.vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*uniforms.alpha);\n#endif\n#include<logDepthFragment>\n#include<fogFragment>\n#ifdef IMAGEPROCESSINGPOSTPROCESS\n#if !defined(SKIPFINALCOLORCLAMP)\ncolor=vec4f(clamp(color.rgb,0.,30.0),color.a);\n#endif\n#else\ncolor=applyImageProcessing(color);\n#endif\n#ifdef PREMULTIPLYALPHA\ncolor=vec4f(color.rgb *color.a,color.a);\n#endif\n#ifdef NOISE\ncolor=vec4f(color.rgb+dither(fragmentInputs.vPositionW.xy,0.5),color.a);color=max(color,vec4f(0.0));\n#endif\nfragmentOutputs.color=color;\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n// Sideeffect\nShaderStore.ShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const backgroundPixelShaderWGSL = { name, shader };\n"]}
@@ -0,0 +1,21 @@
1
+ import "./ShadersInclude/backgroundUboDeclaration";
2
+ import "./ShadersInclude/helperFunctions";
3
+ import "./ShadersInclude/bonesDeclaration";
4
+ import "./ShadersInclude/bakedVertexAnimationDeclaration";
5
+ import "./ShadersInclude/instancesDeclaration";
6
+ import "./ShadersInclude/clipPlaneVertexDeclaration";
7
+ import "./ShadersInclude/fogVertexDeclaration";
8
+ import "./ShadersInclude/lightVxUboDeclaration";
9
+ import "./ShadersInclude/logDepthDeclaration";
10
+ import "./ShadersInclude/instancesVertex";
11
+ import "./ShadersInclude/bonesVertex";
12
+ import "./ShadersInclude/bakedVertexAnimation";
13
+ import "./ShadersInclude/clipPlaneVertex";
14
+ import "./ShadersInclude/fogVertex";
15
+ import "./ShadersInclude/shadowsVertex";
16
+ import "./ShadersInclude/logDepthVertex";
17
+ /** @internal */
18
+ export declare const backgroundVertexShaderWGSL: {
19
+ name: string;
20
+ shader: string;
21
+ };
@@ -0,0 +1,123 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/backgroundUboDeclaration.js";
4
+ import "./ShadersInclude/helperFunctions.js";
5
+ import "./ShadersInclude/bonesDeclaration.js";
6
+ import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
7
+ import "./ShadersInclude/instancesDeclaration.js";
8
+ import "./ShadersInclude/clipPlaneVertexDeclaration.js";
9
+ import "./ShadersInclude/fogVertexDeclaration.js";
10
+ import "./ShadersInclude/lightVxUboDeclaration.js";
11
+ import "./ShadersInclude/logDepthDeclaration.js";
12
+ import "./ShadersInclude/instancesVertex.js";
13
+ import "./ShadersInclude/bonesVertex.js";
14
+ import "./ShadersInclude/bakedVertexAnimation.js";
15
+ import "./ShadersInclude/clipPlaneVertex.js";
16
+ import "./ShadersInclude/fogVertex.js";
17
+ import "./ShadersInclude/shadowsVertex.js";
18
+ import "./ShadersInclude/logDepthVertex.js";
19
+ const name = "backgroundVertexShader";
20
+ const shader = `#include<backgroundUboDeclaration>
21
+ #include<helperFunctions>
22
+ attribute position: vec3f;
23
+ #ifdef NORMAL
24
+ attribute normal: vec3f;
25
+ #endif
26
+ #include<bonesDeclaration>
27
+ #include<bakedVertexAnimationDeclaration>
28
+ #include<instancesDeclaration>
29
+ varying vPositionW: vec3f;
30
+ #ifdef NORMAL
31
+ varying vNormalW: vec3f;
32
+ #endif
33
+ #ifdef UV1
34
+ attribute uv: vec2f;
35
+ #endif
36
+ #ifdef UV2
37
+ attribute uv2: vec2f;
38
+ #endif
39
+ #ifdef MAINUV1
40
+ varying vMainUV1: vec2f;
41
+ #endif
42
+ #ifdef MAINUV2
43
+ varying vMainUV2: vec2f;
44
+ #endif
45
+ #if defined(DIFFUSE) && DIFFUSEDIRECTUV==0
46
+ varying vDiffuseUV: vec2f;
47
+ #endif
48
+ #include<clipPlaneVertexDeclaration>
49
+ #include<fogVertexDeclaration>
50
+ #include<lightVxUboDeclaration>[0..maxSimultaneousLights]
51
+ #ifdef REFLECTIONMAP_SKYBOX
52
+ varying vPositionUVW: vec3f;
53
+ #endif
54
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
55
+ varying vDirectionW: vec3f;
56
+ #endif
57
+ #include<logDepthDeclaration>
58
+ #define CUSTOM_VERTEX_DEFINITIONS
59
+ @vertex
60
+ fn main(input : VertexInputs)->FragmentInputs {
61
+ #define CUSTOM_VERTEX_MAIN_BEGIN
62
+ #ifdef REFLECTIONMAP_SKYBOX
63
+ vertexOutputs.vPositionUVW=input.position;
64
+ #endif
65
+ #include<instancesVertex>
66
+ #include<bonesVertex>
67
+ #include<bakedVertexAnimation>
68
+ #ifdef MULTIVIEW
69
+ if (gl_ViewID_OVR==0u) {vertexOutputs.position=scene.viewProjection*finalWorld* vec4f(input.position,1.0);} else {vertexOutputs.position=scene.viewProjectionR*finalWorld* vec4f(input.position,1.0);}
70
+ #else
71
+ vertexOutputs.position=scene.viewProjection*finalWorld* vec4f(input.position,1.0);
72
+ #endif
73
+ var worldPos: vec4f=finalWorld* vec4f(input.position,1.0);vertexOutputs.vPositionW= worldPos.xyz;
74
+ #ifdef NORMAL
75
+ var normalWorld: mat3x3f=mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz);
76
+ #ifdef NONUNIFORMSCALING
77
+ normalWorld=transposeMat3(inverseMat3(normalWorld));
78
+ #endif
79
+ vertexOutputs.vNormalW=normalize(normalWorld*input.normal);
80
+ #endif
81
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
82
+ vertexOutputs.vDirectionW=normalize((finalWorld*vec4f(input.position,0.0)).xyz);
83
+ #ifdef EQUIRECTANGULAR_RELFECTION_FOV
84
+ var screenToWorld: mat3x3f=inverseMat3( mat3x3f(finalWorld*scene.viewProjection));var segment: vec3f=mix(vertexOutputs.vDirectionW,screenToWorld* vec3f(0.0,0.0,1.0),abs(fFovMultiplier-1.0));if (fFovMultiplier<=1.0) {vertexOutputs.vDirectionW=normalize(segment);} else {vertexOutputs.vDirectionW=normalize(vertexOutputs.vDirectionW+(vertexOutputs.vDirectionW-segment));}
85
+ #endif
86
+ #endif
87
+ #ifndef UV1
88
+ var uv: vec2f=vec2f(0.,0.);
89
+ #else
90
+ var uv=input.uv;
91
+ #endif
92
+ #ifndef UV2
93
+ var uv2: vec2f=vec2f(0.,0.);
94
+ #else
95
+ var uv2=input.uv2;
96
+ #endif
97
+ #ifdef MAINUV1
98
+ vertexOutputs.vMainUV1=uv;
99
+ #endif
100
+ #ifdef MAINUV2
101
+ vertexOutputs.vMainUV2=uv2;
102
+ #endif
103
+ #if defined(DIFFUSE) && DIFFUSEDIRECTUV==0
104
+ if (uniforms.vDiffuseInfos.x==0.)
105
+ {vertexOutputs.vDiffuseUV= (uniforms.diffuseMatrix* vec4f(uv,1.0,0.0)).xy;}
106
+ else
107
+ {vertexOutputs.vDiffuseUV= (uniforms.diffuseMatrix* vec4f(uv2,1.0,0.0)).xy;}
108
+ #endif
109
+ #include<clipPlaneVertex>
110
+ #include<fogVertex>
111
+ #include<shadowsVertex>[0..maxSimultaneousLights]
112
+ #ifdef VERTEXCOLOR
113
+ vertexOutputs.vColor=color;
114
+ #endif
115
+ #include<logDepthVertex>
116
+ #define CUSTOM_VERTEX_MAIN_END
117
+ }
118
+ `;
119
+ // Sideeffect
120
+ ShaderStore.ShadersStoreWGSL[name] = shader;
121
+ /** @internal */
122
+ export const backgroundVertexShaderWGSL = { name, shader };
123
+ //# sourceMappingURL=background.vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.vertex.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/background.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,2CAA2C,CAAC;AACnD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kDAAkD,CAAC;AAC1D,OAAO,uCAAuC,CAAC;AAC/C,OAAO,6CAA6C,CAAC;AACrD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,wCAAwC,CAAC;AAChD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,iCAAiC,CAAC;AAEzC,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/backgroundUboDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/bonesDeclaration\";\nimport \"./ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"./ShadersInclude/instancesDeclaration\";\nimport \"./ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"./ShadersInclude/fogVertexDeclaration\";\nimport \"./ShadersInclude/lightVxUboDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/instancesVertex\";\nimport \"./ShadersInclude/bonesVertex\";\nimport \"./ShadersInclude/bakedVertexAnimation\";\nimport \"./ShadersInclude/clipPlaneVertex\";\nimport \"./ShadersInclude/fogVertex\";\nimport \"./ShadersInclude/shadowsVertex\";\nimport \"./ShadersInclude/logDepthVertex\";\n\nconst name = \"backgroundVertexShader\";\nconst shader = `#include<backgroundUboDeclaration>\n#include<helperFunctions>\nattribute position: vec3f;\n#ifdef NORMAL\nattribute normal: vec3f;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\nvarying vPositionW: vec3f;\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#endif\n#ifdef UV1\nattribute uv: vec2f;\n#endif\n#ifdef UV2\nattribute uv2: vec2f;\n#endif\n#ifdef MAINUV1\nvarying vMainUV1: vec2f;\n#endif\n#ifdef MAINUV2\nvarying vMainUV2: vec2f;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV==0\nvarying vDiffuseUV: vec2f;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<lightVxUboDeclaration>[0..maxSimultaneousLights]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vPositionUVW: vec3f;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vDirectionW: vec3f;\n#endif\n#include<logDepthDeclaration>\n#define CUSTOM_VERTEX_DEFINITIONS\n@vertex\nfn main(input : VertexInputs)->FragmentInputs {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#ifdef REFLECTIONMAP_SKYBOX\nvertexOutputs.vPositionUVW=input.position;\n#endif\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR==0u) {vertexOutputs.position=scene.viewProjection*finalWorld* vec4f(input.position,1.0);} else {vertexOutputs.position=scene.viewProjectionR*finalWorld* vec4f(input.position,1.0);}\n#else\nvertexOutputs.position=scene.viewProjection*finalWorld* vec4f(input.position,1.0);\n#endif\nvar worldPos: vec4f=finalWorld* vec4f(input.position,1.0);vertexOutputs.vPositionW= worldPos.xyz;\n#ifdef NORMAL\nvar normalWorld: mat3x3f=mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz);\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvertexOutputs.vNormalW=normalize(normalWorld*input.normal);\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvertexOutputs.vDirectionW=normalize((finalWorld*vec4f(input.position,0.0)).xyz);\n#ifdef EQUIRECTANGULAR_RELFECTION_FOV\nvar screenToWorld: mat3x3f=inverseMat3( mat3x3f(finalWorld*scene.viewProjection));var segment: vec3f=mix(vertexOutputs.vDirectionW,screenToWorld* vec3f(0.0,0.0,1.0),abs(fFovMultiplier-1.0));if (fFovMultiplier<=1.0) {vertexOutputs.vDirectionW=normalize(segment);} else {vertexOutputs.vDirectionW=normalize(vertexOutputs.vDirectionW+(vertexOutputs.vDirectionW-segment));}\n#endif\n#endif\n#ifndef UV1\nvar uv: vec2f=vec2f(0.,0.);\n#else\nvar uv=input.uv;\n#endif\n#ifndef UV2\nvar uv2: vec2f=vec2f(0.,0.);\n#else\nvar uv2=input.uv2;\n#endif\n#ifdef MAINUV1\nvertexOutputs.vMainUV1=uv;\n#endif\n#ifdef MAINUV2\nvertexOutputs.vMainUV2=uv2;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV==0\nif (uniforms.vDiffuseInfos.x==0.)\n{vertexOutputs.vDiffuseUV= (uniforms.diffuseMatrix* vec4f(uv,1.0,0.0)).xy;}\nelse\n{vertexOutputs.vDiffuseUV= (uniforms.diffuseMatrix* vec4f(uv2,1.0,0.0)).xy;}\n#endif\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#ifdef VERTEXCOLOR\nvertexOutputs.vColor=color;\n#endif\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}\n`;\n// Sideeffect\nShaderStore.ShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const backgroundVertexShaderWGSL = { name, shader };\n"]}
@@ -1,5 +1,5 @@
1
1
  /** @internal */
2
- export declare const boundingInfoComputeShader: {
2
+ export declare const boundingInfoComputeShaderWGSL: {
3
3
  name: string;
4
4
  shader: string;
5
5
  };
@@ -76,5 +76,5 @@ var worldPos=finalWorld*vec4f(positionUpdated.x,positionUpdated.y,positionUpdate
76
76
  // Sideeffect
77
77
  ShaderStore.ShadersStoreWGSL[name] = shader;
78
78
  /** @internal */
79
- export const boundingInfoComputeShader = { name, shader };
79
+ export const boundingInfoComputeShaderWGSL = { name, shader };
80
80
  //# sourceMappingURL=boundingInfo.compute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundingInfo.compute.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/boundingInfo.compute.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,IAAI,GAAG,2BAA2B,CAAC;AACzC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\n\nconst name = \"boundingInfoComputeShader\";\nconst shader = `struct Results {minX : atomic<i32>,\nminY : atomic<i32>,\nminZ : atomic<i32>,\nmaxX : atomic<i32>,\nmaxY : atomic<i32>,\nmaxZ : atomic<i32>,\ndummy1 : i32,\ndummy2 : i32,};fn floatToBits(value: f32)->i32 {return bitcast<i32>(value);}\nfn bitsToFloat(value: i32)->f32 {return bitcast<f32>(value);}\nfn atomicMinFloat(atomicVar: ptr<storage,atomic<i32>,read_write>,value: f32) {let intValue=floatToBits(value);loop {let oldIntValue=atomicLoad(atomicVar);let oldValue=bitsToFloat(oldIntValue);if (value>=oldValue) {break;}\nif (atomicCompareExchangeWeak(atomicVar,oldIntValue,intValue).old_value==oldIntValue) {break;}}}\nfn atomicMaxFloat(atomicVar: ptr<storage,atomic<i32>,read_write>,value: f32) {let intValue=floatToBits(value);loop {let oldIntValue=atomicLoad(atomicVar);let oldValue=bitsToFloat(oldIntValue);if (value<=oldValue) {break;}\nif (atomicCompareExchangeWeak(atomicVar,oldIntValue,intValue).old_value==oldIntValue) {break;}}}\nfn readMatrixFromRawSampler(smp : texture_2d<f32>,index : f32)->mat4x4<f32>\n{let offset=i32(index) *4; \nlet m0=textureLoad(smp,vec2<i32>(offset+0,0),0);let m1=textureLoad(smp,vec2<i32>(offset+1,0),0);let m2=textureLoad(smp,vec2<i32>(offset+2,0),0);let m3=textureLoad(smp,vec2<i32>(offset+3,0),0);return mat4x4<f32>(m0,m1,m2,m3);}\nconst identity=mat4x4f(\nvec4f(1.0,0.0,0.0,0.0),\nvec4f(0.0,1.0,0.0,0.0),\nvec4f(0.0,0.0,1.0,0.0),\nvec4f(0.0,0.0,0.0,1.0)\n);struct Settings {morphTargetTextureInfo: vec3f,\nmorphTargetCount: i32,\nindexResult : u32,};@group(0) @binding(0) var<storage,read> positionBuffer : array<f32>;@group(0) @binding(1) var<storage,read_write> resultBuffer : array<Results>;@group(0) @binding(7) var<uniform> settings : Settings;\n#if NUM_BONE_INFLUENCERS>0\n@group(0) @binding(2) var boneSampler : texture_2d<f32>;@group(0) @binding(3) var<storage,read> indexBuffer : array<vec4f>;@group(0) @binding(4) var<storage,read> weightBuffer : array<vec4f>;\n#if NUM_BONE_INFLUENCERS>4\n@group(0) @binding(5) var<storage,read> indexExtraBuffer : array<vec4f>;@group(0) @binding(6) var<storage,read> weightExtraBuffer : array<vec4f>;\n#endif\n#endif\n#ifdef MORPHTARGETS\n@group(0) @binding(8) var morphTargets : texture_2d_array<f32>;@group(0) @binding(9) var<storage,read> morphTargetInfluences : array<f32>;@group(0) @binding(10) var<storage,read> morphTargetTextureIndices : array<f32>;\n#endif\n#ifdef MORPHTARGETS\nfn readVector3FromRawSampler(targetIndex : i32,vertexIndex : u32)->vec3f\n{ \nlet vertexID=f32(vertexIndex)*settings.morphTargetTextureInfo.x;let y=floor(vertexID/settings.morphTargetTextureInfo.y);let x=vertexID-y*settings.morphTargetTextureInfo.y;let textureUV=vec2<i32>(i32(x),i32(y));return textureLoad(morphTargets,textureUV,i32(morphTargetTextureIndices[targetIndex]),0).xyz;}\n#endif\n@compute @workgroup_size(256,1,1)\nfn main(@builtin(global_invocation_id) global_id : vec3<u32>) {let index=global_id.x;if (index>=arrayLength(&positionBuffer)/3) {return;}\nlet position=vec3f(positionBuffer[index*3],positionBuffer[index*3+1],positionBuffer[index*3+2]);var finalWorld=identity;var positionUpdated=position;\n#if NUM_BONE_INFLUENCERS>0\nvar influence : mat4x4<f32>;let matricesIndices=indexBuffer[index];let matricesWeights=weightBuffer[index];influence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\n#endif \n#if NUM_BONE_INFLUENCERS>2\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\n#endif \n#if NUM_BONE_INFLUENCERS>3\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\n#endif \n#if NUM_BONE_INFLUENCERS>4\nlet matricesIndicesExtra=indexExtraBuffer[index];let matricesWeightsExtra=weightExtraBuffer[index];influence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.x)*matricesWeightsExtra.x;\n#if NUM_BONE_INFLUENCERS>5\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.y)*matricesWeightsExtra.y;\n#endif \n#if NUM_BONE_INFLUENCERS>6\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.z)*matricesWeightsExtra.z;\n#endif \n#if NUM_BONE_INFLUENCERS>7\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.w)*matricesWeightsExtra.w;\n#endif \n#endif \nfinalWorld=finalWorld*influence;\n#endif\n#ifdef MORPHTARGETS\nfor (var i=0; i<NUM_MORPH_INFLUENCERS; i=i+1) {if (i>=settings.morphTargetCount) {break;}\npositionUpdated=positionUpdated+(readVector3FromRawSampler(i,index)-position)*morphTargetInfluences[i];}\n#endif\nvar worldPos=finalWorld*vec4f(positionUpdated.x,positionUpdated.y,positionUpdated.z,1.0);atomicMinFloat(&resultBuffer[settings.indexResult].minX,worldPos.x);atomicMinFloat(&resultBuffer[settings.indexResult].minY,worldPos.y);atomicMinFloat(&resultBuffer[settings.indexResult].minZ,worldPos.z);atomicMaxFloat(&resultBuffer[settings.indexResult].maxX,worldPos.x);atomicMaxFloat(&resultBuffer[settings.indexResult].maxY,worldPos.y);atomicMaxFloat(&resultBuffer[settings.indexResult].maxZ,worldPos.z);}\n`;\n// Sideeffect\nShaderStore.ShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const boundingInfoComputeShader = { name, shader };\n"]}
1
+ {"version":3,"file":"boundingInfo.compute.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/boundingInfo.compute.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,IAAI,GAAG,2BAA2B,CAAC;AACzC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\n\nconst name = \"boundingInfoComputeShader\";\nconst shader = `struct Results {minX : atomic<i32>,\nminY : atomic<i32>,\nminZ : atomic<i32>,\nmaxX : atomic<i32>,\nmaxY : atomic<i32>,\nmaxZ : atomic<i32>,\ndummy1 : i32,\ndummy2 : i32,};fn floatToBits(value: f32)->i32 {return bitcast<i32>(value);}\nfn bitsToFloat(value: i32)->f32 {return bitcast<f32>(value);}\nfn atomicMinFloat(atomicVar: ptr<storage,atomic<i32>,read_write>,value: f32) {let intValue=floatToBits(value);loop {let oldIntValue=atomicLoad(atomicVar);let oldValue=bitsToFloat(oldIntValue);if (value>=oldValue) {break;}\nif (atomicCompareExchangeWeak(atomicVar,oldIntValue,intValue).old_value==oldIntValue) {break;}}}\nfn atomicMaxFloat(atomicVar: ptr<storage,atomic<i32>,read_write>,value: f32) {let intValue=floatToBits(value);loop {let oldIntValue=atomicLoad(atomicVar);let oldValue=bitsToFloat(oldIntValue);if (value<=oldValue) {break;}\nif (atomicCompareExchangeWeak(atomicVar,oldIntValue,intValue).old_value==oldIntValue) {break;}}}\nfn readMatrixFromRawSampler(smp : texture_2d<f32>,index : f32)->mat4x4<f32>\n{let offset=i32(index) *4; \nlet m0=textureLoad(smp,vec2<i32>(offset+0,0),0);let m1=textureLoad(smp,vec2<i32>(offset+1,0),0);let m2=textureLoad(smp,vec2<i32>(offset+2,0),0);let m3=textureLoad(smp,vec2<i32>(offset+3,0),0);return mat4x4<f32>(m0,m1,m2,m3);}\nconst identity=mat4x4f(\nvec4f(1.0,0.0,0.0,0.0),\nvec4f(0.0,1.0,0.0,0.0),\nvec4f(0.0,0.0,1.0,0.0),\nvec4f(0.0,0.0,0.0,1.0)\n);struct Settings {morphTargetTextureInfo: vec3f,\nmorphTargetCount: i32,\nindexResult : u32,};@group(0) @binding(0) var<storage,read> positionBuffer : array<f32>;@group(0) @binding(1) var<storage,read_write> resultBuffer : array<Results>;@group(0) @binding(7) var<uniform> settings : Settings;\n#if NUM_BONE_INFLUENCERS>0\n@group(0) @binding(2) var boneSampler : texture_2d<f32>;@group(0) @binding(3) var<storage,read> indexBuffer : array<vec4f>;@group(0) @binding(4) var<storage,read> weightBuffer : array<vec4f>;\n#if NUM_BONE_INFLUENCERS>4\n@group(0) @binding(5) var<storage,read> indexExtraBuffer : array<vec4f>;@group(0) @binding(6) var<storage,read> weightExtraBuffer : array<vec4f>;\n#endif\n#endif\n#ifdef MORPHTARGETS\n@group(0) @binding(8) var morphTargets : texture_2d_array<f32>;@group(0) @binding(9) var<storage,read> morphTargetInfluences : array<f32>;@group(0) @binding(10) var<storage,read> morphTargetTextureIndices : array<f32>;\n#endif\n#ifdef MORPHTARGETS\nfn readVector3FromRawSampler(targetIndex : i32,vertexIndex : u32)->vec3f\n{ \nlet vertexID=f32(vertexIndex)*settings.morphTargetTextureInfo.x;let y=floor(vertexID/settings.morphTargetTextureInfo.y);let x=vertexID-y*settings.morphTargetTextureInfo.y;let textureUV=vec2<i32>(i32(x),i32(y));return textureLoad(morphTargets,textureUV,i32(morphTargetTextureIndices[targetIndex]),0).xyz;}\n#endif\n@compute @workgroup_size(256,1,1)\nfn main(@builtin(global_invocation_id) global_id : vec3<u32>) {let index=global_id.x;if (index>=arrayLength(&positionBuffer)/3) {return;}\nlet position=vec3f(positionBuffer[index*3],positionBuffer[index*3+1],positionBuffer[index*3+2]);var finalWorld=identity;var positionUpdated=position;\n#if NUM_BONE_INFLUENCERS>0\nvar influence : mat4x4<f32>;let matricesIndices=indexBuffer[index];let matricesWeights=weightBuffer[index];influence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\n#endif \n#if NUM_BONE_INFLUENCERS>2\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\n#endif \n#if NUM_BONE_INFLUENCERS>3\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\n#endif \n#if NUM_BONE_INFLUENCERS>4\nlet matricesIndicesExtra=indexExtraBuffer[index];let matricesWeightsExtra=weightExtraBuffer[index];influence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.x)*matricesWeightsExtra.x;\n#if NUM_BONE_INFLUENCERS>5\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.y)*matricesWeightsExtra.y;\n#endif \n#if NUM_BONE_INFLUENCERS>6\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.z)*matricesWeightsExtra.z;\n#endif \n#if NUM_BONE_INFLUENCERS>7\ninfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra.w)*matricesWeightsExtra.w;\n#endif \n#endif \nfinalWorld=finalWorld*influence;\n#endif\n#ifdef MORPHTARGETS\nfor (var i=0; i<NUM_MORPH_INFLUENCERS; i=i+1) {if (i>=settings.morphTargetCount) {break;}\npositionUpdated=positionUpdated+(readVector3FromRawSampler(i,index)-position)*morphTargetInfluences[i];}\n#endif\nvar worldPos=finalWorld*vec4f(positionUpdated.x,positionUpdated.y,positionUpdated.z,1.0);atomicMinFloat(&resultBuffer[settings.indexResult].minX,worldPos.x);atomicMinFloat(&resultBuffer[settings.indexResult].minY,worldPos.y);atomicMinFloat(&resultBuffer[settings.indexResult].minZ,worldPos.z);atomicMaxFloat(&resultBuffer[settings.indexResult].maxX,worldPos.x);atomicMaxFloat(&resultBuffer[settings.indexResult].maxY,worldPos.y);atomicMaxFloat(&resultBuffer[settings.indexResult].maxZ,worldPos.z);}\n`;\n// Sideeffect\nShaderStore.ShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const boundingInfoComputeShaderWGSL = { name, shader };\n"]}
@@ -1,5 +1,5 @@
1
1
  /** @internal */
2
- export declare const clearQuadPixelShader: {
2
+ export declare const clearQuadPixelShaderWGSL: {
3
3
  name: string;
4
4
  shader: string;
5
5
  };