@babylonjs/viewer 7.41.1 → 7.42.0-alpha

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 (619) hide show
  1. package/assets/photoStudio.env +0 -0
  2. package/dist/babylon-viewer.esm.js +2 -0
  3. package/dist/babylon-viewer.esm.js.map +1 -0
  4. package/dist/babylon-viewer.esm.min.js +2 -0
  5. package/dist/babylon-viewer.esm.min.js.map +1 -0
  6. package/dist/chunks/EXT_lights_ies-BHDD74jk.esm.min.js +2 -0
  7. package/dist/chunks/EXT_lights_ies-BHDD74jk.esm.min.js.map +1 -0
  8. package/dist/chunks/EXT_lights_ies-CJfRNbJm.esm.js +84 -0
  9. package/dist/chunks/EXT_lights_ies-CJfRNbJm.esm.js.map +1 -0
  10. package/dist/chunks/EXT_lights_image_based-B460Sv95.esm.min.js +2 -0
  11. package/dist/chunks/EXT_lights_image_based-B460Sv95.esm.min.js.map +1 -0
  12. package/dist/chunks/EXT_lights_image_based-CQ6UCahL.esm.js +171 -0
  13. package/dist/chunks/EXT_lights_image_based-CQ6UCahL.esm.js.map +1 -0
  14. package/dist/chunks/EXT_mesh_gpu_instancing-D77OfiDS.esm.js +86 -0
  15. package/dist/chunks/EXT_mesh_gpu_instancing-D77OfiDS.esm.js.map +1 -0
  16. package/dist/chunks/EXT_mesh_gpu_instancing-GMG29Y9J.esm.min.js +2 -0
  17. package/dist/chunks/EXT_mesh_gpu_instancing-GMG29Y9J.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_meshopt_compression-CniiOX0a.esm.js +134 -0
  19. package/dist/chunks/EXT_meshopt_compression-CniiOX0a.esm.js.map +1 -0
  20. package/dist/chunks/EXT_meshopt_compression-DCcKdizI.esm.min.js +2 -0
  21. package/dist/chunks/EXT_meshopt_compression-DCcKdizI.esm.min.js.map +1 -0
  22. package/dist/chunks/EXT_texture_avif-By7mk6aS.esm.min.js +2 -0
  23. package/dist/chunks/EXT_texture_avif-By7mk6aS.esm.min.js.map +1 -0
  24. package/dist/chunks/EXT_texture_avif-DnaKno7b.esm.js +44 -0
  25. package/dist/chunks/EXT_texture_avif-DnaKno7b.esm.js.map +1 -0
  26. package/dist/chunks/EXT_texture_webp-Bm29ukIo.esm.js +43 -0
  27. package/dist/chunks/EXT_texture_webp-Bm29ukIo.esm.js.map +1 -0
  28. package/dist/chunks/EXT_texture_webp-DtSWYlAE.esm.min.js +2 -0
  29. package/dist/chunks/EXT_texture_webp-DtSWYlAE.esm.min.js.map +1 -0
  30. package/dist/chunks/ExtrasAsMetadata-BUO8J2zR.esm.js +64 -0
  31. package/dist/chunks/ExtrasAsMetadata-BUO8J2zR.esm.js.map +1 -0
  32. package/dist/chunks/ExtrasAsMetadata-mi3fn9sR.esm.min.js +2 -0
  33. package/dist/chunks/ExtrasAsMetadata-mi3fn9sR.esm.min.js.map +1 -0
  34. package/dist/chunks/KHR_animation_pointer-COeThtQe.esm.min.js +2 -0
  35. package/dist/chunks/KHR_animation_pointer-COeThtQe.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_animation_pointer-DXqgkZGB.esm.js +352 -0
  37. package/dist/chunks/KHR_animation_pointer-DXqgkZGB.esm.js.map +1 -0
  38. package/dist/chunks/KHR_draco_mesh_compression-Bh9XGNFd.esm.js +610 -0
  39. package/dist/chunks/KHR_draco_mesh_compression-Bh9XGNFd.esm.js.map +1 -0
  40. package/dist/chunks/KHR_draco_mesh_compression-DyU2KIa2.esm.min.js +2 -0
  41. package/dist/chunks/KHR_draco_mesh_compression-DyU2KIa2.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_interactivity-QP9zFX3U.esm.js +4033 -0
  43. package/dist/chunks/KHR_interactivity-QP9zFX3U.esm.js.map +1 -0
  44. package/dist/chunks/KHR_interactivity-_r7e7vwA.esm.min.js +2 -0
  45. package/dist/chunks/KHR_interactivity-_r7e7vwA.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_lights_punctual-DWGx9KlE.esm.js +581 -0
  47. package/dist/chunks/KHR_lights_punctual-DWGx9KlE.esm.js.map +1 -0
  48. package/dist/chunks/KHR_lights_punctual-cz3ulMW0.esm.min.js +2 -0
  49. package/dist/chunks/KHR_lights_punctual-cz3ulMW0.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_anisotropy-BSvZxEnx.esm.js +65 -0
  51. package/dist/chunks/KHR_materials_anisotropy-BSvZxEnx.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_anisotropy-CtKPvN_z.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_anisotropy-CtKPvN_z.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_clearcoat-BephgEiM.esm.min.js +2 -0
  55. package/dist/chunks/KHR_materials_clearcoat-BephgEiM.esm.min.js.map +1 -0
  56. package/dist/chunks/KHR_materials_clearcoat-C3QB9HNC.esm.js +96 -0
  57. package/dist/chunks/KHR_materials_clearcoat-C3QB9HNC.esm.js.map +1 -0
  58. package/dist/chunks/KHR_materials_diffuse_transmission-CZvfLdyF.esm.min.js +2 -0
  59. package/dist/chunks/KHR_materials_diffuse_transmission-CZvfLdyF.esm.min.js.map +1 -0
  60. package/dist/chunks/KHR_materials_diffuse_transmission-DuM5GD2L.esm.js +97 -0
  61. package/dist/chunks/KHR_materials_diffuse_transmission-DuM5GD2L.esm.js.map +1 -0
  62. package/dist/chunks/KHR_materials_dispersion-0FtkqUmS.esm.js +62 -0
  63. package/dist/chunks/KHR_materials_dispersion-0FtkqUmS.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_dispersion-C7mAat5y.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_dispersion-C7mAat5y.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_emissive_strength-Bz2y9OnA.esm.js +55 -0
  67. package/dist/chunks/KHR_materials_emissive_strength-Bz2y9OnA.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_emissive_strength-b7ZNj1HF.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_emissive_strength-b7ZNj1HF.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_ior-C5-JiuLs.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_ior-C5-JiuLs.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_ior-D1jjzmsp.esm.js +64 -0
  73. package/dist/chunks/KHR_materials_ior-D1jjzmsp.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_iridescence-CChET9-W.esm.js +72 -0
  75. package/dist/chunks/KHR_materials_iridescence-CChET9-W.esm.js.map +1 -0
  76. package/dist/chunks/KHR_materials_iridescence-hATfgETI.esm.min.js +2 -0
  77. package/dist/chunks/KHR_materials_iridescence-hATfgETI.esm.min.js.map +1 -0
  78. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B-HlmeqI.esm.js +81 -0
  79. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B-HlmeqI.esm.js.map +1 -0
  80. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-_IaUmSJE.esm.min.js +2 -0
  81. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-_IaUmSJE.esm.min.js.map +1 -0
  82. package/dist/chunks/KHR_materials_sheen-D2QD8uSC.esm.js +85 -0
  83. package/dist/chunks/KHR_materials_sheen-D2QD8uSC.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_sheen-cqxpRyXD.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_sheen-cqxpRyXD.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_specular-DnHIH9RX.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_specular-DnHIH9RX.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_specular-vwRXhXVF.esm.js +75 -0
  89. package/dist/chunks/KHR_materials_specular-vwRXhXVF.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_transmission-D81TRCgt.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_transmission-D81TRCgt.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_transmission-nPX6lno-.esm.js +307 -0
  93. package/dist/chunks/KHR_materials_transmission-nPX6lno-.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_unlit-CLSTXPsk.esm.min.js +2 -0
  95. package/dist/chunks/KHR_materials_unlit-CLSTXPsk.esm.min.js.map +1 -0
  96. package/dist/chunks/KHR_materials_unlit-pmQPq5qR.esm.js +74 -0
  97. package/dist/chunks/KHR_materials_unlit-pmQPq5qR.esm.js.map +1 -0
  98. package/dist/chunks/KHR_materials_variants-C_XVH51a.esm.js +262 -0
  99. package/dist/chunks/KHR_materials_variants-C_XVH51a.esm.js.map +1 -0
  100. package/dist/chunks/KHR_materials_variants-Czo1ZM8r.esm.min.js +2 -0
  101. package/dist/chunks/KHR_materials_variants-Czo1ZM8r.esm.min.js.map +1 -0
  102. package/dist/chunks/KHR_materials_volume-BJVGGE1g.esm.min.js +2 -0
  103. package/dist/chunks/KHR_materials_volume-BJVGGE1g.esm.min.js.map +1 -0
  104. package/dist/chunks/KHR_materials_volume-C4EKOzF-.esm.js +87 -0
  105. package/dist/chunks/KHR_materials_volume-C4EKOzF-.esm.js.map +1 -0
  106. package/dist/chunks/KHR_mesh_quantization-CZIcA8DN.esm.min.js +2 -0
  107. package/dist/chunks/KHR_mesh_quantization-CZIcA8DN.esm.min.js.map +1 -0
  108. package/dist/chunks/KHR_mesh_quantization-DG9WNux6.esm.js +26 -0
  109. package/dist/chunks/KHR_mesh_quantization-DG9WNux6.esm.js.map +1 -0
  110. package/dist/chunks/KHR_node_hoverability-C1YMkQ95.esm.js +39 -0
  111. package/dist/chunks/KHR_node_hoverability-C1YMkQ95.esm.js.map +1 -0
  112. package/dist/chunks/KHR_node_hoverability-HxHiCdR9.esm.min.js +2 -0
  113. package/dist/chunks/KHR_node_hoverability-HxHiCdR9.esm.min.js.map +1 -0
  114. package/dist/chunks/KHR_node_visibility-C5tc6GOc.esm.js +46 -0
  115. package/dist/chunks/KHR_node_visibility-C5tc6GOc.esm.js.map +1 -0
  116. package/dist/chunks/KHR_node_visibility-CSqn8wRd.esm.min.js +2 -0
  117. package/dist/chunks/KHR_node_visibility-CSqn8wRd.esm.min.js.map +1 -0
  118. package/dist/chunks/KHR_texture_basisu-DA2FE-qb.esm.min.js +2 -0
  119. package/dist/chunks/KHR_texture_basisu-DA2FE-qb.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_texture_basisu-KtQL54P-.esm.js +43 -0
  121. package/dist/chunks/KHR_texture_basisu-KtQL54P-.esm.js.map +1 -0
  122. package/dist/chunks/KHR_texture_transform-Cb6Q41F3.esm.js +63 -0
  123. package/dist/chunks/KHR_texture_transform-Cb6Q41F3.esm.js.map +1 -0
  124. package/dist/chunks/KHR_texture_transform-GdBAq_uW.esm.min.js +2 -0
  125. package/dist/chunks/KHR_texture_transform-GdBAq_uW.esm.min.js.map +1 -0
  126. package/dist/chunks/KHR_xmp_json_ld-CD_mkZDv.esm.min.js +2 -0
  127. package/dist/chunks/KHR_xmp_json_ld-CD_mkZDv.esm.min.js.map +1 -0
  128. package/dist/chunks/KHR_xmp_json_ld-f1rcQfsd.esm.js +51 -0
  129. package/dist/chunks/KHR_xmp_json_ld-f1rcQfsd.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_audio_emitter-BU83EIcP.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_audio_emitter-BU83EIcP.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_audio_emitter-ClwdeJaR.esm.js +2201 -0
  133. package/dist/chunks/MSFT_audio_emitter-ClwdeJaR.esm.js.map +1 -0
  134. package/dist/chunks/MSFT_lod-D3MQWFc3.esm.min.js +2 -0
  135. package/dist/chunks/MSFT_lod-D3MQWFc3.esm.min.js.map +1 -0
  136. package/dist/chunks/MSFT_lod-DkM5iXcm.esm.js +337 -0
  137. package/dist/chunks/MSFT_lod-DkM5iXcm.esm.js.map +1 -0
  138. package/dist/chunks/MSFT_minecraftMesh-CG9JY5Ic.esm.min.js +2 -0
  139. package/dist/chunks/MSFT_minecraftMesh-CG9JY5Ic.esm.min.js.map +1 -0
  140. package/dist/chunks/MSFT_minecraftMesh-Cyjdx_Y_.esm.js +46 -0
  141. package/dist/chunks/MSFT_minecraftMesh-Cyjdx_Y_.esm.js.map +1 -0
  142. package/dist/chunks/MSFT_sRGBFactors-Bm3_fRmt.esm.min.js +2 -0
  143. package/dist/chunks/MSFT_sRGBFactors-Bm3_fRmt.esm.min.js.map +1 -0
  144. package/dist/chunks/MSFT_sRGBFactors-uFdNij-4.esm.js +47 -0
  145. package/dist/chunks/MSFT_sRGBFactors-uFdNij-4.esm.js.map +1 -0
  146. package/dist/chunks/animationGroup-CravGs2P.esm.min.js +2 -0
  147. package/dist/chunks/animationGroup-CravGs2P.esm.min.js.map +1 -0
  148. package/dist/chunks/animationGroup-DqmFa1Nk.esm.js +2482 -0
  149. package/dist/chunks/animationGroup-DqmFa1Nk.esm.js.map +1 -0
  150. package/dist/chunks/assetContainer-0Qu2XIWb.esm.js +1720 -0
  151. package/dist/chunks/assetContainer-0Qu2XIWb.esm.js.map +1 -0
  152. package/dist/chunks/assetContainer-CMuD-n3X.esm.min.js +2 -0
  153. package/dist/chunks/assetContainer-CMuD-n3X.esm.min.js.map +1 -0
  154. package/dist/chunks/audioEngine--EMyAh-L.esm.js +305 -0
  155. package/dist/chunks/audioEngine--EMyAh-L.esm.js.map +1 -0
  156. package/dist/chunks/audioEngine-3doZGQV6.esm.min.js +2 -0
  157. package/dist/chunks/audioEngine-3doZGQV6.esm.min.js.map +1 -0
  158. package/dist/chunks/bakedVertexAnimation-DgMI1D24.esm.min.js +2 -0
  159. package/dist/chunks/bakedVertexAnimation-DgMI1D24.esm.min.js.map +1 -0
  160. package/dist/chunks/bakedVertexAnimation-gQlUctpB.esm.js +114 -0
  161. package/dist/chunks/bakedVertexAnimation-gQlUctpB.esm.js.map +1 -0
  162. package/dist/chunks/basisTextureLoader-B0PY0ILM.esm.js +600 -0
  163. package/dist/chunks/basisTextureLoader-B0PY0ILM.esm.js.map +1 -0
  164. package/dist/chunks/basisTextureLoader-ES0mOtqQ.esm.min.js +2 -0
  165. package/dist/chunks/basisTextureLoader-ES0mOtqQ.esm.min.js.map +1 -0
  166. package/dist/chunks/dds-DEZD6DKL.esm.min.js +2 -0
  167. package/dist/chunks/dds-DEZD6DKL.esm.min.js.map +1 -0
  168. package/dist/chunks/dds-HwVEMga8.esm.js +540 -0
  169. package/dist/chunks/dds-HwVEMga8.esm.js.map +1 -0
  170. package/dist/chunks/ddsTextureLoader-3PDKukdG.esm.js +88 -0
  171. package/dist/chunks/ddsTextureLoader-3PDKukdG.esm.js.map +1 -0
  172. package/dist/chunks/ddsTextureLoader-C62DqYdE.esm.min.js +2 -0
  173. package/dist/chunks/ddsTextureLoader-C62DqYdE.esm.min.js.map +1 -0
  174. package/dist/chunks/decalFragment-B9KsZn_u.esm.min.js +2 -0
  175. package/dist/chunks/decalFragment-B9KsZn_u.esm.min.js.map +1 -0
  176. package/dist/chunks/decalFragment-CNA1EQK9.esm.js +18 -0
  177. package/dist/chunks/decalFragment-CNA1EQK9.esm.js.map +1 -0
  178. package/dist/chunks/default.fragment-BsajFq2Q.esm.js +446 -0
  179. package/dist/chunks/default.fragment-BsajFq2Q.esm.js.map +1 -0
  180. package/dist/chunks/default.fragment-C7O2NjXo.esm.min.js +2 -0
  181. package/dist/chunks/default.fragment-C7O2NjXo.esm.min.js.map +1 -0
  182. package/dist/chunks/default.fragment-CNef5Xlg.esm.min.js +2 -0
  183. package/dist/chunks/default.fragment-CNef5Xlg.esm.min.js.map +1 -0
  184. package/dist/chunks/default.fragment-DAO0SBl-.esm.js +515 -0
  185. package/dist/chunks/default.fragment-DAO0SBl-.esm.js.map +1 -0
  186. package/dist/chunks/default.vertex-Ban5pFUb.esm.js +211 -0
  187. package/dist/chunks/default.vertex-Ban5pFUb.esm.js.map +1 -0
  188. package/dist/chunks/default.vertex-CPjp6YBQ.esm.min.js +2 -0
  189. package/dist/chunks/default.vertex-CPjp6YBQ.esm.min.js.map +1 -0
  190. package/dist/chunks/default.vertex-CemfGK4Y.esm.min.js +2 -0
  191. package/dist/chunks/default.vertex-CemfGK4Y.esm.min.js.map +1 -0
  192. package/dist/chunks/default.vertex-QE4cV7Y2.esm.js +190 -0
  193. package/dist/chunks/default.vertex-QE4cV7Y2.esm.js.map +1 -0
  194. package/dist/chunks/defaultUboDeclaration-B5nIsoCQ.esm.min.js +2 -0
  195. package/dist/chunks/defaultUboDeclaration-B5nIsoCQ.esm.min.js.map +1 -0
  196. package/dist/chunks/defaultUboDeclaration-B8tY8ajW.esm.js +15 -0
  197. package/dist/chunks/defaultUboDeclaration-B8tY8ajW.esm.js.map +1 -0
  198. package/dist/chunks/defaultUboDeclaration-D7yr1BRw.esm.js +13 -0
  199. package/dist/chunks/defaultUboDeclaration-D7yr1BRw.esm.js.map +1 -0
  200. package/dist/chunks/defaultUboDeclaration-Db_EQWlv.esm.min.js +2 -0
  201. package/dist/chunks/defaultUboDeclaration-Db_EQWlv.esm.min.js.map +1 -0
  202. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  203. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  204. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  205. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  206. package/dist/chunks/dumpTools-C13JzZr_.esm.min.js +2 -0
  207. package/dist/chunks/dumpTools-C13JzZr_.esm.min.js.map +1 -0
  208. package/dist/chunks/dumpTools-D6BRv6Ws.esm.js +200 -0
  209. package/dist/chunks/dumpTools-D6BRv6Ws.esm.js.map +1 -0
  210. package/dist/chunks/engine-29lBc-mw.esm.min.js +2 -0
  211. package/dist/chunks/engine-29lBc-mw.esm.min.js.map +1 -0
  212. package/dist/chunks/engine-Bk6S663t.esm.js +2213 -0
  213. package/dist/chunks/engine-Bk6S663t.esm.js.map +1 -0
  214. package/dist/chunks/engine.common-D_DOB0rT.esm.js +1162 -0
  215. package/dist/chunks/engine.common-D_DOB0rT.esm.js.map +1 -0
  216. package/dist/chunks/engine.common-OpqDqcE2.esm.min.js +2 -0
  217. package/dist/chunks/engine.common-OpqDqcE2.esm.min.js.map +1 -0
  218. package/dist/chunks/envTextureLoader-DS13pG9w.esm.js +64 -0
  219. package/dist/chunks/envTextureLoader-DS13pG9w.esm.js.map +1 -0
  220. package/dist/chunks/envTextureLoader-Dt6q0XDu.esm.min.js +2 -0
  221. package/dist/chunks/envTextureLoader-Dt6q0XDu.esm.min.js.map +1 -0
  222. package/dist/chunks/environmentTextureTools-DKN-Hd8c.esm.min.js +2 -0
  223. package/dist/chunks/environmentTextureTools-DKN-Hd8c.esm.min.js.map +1 -0
  224. package/dist/chunks/environmentTextureTools-DWkvV21A.esm.js +382 -0
  225. package/dist/chunks/environmentTextureTools-DWkvV21A.esm.js.map +1 -0
  226. package/dist/chunks/exrTextureLoader-6o4jfUaF.esm.js +1683 -0
  227. package/dist/chunks/exrTextureLoader-6o4jfUaF.esm.js.map +1 -0
  228. package/dist/chunks/exrTextureLoader-CXV9O3pZ.esm.min.js +2 -0
  229. package/dist/chunks/exrTextureLoader-CXV9O3pZ.esm.min.js.map +1 -0
  230. package/dist/chunks/fogFragment-BdOtsPe3.esm.js +102 -0
  231. package/dist/chunks/fogFragment-BdOtsPe3.esm.js.map +1 -0
  232. package/dist/chunks/fogFragment-Cv3Bqrrg.esm.js +101 -0
  233. package/dist/chunks/fogFragment-Cv3Bqrrg.esm.js.map +1 -0
  234. package/dist/chunks/fogFragment-D91rqvp0.esm.min.js +2 -0
  235. package/dist/chunks/fogFragment-D91rqvp0.esm.min.js.map +1 -0
  236. package/dist/chunks/fogFragment-qdYpZbGA.esm.min.js +2 -0
  237. package/dist/chunks/fogFragment-qdYpZbGA.esm.min.js.map +1 -0
  238. package/dist/chunks/fresnelFunction-DBMK4K-2.esm.min.js +2 -0
  239. package/dist/chunks/fresnelFunction-DBMK4K-2.esm.min.js.map +1 -0
  240. package/dist/chunks/fresnelFunction-o5ZOc6C0.esm.js +12 -0
  241. package/dist/chunks/fresnelFunction-o5ZOc6C0.esm.js.map +1 -0
  242. package/dist/chunks/glTFLoader-Dj_JCgqJ.esm.min.js +2 -0
  243. package/dist/chunks/glTFLoader-Dj_JCgqJ.esm.min.js.map +1 -0
  244. package/dist/chunks/glTFLoader-DnWHbX53.esm.js +7693 -0
  245. package/dist/chunks/glTFLoader-DnWHbX53.esm.js.map +1 -0
  246. package/dist/chunks/glTFLoaderAnimation-A_WVS-lt.esm.min.js +2 -0
  247. package/dist/chunks/glTFLoaderAnimation-A_WVS-lt.esm.min.js.map +1 -0
  248. package/dist/chunks/glTFLoaderAnimation-C3gHlipY.esm.js +77 -0
  249. package/dist/chunks/glTFLoaderAnimation-C3gHlipY.esm.js.map +1 -0
  250. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  251. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  252. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  253. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  254. package/dist/chunks/harmonicsFunctions-91QStv6v.esm.min.js +2 -0
  255. package/dist/chunks/harmonicsFunctions-91QStv6v.esm.min.js.map +1 -0
  256. package/dist/chunks/harmonicsFunctions-DBJQNoSA.esm.min.js +2 -0
  257. package/dist/chunks/harmonicsFunctions-DBJQNoSA.esm.min.js.map +1 -0
  258. package/dist/chunks/harmonicsFunctions-DXdlMMN6.esm.js +34 -0
  259. package/dist/chunks/harmonicsFunctions-DXdlMMN6.esm.js.map +1 -0
  260. package/dist/chunks/harmonicsFunctions-VtAD6DeX.esm.js +35 -0
  261. package/dist/chunks/harmonicsFunctions-VtAD6DeX.esm.js.map +1 -0
  262. package/dist/chunks/hdrTextureLoader-CYtpPSzs.esm.js +253 -0
  263. package/dist/chunks/hdrTextureLoader-CYtpPSzs.esm.js.map +1 -0
  264. package/dist/chunks/hdrTextureLoader-CzZ1hV7q.esm.min.js +2 -0
  265. package/dist/chunks/hdrTextureLoader-CzZ1hV7q.esm.min.js.map +1 -0
  266. package/dist/chunks/helperFunctions-Bn3a_gzG.esm.js +110 -0
  267. package/dist/chunks/helperFunctions-Bn3a_gzG.esm.js.map +1 -0
  268. package/dist/chunks/helperFunctions-CA_QOVSE.esm.js +83 -0
  269. package/dist/chunks/helperFunctions-CA_QOVSE.esm.js.map +1 -0
  270. package/dist/chunks/helperFunctions-mebe29sq.esm.min.js +2 -0
  271. package/dist/chunks/helperFunctions-mebe29sq.esm.min.js.map +1 -0
  272. package/dist/chunks/helperFunctions-wIdfkMdZ.esm.min.js +2 -0
  273. package/dist/chunks/helperFunctions-wIdfkMdZ.esm.min.js.map +1 -0
  274. package/dist/chunks/iesTextureLoader-D8_bkaCP.esm.min.js +2 -0
  275. package/dist/chunks/iesTextureLoader-D8_bkaCP.esm.min.js.map +1 -0
  276. package/dist/chunks/iesTextureLoader-K1MQUalq.esm.js +189 -0
  277. package/dist/chunks/iesTextureLoader-K1MQUalq.esm.js.map +1 -0
  278. package/dist/chunks/index-Bo5F_mGk.esm.min.js +57 -0
  279. package/dist/chunks/index-Bo5F_mGk.esm.min.js.map +1 -0
  280. package/dist/chunks/index-Dlf001gP.esm.js +74889 -0
  281. package/dist/chunks/index-Dlf001gP.esm.js.map +1 -0
  282. package/dist/chunks/ktxTextureLoader-B6UHYOxL.esm.js +814 -0
  283. package/dist/chunks/ktxTextureLoader-B6UHYOxL.esm.js.map +1 -0
  284. package/dist/chunks/ktxTextureLoader-s_dbtiwN.esm.min.js +2 -0
  285. package/dist/chunks/ktxTextureLoader-s_dbtiwN.esm.min.js.map +1 -0
  286. package/dist/chunks/logDepthDeclaration--xmemf5p.esm.min.js +2 -0
  287. package/dist/chunks/logDepthDeclaration--xmemf5p.esm.min.js.map +1 -0
  288. package/dist/chunks/logDepthDeclaration-Babs-3_m.esm.js +35 -0
  289. package/dist/chunks/logDepthDeclaration-Babs-3_m.esm.js.map +1 -0
  290. package/dist/chunks/logDepthDeclaration-BvoznvSG.esm.min.js +2 -0
  291. package/dist/chunks/logDepthDeclaration-BvoznvSG.esm.min.js.map +1 -0
  292. package/dist/chunks/logDepthDeclaration-_EPT9ybx.esm.js +11 -0
  293. package/dist/chunks/logDepthDeclaration-_EPT9ybx.esm.js.map +1 -0
  294. package/dist/chunks/logDepthVertex-0vve_qKh.esm.js +77 -0
  295. package/dist/chunks/logDepthVertex-0vve_qKh.esm.js.map +1 -0
  296. package/dist/chunks/logDepthVertex-BkGmO8_s.esm.js +81 -0
  297. package/dist/chunks/logDepthVertex-BkGmO8_s.esm.js.map +1 -0
  298. package/dist/chunks/logDepthVertex-CVcNpHQe.esm.min.js +2 -0
  299. package/dist/chunks/logDepthVertex-CVcNpHQe.esm.min.js.map +1 -0
  300. package/dist/chunks/logDepthVertex-DL8eWalk.esm.min.js +2 -0
  301. package/dist/chunks/logDepthVertex-DL8eWalk.esm.min.js.map +1 -0
  302. package/dist/chunks/mainUVVaryingDeclaration-9DUO7sPf.esm.js +11 -0
  303. package/dist/chunks/mainUVVaryingDeclaration-9DUO7sPf.esm.js.map +1 -0
  304. package/dist/chunks/mainUVVaryingDeclaration-DXZGPs7O.esm.js +11 -0
  305. package/dist/chunks/mainUVVaryingDeclaration-DXZGPs7O.esm.js.map +1 -0
  306. package/dist/chunks/mainUVVaryingDeclaration-DaFtbg5X.esm.min.js +2 -0
  307. package/dist/chunks/mainUVVaryingDeclaration-DaFtbg5X.esm.min.js.map +1 -0
  308. package/dist/chunks/mainUVVaryingDeclaration-lKBcMFcP.esm.min.js +2 -0
  309. package/dist/chunks/mainUVVaryingDeclaration-lKBcMFcP.esm.min.js.map +1 -0
  310. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +119 -0
  311. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +1 -0
  312. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +2 -0
  313. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +1 -0
  314. package/dist/chunks/meshUboDeclaration-BN0BlYEZ.esm.js +26 -0
  315. package/dist/chunks/meshUboDeclaration-BN0BlYEZ.esm.js.map +1 -0
  316. package/dist/chunks/meshUboDeclaration-BcQ1P_co.esm.min.js +2 -0
  317. package/dist/chunks/meshUboDeclaration-BcQ1P_co.esm.min.js.map +1 -0
  318. package/dist/chunks/objFileLoader-Lx7JtYFA.esm.min.js +2 -0
  319. package/dist/chunks/objFileLoader-Lx7JtYFA.esm.min.js.map +1 -0
  320. package/dist/chunks/objFileLoader-_nxEPYB4.esm.js +1338 -0
  321. package/dist/chunks/objFileLoader-_nxEPYB4.esm.js.map +1 -0
  322. package/dist/chunks/oitFragment-BPgREULe.esm.js +1240 -0
  323. package/dist/chunks/oitFragment-BPgREULe.esm.js.map +1 -0
  324. package/dist/chunks/oitFragment-CKNxTV0T.esm.min.js +2 -0
  325. package/dist/chunks/oitFragment-CKNxTV0T.esm.min.js.map +1 -0
  326. package/dist/chunks/oitFragment-CT3oWGRL.esm.js +1078 -0
  327. package/dist/chunks/oitFragment-CT3oWGRL.esm.js.map +1 -0
  328. package/dist/chunks/oitFragment-CXrV_64a.esm.min.js +2 -0
  329. package/dist/chunks/oitFragment-CXrV_64a.esm.min.js.map +1 -0
  330. package/dist/chunks/pass.fragment-BugqjVKo.esm.js +15 -0
  331. package/dist/chunks/pass.fragment-BugqjVKo.esm.js.map +1 -0
  332. package/dist/chunks/pass.fragment-X-KK3tOa.esm.min.js +2 -0
  333. package/dist/chunks/pass.fragment-X-KK3tOa.esm.min.js.map +1 -0
  334. package/dist/chunks/pass.fragment-pJ1J3AeO.esm.min.js +2 -0
  335. package/dist/chunks/pass.fragment-pJ1J3AeO.esm.min.js.map +1 -0
  336. package/dist/chunks/pass.fragment-tk9KCmM-.esm.js +15 -0
  337. package/dist/chunks/pass.fragment-tk9KCmM-.esm.js.map +1 -0
  338. package/dist/chunks/pbr.fragment-C4BFWzEP.esm.js +3269 -0
  339. package/dist/chunks/pbr.fragment-C4BFWzEP.esm.js.map +1 -0
  340. package/dist/chunks/pbr.fragment-CTE0zFNb.esm.min.js +2 -0
  341. package/dist/chunks/pbr.fragment-CTE0zFNb.esm.min.js.map +1 -0
  342. package/dist/chunks/pbr.fragment-DZRIiJzv.esm.js +3222 -0
  343. package/dist/chunks/pbr.fragment-DZRIiJzv.esm.js.map +1 -0
  344. package/dist/chunks/pbr.fragment-Dk1kkP87.esm.min.js +2 -0
  345. package/dist/chunks/pbr.fragment-Dk1kkP87.esm.min.js.map +1 -0
  346. package/dist/chunks/pbr.vertex-Ba8BDEep.esm.min.js +2 -0
  347. package/dist/chunks/pbr.vertex-Ba8BDEep.esm.min.js.map +1 -0
  348. package/dist/chunks/pbr.vertex-DM2WONhK.esm.js +223 -0
  349. package/dist/chunks/pbr.vertex-DM2WONhK.esm.js.map +1 -0
  350. package/dist/chunks/pbr.vertex-DVghYyb7.esm.min.js +2 -0
  351. package/dist/chunks/pbr.vertex-DVghYyb7.esm.min.js.map +1 -0
  352. package/dist/chunks/pbr.vertex-DiVjR6Bs.esm.js +348 -0
  353. package/dist/chunks/pbr.vertex-DiVjR6Bs.esm.js.map +1 -0
  354. package/dist/chunks/postprocess.vertex-CtVD6qfW.esm.min.js +2 -0
  355. package/dist/chunks/postprocess.vertex-CtVD6qfW.esm.min.js.map +1 -0
  356. package/dist/chunks/postprocess.vertex-DntzOpKV.esm.js +20 -0
  357. package/dist/chunks/postprocess.vertex-DntzOpKV.esm.js.map +1 -0
  358. package/dist/chunks/rawTexture-BAt5J3G4.esm.min.js +2 -0
  359. package/dist/chunks/rawTexture-BAt5J3G4.esm.min.js.map +1 -0
  360. package/dist/chunks/rawTexture-D0O_yrdQ.esm.js +191 -0
  361. package/dist/chunks/rawTexture-D0O_yrdQ.esm.js.map +1 -0
  362. package/dist/chunks/ray-Bbt37I0I.esm.js +946 -0
  363. package/dist/chunks/ray-Bbt37I0I.esm.js.map +1 -0
  364. package/dist/chunks/ray-OQ0d0a-k.esm.min.js +2 -0
  365. package/dist/chunks/ray-OQ0d0a-k.esm.min.js.map +1 -0
  366. package/dist/chunks/rgbdDecode.fragment-4HjKGwMm.esm.min.js +2 -0
  367. package/dist/chunks/rgbdDecode.fragment-4HjKGwMm.esm.min.js.map +1 -0
  368. package/dist/chunks/rgbdDecode.fragment-CKVGwRZO.esm.js +13 -0
  369. package/dist/chunks/rgbdDecode.fragment-CKVGwRZO.esm.js.map +1 -0
  370. package/dist/chunks/rgbdDecode.fragment-Cn6YVnkB.esm.js +13 -0
  371. package/dist/chunks/rgbdDecode.fragment-Cn6YVnkB.esm.js.map +1 -0
  372. package/dist/chunks/rgbdDecode.fragment-DwcDy8Eo.esm.min.js +2 -0
  373. package/dist/chunks/rgbdDecode.fragment-DwcDy8Eo.esm.min.js.map +1 -0
  374. package/dist/chunks/rgbdEncode.fragment-BUluDIqG.esm.min.js +2 -0
  375. package/dist/chunks/rgbdEncode.fragment-BUluDIqG.esm.min.js.map +1 -0
  376. package/dist/chunks/rgbdEncode.fragment-CEiZq0Qt.esm.js +13 -0
  377. package/dist/chunks/rgbdEncode.fragment-CEiZq0Qt.esm.js.map +1 -0
  378. package/dist/chunks/rgbdEncode.fragment-CY0yYtEl.esm.js +13 -0
  379. package/dist/chunks/rgbdEncode.fragment-CY0yYtEl.esm.js.map +1 -0
  380. package/dist/chunks/rgbdEncode.fragment-DS4_h_Qc.esm.min.js +2 -0
  381. package/dist/chunks/rgbdEncode.fragment-DS4_h_Qc.esm.min.js.map +1 -0
  382. package/dist/chunks/splatFileLoader-C9ykR2nU.esm.js +3387 -0
  383. package/dist/chunks/splatFileLoader-C9ykR2nU.esm.js.map +1 -0
  384. package/dist/chunks/splatFileLoader-fz6lXWf1.esm.min.js +2 -0
  385. package/dist/chunks/splatFileLoader-fz6lXWf1.esm.min.js.map +1 -0
  386. package/dist/chunks/spotLight-BJUVKiS1.esm.min.js +2 -0
  387. package/dist/chunks/spotLight-BJUVKiS1.esm.min.js.map +1 -0
  388. package/dist/chunks/spotLight-DPadbSE2.esm.js +701 -0
  389. package/dist/chunks/spotLight-DPadbSE2.esm.js.map +1 -0
  390. package/dist/chunks/standardMaterial-BFBsF3pv.esm.min.js +2 -0
  391. package/dist/chunks/standardMaterial-BFBsF3pv.esm.min.js.map +1 -0
  392. package/dist/chunks/standardMaterial-eJkfs5dX.esm.js +1807 -0
  393. package/dist/chunks/standardMaterial-eJkfs5dX.esm.js.map +1 -0
  394. package/dist/chunks/stlFileLoader-D-4wZdg7.esm.js +238 -0
  395. package/dist/chunks/stlFileLoader-D-4wZdg7.esm.js.map +1 -0
  396. package/dist/chunks/stlFileLoader-DFdDdaYW.esm.min.js +2 -0
  397. package/dist/chunks/stlFileLoader-DFdDdaYW.esm.min.js.map +1 -0
  398. package/dist/chunks/tgaTextureLoader-84Uwk9uE.esm.min.js +2 -0
  399. package/dist/chunks/tgaTextureLoader-84Uwk9uE.esm.min.js.map +1 -0
  400. package/dist/chunks/tgaTextureLoader-DDAxGDFK.esm.js +349 -0
  401. package/dist/chunks/tgaTextureLoader-DDAxGDFK.esm.js.map +1 -0
  402. package/dist/chunks/thinEngine-CiBi1yBe.esm.min.js +2 -0
  403. package/dist/chunks/thinEngine-CiBi1yBe.esm.min.js.map +1 -0
  404. package/dist/chunks/thinEngine-iDkoF96X.esm.js +3848 -0
  405. package/dist/chunks/thinEngine-iDkoF96X.esm.js.map +1 -0
  406. package/dist/chunks/thinInstanceMesh-DGBYkFXN.esm.js +314 -0
  407. package/dist/chunks/thinInstanceMesh-DGBYkFXN.esm.js.map +1 -0
  408. package/dist/chunks/thinInstanceMesh-MROq1d7v.esm.min.js +2 -0
  409. package/dist/chunks/thinInstanceMesh-MROq1d7v.esm.min.js.map +1 -0
  410. package/dist/chunks/vertexColorMixing-0VXbzCuF.esm.js +428 -0
  411. package/dist/chunks/vertexColorMixing-0VXbzCuF.esm.js.map +1 -0
  412. package/dist/chunks/vertexColorMixing-B3GD6hE2.esm.js +538 -0
  413. package/dist/chunks/vertexColorMixing-B3GD6hE2.esm.js.map +1 -0
  414. package/dist/chunks/vertexColorMixing-ClVYo-h9.esm.min.js +2 -0
  415. package/dist/chunks/vertexColorMixing-ClVYo-h9.esm.min.js.map +1 -0
  416. package/dist/chunks/vertexColorMixing-j0Dix_Wy.esm.min.js +2 -0
  417. package/dist/chunks/vertexColorMixing-j0Dix_Wy.esm.min.js.map +1 -0
  418. package/dist/chunks/webgpuEngine-BLhhEybd.esm.min.js +2 -0
  419. package/dist/chunks/webgpuEngine-BLhhEybd.esm.min.js.map +1 -0
  420. package/dist/chunks/webgpuEngine-Cs5fkngY.esm.js +11533 -0
  421. package/dist/chunks/webgpuEngine-Cs5fkngY.esm.js.map +1 -0
  422. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  423. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  424. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  425. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  426. package/lib/index.d.ts +591 -0
  427. package/lib/index.js +2165 -0
  428. package/lib/index.js.map +1 -0
  429. package/package.json +19 -28
  430. package/readme.md +28 -28
  431. package/configuration/configuration.d.ts +0 -107
  432. package/configuration/configuration.js +0 -16
  433. package/configuration/configuration.js.map +0 -1
  434. package/configuration/configurationCompatibility.d.ts +0 -8
  435. package/configuration/configurationCompatibility.js +0 -66
  436. package/configuration/configurationCompatibility.js.map +0 -1
  437. package/configuration/configurationContainer.d.ts +0 -10
  438. package/configuration/configurationContainer.js +0 -10
  439. package/configuration/configurationContainer.js.map +0 -1
  440. package/configuration/globals.d.ts +0 -6
  441. package/configuration/globals.js +0 -18
  442. package/configuration/globals.js.map +0 -1
  443. package/configuration/index.d.ts +0 -2
  444. package/configuration/index.js +0 -4
  445. package/configuration/index.js.map +0 -1
  446. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  447. package/configuration/interfaces/cameraConfiguration.js +0 -2
  448. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  449. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  450. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  451. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  452. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  453. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  454. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  455. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  456. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  457. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  458. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  459. package/configuration/interfaces/groundConfiguration.js +0 -2
  460. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  461. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  462. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  463. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  464. package/configuration/interfaces/index.d.ts +0 -15
  465. package/configuration/interfaces/index.js +0 -16
  466. package/configuration/interfaces/index.js.map +0 -1
  467. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  468. package/configuration/interfaces/lightConfiguration.js +0 -2
  469. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  470. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  471. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  472. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  473. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  474. package/configuration/interfaces/modelConfiguration.js +0 -2
  475. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  476. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  477. package/configuration/interfaces/observersConfiguration.js +0 -2
  478. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  479. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  480. package/configuration/interfaces/sceneConfiguration.js +0 -2
  481. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  482. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  483. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  484. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  485. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  486. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  487. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  488. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  489. package/configuration/interfaces/templateConfiguration.js +0 -2
  490. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  491. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  492. package/configuration/interfaces/vrConfiguration.js +0 -2
  493. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  494. package/configuration/loader.d.ts +0 -4
  495. package/configuration/loader.js +0 -17
  496. package/configuration/loader.js.map +0 -1
  497. package/configuration/mappers.d.ts +0 -43
  498. package/configuration/mappers.js +0 -193
  499. package/configuration/mappers.js.map +0 -1
  500. package/configuration/renderOnlyLoader.d.ts +0 -33
  501. package/configuration/renderOnlyLoader.js +0 -162
  502. package/configuration/renderOnlyLoader.js.map +0 -1
  503. package/configuration/types/default.d.ts +0 -6
  504. package/configuration/types/default.js +0 -121
  505. package/configuration/types/default.js.map +0 -1
  506. package/configuration/types/environmentMap.d.ts +0 -5
  507. package/configuration/types/environmentMap.js +0 -14
  508. package/configuration/types/environmentMap.js.map +0 -1
  509. package/configuration/types/extended.d.ts +0 -6
  510. package/configuration/types/extended.js +0 -317
  511. package/configuration/types/extended.js.map +0 -1
  512. package/configuration/types/index.d.ts +0 -14
  513. package/configuration/types/index.js +0 -51
  514. package/configuration/types/index.js.map +0 -1
  515. package/configuration/types/minimal.d.ts +0 -6
  516. package/configuration/types/minimal.js +0 -43
  517. package/configuration/types/minimal.js.map +0 -1
  518. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  519. package/configuration/types/renderOnlyDefault.js +0 -31
  520. package/configuration/types/renderOnlyDefault.js.map +0 -1
  521. package/configuration/types/shadowLight.d.ts +0 -9
  522. package/configuration/types/shadowLight.js +0 -64
  523. package/configuration/types/shadowLight.js.map +0 -1
  524. package/helper/index.d.ts +0 -29
  525. package/helper/index.js +0 -66
  526. package/helper/index.js.map +0 -1
  527. package/index.d.ts +0 -30
  528. package/index.js +0 -46
  529. package/index.js.map +0 -1
  530. package/initializer.d.ts +0 -11
  531. package/initializer.js +0 -35
  532. package/initializer.js.map +0 -1
  533. package/interfaces.d.ts +0 -5
  534. package/interfaces.js +0 -7
  535. package/interfaces.js.map +0 -1
  536. package/labs/environmentSerializer.d.ts +0 -126
  537. package/labs/environmentSerializer.js +0 -191
  538. package/labs/environmentSerializer.js.map +0 -1
  539. package/labs/texture.d.ts +0 -183
  540. package/labs/texture.js +0 -351
  541. package/labs/texture.js.map +0 -1
  542. package/labs/viewerLabs.d.ts +0 -51
  543. package/labs/viewerLabs.js +0 -134
  544. package/labs/viewerLabs.js.map +0 -1
  545. package/loader/modelLoader.d.ts +0 -56
  546. package/loader/modelLoader.js +0 -202
  547. package/loader/modelLoader.js.map +0 -1
  548. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  549. package/loader/plugins/applyMaterialConfig.js +0 -16
  550. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  551. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  552. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  553. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  554. package/loader/plugins/index.d.ts +0 -19
  555. package/loader/plugins/index.js +0 -44
  556. package/loader/plugins/index.js.map +0 -1
  557. package/loader/plugins/loaderPlugin.d.ts +0 -24
  558. package/loader/plugins/loaderPlugin.js +0 -2
  559. package/loader/plugins/loaderPlugin.js.map +0 -1
  560. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  561. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  562. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  563. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  564. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  565. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  566. package/managers/observablesManager.d.ts +0 -66
  567. package/managers/observablesManager.js +0 -35
  568. package/managers/observablesManager.js.map +0 -1
  569. package/managers/sceneManager.d.ts +0 -245
  570. package/managers/sceneManager.js +0 -1375
  571. package/managers/sceneManager.js.map +0 -1
  572. package/managers/telemetryManager.d.ts +0 -78
  573. package/managers/telemetryManager.js +0 -117
  574. package/managers/telemetryManager.js.map +0 -1
  575. package/model/modelAnimation.d.ts +0 -215
  576. package/model/modelAnimation.js +0 -237
  577. package/model/modelAnimation.js.map +0 -1
  578. package/model/viewerModel.d.ts +0 -233
  579. package/model/viewerModel.js +0 -673
  580. package/model/viewerModel.js.map +0 -1
  581. package/optimizer/custom/extended.d.ts +0 -13
  582. package/optimizer/custom/extended.js +0 -101
  583. package/optimizer/custom/extended.js.map +0 -1
  584. package/optimizer/custom/index.d.ts +0 -9
  585. package/optimizer/custom/index.js +0 -26
  586. package/optimizer/custom/index.js.map +0 -1
  587. package/renderOnlyIndex.d.ts +0 -11
  588. package/renderOnlyIndex.js +0 -18
  589. package/renderOnlyIndex.js.map +0 -1
  590. package/templating/eventManager.d.ts +0 -35
  591. package/templating/eventManager.js +0 -66
  592. package/templating/eventManager.js.map +0 -1
  593. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  594. package/templating/plugins/hdButtonPlugin.js +0 -22
  595. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  596. package/templating/plugins/printButton.d.ts +0 -9
  597. package/templating/plugins/printButton.js +0 -41
  598. package/templating/plugins/printButton.js.map +0 -1
  599. package/templating/templateManager.d.ts +0 -197
  600. package/templating/templateManager.js +0 -561
  601. package/templating/templateManager.js.map +0 -1
  602. package/templating/viewerTemplatePlugin.d.ts +0 -21
  603. package/templating/viewerTemplatePlugin.js +0 -69
  604. package/templating/viewerTemplatePlugin.js.map +0 -1
  605. package/viewer/defaultViewer.d.ts +0 -130
  606. package/viewer/defaultViewer.js +0 -672
  607. package/viewer/defaultViewer.js.map +0 -1
  608. package/viewer/renderOnlyViewer.d.ts +0 -9
  609. package/viewer/renderOnlyViewer.js +0 -46
  610. package/viewer/renderOnlyViewer.js.map +0 -1
  611. package/viewer/viewer.d.ts +0 -258
  612. package/viewer/viewer.js +0 -783
  613. package/viewer/viewer.js.map +0 -1
  614. package/viewer/viewerManager.d.ts +0 -58
  615. package/viewer/viewerManager.js +0 -91
  616. package/viewer/viewerManager.js.map +0 -1
  617. package/viewer/viewerWithTemplate.d.ts +0 -9
  618. package/viewer/viewerWithTemplate.js +0 -20
  619. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,1078 @@
1
+ import { i as ShaderStore } from './index-Dlf001gP.esm.js';
2
+
3
+ // Do not edit.
4
+ const name$d = "prePassDeclaration";
5
+ const shader$d = `#ifdef PREPASS
6
+ #ifdef PREPASS_LOCAL_POSITION
7
+ varying vPosition : vec3f;
8
+ #endif
9
+ #ifdef PREPASS_DEPTH
10
+ varying vViewPos: vec3f;
11
+ #endif
12
+ #if defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)
13
+ varying vCurrentPosition: vec4f;varying vPreviousPosition: vec4f;
14
+ #endif
15
+ #endif
16
+ `;
17
+ // Sideeffect
18
+ ShaderStore.IncludesShadersStoreWGSL[name$d] = shader$d;
19
+
20
+ // Do not edit.
21
+ const name$c = "oitDeclaration";
22
+ const shader$c = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
23
+ #define MAX_DEPTH 99999.0
24
+ var oitDepthSamplerSampler: sampler;var oitDepthSampler: texture_2d<f32>;var oitFrontColorSamplerSampler: sampler;var oitFrontColorSampler: texture_2d<f32>;
25
+ #endif
26
+ `;
27
+ // Sideeffect
28
+ ShaderStore.IncludesShadersStoreWGSL[name$c] = shader$c;
29
+
30
+ // Do not edit.
31
+ const name$b = "lightUboDeclaration";
32
+ const shader$b = `#ifdef LIGHT{X}
33
+ struct Light{X}
34
+ {vLightData: vec4f,
35
+ vLightDiffuse: vec4f,
36
+ vLightSpecular: vec4f,
37
+ #ifdef SPOTLIGHT{X}
38
+ vLightDirection: vec4f,
39
+ vLightFalloff: vec4f,
40
+ #elif defined(POINTLIGHT{X})
41
+ vLightFalloff: vec4f,
42
+ #elif defined(HEMILIGHT{X})
43
+ vLightGround: vec3f,
44
+ #endif
45
+ shadowsInfo: vec4f,
46
+ depthValues: vec2f} ;var<uniform> light{X} : Light{X};
47
+ #ifdef IESLIGHTTEXTURE{X}
48
+ var iesLightTexture{X}Sampler: sampler;var iesLightTexture{X}: texture_2d<f32>;
49
+ #endif
50
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
51
+ uniform textureProjectionMatrix{X}: mat4x4f;var projectionLightTexture{X}Sampler: sampler;var projectionLightTexture{X}: texture_2d<f32>;
52
+ #endif
53
+ #ifdef SHADOW{X}
54
+ #ifdef SHADOWCSM{X}
55
+ uniform lightMatrix{X}: array<mat4x4f,SHADOWCSMNUM_CASCADES{X}>;uniform viewFrustumZ{X}: array<f32,SHADOWCSMNUM_CASCADES{X}>;uniform frustumLengths{X}: array<f32,SHADOWCSMNUM_CASCADES{X}>;uniform cascadeBlendFactor{X}: f32;varying vPositionFromLight{X}_0: vec4f;varying vDepthMetric{X}_0: f32;varying vPositionFromLight{X}_1: vec4f;varying vDepthMetric{X}_1: f32;varying vPositionFromLight{X}_2: vec4f;varying vDepthMetric{X}_2: f32;varying vPositionFromLight{X}_3: vec4f;varying vDepthMetric{X}_3: f32;varying vPositionFromCamera{X}: vec4f;var<private> vPositionFromLight{X}: array<vec4f,4>;var<private> vDepthMetric{X} : array<f32,4>;
56
+ #if defined(SHADOWPCSS{X})
57
+ var shadowTexture{X}Sampler: sampler_comparison;
58
+ var shadowTexture{X}: texture_depth_2d_array;var depthTexture{X}Sampler: sampler;var depthTexture{X}: texture_2d_array<f32>;uniform lightSizeUVCorrection{X}: array<vec2f,SHADOWCSMNUM_CASCADES{X}>;uniform depthCorrection{X}: array<f32,SHADOWCSMNUM_CASCADES{X}>;uniform penumbraDarkness{X}: f32;
59
+ #elif defined(SHADOWPCF{X})
60
+ var shadowTexture{X}Sampler: sampler_comparison;var shadowTexture{X}: texture_depth_2d_array;
61
+ #else
62
+ var shadowTexture{X}Sampler: sampler;
63
+ var shadowTexture{X}: texture_2d_array<f32>;
64
+ #endif
65
+ #ifdef SHADOWCSMDEBUG{X}
66
+ const vCascadeColorsMultiplier{X}: array<vec3f,8>=array<vec3f,8>
67
+ (
68
+ vec3f ( 1.5,0.0,0.0 ),
69
+ vec3f ( 0.0,1.5,0.0 ),
70
+ vec3f ( 0.0,0.0,5.5 ),
71
+ vec3f ( 1.5,0.0,5.5 ),
72
+ vec3f ( 1.5,1.5,0.0 ),
73
+ vec3f ( 1.0,1.0,1.0 ),
74
+ vec3f ( 0.0,1.0,5.5 ),
75
+ vec3f ( 0.5,3.5,0.75 )
76
+ );
77
+ #endif
78
+ #elif defined(SHADOWCUBE{X})
79
+ var shadowTexture{X}Sampler: sampler;var shadowTexture{X}: texture_cube<f32>;
80
+ #else
81
+ varying vPositionFromLight{X}: vec4f;varying vDepthMetric{X}: f32;
82
+ #if defined(SHADOWPCSS{X})
83
+ var shadowTexture{X}Sampler: sampler_comparison;
84
+ var shadowTexture{X}: texture_depth_2d;var depthTexture{X}Sampler: sampler;
85
+ var depthTexture{X}: texture_2d<f32>;
86
+ #elif defined(SHADOWPCF{X})
87
+ var shadowTexture{X}Sampler: sampler_comparison;var shadowTexture{X}: texture_depth_2d;
88
+ #else
89
+ var shadowTexture{X}Sampler: sampler;
90
+ var shadowTexture{X}: texture_2d<f32>;
91
+ #endif
92
+ uniform lightMatrix{X}: mat4x4f;
93
+ #endif
94
+ #endif
95
+ #endif
96
+ `;
97
+ // Sideeffect
98
+ ShaderStore.IncludesShadersStoreWGSL[name$b] = shader$b;
99
+
100
+ // Do not edit.
101
+ const name$a = "samplerFragmentDeclaration";
102
+ const shader$a = `#ifdef _DEFINENAME_
103
+ #if _DEFINENAME_DIRECTUV==1
104
+ #define v_VARYINGNAME_UV vMainUV1
105
+ #elif _DEFINENAME_DIRECTUV==2
106
+ #define v_VARYINGNAME_UV vMainUV2
107
+ #elif _DEFINENAME_DIRECTUV==3
108
+ #define v_VARYINGNAME_UV vMainUV3
109
+ #elif _DEFINENAME_DIRECTUV==4
110
+ #define v_VARYINGNAME_UV vMainUV4
111
+ #elif _DEFINENAME_DIRECTUV==5
112
+ #define v_VARYINGNAME_UV vMainUV5
113
+ #elif _DEFINENAME_DIRECTUV==6
114
+ #define v_VARYINGNAME_UV vMainUV6
115
+ #else
116
+ varying v_VARYINGNAME_UV: vec2f;
117
+ #endif
118
+ var _SAMPLERNAME_SamplerSampler: sampler;var _SAMPLERNAME_Sampler: texture_2d<f32>;
119
+ #endif
120
+ `;
121
+ // Sideeffect
122
+ ShaderStore.IncludesShadersStoreWGSL[name$a] = shader$a;
123
+
124
+ // Do not edit.
125
+ const name$9 = "imageProcessingDeclaration";
126
+ const shader$9 = `#ifdef EXPOSURE
127
+ uniform exposureLinear: f32;
128
+ #endif
129
+ #ifdef CONTRAST
130
+ uniform contrast: f32;
131
+ #endif
132
+ #if defined(VIGNETTE) || defined(DITHER)
133
+ uniform vInverseScreenSize: vec2f;
134
+ #endif
135
+ #ifdef VIGNETTE
136
+ uniform vignetteSettings1: vec4f;uniform vignetteSettings2: vec4f;
137
+ #endif
138
+ #ifdef COLORCURVES
139
+ uniform vCameraColorCurveNegative: vec4f;uniform vCameraColorCurveNeutral: vec4f;uniform vCameraColorCurvePositive: vec4f;
140
+ #endif
141
+ #ifdef COLORGRADING
142
+ #ifdef COLORGRADING3D
143
+ var txColorTransformSampler: sampler;var txColorTransform: texture_3d<f32>;
144
+ #else
145
+ var txColorTransformSampler: sampler;var txColorTransform: texture_2d<f32>;
146
+ #endif
147
+ uniform colorTransformSettings: vec4f;
148
+ #endif
149
+ #ifdef DITHER
150
+ uniform ditherIntensity: f32;
151
+ #endif
152
+ `;
153
+ // Sideeffect
154
+ ShaderStore.IncludesShadersStoreWGSL[name$9] = shader$9;
155
+
156
+ // Do not edit.
157
+ const name$8 = "imageProcessingFunctions";
158
+ const shader$8 = `#if TONEMAPPING==3
159
+ const PBRNeutralStartCompression: f32=0.8-0.04;const PBRNeutralDesaturation: f32=0.15;fn PBRNeutralToneMapping( color: vec3f )->vec3f {var x: f32=min(color.r,min(color.g,color.b));var offset: f32=select(0.04,x-6.25*x*x,x<0.08);var result=color;result-=offset;var peak: f32=max(result.r,max(result.g,result.b));if (peak<PBRNeutralStartCompression) {return result;}
160
+ var d: f32=1.-PBRNeutralStartCompression;var newPeak: f32=1.-d*d/(peak+d-PBRNeutralStartCompression);result*=newPeak/peak;var g: f32=1.-1./(PBRNeutralDesaturation*(peak-newPeak)+1.);return mix(result,newPeak* vec3f(1,1,1),g);}
161
+ #endif
162
+ #if TONEMAPPING==2
163
+ const ACESInputMat: mat3x3f= mat3x3f(
164
+ vec3f(0.59719,0.07600,0.02840),
165
+ vec3f(0.35458,0.90834,0.13383),
166
+ vec3f(0.04823,0.01566,0.83777)
167
+ );const ACESOutputMat: mat3x3f= mat3x3f(
168
+ vec3f( 1.60475,-0.10208,-0.00327),
169
+ vec3f(-0.53108, 1.10813,-0.07276),
170
+ vec3f(-0.07367,-0.00605, 1.07602)
171
+ );fn RRTAndODTFit(v: vec3f)->vec3f
172
+ {var a: vec3f=v*(v+0.0245786)-0.000090537;var b: vec3f=v*(0.983729*v+0.4329510)+0.238081;return a/b;}
173
+ fn ACESFitted(color: vec3f)->vec3f
174
+ {var output=ACESInputMat*color;output=RRTAndODTFit(output);output=ACESOutputMat*output;output=saturateVec3(output);return output;}
175
+ #endif
176
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS
177
+ fn applyImageProcessing(result: vec4f)->vec4f {
178
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART
179
+ var rgb=result.rgb;;
180
+ #ifdef EXPOSURE
181
+ rgb*=uniforms.exposureLinear;
182
+ #endif
183
+ #ifdef VIGNETTE
184
+ var viewportXY: vec2f=fragmentInputs.position.xy*uniforms.vInverseScreenSize;viewportXY=viewportXY*2.0-1.0;var vignetteXY1: vec3f= vec3f(viewportXY*uniforms.vignetteSettings1.xy+uniforms.vignetteSettings1.zw,1.0);var vignetteTerm: f32=dot(vignetteXY1,vignetteXY1);var vignette: f32=pow(vignetteTerm,uniforms.vignetteSettings2.w);var vignetteColor: vec3f=uniforms.vignetteSettings2.rgb;
185
+ #ifdef VIGNETTEBLENDMODEMULTIPLY
186
+ var vignetteColorMultiplier: vec3f=mix(vignetteColor, vec3f(1,1,1),vignette);rgb*=vignetteColorMultiplier;
187
+ #endif
188
+ #ifdef VIGNETTEBLENDMODEOPAQUE
189
+ rgb=mix(vignetteColor,rgb,vignette);
190
+ #endif
191
+ #endif
192
+ #if TONEMAPPING==3
193
+ rgb=PBRNeutralToneMapping(rgb);
194
+ #elif TONEMAPPING==2
195
+ rgb=ACESFitted(rgb);
196
+ #elif TONEMAPPING==1
197
+ const tonemappingCalibration: f32=1.590579;rgb=1.0-exp2(-tonemappingCalibration*rgb);
198
+ #endif
199
+ rgb=toGammaSpaceVec3(rgb);rgb=saturateVec3(rgb);
200
+ #ifdef CONTRAST
201
+ var resultHighContrast: vec3f=rgb*rgb*(3.0-2.0*rgb);if (uniforms.contrast<1.0) {rgb=mix( vec3f(0.5,0.5,0.5),rgb,uniforms.contrast);} else {rgb=mix(rgb,resultHighContrast,uniforms.contrast-1.0);}
202
+ #endif
203
+ #ifdef COLORGRADING
204
+ var colorTransformInput: vec3f=rgb*uniforms.colorTransformSettings.xxx+uniforms.colorTransformSettings.yyy;
205
+ #ifdef COLORGRADING3D
206
+ var colorTransformOutput: vec3f=textureSample(txColorTransform,txColorTransformSampler,colorTransformInput).rgb;
207
+ #else
208
+ var colorTransformOutput: vec3f=textureSample(txColorTransform,txColorTransformSampler,colorTransformInput,uniforms.colorTransformSettings.yz).rgb;
209
+ #endif
210
+ rgb=mix(rgb,colorTransformOutput,uniforms.colorTransformSettings.www);
211
+ #endif
212
+ #ifdef COLORCURVES
213
+ var luma: f32=getLuminance(rgb);var curveMix: vec2f=clamp( vec2f(luma*3.0-1.5,luma*-3.0+1.5), vec2f(0.0), vec2f(1.0));var colorCurve: vec4f=uniforms.vCameraColorCurveNeutral+curveMix.x*uniforms.vCameraColorCurvePositive-curveMix.y*uniforms.vCameraColorCurveNegative;rgb*=colorCurve.rgb;rgb=mix( vec3f(luma),rgb,colorCurve.a);
214
+ #endif
215
+ #ifdef DITHER
216
+ var rand: f32=getRand(fragmentInputs.position.xy*uniforms.vInverseScreenSize);var dither: f32=mix(-uniforms.ditherIntensity,uniforms.ditherIntensity,rand);rgb=saturateVec3(rgb+ vec3f(dither));
217
+ #endif
218
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND
219
+ return vec4f(rgb,result.a);}`;
220
+ // Sideeffect
221
+ ShaderStore.IncludesShadersStoreWGSL[name$8] = shader$8;
222
+
223
+ // Do not edit.
224
+ const name$7 = "shadowsFragmentFunctions";
225
+ const shader$7 = `#ifdef SHADOWS
226
+ #ifndef SHADOWFLOAT
227
+ fn unpack(color: vec4f)->f32
228
+ {const bit_shift: vec4f= vec4f(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(color,bit_shift);}
229
+ #endif
230
+ fn computeFallOff(value: f32,clipSpace: vec2f,frustumEdgeFalloff: f32)->f32
231
+ {var mask: f32=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));return mix(value,1.0,mask);}
232
+ fn computeShadowCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthValues: vec2f)->f32
233
+ {var directionToLight: vec3f=worldPos-lightPosition;var depth: f32=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
234
+ #ifndef SHADOWFLOAT
235
+ var shadow: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
236
+ #else
237
+ var shadow: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
238
+ #endif
239
+ return select(1.0,darkness,depth>shadow);}
240
+ fn computeShadowWithPoissonSamplingCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,mapSize: f32,darkness: f32,depthValues: vec2f)->f32
241
+ {var directionToLight: vec3f=worldPos-lightPosition;var depth: f32=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;var visibility: f32=1.;var poissonDisk: array<vec3f,4>;poissonDisk[0]= vec3f(-1.0,1.0,-1.0);poissonDisk[1]= vec3f(1.0,-1.0,-1.0);poissonDisk[2]= vec3f(-1.0,-1.0,-1.0);poissonDisk[3]= vec3f(1.0,-1.0,1.0);
242
+ #ifndef SHADOWFLOAT
243
+ if (unpack(textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth) {visibility-=0.25;};if (unpack(textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth) {visibility-=0.25;};if (unpack(textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth) {visibility-=0.25;};if (unpack(textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth) {visibility-=0.25;};
244
+ #else
245
+ if (textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth) {visibility-=0.25;};if (textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth) {visibility-=0.25;};if (textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth) {visibility-=0.25;};if (textureSample(shadowTexture,shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth) {visibility-=0.25;};
246
+ #endif
247
+ return min(1.0,visibility+darkness);}
248
+ fn computeShadowWithESMCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,depthValues: vec2f)->f32
249
+ {var directionToLight: vec3f=worldPos-lightPosition;var depth: f32=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);var shadowPixelDepth: f32=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
250
+ #ifndef SHADOWFLOAT
251
+ var shadowMapSample: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
252
+ #else
253
+ var shadowMapSample: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
254
+ #endif
255
+ var esm: f32=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return esm;}
256
+ fn computeShadowWithCloseESMCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,depthValues: vec2f)->f32
257
+ {var directionToLight: vec3f=worldPos-lightPosition;var depth: f32=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);var shadowPixelDepth: f32=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
258
+ #ifndef SHADOWFLOAT
259
+ var shadowMapSample: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
260
+ #else
261
+ var shadowMapSample: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
262
+ #endif
263
+ var esm: f32=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return esm;}
264
+ fn computeShadowCSM(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d_array<f32>,shadowSampler: sampler,darkness: f32,frustumEdgeFalloff: f32)->f32
265
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uv: vec2f=0.5*clipSpace.xy+ vec2f(0.5);var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
266
+ #ifndef SHADOWFLOAT
267
+ var shadow: f32=unpack(textureSample(shadowTexture,shadowSampler,uv,layer));
268
+ #else
269
+ var shadow: f32=textureSample(shadowTexture,shadowSampler,uv,layer).x;
270
+ #endif
271
+ return select(1.,computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff),shadowPixelDepth>shadow );}
272
+ fn computeShadow(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,frustumEdgeFalloff: f32)->f32
273
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uv: vec2f=0.5*clipSpace.xy+ vec2f(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
274
+ {return 1.0;}
275
+ else
276
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
277
+ #ifndef SHADOWFLOAT
278
+ var shadow: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
279
+ #else
280
+ var shadow: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
281
+ #endif
282
+ return select(1.,computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff),shadowPixelDepth>shadow );}}
283
+ fn computeShadowWithPoissonSampling(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,mapSize: f32,darkness: f32,frustumEdgeFalloff: f32)->f32
284
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uv: vec2f=0.5*clipSpace.xy+ vec2f(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
285
+ {return 1.0;}
286
+ else
287
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);var visibility: f32=1.;var poissonDisk: array<vec2f,4>;poissonDisk[0]= vec2f(-0.94201624,-0.39906216);poissonDisk[1]= vec2f(0.94558609,-0.76890725);poissonDisk[2]= vec2f(-0.094184101,-0.92938870);poissonDisk[3]= vec2f(0.34495938,0.29387760);
288
+ #ifndef SHADOWFLOAT
289
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
290
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
291
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
292
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
293
+ #else
294
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
295
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
296
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
297
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
298
+ #endif
299
+ return computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);}}
300
+ fn computeShadowWithESM(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,frustumEdgeFalloff: f32)->f32
301
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uv: vec2f=0.5*clipSpace.xy+ vec2f(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
302
+ {return 1.0;}
303
+ else
304
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
305
+ #ifndef SHADOWFLOAT
306
+ var shadowMapSample: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
307
+ #else
308
+ var shadowMapSample: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
309
+ #endif
310
+ var esm: f32=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
311
+ fn computeShadowWithCloseESM(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,frustumEdgeFalloff: f32)->f32
312
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uv: vec2f=0.5*clipSpace.xy+ vec2f(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
313
+ {return 1.0;}
314
+ else
315
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
316
+ #ifndef SHADOWFLOAT
317
+ var shadowMapSample: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
318
+ #else
319
+ var shadowMapSample: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
320
+ #endif
321
+ var esm: f32=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
322
+ fn getZInClip(clipSpace: vec3f,uvDepth: vec3f)->f32
323
+ {
324
+ #ifdef IS_NDC_HALF_ZRANGE
325
+ return clipSpace.z;
326
+ #else
327
+ return uvDepth.z;
328
+ #endif
329
+ }
330
+ const GREATEST_LESS_THAN_ONE: f32=0.99999994;
331
+ #define DISABLE_UNIFORMITY_ANALYSIS
332
+ fn computeShadowWithCSMPCF1(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,darkness: f32,frustumEdgeFalloff: f32)->f32
333
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=clamp(getZInClip(clipSpace,uvDepth),0.,GREATEST_LESS_THAN_ONE);var shadow: f32=textureSampleCompare(shadowTexture,shadowSampler,uvDepth.xy,layer,uvDepth.z);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
334
+ fn computeShadowWithCSMPCF3(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
335
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=clamp(getZInClip(clipSpace,uvDepth),0.,GREATEST_LESS_THAN_ONE);var uv: vec2f=uvDepth.xy*shadowMapSizeAndInverse.x;
336
+ uv+=0.5;
337
+ var st: vec2f=fract(uv);
338
+ var base_uv: vec2f=floor(uv)-0.5;
339
+ base_uv*=shadowMapSizeAndInverse.y;
340
+ var uvw0: vec2f=3.-2.*st;var uvw1: vec2f=1.+2.*st;var u: vec2f= vec2f((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;var v: vec2f= vec2f((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;var shadow: f32=0.;shadow+=uvw0.x*uvw0.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[0]),layer,uvDepth.z);shadow+=uvw1.x*uvw0.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[0]),layer,uvDepth.z);shadow+=uvw0.x*uvw1.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[1]),layer,uvDepth.z);shadow+=uvw1.x*uvw1.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[1]),layer,uvDepth.z);shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
341
+ fn computeShadowWithCSMPCF5(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
342
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=clamp(getZInClip(clipSpace,uvDepth),0.,GREATEST_LESS_THAN_ONE);var uv: vec2f=uvDepth.xy*shadowMapSizeAndInverse.x;
343
+ uv+=0.5;
344
+ var st: vec2f=fract(uv);
345
+ var base_uv: vec2f=floor(uv)-0.5;
346
+ base_uv*=shadowMapSizeAndInverse.y;
347
+ var uvw0: vec2f=4.-3.*st;var uvw1: vec2f= vec2f(7.);var uvw2: vec2f=1.+3.*st;var u: vec3f= vec3f((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;var v: vec3f= vec3f((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;var shadow: f32=0.;shadow+=uvw0.x*uvw0.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[0]),layer,uvDepth.z);shadow+=uvw1.x*uvw0.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[0]),layer,uvDepth.z);shadow+=uvw2.x*uvw0.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[0]),layer,uvDepth.z);shadow+=uvw0.x*uvw1.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[1]),layer,uvDepth.z);shadow+=uvw1.x*uvw1.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[1]),layer,uvDepth.z);shadow+=uvw2.x*uvw1.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[1]),layer,uvDepth.z);shadow+=uvw0.x*uvw2.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[2]),layer,uvDepth.z);shadow+=uvw1.x*uvw2.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[2]),layer,uvDepth.z);shadow+=uvw2.x*uvw2.y*textureSampleCompare(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[2]),layer,uvDepth.z);shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
348
+ fn computeShadowWithPCF1(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,darkness: f32,frustumEdgeFalloff: f32)->f32
349
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
350
+ else
351
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=getZInClip(clipSpace,uvDepth);var shadow: f32=textureSampleCompareLevel(shadowTexture,shadowSampler,uvDepth.xy,uvDepth.z);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
352
+ fn computeShadowWithPCF3(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
353
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
354
+ else
355
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=getZInClip(clipSpace,uvDepth);var uv: vec2f=uvDepth.xy*shadowMapSizeAndInverse.x;
356
+ uv+=0.5;
357
+ var st: vec2f=fract(uv);
358
+ var base_uv: vec2f=floor(uv)-0.5;
359
+ base_uv*=shadowMapSizeAndInverse.y;
360
+ var uvw0: vec2f=3.-2.*st;var uvw1: vec2f=1.+2.*st;var u: vec2f= vec2f((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;var v: vec2f= vec2f((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;var shadow: f32=0.;shadow+=uvw0.x*uvw0.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[0]),uvDepth.z);shadow+=uvw1.x*uvw0.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[0]),uvDepth.z);shadow+=uvw0.x*uvw1.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[1]),uvDepth.z);shadow+=uvw1.x*uvw1.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[1]),uvDepth.z);shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
361
+ fn computeShadowWithPCF5(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
362
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
363
+ else
364
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=getZInClip(clipSpace,uvDepth);var uv: vec2f=uvDepth.xy*shadowMapSizeAndInverse.x;
365
+ uv+=0.5;
366
+ var st: vec2f=fract(uv);
367
+ var base_uv: vec2f=floor(uv)-0.5;
368
+ base_uv*=shadowMapSizeAndInverse.y;
369
+ var uvw0: vec2f=4.-3.*st;var uvw1: vec2f= vec2f(7.);var uvw2: vec2f=1.+3.*st;var u: vec3f= vec3f((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;var v: vec3f= vec3f((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;var shadow: f32=0.;shadow+=uvw0.x*uvw0.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[0]),uvDepth.z);shadow+=uvw1.x*uvw0.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[0]),uvDepth.z);shadow+=uvw2.x*uvw0.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[0]),uvDepth.z);shadow+=uvw0.x*uvw1.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[1]),uvDepth.z);shadow+=uvw1.x*uvw1.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[1]),uvDepth.z);shadow+=uvw2.x*uvw1.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[1]),uvDepth.z);shadow+=uvw0.x*uvw2.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[0],v[2]),uvDepth.z);shadow+=uvw1.x*uvw2.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[1],v[2]),uvDepth.z);shadow+=uvw2.x*uvw2.y*textureSampleCompareLevel(shadowTexture,shadowSampler, base_uv.xy+ vec2f(u[2],v[2]),uvDepth.z);shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
370
+ const PoissonSamplers32: array<vec3f,64>=array<vec3f,64> (
371
+ vec3f(0.06407013,0.05409927,0.),
372
+ vec3f(0.7366577,0.5789394,0.),
373
+ vec3f(-0.6270542,-0.5320278,0.),
374
+ vec3f(-0.4096107,0.8411095,0.),
375
+ vec3f(0.6849564,-0.4990818,0.),
376
+ vec3f(-0.874181,-0.04579735,0.),
377
+ vec3f(0.9989998,0.0009880066,0.),
378
+ vec3f(-0.004920578,-0.9151649,0.),
379
+ vec3f(0.1805763,0.9747483,0.),
380
+ vec3f(-0.2138451,0.2635818,0.),
381
+ vec3f(0.109845,0.3884785,0.),
382
+ vec3f(0.06876755,-0.3581074,0.),
383
+ vec3f(0.374073,-0.7661266,0.),
384
+ vec3f(0.3079132,-0.1216763,0.),
385
+ vec3f(-0.3794335,-0.8271583,0.),
386
+ vec3f(-0.203878,-0.07715034,0.),
387
+ vec3f(0.5912697,0.1469799,0.),
388
+ vec3f(-0.88069,0.3031784,0.),
389
+ vec3f(0.5040108,0.8283722,0.),
390
+ vec3f(-0.5844124,0.5494877,0.),
391
+ vec3f(0.6017799,-0.1726654,0.),
392
+ vec3f(-0.5554981,0.1559997,0.),
393
+ vec3f(-0.3016369,-0.3900928,0.),
394
+ vec3f(-0.5550632,-0.1723762,0.),
395
+ vec3f(0.925029,0.2995041,0.),
396
+ vec3f(-0.2473137,0.5538505,0.),
397
+ vec3f(0.9183037,-0.2862392,0.),
398
+ vec3f(0.2469421,0.6718712,0.),
399
+ vec3f(0.3916397,-0.4328209,0.),
400
+ vec3f(-0.03576927,-0.6220032,0.),
401
+ vec3f(-0.04661255,0.7995201,0.),
402
+ vec3f(0.4402924,0.3640312,0.),
403
+ vec3f(0.),
404
+ vec3f(0.),
405
+ vec3f(0.),
406
+ vec3f(0.),
407
+ vec3f(0.),
408
+ vec3f(0.),
409
+ vec3f(0.),
410
+ vec3f(0.),
411
+ vec3f(0.),
412
+ vec3f(0.),
413
+ vec3f(0.),
414
+ vec3f(0.),
415
+ vec3f(0.),
416
+ vec3f(0.),
417
+ vec3f(0.),
418
+ vec3f(0.),
419
+ vec3f(0.),
420
+ vec3f(0.),
421
+ vec3f(0.),
422
+ vec3f(0.),
423
+ vec3f(0.),
424
+ vec3f(0.),
425
+ vec3f(0.),
426
+ vec3f(0.),
427
+ vec3f(0.),
428
+ vec3f(0.),
429
+ vec3f(0.),
430
+ vec3f(0.),
431
+ vec3f(0.),
432
+ vec3f(0.),
433
+ vec3f(0.),
434
+ vec3f(0.)
435
+ );const PoissonSamplers64: array<vec3f,64>=array<vec3f,64> (
436
+ vec3f(-0.613392,0.617481,0.),
437
+ vec3f(0.170019,-0.040254,0.),
438
+ vec3f(-0.299417,0.791925,0.),
439
+ vec3f(0.645680,0.493210,0.),
440
+ vec3f(-0.651784,0.717887,0.),
441
+ vec3f(0.421003,0.027070,0.),
442
+ vec3f(-0.817194,-0.271096,0.),
443
+ vec3f(-0.705374,-0.668203,0.),
444
+ vec3f(0.977050,-0.108615,0.),
445
+ vec3f(0.063326,0.142369,0.),
446
+ vec3f(0.203528,0.214331,0.),
447
+ vec3f(-0.667531,0.326090,0.),
448
+ vec3f(-0.098422,-0.295755,0.),
449
+ vec3f(-0.885922,0.215369,0.),
450
+ vec3f(0.566637,0.605213,0.),
451
+ vec3f(0.039766,-0.396100,0.),
452
+ vec3f(0.751946,0.453352,0.),
453
+ vec3f(0.078707,-0.715323,0.),
454
+ vec3f(-0.075838,-0.529344,0.),
455
+ vec3f(0.724479,-0.580798,0.),
456
+ vec3f(0.222999,-0.215125,0.),
457
+ vec3f(-0.467574,-0.405438,0.),
458
+ vec3f(-0.248268,-0.814753,0.),
459
+ vec3f(0.354411,-0.887570,0.),
460
+ vec3f(0.175817,0.382366,0.),
461
+ vec3f(0.487472,-0.063082,0.),
462
+ vec3f(-0.084078,0.898312,0.),
463
+ vec3f(0.488876,-0.783441,0.),
464
+ vec3f(0.470016,0.217933,0.),
465
+ vec3f(-0.696890,-0.549791,0.),
466
+ vec3f(-0.149693,0.605762,0.),
467
+ vec3f(0.034211,0.979980,0.),
468
+ vec3f(0.503098,-0.308878,0.),
469
+ vec3f(-0.016205,-0.872921,0.),
470
+ vec3f(0.385784,-0.393902,0.),
471
+ vec3f(-0.146886,-0.859249,0.),
472
+ vec3f(0.643361,0.164098,0.),
473
+ vec3f(0.634388,-0.049471,0.),
474
+ vec3f(-0.688894,0.007843,0.),
475
+ vec3f(0.464034,-0.188818,0.),
476
+ vec3f(-0.440840,0.137486,0.),
477
+ vec3f(0.364483,0.511704,0.),
478
+ vec3f(0.034028,0.325968,0.),
479
+ vec3f(0.099094,-0.308023,0.),
480
+ vec3f(0.693960,-0.366253,0.),
481
+ vec3f(0.678884,-0.204688,0.),
482
+ vec3f(0.001801,0.780328,0.),
483
+ vec3f(0.145177,-0.898984,0.),
484
+ vec3f(0.062655,-0.611866,0.),
485
+ vec3f(0.315226,-0.604297,0.),
486
+ vec3f(-0.780145,0.486251,0.),
487
+ vec3f(-0.371868,0.882138,0.),
488
+ vec3f(0.200476,0.494430,0.),
489
+ vec3f(-0.494552,-0.711051,0.),
490
+ vec3f(0.612476,0.705252,0.),
491
+ vec3f(-0.578845,-0.768792,0.),
492
+ vec3f(-0.772454,-0.090976,0.),
493
+ vec3f(0.504440,0.372295,0.),
494
+ vec3f(0.155736,0.065157,0.),
495
+ vec3f(0.391522,0.849605,0.),
496
+ vec3f(-0.620106,-0.328104,0.),
497
+ vec3f(0.789239,-0.419965,0.),
498
+ vec3f(-0.545396,0.538133,0.),
499
+ vec3f(-0.178564,-0.596057,0.)
500
+ );fn computeShadowWithCSMPCSS(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d_array<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,searchTapCount: i32,pcfTapCount: i32,poissonSamplers: array<vec3f,64>,lightSizeUVCorrection: vec2f,depthCorrection: f32,penumbraDarkness: f32)->f32
501
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=clamp(getZInClip(clipSpace,uvDepth),0.,GREATEST_LESS_THAN_ONE);var uvDepthLayer: vec4f= vec4f(uvDepth.x,uvDepth.y,f32(layer),uvDepth.z);var blockerDepth: f32=0.0;var sumBlockerDepth: f32=0.0;var numBlocker: f32=0.0;for (var i: i32=0; i<searchTapCount; i ++) {blockerDepth=textureSample(depthTexture,depthSampler, uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer).r;numBlocker+=select(0.,1.,blockerDepth<depthMetric);sumBlockerDepth+=select(0.,blockerDepth,blockerDepth<depthMetric);}
502
+ var avgBlockerDepth: f32=sumBlockerDepth/numBlocker;var AAOffset: f32=shadowMapSizeInverse*10.;var penumbraRatio: f32=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);var filterRadius: vec4f= vec4f(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);var random: f32=getRand(vPositionFromLight.xy);var rotationAngle: f32=random*3.1415926;var rotationVector: vec2f= vec2f(cos(rotationAngle),sin(rotationAngle));var shadow: f32=0.;for (var i: i32=0; i<pcfTapCount; i++) {var offset: vec4f= vec4f(poissonSamplers[i],0.);offset= vec4f(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);let coords=uvDepthLayer+offset*filterRadius;shadow+=textureSampleCompare(shadowTexture,shadowSampler,coords.xy,i32(coords.z),coords.w);}
503
+ shadow/= f32(pcfTapCount);shadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));shadow=mix(darkness,1.,shadow);return select(computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff),1.0,numBlocker<1.0);}
504
+ fn computeShadowWithPCSS(vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,searchTapCount: i32,pcfTapCount: i32,poissonSamplers: array<vec3f,64>)->f32
505
+ {var clipSpace: vec3f=vPositionFromLight.xyz/vPositionFromLight.w;var uvDepth: vec3f= vec3f(0.5*clipSpace.xyz+ vec3f(0.5));uvDepth.z=getZInClip(clipSpace,uvDepth);var blockerDepth: f32=0.0;var sumBlockerDepth: f32=0.0;var numBlocker: f32=0.0;var exitCondition: bool=depthMetric>1.0 || depthMetric<0.0;for (var i: i32=0; i<searchTapCount; i ++) {if (exitCondition) {break;}
506
+ blockerDepth=textureSampleLevel(depthTexture,depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0).r;numBlocker+=select(0.,1.,blockerDepth<depthMetric);sumBlockerDepth+=select(0.,blockerDepth,blockerDepth<depthMetric);}
507
+ exitCondition=exitCondition || numBlocker<1.0;var avgBlockerDepth: f32=sumBlockerDepth/numBlocker;var AAOffset: f32=shadowMapSizeInverse*10.;var penumbraRatio: f32=((depthMetric-avgBlockerDepth)+AAOffset);var filterRadius: f32=penumbraRatio*lightSizeUV*shadowMapSizeInverse;var random: f32=getRand(vPositionFromLight.xy);var rotationAngle: f32=random*3.1415926;var rotationVector: vec2f= vec2f(cos(rotationAngle),sin(rotationAngle));var shadow: f32=0.;for (var i: i32=0; i<pcfTapCount; i++) {if (exitCondition) {break;}
508
+ var offset: vec3f=poissonSamplers[i];offset= vec3f(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);let coords=uvDepth+offset*filterRadius;shadow+=textureSampleCompareLevel(shadowTexture,shadowSampler,coords.xy,coords.z);}
509
+ shadow/= f32(pcfTapCount);shadow=mix(shadow,1.,depthMetric-avgBlockerDepth);shadow=mix(darkness,1.,shadow);return select(computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff),1.0,exitCondition);}
510
+ fn computeShadowWithPCSS16(vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32)->f32
511
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);}
512
+ fn computeShadowWithPCSS32(vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32)->f32
513
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);}
514
+ fn computeShadowWithPCSS64(vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32)->f32
515
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);}
516
+ fn computeShadowWithCSMPCSS16(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d_array<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,lightSizeUVCorrection: vec2f,depthCorrection: f32,penumbraDarkness: f32)->f32
517
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
518
+ fn computeShadowWithCSMPCSS32(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d_array<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,lightSizeUVCorrection: vec2f,depthCorrection: f32,penumbraDarkness: f32)->f32
519
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
520
+ fn computeShadowWithCSMPCSS64(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d_array<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,lightSizeUVCorrection: vec2f,depthCorrection: f32,penumbraDarkness: f32)->f32
521
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
522
+ #endif
523
+ `;
524
+ // Sideeffect
525
+ ShaderStore.IncludesShadersStoreWGSL[name$7] = shader$7;
526
+
527
+ // Do not edit.
528
+ const name$6 = "bumpFragmentMainFunctions";
529
+ const shader$6 = `#if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
530
+ #if defined(TANGENT) && defined(NORMAL)
531
+ varying vTBN0: vec3f;varying vTBN1: vec3f;varying vTBN2: vec3f;
532
+ #endif
533
+ #ifdef OBJECTSPACE_NORMALMAP
534
+ uniform normalMatrix: mat4x4f;fn toNormalMatrix(m: mat4x4f)->mat4x4f
535
+ {var a00=m[0][0];var a01=m[0][1];var a02=m[0][2];var a03=m[0][3];var a10=m[1][0];var a11=m[1][1];var a12=m[1][2];var a13=m[1][3];var a20=m[2][0];
536
+ var a21=m[2][1];var a22=m[2][2];var a23=m[2][3];var a30=m[3][0];
537
+ var a31=m[3][1];var a32=m[3][2];var a33=m[3][3];var b00=a00*a11-a01*a10;var b01=a00*a12-a02*a10;var b02=a00*a13-a03*a10;var b03=a01*a12-a02*a11;var b04=a01*a13-a03*a11;var b05=a02*a13-a03*a12;var b06=a20*a31-a21*a30;var b07=a20*a32-a22*a30;var b08=a20*a33-a23*a30;var b09=a21*a32-a22*a31;var b10=a21*a33-a23*a31;var b11=a22*a33-a23*a32;var det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;var mi=mat4x4<f32>(
538
+ (a11*b11-a12*b10+a13*b09)/det,
539
+ (a02*b10-a01*b11-a03*b09)/det,
540
+ (a31*b05-a32*b04+a33*b03)/det,
541
+ (a22*b04-a21*b05-a23*b03)/det,
542
+ (a12*b08-a10*b11-a13*b07)/det,
543
+ (a00*b11-a02*b08+a03*b07)/det,
544
+ (a32*b02-a30*b05-a33*b01)/det,
545
+ (a20*b05-a22*b02+a23*b01)/det,
546
+ (a10*b10-a11*b08+a13*b06)/det,
547
+ (a01*b08-a00*b10-a03*b06)/det,
548
+ (a30*b04-a31*b02+a33*b00)/det,
549
+ (a21*b02-a20*b04-a23*b00)/det,
550
+ (a11*b07-a10*b09-a12*b06)/det,
551
+ (a00*b09-a01*b07+a02*b06)/det,
552
+ (a31*b01-a30*b03-a32*b00)/det,
553
+ (a20*b03-a21*b01+a22*b00)/det);return mat4x4<f32>(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
554
+ mi[0][1],mi[1][1],mi[2][1],mi[3][1],
555
+ mi[0][2],mi[1][2],mi[2][2],mi[3][2],
556
+ mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
557
+ #endif
558
+ fn perturbNormalBase(cotangentFrame: mat3x3f,normal: vec3f,scale: f32)->vec3f
559
+ {var output=normal;
560
+ #ifdef NORMALXYSCALE
561
+ output=normalize(output* vec3f(scale,scale,1.0));
562
+ #endif
563
+ return normalize(cotangentFrame*output);}
564
+ fn perturbNormal(cotangentFrame: mat3x3f,textureSample: vec3f,scale: f32)->vec3f
565
+ {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
566
+ fn cotangent_frame(normal: vec3f,p: vec3f,uv: vec2f,tangentSpaceParams: vec2f)->mat3x3f
567
+ {var dp1: vec3f=dpdx(p);var dp2: vec3f=dpdy(p);var duv1: vec2f=dpdx(uv);var duv2: vec2f=dpdy(uv);var dp2perp: vec3f=cross(dp2,normal);var dp1perp: vec3f=cross(normal,dp1);var tangent: vec3f=dp2perp*duv1.x+dp1perp*duv2.x;var bitangent: vec3f=dp2perp*duv1.y+dp1perp*duv2.y;tangent*=tangentSpaceParams.x;bitangent*=tangentSpaceParams.y;var det: f32=max(dot(tangent,tangent),dot(bitangent,bitangent));var invmax: f32=select(inverseSqrt(det),0.0,det==0.0);return mat3x3f(tangent*invmax,bitangent*invmax,normal);}
568
+ #endif
569
+ `;
570
+ // Sideeffect
571
+ ShaderStore.IncludesShadersStoreWGSL[name$6] = shader$6;
572
+
573
+ // Do not edit.
574
+ const name$5 = "bumpFragmentFunctions";
575
+ const shader$5 = `#if defined(BUMP)
576
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
577
+ #endif
578
+ #if defined(DETAIL)
579
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
580
+ #endif
581
+ #if defined(BUMP) && defined(PARALLAX)
582
+ const minSamples: f32=4.;const maxSamples: f32=15.;const iMaxSamples: i32=15;fn parallaxOcclusion(vViewDirCoT: vec3f,vNormalCoT: vec3f,texCoord: vec2f,parallaxScale: f32)->vec2f {var parallaxLimit: f32=length(vViewDirCoT.xy)/vViewDirCoT.z;parallaxLimit*=parallaxScale;var vOffsetDir: vec2f=normalize(vViewDirCoT.xy);var vMaxOffset: vec2f=vOffsetDir*parallaxLimit;var numSamples: f32=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));var stepSize: f32=1.0/numSamples;var currRayHeight: f32=1.0;var vCurrOffset: vec2f= vec2f(0,0);var vLastOffset: vec2f= vec2f(0,0);var lastSampledHeight: f32=1.0;var currSampledHeight: f32=1.0;var keepWorking: bool=true;for (var i: i32=0; i<iMaxSamples; i++)
583
+ {currSampledHeight=textureSample(bumpSampler,bumpSamplerSampler,texCoord+vCurrOffset).w;if (!keepWorking)
584
+ {}
585
+ else if (currSampledHeight>currRayHeight)
586
+ {var delta1: f32=currSampledHeight-currRayHeight;var delta2: f32=(currRayHeight+stepSize)-lastSampledHeight;var ratio: f32=delta1/(delta1+delta2);vCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;keepWorking=false;}
587
+ else
588
+ {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
589
+ #ifdef PARALLAX_RHS
590
+ vCurrOffset-=stepSize*vMaxOffset;
591
+ #else
592
+ vCurrOffset+=stepSize*vMaxOffset;
593
+ #endif
594
+ lastSampledHeight=currSampledHeight;}}
595
+ return vCurrOffset;}
596
+ fn parallaxOffset(viewDir: vec3f,heightScale: f32)->vec2f
597
+ {var height: f32=textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV).w;var texCoordOffset: vec2f=heightScale*viewDir.xy*height;
598
+ #ifdef PARALLAX_RHS
599
+ return texCoordOffset;
600
+ #else
601
+ return -texCoordOffset;
602
+ #endif
603
+ }
604
+ #endif
605
+ `;
606
+ // Sideeffect
607
+ ShaderStore.IncludesShadersStoreWGSL[name$5] = shader$5;
608
+
609
+ // Do not edit.
610
+ const name$4 = "reflectionFunction";
611
+ const shader$4 = `fn computeFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
612
+ {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(s,t,0); }
613
+ fn computeMirroredFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
614
+ {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(1.0-s,t,0); }
615
+ fn computeEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
616
+ {var cameraToVertex: vec3f=normalize(worldPos.xyz-eyePosition);var r: vec3f=normalize(reflect(cameraToVertex,worldNormal));r= (reflectionMatrix* vec4f(r,0)).xyz;var lon: f32=atan2(r.z,r.x);var lat: f32=acos(r.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(s,t,0);}
617
+ fn computeSphericalCoords(worldPos: vec4f,worldNormal: vec3f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
618
+ {var viewDir: vec3f=normalize((view*worldPos).xyz);var viewNormal: vec3f=normalize((view* vec4f(worldNormal,0.0)).xyz);var r: vec3f=reflect(viewDir,viewNormal);r= (reflectionMatrix* vec4f(r,0)).xyz;r.z=r.z-1.0;var m: f32=2.0*length(r);return vec3f(r.x/m+0.5,1.0-r.y/m-0.5,0);}
619
+ fn computePlanarCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
620
+ {var viewDir: vec3f=worldPos.xyz-eyePosition;var coords: vec3f=normalize(reflect(viewDir,worldNormal));return (reflectionMatrix* vec4f(coords,1)).xyz;}
621
+ fn computeCubicCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
622
+ {var viewDir: vec3f=normalize(worldPos.xyz-eyePosition);var coords: vec3f=reflect(viewDir,worldNormal);coords= (reflectionMatrix* vec4f(coords,0)).xyz;
623
+ #ifdef INVERTCUBICMAP
624
+ coords.y*=-1.0;
625
+ #endif
626
+ return coords;}
627
+ fn computeCubicLocalCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f,reflectionSize: vec3f,reflectionPosition: vec3f)->vec3f
628
+ {var viewDir: vec3f=normalize(worldPos.xyz-eyePosition);var coords: vec3f=reflect(viewDir,worldNormal);coords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);coords=(reflectionMatrix* vec4f(coords,0)).xyz;
629
+ #ifdef INVERTCUBICMAP
630
+ coords.y*=-1.0;
631
+ #endif
632
+ return coords;}
633
+ fn computeProjectionCoords(worldPos: vec4f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
634
+ {return (reflectionMatrix*(view*worldPos)).xyz;}
635
+ fn computeSkyBoxCoords(positionW: vec3f,reflectionMatrix: mat4x4f)->vec3f
636
+ {return (reflectionMatrix* vec4f(positionW,1.)).xyz;}
637
+ #ifdef REFLECTION
638
+ fn computeReflectionCoords(worldPos: vec4f,worldNormal: vec3f)->vec3f
639
+ {
640
+ #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
641
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
642
+ #endif
643
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
644
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
645
+ #endif
646
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR
647
+ return computeEquirectangularCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
648
+ #endif
649
+ #ifdef REFLECTIONMAP_SPHERICAL
650
+ return computeSphericalCoords(worldPos,worldNormal,scene.view,uniforms.reflectionMatrix);
651
+ #endif
652
+ #ifdef REFLECTIONMAP_PLANAR
653
+ return computePlanarCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
654
+ #endif
655
+ #ifdef REFLECTIONMAP_CUBIC
656
+ #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
657
+ return computeCubicLocalCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix,uniforms.vReflectionSize,uniforms.vReflectionPosition);
658
+ #else
659
+ return computeCubicCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
660
+ #endif
661
+ #endif
662
+ #ifdef REFLECTIONMAP_PROJECTION
663
+ return computeProjectionCoords(worldPos,scene.view,uniforms.reflectionMatrix);
664
+ #endif
665
+ #ifndef REFLECTIONMAP_CUBIC
666
+ #ifdef REFLECTIONMAP_SKYBOX
667
+ return computeSkyBoxCoords(fragmentInputs.vPositionUVW,uniforms.reflectionMatrix);
668
+ #endif
669
+ #endif
670
+ #ifdef REFLECTIONMAP_EXPLICIT
671
+ return vec3f(0,0,0);
672
+ #endif
673
+ }
674
+ #endif
675
+ `;
676
+ // Sideeffect
677
+ ShaderStore.IncludesShadersStoreWGSL[name$4] = shader$4;
678
+
679
+ // Do not edit.
680
+ const name$3 = "bumpFragment";
681
+ const shader$3 = `var uvOffset: vec2f= vec2f(0.0,0.0);
682
+ #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
683
+ #ifdef NORMALXYSCALE
684
+ var normalScale: f32=1.0;
685
+ #elif defined(BUMP)
686
+ var normalScale: f32=uniforms.vBumpInfos.y;
687
+ #else
688
+ var normalScale: f32=1.0;
689
+ #endif
690
+ #if defined(TANGENT) && defined(NORMAL)
691
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
692
+ #elif defined(BUMP)
693
+ var TBNUV: vec2f=select(-fragmentInputs.vBumpUV,fragmentInputs.vBumpUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV,uniforms.vTangentSpaceParams);
694
+ #else
695
+ var TBNUV: vec2f=select(-fragmentInputs.vDetailUV,fragmentInputs.vDetailUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV, vec2f(1.,1.));
696
+ #endif
697
+ #elif defined(ANISOTROPIC)
698
+ #if defined(TANGENT) && defined(NORMAL)
699
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
700
+ #else
701
+ var TBNUV: vec2f=select( -fragmentInputs.vMainUV1,fragmentInputs.vMainUV1,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW,input.vPositionW,TBNUV, vec2f(1.,1.));
702
+ #endif
703
+ #endif
704
+ #ifdef PARALLAX
705
+ var invTBN: mat3x3f=transposeMat3(TBN);
706
+ #ifdef PARALLAXOCCLUSION
707
+ uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,fragmentInputs.vBumpUV,uniforms.vBumpInfos.z);
708
+ #else
709
+ uvOffset=parallaxOffset(invTBN*viewDirectionW,uniforms.vBumpInfos.z);
710
+ #endif
711
+ #endif
712
+ #ifdef DETAIL
713
+ var detailColor: vec4f=textureSample(detailSampler,detailSamplerSampler,fragmentInputs.vDetailUV+uvOffset);var detailNormalRG: vec2f=detailColor.wy*2.0-1.0;var detailNormalB: f32=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));var detailNormal: vec3f= vec3f(detailNormalRG,detailNormalB);
714
+ #endif
715
+ #ifdef BUMP
716
+ #ifdef OBJECTSPACE_NORMALMAP
717
+ #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
718
+ normalW=normalize(textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV).xyz *2.0-1.0);normalW=normalize(mat3x3f(uniforms.normalMatrix[0].xyz,uniforms.normalMatrix[1].xyz,uniforms.normalMatrix[2].xyz)*normalW);
719
+ #elif !defined(DETAIL)
720
+ normalW=perturbNormal(TBN,textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz,uniforms.vBumpInfos.y);
721
+ #else
722
+ var bumpNormal: vec3f=textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz*2.0-1.0;
723
+ #if DETAIL_NORMALBLENDMETHOD==0
724
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);var blendedNormal: vec3f=normalize( vec3f(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
725
+ #elif DETAIL_NORMALBLENDMETHOD==1
726
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);bumpNormal+= vec3f(0.0,0.0,1.0);detailNormal*= vec3f(-1.0,-1.0,1.0);var blendedNormal: vec3f=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;
727
+ #endif
728
+ normalW=perturbNormalBase(TBN,blendedNormal,uniforms.vBumpInfos.y);
729
+ #endif
730
+ #elif defined(DETAIL)
731
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);normalW=perturbNormalBase(TBN,detailNormal,uniforms.vDetailInfos.z);
732
+ #endif
733
+ `;
734
+ // Sideeffect
735
+ ShaderStore.IncludesShadersStoreWGSL[name$3] = shader$3;
736
+
737
+ // Do not edit.
738
+ const name$2 = "depthPrePass";
739
+ const shader$2 = `#ifdef DEPTHPREPASS
740
+ fragmentOutputs.color= vec4f(0.,0.,0.,1.0);return fragmentOutputs;
741
+ #endif
742
+ `;
743
+ // Sideeffect
744
+ ShaderStore.IncludesShadersStoreWGSL[name$2] = shader$2;
745
+
746
+ // Do not edit.
747
+ const name$1 = "lightFragment";
748
+ const shader$1 = `#ifdef LIGHT{X}
749
+ #if defined(SHADOWONLY) || defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})
750
+ #else
751
+ var diffuse{X}: vec4f=light{X}.vLightDiffuse;
752
+ #define CUSTOM_LIGHT{X}_COLOR
753
+ #ifdef PBR
754
+ #ifdef SPOTLIGHT{X}
755
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
756
+ #elif defined(POINTLIGHT{X})
757
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
758
+ #elif defined(HEMILIGHT{X})
759
+ preInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
760
+ #elif defined(DIRLIGHT{X})
761
+ preInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
762
+ #endif
763
+ preInfo.NdotV=NdotV;
764
+ #ifdef SPOTLIGHT{X}
765
+ #ifdef LIGHT_FALLOFF_GLTF{X}
766
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
767
+ #ifdef IESLIGHTTEXTURE{X}
768
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
769
+ #else
770
+ preInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
771
+ #endif
772
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
773
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
774
+ #ifdef IESLIGHTTEXTURE{X}
775
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
776
+ #else
777
+ preInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);
778
+ #endif
779
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
780
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
781
+ #ifdef IESLIGHTTEXTURE{X}
782
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
783
+ #else
784
+ preInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);
785
+ #endif
786
+ #else
787
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
788
+ #ifdef IESLIGHTTEXTURE{X}
789
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
790
+ #else
791
+ preInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
792
+ #endif
793
+ #endif
794
+ #elif defined(POINTLIGHT{X})
795
+ #ifdef LIGHT_FALLOFF_GLTF{X}
796
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
797
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
798
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
799
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
800
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
801
+ #else
802
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
803
+ #endif
804
+ #else
805
+ preInfo.attenuation=1.0;
806
+ #endif
807
+ #ifdef HEMILIGHT{X}
808
+ preInfo.roughness=roughness;
809
+ #else
810
+ preInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
811
+ #endif
812
+ #ifdef IRIDESCENCE
813
+ preInfo.iridescenceIntensity=iridescenceIntensity;
814
+ #endif
815
+ #ifdef HEMILIGHT{X}
816
+ info.diffuse=computeHemisphericDiffuseLighting(preInfo,diffuse{X}.rgb,light{X}.vLightGround);
817
+ #elif defined(SS_TRANSLUCENCY)
818
+ info.diffuse=computeDiffuseAndTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
819
+ #else
820
+ info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb);
821
+ #endif
822
+ #ifdef SPECULARTERM
823
+ #ifdef ANISOTROPIC
824
+ info.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
825
+ #else
826
+ info.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
827
+ #endif
828
+ #endif
829
+ #ifdef SHEEN
830
+ #ifdef SHEEN_LINKWITHALBEDO
831
+ preInfo.roughness=sheenOut.sheenIntensity;
832
+ #else
833
+ #ifdef HEMILIGHT{X}
834
+ preInfo.roughness=sheenOut.sheenRoughness;
835
+ #else
836
+ preInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
837
+ #endif
838
+ #endif
839
+ info.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
840
+ #endif
841
+ #ifdef CLEARCOAT
842
+ #ifdef HEMILIGHT{X}
843
+ preInfo.roughness=clearcoatOut.clearCoatRoughness;
844
+ #else
845
+ preInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
846
+ #endif
847
+ info.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,diffuse{X}.rgb);
848
+ #ifdef CLEARCOAT_TINT
849
+ absorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);info.diffuse*=absorption;
850
+ #ifdef SPECULARTERM
851
+ info.specular*=absorption;
852
+ #endif
853
+ #endif
854
+ info.diffuse*=info.clearCoat.w;
855
+ #ifdef SPECULARTERM
856
+ info.specular*=info.clearCoat.w;
857
+ #endif
858
+ #ifdef SHEEN
859
+ info.sheen*=info.clearCoat.w;
860
+ #endif
861
+ #endif
862
+ #else
863
+ #ifdef SPOTLIGHT{X}
864
+ #ifdef IESLIGHTTEXTURE{X}
865
+ info=computeIESSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness,iesLightTexture{X},iesLightTexture{X}Sampler);
866
+ #else
867
+ info=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
868
+ #endif
869
+ #elif defined(HEMILIGHT{X})
870
+ info=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);
871
+ #elif defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})
872
+ info=computeLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
873
+ #endif
874
+ #endif
875
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
876
+ info.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightTexture{X},projectionLightTexture{X}Sampler,uniforms.textureProjectionMatrix{X},fragmentInputs.vPositionW);
877
+ #endif
878
+ #endif
879
+ #ifdef SHADOW{X}
880
+ #ifdef SHADOWCSMDEBUG{X}
881
+ var shadowDebug{X}: vec3f;
882
+ #endif
883
+ #ifdef SHADOWCSM{X}
884
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
885
+ var index{X}: i32=-1;
886
+ #else
887
+ var index{X}: i32=SHADOWCSMNUM_CASCADES{X}-1;
888
+ #endif
889
+ var diff{X}: f32=0.;vPositionFromLight{X}[0]=fragmentInputs.vPositionFromLight{X}_0;vPositionFromLight{X}[1]=fragmentInputs.vPositionFromLight{X}_1;vPositionFromLight{X}[2]=fragmentInputs.vPositionFromLight{X}_2;vPositionFromLight{X}[3]=fragmentInputs.vPositionFromLight{X}_3;vDepthMetric{X}[0]=fragmentInputs.vDepthMetric{X}_0;vDepthMetric{X}[1]=fragmentInputs.vDepthMetric{X}_1;vDepthMetric{X}[2]=fragmentInputs.vDepthMetric{X}_2;vDepthMetric{X}[3]=fragmentInputs.vDepthMetric{X}_3;for (var i:i32=0; i<SHADOWCSMNUM_CASCADES{X}; i++)
890
+ {
891
+ #ifdef SHADOWCSM_RIGHTHANDED{X}
892
+ diff{X}=uniforms.viewFrustumZ{X}[i]+fragmentInputs.vPositionFromCamera{X}.z;
893
+ #else
894
+ diff{X}=uniforms.viewFrustumZ{X}[i]-fragmentInputs.vPositionFromCamera{X}.z;
895
+ #endif
896
+ if (diff{X}>=0.) {index{X}=i;break;}}
897
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
898
+ if (index{X}>=0)
899
+ #endif
900
+ {
901
+ #if defined(SHADOWPCF{X})
902
+ #if defined(SHADOWLOWQUALITY{X})
903
+ shadow=computeShadowWithCSMPCF1(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
904
+ #elif defined(SHADOWMEDIUMQUALITY{X})
905
+ shadow=computeShadowWithCSMPCF3(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
906
+ #else
907
+ shadow=computeShadowWithCSMPCF5(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
908
+ #endif
909
+ #elif defined(SHADOWPCSS{X})
910
+ #if defined(SHADOWLOWQUALITY{X})
911
+ shadow=computeShadowWithCSMPCSS16(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
912
+ #elif defined(SHADOWMEDIUMQUALITY{X})
913
+ shadow=computeShadowWithCSMPCSS32(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
914
+ #else
915
+ shadow=computeShadowWithCSMPCSS64(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
916
+ #endif
917
+ #else
918
+ shadow=computeShadowCSM(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
919
+ #endif
920
+ #ifdef SHADOWCSMDEBUG{X}
921
+ shadowDebug{X}=vec3f(shadow)*vCascadeColorsMultiplier{X}[index{X}];
922
+ #endif
923
+ #ifndef SHADOWCSMNOBLEND{X}
924
+ var frustumLength:f32=uniforms.frustumLengths{X}[index{X}];var diffRatio:f32=clamp(diff{X}/frustumLength,0.,1.)*uniforms.cascadeBlendFactor{X};if (index{X}<(SHADOWCSMNUM_CASCADES{X}-1) && diffRatio<1.)
925
+ {index{X}+=1;var nextShadow: f32=0.;
926
+ #if defined(SHADOWPCF{X})
927
+ #if defined(SHADOWLOWQUALITY{X})
928
+ nextShadow=computeShadowWithCSMPCF1(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],,shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
929
+ #elif defined(SHADOWMEDIUMQUALITY{X})
930
+ nextShadow=computeShadowWithCSMPCF3(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
931
+ #else
932
+ nextShadow=computeShadowWithCSMPCF5(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
933
+ #endif
934
+ #elif defined(SHADOWPCSS{X})
935
+ #if defined(SHADOWLOWQUALITY{X})
936
+ nextShadow=computeShadowWithCSMPCSS16(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
937
+ #elif defined(SHADOWMEDIUMQUALITY{X})
938
+ nextShadow=computeShadowWithCSMPCSS32(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
939
+ #else
940
+ nextShadow=computeShadowWithCSMPCSS64(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
941
+ #endif
942
+ #else
943
+ nextShadow=computeShadowCSM(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
944
+ #endif
945
+ shadow=mix(nextShadow,shadow,diffRatio);
946
+ #ifdef SHADOWCSMDEBUG{X}
947
+ shadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);
948
+ #endif
949
+ }
950
+ #endif
951
+ }
952
+ #elif defined(SHADOWCLOSEESM{X})
953
+ #if defined(SHADOWCUBE{X})
954
+ shadow=computeShadowWithCloseESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
955
+ #else
956
+ shadow=computeShadowWithCloseESM(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
957
+ #endif
958
+ #elif defined(SHADOWESM{X})
959
+ #if defined(SHADOWCUBE{X})
960
+ shadow=computeShadowWithESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
961
+ #else
962
+ shadow=computeShadowWithESM(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
963
+ #endif
964
+ #elif defined(SHADOWPOISSON{X})
965
+ #if defined(SHADOWCUBE{X})
966
+ shadow=computeShadowWithPoissonSamplingCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);
967
+ #else
968
+ shadow=computeShadowWithPoissonSampling(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
969
+ #endif
970
+ #elif defined(SHADOWPCF{X})
971
+ #if defined(SHADOWLOWQUALITY{X})
972
+ shadow=computeShadowWithPCF1(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
973
+ #elif defined(SHADOWMEDIUMQUALITY{X})
974
+ shadow=computeShadowWithPCF3(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
975
+ #else
976
+ shadow=computeShadowWithPCF5(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
977
+ #endif
978
+ #elif defined(SHADOWPCSS{X})
979
+ #if defined(SHADOWLOWQUALITY{X})
980
+ shadow=computeShadowWithPCSS16(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
981
+ #elif defined(SHADOWMEDIUMQUALITY{X})
982
+ shadow=computeShadowWithPCSS32(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
983
+ #else
984
+ shadow=computeShadowWithPCSS64(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
985
+ #endif
986
+ #else
987
+ #if defined(SHADOWCUBE{X})
988
+ shadow=computeShadowCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.depthValues);
989
+ #else
990
+ shadow=computeShadow(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
991
+ #endif
992
+ #endif
993
+ #ifdef SHADOWONLY
994
+ #ifndef SHADOWINUSE
995
+ #define SHADOWINUSE
996
+ #endif
997
+ globalShadow+=shadow;shadowLightCount+=1.0;
998
+ #endif
999
+ #else
1000
+ shadow=1.;
1001
+ #endif
1002
+ aggShadow+=shadow;numLights+=1.0;
1003
+ #ifndef SHADOWONLY
1004
+ #ifdef CUSTOMUSERLIGHTING
1005
+ diffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);
1006
+ #ifdef SPECULARTERM
1007
+ specularBase+=computeCustomSpecularLighting(info,specularBase,shadow);
1008
+ #endif
1009
+ #elif defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})
1010
+ diffuseBase+=lightmapColor.rgb*shadow;
1011
+ #ifdef SPECULARTERM
1012
+ #ifndef LIGHTMAPNOSPECULAR{X}
1013
+ specularBase+=info.specular*shadow*lightmapColor.rgb;
1014
+ #endif
1015
+ #endif
1016
+ #ifdef CLEARCOAT
1017
+ #ifndef LIGHTMAPNOSPECULAR{X}
1018
+ clearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;
1019
+ #endif
1020
+ #endif
1021
+ #ifdef SHEEN
1022
+ #ifndef LIGHTMAPNOSPECULAR{X}
1023
+ sheenBase+=info.sheen.rgb*shadow;
1024
+ #endif
1025
+ #endif
1026
+ #else
1027
+ #ifdef SHADOWCSMDEBUG{X}
1028
+ diffuseBase+=info.diffuse*shadowDebug{X};
1029
+ #else
1030
+ diffuseBase+=info.diffuse*shadow;
1031
+ #endif
1032
+ #ifdef SPECULARTERM
1033
+ specularBase+=info.specular*shadow;
1034
+ #endif
1035
+ #ifdef CLEARCOAT
1036
+ clearCoatBase+=info.clearCoat.rgb*shadow;
1037
+ #endif
1038
+ #ifdef SHEEN
1039
+ sheenBase+=info.sheen.rgb*shadow;
1040
+ #endif
1041
+ #endif
1042
+ #endif
1043
+ #endif
1044
+ `;
1045
+ // Sideeffect
1046
+ ShaderStore.IncludesShadersStoreWGSL[name$1] = shader$1;
1047
+
1048
+ // Do not edit.
1049
+ const name = "oitFragment";
1050
+ const shader = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
1051
+ var fragDepth: f32=fragmentInputs.position.z;
1052
+ #ifdef ORDER_INDEPENDENT_TRANSPARENCY_16BITS
1053
+ var halfFloat: u32=pack2x16float( vec2f(fragDepth));var full: vec2f=unpack2x16float(halfFloat);fragDepth=full.x;
1054
+ #endif
1055
+ var fragCoord: vec2i=vec2i(fragmentInputs.position.xy);var lastDepth: vec2f=textureLoad(oitDepthSampler,fragCoord,0).rg;var lastFrontColor: vec4f=textureLoad(oitFrontColorSampler,fragCoord,0);fragmentOutputs.depth=vec2f(-MAX_DEPTH);fragmentOutputs.frontColor=lastFrontColor;fragmentOutputs.backColor= vec4f(0.0);
1056
+ #ifdef USE_REVERSE_DEPTHBUFFER
1057
+ var furthestDepth: f32=-lastDepth.x;var nearestDepth: f32=lastDepth.y;
1058
+ #else
1059
+ var nearestDepth: f32=-lastDepth.x;var furthestDepth: f32=lastDepth.y;
1060
+ #endif
1061
+ var alphaMultiplier: f32=1.0-lastFrontColor.a;
1062
+ #ifdef USE_REVERSE_DEPTHBUFFER
1063
+ if (fragDepth>nearestDepth || fragDepth<furthestDepth) {
1064
+ #else
1065
+ if (fragDepth<nearestDepth || fragDepth>furthestDepth) {
1066
+ #endif
1067
+ return fragmentOutputs;}
1068
+ #ifdef USE_REVERSE_DEPTHBUFFER
1069
+ if (fragDepth<nearestDepth && fragDepth>furthestDepth) {
1070
+ #else
1071
+ if (fragDepth>nearestDepth && fragDepth<furthestDepth) {
1072
+ #endif
1073
+ fragmentOutputs.depth=vec2f(-fragDepth,fragDepth);return fragmentOutputs;}
1074
+ #endif
1075
+ `;
1076
+ // Sideeffect
1077
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
1078
+ //# sourceMappingURL=oitFragment-CT3oWGRL.esm.js.map