@babylonjs/viewer 7.37.1 → 7.37.2-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 (607) 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_image_based-D45X9BPl.esm.js +171 -0
  7. package/dist/chunks/EXT_lights_image_based-D45X9BPl.esm.js.map +1 -0
  8. package/dist/chunks/EXT_lights_image_based-DvoqYcdP.esm.min.js +2 -0
  9. package/dist/chunks/EXT_lights_image_based-DvoqYcdP.esm.min.js.map +1 -0
  10. package/dist/chunks/EXT_mesh_gpu_instancing-DUn1RAdN.esm.min.js +2 -0
  11. package/dist/chunks/EXT_mesh_gpu_instancing-DUn1RAdN.esm.min.js.map +1 -0
  12. package/dist/chunks/EXT_mesh_gpu_instancing-Dp_omjlL.esm.js +86 -0
  13. package/dist/chunks/EXT_mesh_gpu_instancing-Dp_omjlL.esm.js.map +1 -0
  14. package/dist/chunks/EXT_meshopt_compression-BQC_7caz.esm.min.js +2 -0
  15. package/dist/chunks/EXT_meshopt_compression-BQC_7caz.esm.min.js.map +1 -0
  16. package/dist/chunks/EXT_meshopt_compression-FzRlF20_.esm.js +134 -0
  17. package/dist/chunks/EXT_meshopt_compression-FzRlF20_.esm.js.map +1 -0
  18. package/dist/chunks/EXT_texture_avif-NFJz66Ay.esm.js +44 -0
  19. package/dist/chunks/EXT_texture_avif-NFJz66Ay.esm.js.map +1 -0
  20. package/dist/chunks/EXT_texture_avif-yLvrskbZ.esm.min.js +2 -0
  21. package/dist/chunks/EXT_texture_avif-yLvrskbZ.esm.min.js.map +1 -0
  22. package/dist/chunks/EXT_texture_webp-CR7Z5YIQ.esm.js +43 -0
  23. package/dist/chunks/EXT_texture_webp-CR7Z5YIQ.esm.js.map +1 -0
  24. package/dist/chunks/EXT_texture_webp-Cu47KLsz.esm.min.js +2 -0
  25. package/dist/chunks/EXT_texture_webp-Cu47KLsz.esm.min.js.map +1 -0
  26. package/dist/chunks/ExtrasAsMetadata-BwakFlBM.esm.js +64 -0
  27. package/dist/chunks/ExtrasAsMetadata-BwakFlBM.esm.js.map +1 -0
  28. package/dist/chunks/ExtrasAsMetadata-u1k4kprs.esm.min.js +2 -0
  29. package/dist/chunks/ExtrasAsMetadata-u1k4kprs.esm.min.js.map +1 -0
  30. package/dist/chunks/KHR_animation_pointer-DPbRpQcN.esm.min.js +2 -0
  31. package/dist/chunks/KHR_animation_pointer-DPbRpQcN.esm.min.js.map +1 -0
  32. package/dist/chunks/KHR_animation_pointer-wjOBsM1d.esm.js +343 -0
  33. package/dist/chunks/KHR_animation_pointer-wjOBsM1d.esm.js.map +1 -0
  34. package/dist/chunks/KHR_draco_mesh_compression-BkgYMOOx.esm.min.js +2 -0
  35. package/dist/chunks/KHR_draco_mesh_compression-BkgYMOOx.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_draco_mesh_compression-CvnZzfX3.esm.js +617 -0
  37. package/dist/chunks/KHR_draco_mesh_compression-CvnZzfX3.esm.js.map +1 -0
  38. package/dist/chunks/KHR_interactivity-Bp7_TJm9.esm.min.js +2 -0
  39. package/dist/chunks/KHR_interactivity-Bp7_TJm9.esm.min.js.map +1 -0
  40. package/dist/chunks/KHR_interactivity-C_Z4RJhE.esm.js +4033 -0
  41. package/dist/chunks/KHR_interactivity-C_Z4RJhE.esm.js.map +1 -0
  42. package/dist/chunks/KHR_lights_punctual-BbuFDbKG.esm.min.js +2 -0
  43. package/dist/chunks/KHR_lights_punctual-BbuFDbKG.esm.min.js.map +1 -0
  44. package/dist/chunks/KHR_lights_punctual-GHjZ7VCq.esm.js +1253 -0
  45. package/dist/chunks/KHR_lights_punctual-GHjZ7VCq.esm.js.map +1 -0
  46. package/dist/chunks/KHR_materials_anisotropy-DHgmJTOh.esm.js +65 -0
  47. package/dist/chunks/KHR_materials_anisotropy-DHgmJTOh.esm.js.map +1 -0
  48. package/dist/chunks/KHR_materials_anisotropy-Dc4Evl1P.esm.min.js +2 -0
  49. package/dist/chunks/KHR_materials_anisotropy-Dc4Evl1P.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_clearcoat-BOp_vaqd.esm.js +96 -0
  51. package/dist/chunks/KHR_materials_clearcoat-BOp_vaqd.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_clearcoat-D2jlT4tq.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_clearcoat-D2jlT4tq.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_diffuse_transmission-YlZ556xa.esm.js +97 -0
  55. package/dist/chunks/KHR_materials_diffuse_transmission-YlZ556xa.esm.js.map +1 -0
  56. package/dist/chunks/KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js +2 -0
  57. package/dist/chunks/KHR_materials_diffuse_transmission-uETEXjDc.esm.min.js.map +1 -0
  58. package/dist/chunks/KHR_materials_dispersion-CbThEQRc.esm.min.js +2 -0
  59. package/dist/chunks/KHR_materials_dispersion-CbThEQRc.esm.min.js.map +1 -0
  60. package/dist/chunks/KHR_materials_dispersion-CeAPqVnK.esm.js +62 -0
  61. package/dist/chunks/KHR_materials_dispersion-CeAPqVnK.esm.js.map +1 -0
  62. package/dist/chunks/KHR_materials_emissive_strength-C-T3BnvJ.esm.js +55 -0
  63. package/dist/chunks/KHR_materials_emissive_strength-C-T3BnvJ.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_emissive_strength-DpIZDJjV.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_emissive_strength-DpIZDJjV.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_ior-BPl8Q63c.esm.min.js +2 -0
  67. package/dist/chunks/KHR_materials_ior-BPl8Q63c.esm.min.js.map +1 -0
  68. package/dist/chunks/KHR_materials_ior-CMoT96u7.esm.js +64 -0
  69. package/dist/chunks/KHR_materials_ior-CMoT96u7.esm.js.map +1 -0
  70. package/dist/chunks/KHR_materials_iridescence-CbiG9QMp.esm.js +72 -0
  71. package/dist/chunks/KHR_materials_iridescence-CbiG9QMp.esm.js.map +1 -0
  72. package/dist/chunks/KHR_materials_iridescence-DazLBrvx.esm.min.js +2 -0
  73. package/dist/chunks/KHR_materials_iridescence-DazLBrvx.esm.min.js.map +1 -0
  74. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CJ_wCBPx.esm.min.js +2 -0
  75. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CJ_wCBPx.esm.min.js.map +1 -0
  76. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CYVtDKuH.esm.js +81 -0
  77. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CYVtDKuH.esm.js.map +1 -0
  78. package/dist/chunks/KHR_materials_sheen-DnGPeNaP.esm.min.js +2 -0
  79. package/dist/chunks/KHR_materials_sheen-DnGPeNaP.esm.min.js.map +1 -0
  80. package/dist/chunks/KHR_materials_sheen-DwVBW5RD.esm.js +85 -0
  81. package/dist/chunks/KHR_materials_sheen-DwVBW5RD.esm.js.map +1 -0
  82. package/dist/chunks/KHR_materials_specular-CAsu1BbY.esm.js +75 -0
  83. package/dist/chunks/KHR_materials_specular-CAsu1BbY.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_specular-CChgOSyW.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_specular-CChgOSyW.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_transmission-BrFI5--W.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_transmission-BrFI5--W.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_transmission-CLJ21RLG.esm.js +307 -0
  89. package/dist/chunks/KHR_materials_transmission-CLJ21RLG.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_unlit-ChwDkFrO.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_unlit-ChwDkFrO.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_unlit-D1jnRNyV.esm.js +74 -0
  93. package/dist/chunks/KHR_materials_unlit-D1jnRNyV.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_variants-Ddre8Lod.esm.js +262 -0
  95. package/dist/chunks/KHR_materials_variants-Ddre8Lod.esm.js.map +1 -0
  96. package/dist/chunks/KHR_materials_variants-Dpc2HvWc.esm.min.js +2 -0
  97. package/dist/chunks/KHR_materials_variants-Dpc2HvWc.esm.min.js.map +1 -0
  98. package/dist/chunks/KHR_materials_volume-BDaeNwhf.esm.min.js +2 -0
  99. package/dist/chunks/KHR_materials_volume-BDaeNwhf.esm.min.js.map +1 -0
  100. package/dist/chunks/KHR_materials_volume-BZ-tXxF4.esm.js +87 -0
  101. package/dist/chunks/KHR_materials_volume-BZ-tXxF4.esm.js.map +1 -0
  102. package/dist/chunks/KHR_mesh_quantization-D4HKzP6W.esm.js +26 -0
  103. package/dist/chunks/KHR_mesh_quantization-D4HKzP6W.esm.js.map +1 -0
  104. package/dist/chunks/KHR_mesh_quantization-DWr7XBwO.esm.min.js +2 -0
  105. package/dist/chunks/KHR_mesh_quantization-DWr7XBwO.esm.min.js.map +1 -0
  106. package/dist/chunks/KHR_node_visibility-BM8WB-g8.esm.js +46 -0
  107. package/dist/chunks/KHR_node_visibility-BM8WB-g8.esm.js.map +1 -0
  108. package/dist/chunks/KHR_node_visibility-CMgS0dIb.esm.min.js +2 -0
  109. package/dist/chunks/KHR_node_visibility-CMgS0dIb.esm.min.js.map +1 -0
  110. package/dist/chunks/KHR_texture_basisu-CFiKlH_6.esm.min.js +2 -0
  111. package/dist/chunks/KHR_texture_basisu-CFiKlH_6.esm.min.js.map +1 -0
  112. package/dist/chunks/KHR_texture_basisu-wSj80uo8.esm.js +43 -0
  113. package/dist/chunks/KHR_texture_basisu-wSj80uo8.esm.js.map +1 -0
  114. package/dist/chunks/KHR_texture_transform-BHJQrws1.esm.min.js +2 -0
  115. package/dist/chunks/KHR_texture_transform-BHJQrws1.esm.min.js.map +1 -0
  116. package/dist/chunks/KHR_texture_transform-DfIfyEiA.esm.js +63 -0
  117. package/dist/chunks/KHR_texture_transform-DfIfyEiA.esm.js.map +1 -0
  118. package/dist/chunks/KHR_xmp_json_ld-DAafq-bI.esm.min.js +2 -0
  119. package/dist/chunks/KHR_xmp_json_ld-DAafq-bI.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_xmp_json_ld-RfffrpV5.esm.js +51 -0
  121. package/dist/chunks/KHR_xmp_json_ld-RfffrpV5.esm.js.map +1 -0
  122. package/dist/chunks/MSFT_audio_emitter-CKrMwXYI.esm.min.js +2 -0
  123. package/dist/chunks/MSFT_audio_emitter-CKrMwXYI.esm.min.js.map +1 -0
  124. package/dist/chunks/MSFT_audio_emitter-DDYuCTGi.esm.js +2207 -0
  125. package/dist/chunks/MSFT_audio_emitter-DDYuCTGi.esm.js.map +1 -0
  126. package/dist/chunks/MSFT_lod-Cfc1EV9L.esm.min.js +2 -0
  127. package/dist/chunks/MSFT_lod-Cfc1EV9L.esm.min.js.map +1 -0
  128. package/dist/chunks/MSFT_lod-RVQcBMWp.esm.js +337 -0
  129. package/dist/chunks/MSFT_lod-RVQcBMWp.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_minecraftMesh-Dm5jAW21.esm.js +46 -0
  131. package/dist/chunks/MSFT_minecraftMesh-Dm5jAW21.esm.js.map +1 -0
  132. package/dist/chunks/MSFT_minecraftMesh-yuZO0qjN.esm.min.js +2 -0
  133. package/dist/chunks/MSFT_minecraftMesh-yuZO0qjN.esm.min.js.map +1 -0
  134. package/dist/chunks/MSFT_sRGBFactors-C7KWVh91.esm.min.js +2 -0
  135. package/dist/chunks/MSFT_sRGBFactors-C7KWVh91.esm.min.js.map +1 -0
  136. package/dist/chunks/MSFT_sRGBFactors-CNCFUZ1u.esm.js +47 -0
  137. package/dist/chunks/MSFT_sRGBFactors-CNCFUZ1u.esm.js.map +1 -0
  138. package/dist/chunks/animationGroup-BIh9TTLl.esm.min.js +2 -0
  139. package/dist/chunks/animationGroup-BIh9TTLl.esm.min.js.map +1 -0
  140. package/dist/chunks/animationGroup-QFeHaJ5n.esm.js +2482 -0
  141. package/dist/chunks/animationGroup-QFeHaJ5n.esm.js.map +1 -0
  142. package/dist/chunks/assetContainer-Cp4IJx4o.esm.min.js +2 -0
  143. package/dist/chunks/assetContainer-Cp4IJx4o.esm.min.js.map +1 -0
  144. package/dist/chunks/assetContainer-GrtWSUiK.esm.js +1720 -0
  145. package/dist/chunks/assetContainer-GrtWSUiK.esm.js.map +1 -0
  146. package/dist/chunks/audioEngine-QQVA159S.esm.min.js +2 -0
  147. package/dist/chunks/audioEngine-QQVA159S.esm.min.js.map +1 -0
  148. package/dist/chunks/audioEngine-oSZiqHGi.esm.js +305 -0
  149. package/dist/chunks/audioEngine-oSZiqHGi.esm.js.map +1 -0
  150. package/dist/chunks/bakedVertexAnimation-2pyORBI7.esm.min.js +2 -0
  151. package/dist/chunks/bakedVertexAnimation-2pyORBI7.esm.min.js.map +1 -0
  152. package/dist/chunks/bakedVertexAnimation-DOpeNPuF.esm.js +114 -0
  153. package/dist/chunks/bakedVertexAnimation-DOpeNPuF.esm.js.map +1 -0
  154. package/dist/chunks/basisTextureLoader-ComLMdtf.esm.js +600 -0
  155. package/dist/chunks/basisTextureLoader-ComLMdtf.esm.js.map +1 -0
  156. package/dist/chunks/basisTextureLoader-ryrt7c0b.esm.min.js +2 -0
  157. package/dist/chunks/basisTextureLoader-ryrt7c0b.esm.min.js.map +1 -0
  158. package/dist/chunks/dds-CCuknht7.esm.min.js +2 -0
  159. package/dist/chunks/dds-CCuknht7.esm.min.js.map +1 -0
  160. package/dist/chunks/dds-D2pCV6Dq.esm.js +540 -0
  161. package/dist/chunks/dds-D2pCV6Dq.esm.js.map +1 -0
  162. package/dist/chunks/ddsTextureLoader-HN5kNxqf.esm.js +88 -0
  163. package/dist/chunks/ddsTextureLoader-HN5kNxqf.esm.js.map +1 -0
  164. package/dist/chunks/ddsTextureLoader-cmTmJqr6.esm.min.js +2 -0
  165. package/dist/chunks/ddsTextureLoader-cmTmJqr6.esm.min.js.map +1 -0
  166. package/dist/chunks/decalFragment-CaoV_r5e.esm.min.js +2 -0
  167. package/dist/chunks/decalFragment-CaoV_r5e.esm.min.js.map +1 -0
  168. package/dist/chunks/decalFragment-CmM9_XL6.esm.js +18 -0
  169. package/dist/chunks/decalFragment-CmM9_XL6.esm.js.map +1 -0
  170. package/dist/chunks/default.fragment-CIxCcBci.esm.js +497 -0
  171. package/dist/chunks/default.fragment-CIxCcBci.esm.js.map +1 -0
  172. package/dist/chunks/default.fragment-CvpwsFNV.esm.min.js +2 -0
  173. package/dist/chunks/default.fragment-CvpwsFNV.esm.min.js.map +1 -0
  174. package/dist/chunks/default.fragment-DvQjHRFZ.esm.min.js +2 -0
  175. package/dist/chunks/default.fragment-DvQjHRFZ.esm.min.js.map +1 -0
  176. package/dist/chunks/default.fragment-FNsxMRYc.esm.js +433 -0
  177. package/dist/chunks/default.fragment-FNsxMRYc.esm.js.map +1 -0
  178. package/dist/chunks/default.vertex-D5X4nYce.esm.js +181 -0
  179. package/dist/chunks/default.vertex-D5X4nYce.esm.js.map +1 -0
  180. package/dist/chunks/default.vertex-DBu79v_q.esm.js +201 -0
  181. package/dist/chunks/default.vertex-DBu79v_q.esm.js.map +1 -0
  182. package/dist/chunks/default.vertex-Ds-nhawD.esm.min.js +2 -0
  183. package/dist/chunks/default.vertex-Ds-nhawD.esm.min.js.map +1 -0
  184. package/dist/chunks/default.vertex-ygxHkYqf.esm.min.js +2 -0
  185. package/dist/chunks/default.vertex-ygxHkYqf.esm.min.js.map +1 -0
  186. package/dist/chunks/defaultUboDeclaration-5ubIZhWI.esm.min.js +2 -0
  187. package/dist/chunks/defaultUboDeclaration-5ubIZhWI.esm.min.js.map +1 -0
  188. package/dist/chunks/defaultUboDeclaration-C_kmc54_.esm.min.js +2 -0
  189. package/dist/chunks/defaultUboDeclaration-C_kmc54_.esm.min.js.map +1 -0
  190. package/dist/chunks/defaultUboDeclaration-CudfJrM7.esm.js +13 -0
  191. package/dist/chunks/defaultUboDeclaration-CudfJrM7.esm.js.map +1 -0
  192. package/dist/chunks/defaultUboDeclaration-PoxtscR6.esm.js +15 -0
  193. package/dist/chunks/defaultUboDeclaration-PoxtscR6.esm.js.map +1 -0
  194. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  195. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  196. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  197. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  198. package/dist/chunks/dumpTools-BSmwAfi2.esm.js +200 -0
  199. package/dist/chunks/dumpTools-BSmwAfi2.esm.js.map +1 -0
  200. package/dist/chunks/dumpTools-CqXIdkU-.esm.min.js +2 -0
  201. package/dist/chunks/dumpTools-CqXIdkU-.esm.min.js.map +1 -0
  202. package/dist/chunks/engine-BUErRw8z.esm.js +2216 -0
  203. package/dist/chunks/engine-BUErRw8z.esm.js.map +1 -0
  204. package/dist/chunks/engine-DcXDbWe5.esm.min.js +2 -0
  205. package/dist/chunks/engine-DcXDbWe5.esm.min.js.map +1 -0
  206. package/dist/chunks/engine.common-BCrfrLRA.esm.js +1162 -0
  207. package/dist/chunks/engine.common-BCrfrLRA.esm.js.map +1 -0
  208. package/dist/chunks/engine.common-DbmFdD7r.esm.min.js +2 -0
  209. package/dist/chunks/engine.common-DbmFdD7r.esm.min.js.map +1 -0
  210. package/dist/chunks/envTextureLoader-DhLFo68T.esm.js +64 -0
  211. package/dist/chunks/envTextureLoader-DhLFo68T.esm.js.map +1 -0
  212. package/dist/chunks/envTextureLoader-xWQSOdW2.esm.min.js +2 -0
  213. package/dist/chunks/envTextureLoader-xWQSOdW2.esm.min.js.map +1 -0
  214. package/dist/chunks/environmentTextureTools-BPxq8YFx.esm.js +382 -0
  215. package/dist/chunks/environmentTextureTools-BPxq8YFx.esm.js.map +1 -0
  216. package/dist/chunks/environmentTextureTools-CRklR_jR.esm.min.js +2 -0
  217. package/dist/chunks/environmentTextureTools-CRklR_jR.esm.min.js.map +1 -0
  218. package/dist/chunks/exrTextureLoader-CyfB-RNW.esm.min.js +2 -0
  219. package/dist/chunks/exrTextureLoader-CyfB-RNW.esm.min.js.map +1 -0
  220. package/dist/chunks/exrTextureLoader-DZBdy7B_.esm.js +1682 -0
  221. package/dist/chunks/exrTextureLoader-DZBdy7B_.esm.js.map +1 -0
  222. package/dist/chunks/fogFragment-C49gmIGZ.esm.js +101 -0
  223. package/dist/chunks/fogFragment-C49gmIGZ.esm.js.map +1 -0
  224. package/dist/chunks/fogFragment-Csq7eneI.esm.min.js +2 -0
  225. package/dist/chunks/fogFragment-Csq7eneI.esm.min.js.map +1 -0
  226. package/dist/chunks/fogFragment-D-sKHdDf.esm.js +102 -0
  227. package/dist/chunks/fogFragment-D-sKHdDf.esm.js.map +1 -0
  228. package/dist/chunks/fogFragment-alFkMSt9.esm.min.js +2 -0
  229. package/dist/chunks/fogFragment-alFkMSt9.esm.min.js.map +1 -0
  230. package/dist/chunks/fresnelFunction-DU40wmqQ.esm.min.js +2 -0
  231. package/dist/chunks/fresnelFunction-DU40wmqQ.esm.min.js.map +1 -0
  232. package/dist/chunks/fresnelFunction-FeK3vqPy.esm.js +12 -0
  233. package/dist/chunks/fresnelFunction-FeK3vqPy.esm.js.map +1 -0
  234. package/dist/chunks/glTFLoader-BWXrbzqs.esm.js +7586 -0
  235. package/dist/chunks/glTFLoader-BWXrbzqs.esm.js.map +1 -0
  236. package/dist/chunks/glTFLoader-D5p5qYp8.esm.min.js +2 -0
  237. package/dist/chunks/glTFLoader-D5p5qYp8.esm.min.js.map +1 -0
  238. package/dist/chunks/glTFLoaderAnimation-BrCiuknj.esm.js +77 -0
  239. package/dist/chunks/glTFLoaderAnimation-BrCiuknj.esm.js.map +1 -0
  240. package/dist/chunks/glTFLoaderAnimation-DNByJ6HG.esm.min.js +2 -0
  241. package/dist/chunks/glTFLoaderAnimation-DNByJ6HG.esm.min.js.map +1 -0
  242. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  243. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  244. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  245. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  246. package/dist/chunks/harmonicsFunctions-B_19mESZ.esm.js +34 -0
  247. package/dist/chunks/harmonicsFunctions-B_19mESZ.esm.js.map +1 -0
  248. package/dist/chunks/harmonicsFunctions-C6ei29IM.esm.min.js +2 -0
  249. package/dist/chunks/harmonicsFunctions-C6ei29IM.esm.min.js.map +1 -0
  250. package/dist/chunks/harmonicsFunctions-D8MhBUfH.esm.min.js +2 -0
  251. package/dist/chunks/harmonicsFunctions-D8MhBUfH.esm.min.js.map +1 -0
  252. package/dist/chunks/harmonicsFunctions-NlQ7ssUT.esm.js +35 -0
  253. package/dist/chunks/harmonicsFunctions-NlQ7ssUT.esm.js.map +1 -0
  254. package/dist/chunks/hdrTextureLoader-CJeDP7zV.esm.min.js +2 -0
  255. package/dist/chunks/hdrTextureLoader-CJeDP7zV.esm.min.js.map +1 -0
  256. package/dist/chunks/hdrTextureLoader-DknF3R6J.esm.js +252 -0
  257. package/dist/chunks/hdrTextureLoader-DknF3R6J.esm.js.map +1 -0
  258. package/dist/chunks/helperFunctions-BLuUx2nq.esm.js +80 -0
  259. package/dist/chunks/helperFunctions-BLuUx2nq.esm.js.map +1 -0
  260. package/dist/chunks/helperFunctions-BqcsL6kO.esm.min.js +2 -0
  261. package/dist/chunks/helperFunctions-BqcsL6kO.esm.min.js.map +1 -0
  262. package/dist/chunks/helperFunctions-BskUYxag.esm.min.js +2 -0
  263. package/dist/chunks/helperFunctions-BskUYxag.esm.min.js.map +1 -0
  264. package/dist/chunks/helperFunctions-C7bDmqf5.esm.js +108 -0
  265. package/dist/chunks/helperFunctions-C7bDmqf5.esm.js.map +1 -0
  266. package/dist/chunks/iesTextureLoader-BGpmR-Zu.esm.js +189 -0
  267. package/dist/chunks/iesTextureLoader-BGpmR-Zu.esm.js.map +1 -0
  268. package/dist/chunks/iesTextureLoader-CMHpguQr.esm.min.js +2 -0
  269. package/dist/chunks/iesTextureLoader-CMHpguQr.esm.min.js.map +1 -0
  270. package/dist/chunks/index-BeKEIRka.esm.js +74617 -0
  271. package/dist/chunks/index-BeKEIRka.esm.js.map +1 -0
  272. package/dist/chunks/index-DprAUBKz.esm.min.js +57 -0
  273. package/dist/chunks/index-DprAUBKz.esm.min.js.map +1 -0
  274. package/dist/chunks/ktxTextureLoader-C19SUsox.esm.js +814 -0
  275. package/dist/chunks/ktxTextureLoader-C19SUsox.esm.js.map +1 -0
  276. package/dist/chunks/ktxTextureLoader-C6_J2kq9.esm.min.js +2 -0
  277. package/dist/chunks/ktxTextureLoader-C6_J2kq9.esm.min.js.map +1 -0
  278. package/dist/chunks/logDepthDeclaration-BpynUx1A.esm.js +35 -0
  279. package/dist/chunks/logDepthDeclaration-BpynUx1A.esm.js.map +1 -0
  280. package/dist/chunks/logDepthDeclaration-CGzm1tYf.esm.min.js +2 -0
  281. package/dist/chunks/logDepthDeclaration-CGzm1tYf.esm.min.js.map +1 -0
  282. package/dist/chunks/logDepthDeclaration-CyTQagov.esm.js +11 -0
  283. package/dist/chunks/logDepthDeclaration-CyTQagov.esm.js.map +1 -0
  284. package/dist/chunks/logDepthDeclaration-Dut4SmA8.esm.min.js +2 -0
  285. package/dist/chunks/logDepthDeclaration-Dut4SmA8.esm.min.js.map +1 -0
  286. package/dist/chunks/logDepthVertex-Bc0blXM8.esm.min.js +2 -0
  287. package/dist/chunks/logDepthVertex-Bc0blXM8.esm.min.js.map +1 -0
  288. package/dist/chunks/logDepthVertex-C-kcsA2L.esm.js +77 -0
  289. package/dist/chunks/logDepthVertex-C-kcsA2L.esm.js.map +1 -0
  290. package/dist/chunks/logDepthVertex-COozVPxI.esm.js +77 -0
  291. package/dist/chunks/logDepthVertex-COozVPxI.esm.js.map +1 -0
  292. package/dist/chunks/logDepthVertex-CfOVhbNj.esm.min.js +2 -0
  293. package/dist/chunks/logDepthVertex-CfOVhbNj.esm.min.js.map +1 -0
  294. package/dist/chunks/mainUVVaryingDeclaration-BKPNmc9Q.esm.js +11 -0
  295. package/dist/chunks/mainUVVaryingDeclaration-BKPNmc9Q.esm.js.map +1 -0
  296. package/dist/chunks/mainUVVaryingDeclaration-Cu9Tv4Kw.esm.min.js +2 -0
  297. package/dist/chunks/mainUVVaryingDeclaration-Cu9Tv4Kw.esm.min.js.map +1 -0
  298. package/dist/chunks/mainUVVaryingDeclaration-DYf1yJUX.esm.js +11 -0
  299. package/dist/chunks/mainUVVaryingDeclaration-DYf1yJUX.esm.js.map +1 -0
  300. package/dist/chunks/mainUVVaryingDeclaration-DpLnjXfZ.esm.min.js +2 -0
  301. package/dist/chunks/mainUVVaryingDeclaration-DpLnjXfZ.esm.min.js.map +1 -0
  302. package/dist/chunks/meshUboDeclaration-BJYErIa3.esm.min.js +2 -0
  303. package/dist/chunks/meshUboDeclaration-BJYErIa3.esm.min.js.map +1 -0
  304. package/dist/chunks/meshUboDeclaration-BiUwws9z.esm.js +24 -0
  305. package/dist/chunks/meshUboDeclaration-BiUwws9z.esm.js.map +1 -0
  306. package/dist/chunks/objFileLoader-BE_E9yJf.esm.js +1338 -0
  307. package/dist/chunks/objFileLoader-BE_E9yJf.esm.js.map +1 -0
  308. package/dist/chunks/objFileLoader-MOi7ZG3R.esm.min.js +2 -0
  309. package/dist/chunks/objFileLoader-MOi7ZG3R.esm.min.js.map +1 -0
  310. package/dist/chunks/oitFragment-CAIIewpS.esm.js +1210 -0
  311. package/dist/chunks/oitFragment-CAIIewpS.esm.js.map +1 -0
  312. package/dist/chunks/oitFragment-DDp3gQTd.esm.min.js +2 -0
  313. package/dist/chunks/oitFragment-DDp3gQTd.esm.min.js.map +1 -0
  314. package/dist/chunks/oitFragment-SgLz27Xb.esm.js +1051 -0
  315. package/dist/chunks/oitFragment-SgLz27Xb.esm.js.map +1 -0
  316. package/dist/chunks/oitFragment-oiPVwqmm.esm.min.js +2 -0
  317. package/dist/chunks/oitFragment-oiPVwqmm.esm.min.js.map +1 -0
  318. package/dist/chunks/pass.fragment-Au3QTn6B.esm.js +15 -0
  319. package/dist/chunks/pass.fragment-Au3QTn6B.esm.js.map +1 -0
  320. package/dist/chunks/pass.fragment-CWxLTOY2.esm.js +15 -0
  321. package/dist/chunks/pass.fragment-CWxLTOY2.esm.js.map +1 -0
  322. package/dist/chunks/pass.fragment-Dv_aTu4L.esm.min.js +2 -0
  323. package/dist/chunks/pass.fragment-Dv_aTu4L.esm.min.js.map +1 -0
  324. package/dist/chunks/pass.fragment-Ke_m_FfE.esm.min.js +2 -0
  325. package/dist/chunks/pass.fragment-Ke_m_FfE.esm.min.js.map +1 -0
  326. package/dist/chunks/pbr.fragment-BBn9zhoH.esm.min.js +2 -0
  327. package/dist/chunks/pbr.fragment-BBn9zhoH.esm.min.js.map +1 -0
  328. package/dist/chunks/pbr.fragment-C109MBuS.esm.js +3230 -0
  329. package/dist/chunks/pbr.fragment-C109MBuS.esm.js.map +1 -0
  330. package/dist/chunks/pbr.fragment-CTmhpwgS.esm.min.js +2 -0
  331. package/dist/chunks/pbr.fragment-CTmhpwgS.esm.min.js.map +1 -0
  332. package/dist/chunks/pbr.fragment-PiPyhFG1.esm.js +3270 -0
  333. package/dist/chunks/pbr.fragment-PiPyhFG1.esm.js.map +1 -0
  334. package/dist/chunks/pbr.vertex-3Vrjv1Zy.esm.min.js +2 -0
  335. package/dist/chunks/pbr.vertex-3Vrjv1Zy.esm.min.js.map +1 -0
  336. package/dist/chunks/pbr.vertex-BiMD8ykF.esm.js +338 -0
  337. package/dist/chunks/pbr.vertex-BiMD8ykF.esm.js.map +1 -0
  338. package/dist/chunks/pbr.vertex-C2mqbEjQ.esm.js +214 -0
  339. package/dist/chunks/pbr.vertex-C2mqbEjQ.esm.js.map +1 -0
  340. package/dist/chunks/pbr.vertex-CfuqNHe_.esm.min.js +2 -0
  341. package/dist/chunks/pbr.vertex-CfuqNHe_.esm.min.js.map +1 -0
  342. package/dist/chunks/postprocess.vertex-BtpQ106t.esm.js +20 -0
  343. package/dist/chunks/postprocess.vertex-BtpQ106t.esm.js.map +1 -0
  344. package/dist/chunks/postprocess.vertex-y8C6e1Vg.esm.min.js +2 -0
  345. package/dist/chunks/postprocess.vertex-y8C6e1Vg.esm.min.js.map +1 -0
  346. package/dist/chunks/rawTexture-DWVljNAA.esm.js +191 -0
  347. package/dist/chunks/rawTexture-DWVljNAA.esm.js.map +1 -0
  348. package/dist/chunks/rawTexture-hwvFuG11.esm.min.js +2 -0
  349. package/dist/chunks/rawTexture-hwvFuG11.esm.min.js.map +1 -0
  350. package/dist/chunks/ray-CK8RMihf.esm.js +946 -0
  351. package/dist/chunks/ray-CK8RMihf.esm.js.map +1 -0
  352. package/dist/chunks/ray-DsHByFt_.esm.min.js +2 -0
  353. package/dist/chunks/ray-DsHByFt_.esm.min.js.map +1 -0
  354. package/dist/chunks/rgbdDecode.fragment-BJZU7xWj.esm.js +17 -0
  355. package/dist/chunks/rgbdDecode.fragment-BJZU7xWj.esm.js.map +1 -0
  356. package/dist/chunks/rgbdDecode.fragment-Bihg7c2V.esm.min.js +2 -0
  357. package/dist/chunks/rgbdDecode.fragment-Bihg7c2V.esm.min.js.map +1 -0
  358. package/dist/chunks/rgbdDecode.fragment-DL0b7M1l.esm.min.js +2 -0
  359. package/dist/chunks/rgbdDecode.fragment-DL0b7M1l.esm.min.js.map +1 -0
  360. package/dist/chunks/rgbdDecode.fragment-Dy9zwXIU.esm.js +17 -0
  361. package/dist/chunks/rgbdDecode.fragment-Dy9zwXIU.esm.js.map +1 -0
  362. package/dist/chunks/rgbdEncode.fragment-7kMkvRwb.esm.js +17 -0
  363. package/dist/chunks/rgbdEncode.fragment-7kMkvRwb.esm.js.map +1 -0
  364. package/dist/chunks/rgbdEncode.fragment-DBRJSber.esm.min.js +2 -0
  365. package/dist/chunks/rgbdEncode.fragment-DBRJSber.esm.min.js.map +1 -0
  366. package/dist/chunks/rgbdEncode.fragment-EHDS-v9B.esm.js +17 -0
  367. package/dist/chunks/rgbdEncode.fragment-EHDS-v9B.esm.js.map +1 -0
  368. package/dist/chunks/rgbdEncode.fragment-GVps7HU4.esm.min.js +2 -0
  369. package/dist/chunks/rgbdEncode.fragment-GVps7HU4.esm.min.js.map +1 -0
  370. package/dist/chunks/splatFileLoader-DRz20nEn.esm.js +3371 -0
  371. package/dist/chunks/splatFileLoader-DRz20nEn.esm.js.map +1 -0
  372. package/dist/chunks/splatFileLoader-Z6j5oKHW.esm.min.js +2 -0
  373. package/dist/chunks/splatFileLoader-Z6j5oKHW.esm.min.js.map +1 -0
  374. package/dist/chunks/standardMaterial-B3ecSQEW.esm.min.js +2 -0
  375. package/dist/chunks/standardMaterial-B3ecSQEW.esm.min.js.map +1 -0
  376. package/dist/chunks/standardMaterial-Be8wL70k.esm.js +1805 -0
  377. package/dist/chunks/standardMaterial-Be8wL70k.esm.js.map +1 -0
  378. package/dist/chunks/stlFileLoader-C6LdEQ75.esm.js +238 -0
  379. package/dist/chunks/stlFileLoader-C6LdEQ75.esm.js.map +1 -0
  380. package/dist/chunks/stlFileLoader-JCne-dxw.esm.min.js +2 -0
  381. package/dist/chunks/stlFileLoader-JCne-dxw.esm.min.js.map +1 -0
  382. package/dist/chunks/tgaTextureLoader-BZMSekx5.esm.js +349 -0
  383. package/dist/chunks/tgaTextureLoader-BZMSekx5.esm.js.map +1 -0
  384. package/dist/chunks/tgaTextureLoader-DOEvqOPE.esm.min.js +2 -0
  385. package/dist/chunks/tgaTextureLoader-DOEvqOPE.esm.min.js.map +1 -0
  386. package/dist/chunks/thinEngine-BTbbTZix.esm.js +3842 -0
  387. package/dist/chunks/thinEngine-BTbbTZix.esm.js.map +1 -0
  388. package/dist/chunks/thinEngine-v-NSiDW-.esm.min.js +2 -0
  389. package/dist/chunks/thinEngine-v-NSiDW-.esm.min.js.map +1 -0
  390. package/dist/chunks/thinInstanceMesh-B8SVyfho.esm.js +314 -0
  391. package/dist/chunks/thinInstanceMesh-B8SVyfho.esm.js.map +1 -0
  392. package/dist/chunks/thinInstanceMesh-BxfZu7jF.esm.min.js +2 -0
  393. package/dist/chunks/thinInstanceMesh-BxfZu7jF.esm.min.js.map +1 -0
  394. package/dist/chunks/vertexColorMixing-BBpDYi6i.esm.js +412 -0
  395. package/dist/chunks/vertexColorMixing-BBpDYi6i.esm.js.map +1 -0
  396. package/dist/chunks/vertexColorMixing-DKlgUR7M.esm.js +522 -0
  397. package/dist/chunks/vertexColorMixing-DKlgUR7M.esm.js.map +1 -0
  398. package/dist/chunks/vertexColorMixing-Dk4L1tJ7.esm.min.js +2 -0
  399. package/dist/chunks/vertexColorMixing-Dk4L1tJ7.esm.min.js.map +1 -0
  400. package/dist/chunks/vertexColorMixing-f0SaBMnM.esm.min.js +2 -0
  401. package/dist/chunks/vertexColorMixing-f0SaBMnM.esm.min.js.map +1 -0
  402. package/dist/chunks/webgpuEngine-DGT-ms2c.esm.min.js +2 -0
  403. package/dist/chunks/webgpuEngine-DGT-ms2c.esm.min.js.map +1 -0
  404. package/dist/chunks/webgpuEngine-DvWEXB_l.esm.js +11533 -0
  405. package/dist/chunks/webgpuEngine-DvWEXB_l.esm.js.map +1 -0
  406. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  407. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  408. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  409. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  410. package/docs/ViewerDefault.jpg +0 -0
  411. package/docs/ViewerParts.jpg +0 -0
  412. package/docs/ViewerSlots.jpg +0 -0
  413. package/docs/ViewerStyled.jpg +0 -0
  414. package/lib/index.d.ts +568 -0
  415. package/lib/index.js +2067 -0
  416. package/lib/index.js.map +1 -0
  417. package/package.json +18 -27
  418. package/readme.md +145 -21
  419. package/configuration/configuration.d.ts +0 -107
  420. package/configuration/configuration.js +0 -16
  421. package/configuration/configuration.js.map +0 -1
  422. package/configuration/configurationCompatibility.d.ts +0 -8
  423. package/configuration/configurationCompatibility.js +0 -66
  424. package/configuration/configurationCompatibility.js.map +0 -1
  425. package/configuration/configurationContainer.d.ts +0 -10
  426. package/configuration/configurationContainer.js +0 -10
  427. package/configuration/configurationContainer.js.map +0 -1
  428. package/configuration/globals.d.ts +0 -6
  429. package/configuration/globals.js +0 -18
  430. package/configuration/globals.js.map +0 -1
  431. package/configuration/index.d.ts +0 -2
  432. package/configuration/index.js +0 -4
  433. package/configuration/index.js.map +0 -1
  434. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  435. package/configuration/interfaces/cameraConfiguration.js +0 -2
  436. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  437. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  438. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  439. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  440. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  441. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  442. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  443. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  444. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  445. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  446. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  447. package/configuration/interfaces/groundConfiguration.js +0 -2
  448. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  449. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  450. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  451. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  452. package/configuration/interfaces/index.d.ts +0 -15
  453. package/configuration/interfaces/index.js +0 -16
  454. package/configuration/interfaces/index.js.map +0 -1
  455. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  456. package/configuration/interfaces/lightConfiguration.js +0 -2
  457. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  458. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  459. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  460. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  461. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  462. package/configuration/interfaces/modelConfiguration.js +0 -2
  463. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  464. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  465. package/configuration/interfaces/observersConfiguration.js +0 -2
  466. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  467. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  468. package/configuration/interfaces/sceneConfiguration.js +0 -2
  469. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  470. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  471. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  472. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  473. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  474. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  475. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  476. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  477. package/configuration/interfaces/templateConfiguration.js +0 -2
  478. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  479. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  480. package/configuration/interfaces/vrConfiguration.js +0 -2
  481. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  482. package/configuration/loader.d.ts +0 -4
  483. package/configuration/loader.js +0 -17
  484. package/configuration/loader.js.map +0 -1
  485. package/configuration/mappers.d.ts +0 -43
  486. package/configuration/mappers.js +0 -193
  487. package/configuration/mappers.js.map +0 -1
  488. package/configuration/renderOnlyLoader.d.ts +0 -33
  489. package/configuration/renderOnlyLoader.js +0 -162
  490. package/configuration/renderOnlyLoader.js.map +0 -1
  491. package/configuration/types/default.d.ts +0 -6
  492. package/configuration/types/default.js +0 -121
  493. package/configuration/types/default.js.map +0 -1
  494. package/configuration/types/environmentMap.d.ts +0 -5
  495. package/configuration/types/environmentMap.js +0 -14
  496. package/configuration/types/environmentMap.js.map +0 -1
  497. package/configuration/types/extended.d.ts +0 -6
  498. package/configuration/types/extended.js +0 -317
  499. package/configuration/types/extended.js.map +0 -1
  500. package/configuration/types/index.d.ts +0 -14
  501. package/configuration/types/index.js +0 -51
  502. package/configuration/types/index.js.map +0 -1
  503. package/configuration/types/minimal.d.ts +0 -6
  504. package/configuration/types/minimal.js +0 -43
  505. package/configuration/types/minimal.js.map +0 -1
  506. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  507. package/configuration/types/renderOnlyDefault.js +0 -31
  508. package/configuration/types/renderOnlyDefault.js.map +0 -1
  509. package/configuration/types/shadowLight.d.ts +0 -9
  510. package/configuration/types/shadowLight.js +0 -64
  511. package/configuration/types/shadowLight.js.map +0 -1
  512. package/helper/index.d.ts +0 -29
  513. package/helper/index.js +0 -66
  514. package/helper/index.js.map +0 -1
  515. package/index.d.ts +0 -30
  516. package/index.js +0 -46
  517. package/index.js.map +0 -1
  518. package/initializer.d.ts +0 -11
  519. package/initializer.js +0 -35
  520. package/initializer.js.map +0 -1
  521. package/interfaces.d.ts +0 -5
  522. package/interfaces.js +0 -7
  523. package/interfaces.js.map +0 -1
  524. package/labs/environmentSerializer.d.ts +0 -126
  525. package/labs/environmentSerializer.js +0 -191
  526. package/labs/environmentSerializer.js.map +0 -1
  527. package/labs/texture.d.ts +0 -183
  528. package/labs/texture.js +0 -351
  529. package/labs/texture.js.map +0 -1
  530. package/labs/viewerLabs.d.ts +0 -51
  531. package/labs/viewerLabs.js +0 -134
  532. package/labs/viewerLabs.js.map +0 -1
  533. package/loader/modelLoader.d.ts +0 -56
  534. package/loader/modelLoader.js +0 -202
  535. package/loader/modelLoader.js.map +0 -1
  536. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  537. package/loader/plugins/applyMaterialConfig.js +0 -16
  538. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  539. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  540. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  541. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  542. package/loader/plugins/index.d.ts +0 -19
  543. package/loader/plugins/index.js +0 -44
  544. package/loader/plugins/index.js.map +0 -1
  545. package/loader/plugins/loaderPlugin.d.ts +0 -24
  546. package/loader/plugins/loaderPlugin.js +0 -2
  547. package/loader/plugins/loaderPlugin.js.map +0 -1
  548. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  549. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  550. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  551. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  552. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  553. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  554. package/managers/observablesManager.d.ts +0 -66
  555. package/managers/observablesManager.js +0 -35
  556. package/managers/observablesManager.js.map +0 -1
  557. package/managers/sceneManager.d.ts +0 -245
  558. package/managers/sceneManager.js +0 -1375
  559. package/managers/sceneManager.js.map +0 -1
  560. package/managers/telemetryManager.d.ts +0 -78
  561. package/managers/telemetryManager.js +0 -117
  562. package/managers/telemetryManager.js.map +0 -1
  563. package/model/modelAnimation.d.ts +0 -215
  564. package/model/modelAnimation.js +0 -237
  565. package/model/modelAnimation.js.map +0 -1
  566. package/model/viewerModel.d.ts +0 -233
  567. package/model/viewerModel.js +0 -673
  568. package/model/viewerModel.js.map +0 -1
  569. package/optimizer/custom/extended.d.ts +0 -13
  570. package/optimizer/custom/extended.js +0 -101
  571. package/optimizer/custom/extended.js.map +0 -1
  572. package/optimizer/custom/index.d.ts +0 -9
  573. package/optimizer/custom/index.js +0 -26
  574. package/optimizer/custom/index.js.map +0 -1
  575. package/renderOnlyIndex.d.ts +0 -11
  576. package/renderOnlyIndex.js +0 -18
  577. package/renderOnlyIndex.js.map +0 -1
  578. package/templating/eventManager.d.ts +0 -35
  579. package/templating/eventManager.js +0 -66
  580. package/templating/eventManager.js.map +0 -1
  581. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  582. package/templating/plugins/hdButtonPlugin.js +0 -22
  583. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  584. package/templating/plugins/printButton.d.ts +0 -9
  585. package/templating/plugins/printButton.js +0 -41
  586. package/templating/plugins/printButton.js.map +0 -1
  587. package/templating/templateManager.d.ts +0 -197
  588. package/templating/templateManager.js +0 -561
  589. package/templating/templateManager.js.map +0 -1
  590. package/templating/viewerTemplatePlugin.d.ts +0 -21
  591. package/templating/viewerTemplatePlugin.js +0 -69
  592. package/templating/viewerTemplatePlugin.js.map +0 -1
  593. package/viewer/defaultViewer.d.ts +0 -130
  594. package/viewer/defaultViewer.js +0 -672
  595. package/viewer/defaultViewer.js.map +0 -1
  596. package/viewer/renderOnlyViewer.d.ts +0 -9
  597. package/viewer/renderOnlyViewer.js +0 -46
  598. package/viewer/renderOnlyViewer.js.map +0 -1
  599. package/viewer/viewer.d.ts +0 -258
  600. package/viewer/viewer.js +0 -783
  601. package/viewer/viewer.js.map +0 -1
  602. package/viewer/viewerManager.d.ts +0 -58
  603. package/viewer/viewerManager.js +0 -91
  604. package/viewer/viewerManager.js.map +0 -1
  605. package/viewer/viewerWithTemplate.d.ts +0 -9
  606. package/viewer/viewerWithTemplate.js +0 -20
  607. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,1051 @@
1
+ import { i as ShaderStore } from './index-BeKEIRka.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 PROJECTEDLIGHTTEXTURE{X}
48
+ uniform textureProjectionMatrix{X}: mat4x4f;var projectionLightTexture{X}Sampler: sampler;var projectionLightTexture{X}: texture_2d<f32>;
49
+ #endif
50
+ #ifdef SHADOW{X}
51
+ #ifdef SHADOWCSM{X}
52
+ 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>;
53
+ #if defined(SHADOWPCSS{X})
54
+ var shadowTexture{X}Sampler: sampler_comparison;
55
+ 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;
56
+ #elif defined(SHADOWPCF{X})
57
+ var shadowTexture{X}Sampler: sampler_comparison;var shadowTexture{X}: texture_depth_2d_array;
58
+ #else
59
+ var shadowTexture{X}Sampler: sampler;
60
+ var shadowTexture{X}: texture_2d_array<f32>;
61
+ #endif
62
+ #ifdef SHADOWCSMDEBUG{X}
63
+ const vCascadeColorsMultiplier{X}: array<vec3f,8>=array<vec3f,8>
64
+ (
65
+ vec3f ( 1.5,0.0,0.0 ),
66
+ vec3f ( 0.0,1.5,0.0 ),
67
+ vec3f ( 0.0,0.0,5.5 ),
68
+ vec3f ( 1.5,0.0,5.5 ),
69
+ vec3f ( 1.5,1.5,0.0 ),
70
+ vec3f ( 1.0,1.0,1.0 ),
71
+ vec3f ( 0.0,1.0,5.5 ),
72
+ vec3f ( 0.5,3.5,0.75 )
73
+ );
74
+ #endif
75
+ #elif defined(SHADOWCUBE{X})
76
+ var shadowTexture{X}Sampler: sampler;var shadowTexture{X}: texture_cube<f32>;
77
+ #else
78
+ varying vPositionFromLight{X}: vec4f;varying vDepthMetric{X}: f32;
79
+ #if defined(SHADOWPCSS{X})
80
+ var shadowTexture{X}Sampler: sampler_comparison;
81
+ var shadowTexture{X}: texture_depth_2d;var depthTexture{X}Sampler: sampler;
82
+ var depthTexture{X}: texture_2d<f32>;
83
+ #elif defined(SHADOWPCF{X})
84
+ var shadowTexture{X}Sampler: sampler_comparison;var shadowTexture{X}: texture_depth_2d;
85
+ #else
86
+ var shadowTexture{X}Sampler: sampler;
87
+ var shadowTexture{X}: texture_2d<f32>;
88
+ #endif
89
+ uniform lightMatrix{X}: mat4x4f;
90
+ #endif
91
+ #endif
92
+ #endif
93
+ `;
94
+ // Sideeffect
95
+ ShaderStore.IncludesShadersStoreWGSL[name$b] = shader$b;
96
+
97
+ // Do not edit.
98
+ const name$a = "samplerFragmentDeclaration";
99
+ const shader$a = `#ifdef _DEFINENAME_
100
+ #if _DEFINENAME_DIRECTUV==1
101
+ #define v_VARYINGNAME_UV vMainUV1
102
+ #elif _DEFINENAME_DIRECTUV==2
103
+ #define v_VARYINGNAME_UV vMainUV2
104
+ #elif _DEFINENAME_DIRECTUV==3
105
+ #define v_VARYINGNAME_UV vMainUV3
106
+ #elif _DEFINENAME_DIRECTUV==4
107
+ #define v_VARYINGNAME_UV vMainUV4
108
+ #elif _DEFINENAME_DIRECTUV==5
109
+ #define v_VARYINGNAME_UV vMainUV5
110
+ #elif _DEFINENAME_DIRECTUV==6
111
+ #define v_VARYINGNAME_UV vMainUV6
112
+ #else
113
+ varying v_VARYINGNAME_UV: vec2f;
114
+ #endif
115
+ var _SAMPLERNAME_SamplerSampler: sampler;var _SAMPLERNAME_Sampler: texture_2d<f32>;
116
+ #endif
117
+ `;
118
+ // Sideeffect
119
+ ShaderStore.IncludesShadersStoreWGSL[name$a] = shader$a;
120
+
121
+ // Do not edit.
122
+ const name$9 = "imageProcessingDeclaration";
123
+ const shader$9 = `#ifdef EXPOSURE
124
+ uniform exposureLinear: f32;
125
+ #endif
126
+ #ifdef CONTRAST
127
+ uniform contrast: f32;
128
+ #endif
129
+ #if defined(VIGNETTE) || defined(DITHER)
130
+ uniform vInverseScreenSize: vec2f;
131
+ #endif
132
+ #ifdef VIGNETTE
133
+ uniform vignetteSettings1: vec4f;uniform vignetteSettings2: vec4f;
134
+ #endif
135
+ #ifdef COLORCURVES
136
+ uniform vCameraColorCurveNegative: vec4f;uniform vCameraColorCurveNeutral: vec4f;uniform vCameraColorCurvePositive: vec4f;
137
+ #endif
138
+ #ifdef COLORGRADING
139
+ #ifdef COLORGRADING3D
140
+ var txColorTransformSampler: sampler;var txColorTransform: texture_3d<f32>;
141
+ #else
142
+ var txColorTransformSampler: sampler;var txColorTransform: texture_2d<f32>;
143
+ #endif
144
+ uniform colorTransformSettings: vec4f;
145
+ #endif
146
+ #ifdef DITHER
147
+ uniform ditherIntensity: f32;
148
+ #endif
149
+ `;
150
+ // Sideeffect
151
+ ShaderStore.IncludesShadersStoreWGSL[name$9] = shader$9;
152
+
153
+ // Do not edit.
154
+ const name$8 = "imageProcessingFunctions";
155
+ const shader$8 = `#if TONEMAPPING==3
156
+ 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;}
157
+ 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);}
158
+ #endif
159
+ #if TONEMAPPING==2
160
+ const ACESInputMat: mat3x3f= mat3x3f(
161
+ vec3f(0.59719,0.07600,0.02840),
162
+ vec3f(0.35458,0.90834,0.13383),
163
+ vec3f(0.04823,0.01566,0.83777)
164
+ );const ACESOutputMat: mat3x3f= mat3x3f(
165
+ vec3f( 1.60475,-0.10208,-0.00327),
166
+ vec3f(-0.53108, 1.10813,-0.07276),
167
+ vec3f(-0.07367,-0.00605, 1.07602)
168
+ );fn RRTAndODTFit(v: vec3f)->vec3f
169
+ {var a: vec3f=v*(v+0.0245786)-0.000090537;var b: vec3f=v*(0.983729*v+0.4329510)+0.238081;return a/b;}
170
+ fn ACESFitted(color: vec3f)->vec3f
171
+ {var output=ACESInputMat*color;output=RRTAndODTFit(output);output=ACESOutputMat*output;output=saturateVec3(output);return output;}
172
+ #endif
173
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS
174
+ fn applyImageProcessing(result: vec4f)->vec4f {
175
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART
176
+ var rgb=result.rgb;;
177
+ #ifdef EXPOSURE
178
+ rgb*=uniforms.exposureLinear;
179
+ #endif
180
+ #ifdef VIGNETTE
181
+ 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;
182
+ #ifdef VIGNETTEBLENDMODEMULTIPLY
183
+ var vignetteColorMultiplier: vec3f=mix(vignetteColor, vec3f(1,1,1),vignette);rgb*=vignetteColorMultiplier;
184
+ #endif
185
+ #ifdef VIGNETTEBLENDMODEOPAQUE
186
+ rgb=mix(vignetteColor,rgb,vignette);
187
+ #endif
188
+ #endif
189
+ #if TONEMAPPING==3
190
+ rgb=PBRNeutralToneMapping(rgb);
191
+ #elif TONEMAPPING==2
192
+ rgb=ACESFitted(rgb);
193
+ #elif TONEMAPPING==1
194
+ const tonemappingCalibration: f32=1.590579;rgb=1.0-exp2(-tonemappingCalibration*rgb);
195
+ #endif
196
+ rgb=toGammaSpaceVec3(rgb);rgb=saturateVec3(rgb);
197
+ #ifdef CONTRAST
198
+ 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);}
199
+ #endif
200
+ #ifdef COLORGRADING
201
+ var colorTransformInput: vec3f=rgb*uniforms.colorTransformSettings.xxx+uniforms.colorTransformSettings.yyy;
202
+ #ifdef COLORGRADING3D
203
+ var colorTransformOutput: vec3f=textureSample(txColorTransform,txColorTransformSampler,colorTransformInput).rgb;
204
+ #else
205
+ var colorTransformOutput: vec3f=textureSample(txColorTransform,txColorTransformSampler,colorTransformInput,uniforms.colorTransformSettings.yz).rgb;
206
+ #endif
207
+ rgb=mix(rgb,colorTransformOutput,uniforms.colorTransformSettings.www);
208
+ #endif
209
+ #ifdef COLORCURVES
210
+ 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);
211
+ #endif
212
+ #ifdef DITHER
213
+ var rand: f32=getRand(fragmentInputs.position.xy*uniforms.vInverseScreenSize);var dither: f32=mix(-uniforms.ditherIntensity,uniforms.ditherIntensity,rand);rgb=saturateVec3(rgb+ vec3f(dither));
214
+ #endif
215
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND
216
+ return vec4f(rgb,result.a);}`;
217
+ // Sideeffect
218
+ ShaderStore.IncludesShadersStoreWGSL[name$8] = shader$8;
219
+
220
+ // Do not edit.
221
+ const name$7 = "shadowsFragmentFunctions";
222
+ const shader$7 = `#ifdef SHADOWS
223
+ #ifndef SHADOWFLOAT
224
+ fn unpack(color: vec4f)->f32
225
+ {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);}
226
+ #endif
227
+ fn computeFallOff(value: f32,clipSpace: vec2f,frustumEdgeFalloff: f32)->f32
228
+ {var mask: f32=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));return mix(value,1.0,mask);}
229
+ fn computeShadowCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthValues: vec2f)->f32
230
+ {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;
231
+ #ifndef SHADOWFLOAT
232
+ var shadow: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
233
+ #else
234
+ var shadow: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
235
+ #endif
236
+ return select(1.0,darkness,depth>shadow);}
237
+ fn computeShadowWithPoissonSamplingCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,mapSize: f32,darkness: f32,depthValues: vec2f)->f32
238
+ {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);
239
+ #ifndef SHADOWFLOAT
240
+ 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;};
241
+ #else
242
+ 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;};
243
+ #endif
244
+ return min(1.0,visibility+darkness);}
245
+ fn computeShadowWithESMCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,depthValues: vec2f)->f32
246
+ {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;
247
+ #ifndef SHADOWFLOAT
248
+ var shadowMapSample: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
249
+ #else
250
+ var shadowMapSample: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
251
+ #endif
252
+ var esm: f32=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return esm;}
253
+ fn computeShadowWithCloseESMCube(worldPos: vec3f,lightPosition: vec3f,shadowTexture: texture_cube<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,depthValues: vec2f)->f32
254
+ {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;
255
+ #ifndef SHADOWFLOAT
256
+ var shadowMapSample: f32=unpack(textureSample(shadowTexture,shadowSampler,directionToLight));
257
+ #else
258
+ var shadowMapSample: f32=textureSample(shadowTexture,shadowSampler,directionToLight).x;
259
+ #endif
260
+ var esm: f32=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return esm;}
261
+ fn computeShadowCSM(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d_array<f32>,shadowSampler: sampler,darkness: f32,frustumEdgeFalloff: f32)->f32
262
+ {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);
263
+ #ifndef SHADOWFLOAT
264
+ var shadow: f32=unpack(textureSample(shadowTexture,shadowSampler,uv,layer));
265
+ #else
266
+ var shadow: f32=textureSample(shadowTexture,shadowSampler,uv,layer).x;
267
+ #endif
268
+ return select(1.,computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff),shadowPixelDepth>shadow );}
269
+ fn computeShadow(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,frustumEdgeFalloff: f32)->f32
270
+ {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)
271
+ {return 1.0;}
272
+ else
273
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
274
+ #ifndef SHADOWFLOAT
275
+ var shadow: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
276
+ #else
277
+ var shadow: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
278
+ #endif
279
+ return select(1.,computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff),shadowPixelDepth>shadow );}}
280
+ fn computeShadowWithPoissonSampling(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,mapSize: f32,darkness: f32,frustumEdgeFalloff: f32)->f32
281
+ {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)
282
+ {return 1.0;}
283
+ else
284
+ {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);
285
+ #ifndef SHADOWFLOAT
286
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
287
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
288
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
289
+ if (unpack(textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth) {visibility-=0.25;}
290
+ #else
291
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
292
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
293
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
294
+ if (textureSampleLevel(shadowTexture,shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth) {visibility-=0.25;}
295
+ #endif
296
+ return computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);}}
297
+ fn computeShadowWithESM(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,frustumEdgeFalloff: f32)->f32
298
+ {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)
299
+ {return 1.0;}
300
+ else
301
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
302
+ #ifndef SHADOWFLOAT
303
+ var shadowMapSample: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
304
+ #else
305
+ var shadowMapSample: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
306
+ #endif
307
+ var esm: f32=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
308
+ fn computeShadowWithCloseESM(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_2d<f32>,shadowSampler: sampler,darkness: f32,depthScale: f32,frustumEdgeFalloff: f32)->f32
309
+ {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)
310
+ {return 1.0;}
311
+ else
312
+ {var shadowPixelDepth: f32=clamp(depthMetric,0.,1.0);
313
+ #ifndef SHADOWFLOAT
314
+ var shadowMapSample: f32=unpack(textureSampleLevel(shadowTexture,shadowSampler,uv,0.));
315
+ #else
316
+ var shadowMapSample: f32=textureSampleLevel(shadowTexture,shadowSampler,uv,0.).x;
317
+ #endif
318
+ var esm: f32=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
319
+ fn getZInClip(clipSpace: vec3f,uvDepth: vec3f)->f32
320
+ {
321
+ #ifdef IS_NDC_HALF_ZRANGE
322
+ return clipSpace.z;
323
+ #else
324
+ return uvDepth.z;
325
+ #endif
326
+ }
327
+ const GREATEST_LESS_THAN_ONE: f32=0.99999994;
328
+ #define DISABLE_UNIFORMITY_ANALYSIS
329
+ fn computeShadowWithCSMPCF1(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,darkness: f32,frustumEdgeFalloff: f32)->f32
330
+ {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);}
331
+ fn computeShadowWithCSMPCF3(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
332
+ {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;
333
+ uv+=0.5;
334
+ var st: vec2f=fract(uv);
335
+ var base_uv: vec2f=floor(uv)-0.5;
336
+ base_uv*=shadowMapSizeAndInverse.y;
337
+ 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);}
338
+ fn computeShadowWithCSMPCF5(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
339
+ {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;
340
+ uv+=0.5;
341
+ var st: vec2f=fract(uv);
342
+ var base_uv: vec2f=floor(uv)-0.5;
343
+ base_uv*=shadowMapSizeAndInverse.y;
344
+ 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);}
345
+ fn computeShadowWithPCF1(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,darkness: f32,frustumEdgeFalloff: f32)->f32
346
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
347
+ else
348
+ {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);}}
349
+ fn computeShadowWithPCF3(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
350
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
351
+ else
352
+ {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;
353
+ uv+=0.5;
354
+ var st: vec2f=fract(uv);
355
+ var base_uv: vec2f=floor(uv)-0.5;
356
+ base_uv*=shadowMapSizeAndInverse.y;
357
+ 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);}}
358
+ fn computeShadowWithPCF5(vPositionFromLight: vec4f,depthMetric: f32,shadowTexture: texture_depth_2d,shadowSampler: sampler_comparison,shadowMapSizeAndInverse: vec2f,darkness: f32,frustumEdgeFalloff: f32)->f32
359
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
360
+ else
361
+ {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;
362
+ uv+=0.5;
363
+ var st: vec2f=fract(uv);
364
+ var base_uv: vec2f=floor(uv)-0.5;
365
+ base_uv*=shadowMapSizeAndInverse.y;
366
+ 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);}}
367
+ const PoissonSamplers32: array<vec3f,64>=array<vec3f,64> (
368
+ vec3f(0.06407013,0.05409927,0.),
369
+ vec3f(0.7366577,0.5789394,0.),
370
+ vec3f(-0.6270542,-0.5320278,0.),
371
+ vec3f(-0.4096107,0.8411095,0.),
372
+ vec3f(0.6849564,-0.4990818,0.),
373
+ vec3f(-0.874181,-0.04579735,0.),
374
+ vec3f(0.9989998,0.0009880066,0.),
375
+ vec3f(-0.004920578,-0.9151649,0.),
376
+ vec3f(0.1805763,0.9747483,0.),
377
+ vec3f(-0.2138451,0.2635818,0.),
378
+ vec3f(0.109845,0.3884785,0.),
379
+ vec3f(0.06876755,-0.3581074,0.),
380
+ vec3f(0.374073,-0.7661266,0.),
381
+ vec3f(0.3079132,-0.1216763,0.),
382
+ vec3f(-0.3794335,-0.8271583,0.),
383
+ vec3f(-0.203878,-0.07715034,0.),
384
+ vec3f(0.5912697,0.1469799,0.),
385
+ vec3f(-0.88069,0.3031784,0.),
386
+ vec3f(0.5040108,0.8283722,0.),
387
+ vec3f(-0.5844124,0.5494877,0.),
388
+ vec3f(0.6017799,-0.1726654,0.),
389
+ vec3f(-0.5554981,0.1559997,0.),
390
+ vec3f(-0.3016369,-0.3900928,0.),
391
+ vec3f(-0.5550632,-0.1723762,0.),
392
+ vec3f(0.925029,0.2995041,0.),
393
+ vec3f(-0.2473137,0.5538505,0.),
394
+ vec3f(0.9183037,-0.2862392,0.),
395
+ vec3f(0.2469421,0.6718712,0.),
396
+ vec3f(0.3916397,-0.4328209,0.),
397
+ vec3f(-0.03576927,-0.6220032,0.),
398
+ vec3f(-0.04661255,0.7995201,0.),
399
+ vec3f(0.4402924,0.3640312,0.),
400
+ vec3f(0.),
401
+ vec3f(0.),
402
+ vec3f(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
+ );const PoissonSamplers64: array<vec3f,64>=array<vec3f,64> (
433
+ vec3f(-0.613392,0.617481,0.),
434
+ vec3f(0.170019,-0.040254,0.),
435
+ vec3f(-0.299417,0.791925,0.),
436
+ vec3f(0.645680,0.493210,0.),
437
+ vec3f(-0.651784,0.717887,0.),
438
+ vec3f(0.421003,0.027070,0.),
439
+ vec3f(-0.817194,-0.271096,0.),
440
+ vec3f(-0.705374,-0.668203,0.),
441
+ vec3f(0.977050,-0.108615,0.),
442
+ vec3f(0.063326,0.142369,0.),
443
+ vec3f(0.203528,0.214331,0.),
444
+ vec3f(-0.667531,0.326090,0.),
445
+ vec3f(-0.098422,-0.295755,0.),
446
+ vec3f(-0.885922,0.215369,0.),
447
+ vec3f(0.566637,0.605213,0.),
448
+ vec3f(0.039766,-0.396100,0.),
449
+ vec3f(0.751946,0.453352,0.),
450
+ vec3f(0.078707,-0.715323,0.),
451
+ vec3f(-0.075838,-0.529344,0.),
452
+ vec3f(0.724479,-0.580798,0.),
453
+ vec3f(0.222999,-0.215125,0.),
454
+ vec3f(-0.467574,-0.405438,0.),
455
+ vec3f(-0.248268,-0.814753,0.),
456
+ vec3f(0.354411,-0.887570,0.),
457
+ vec3f(0.175817,0.382366,0.),
458
+ vec3f(0.487472,-0.063082,0.),
459
+ vec3f(-0.084078,0.898312,0.),
460
+ vec3f(0.488876,-0.783441,0.),
461
+ vec3f(0.470016,0.217933,0.),
462
+ vec3f(-0.696890,-0.549791,0.),
463
+ vec3f(-0.149693,0.605762,0.),
464
+ vec3f(0.034211,0.979980,0.),
465
+ vec3f(0.503098,-0.308878,0.),
466
+ vec3f(-0.016205,-0.872921,0.),
467
+ vec3f(0.385784,-0.393902,0.),
468
+ vec3f(-0.146886,-0.859249,0.),
469
+ vec3f(0.643361,0.164098,0.),
470
+ vec3f(0.634388,-0.049471,0.),
471
+ vec3f(-0.688894,0.007843,0.),
472
+ vec3f(0.464034,-0.188818,0.),
473
+ vec3f(-0.440840,0.137486,0.),
474
+ vec3f(0.364483,0.511704,0.),
475
+ vec3f(0.034028,0.325968,0.),
476
+ vec3f(0.099094,-0.308023,0.),
477
+ vec3f(0.693960,-0.366253,0.),
478
+ vec3f(0.678884,-0.204688,0.),
479
+ vec3f(0.001801,0.780328,0.),
480
+ vec3f(0.145177,-0.898984,0.),
481
+ vec3f(0.062655,-0.611866,0.),
482
+ vec3f(0.315226,-0.604297,0.),
483
+ vec3f(-0.780145,0.486251,0.),
484
+ vec3f(-0.371868,0.882138,0.),
485
+ vec3f(0.200476,0.494430,0.),
486
+ vec3f(-0.494552,-0.711051,0.),
487
+ vec3f(0.612476,0.705252,0.),
488
+ vec3f(-0.578845,-0.768792,0.),
489
+ vec3f(-0.772454,-0.090976,0.),
490
+ vec3f(0.504440,0.372295,0.),
491
+ vec3f(0.155736,0.065157,0.),
492
+ vec3f(0.391522,0.849605,0.),
493
+ vec3f(-0.620106,-0.328104,0.),
494
+ vec3f(0.789239,-0.419965,0.),
495
+ vec3f(-0.545396,0.538133,0.),
496
+ vec3f(-0.178564,-0.596057,0.)
497
+ );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
498
+ {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);}
499
+ 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);}
500
+ 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);}
501
+ 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
502
+ {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;}
503
+ 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);}
504
+ 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;}
505
+ 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);}
506
+ shadow/= f32(pcfTapCount);shadow=mix(shadow,1.,depthMetric-avgBlockerDepth);shadow=mix(darkness,1.,shadow);return select(computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff),1.0,exitCondition);}
507
+ 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
508
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);}
509
+ 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
510
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);}
511
+ 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
512
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);}
513
+ 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
514
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
515
+ 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
516
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
517
+ 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
518
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
519
+ #endif
520
+ `;
521
+ // Sideeffect
522
+ ShaderStore.IncludesShadersStoreWGSL[name$7] = shader$7;
523
+
524
+ // Do not edit.
525
+ const name$6 = "bumpFragmentMainFunctions";
526
+ const shader$6 = `#if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
527
+ #if defined(TANGENT) && defined(NORMAL)
528
+ varying vTBN0: vec3f;varying vTBN1: vec3f;varying vTBN2: vec3f;
529
+ #endif
530
+ #ifdef OBJECTSPACE_NORMALMAP
531
+ uniform normalMatrix: mat4x4f;fn toNormalMatrix(m: mat4x4f)->mat4x4f
532
+ {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];
533
+ var a21=m[2][1];var a22=m[2][2];var a23=m[2][3];var a30=m[3][0];
534
+ 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>(
535
+ (a11*b11-a12*b10+a13*b09)/det,
536
+ (a02*b10-a01*b11-a03*b09)/det,
537
+ (a31*b05-a32*b04+a33*b03)/det,
538
+ (a22*b04-a21*b05-a23*b03)/det,
539
+ (a12*b08-a10*b11-a13*b07)/det,
540
+ (a00*b11-a02*b08+a03*b07)/det,
541
+ (a32*b02-a30*b05-a33*b01)/det,
542
+ (a20*b05-a22*b02+a23*b01)/det,
543
+ (a10*b10-a11*b08+a13*b06)/det,
544
+ (a01*b08-a00*b10-a03*b06)/det,
545
+ (a30*b04-a31*b02+a33*b00)/det,
546
+ (a21*b02-a20*b04-a23*b00)/det,
547
+ (a11*b07-a10*b09-a12*b06)/det,
548
+ (a00*b09-a01*b07+a02*b06)/det,
549
+ (a31*b01-a30*b03-a32*b00)/det,
550
+ (a20*b03-a21*b01+a22*b00)/det);return mat4x4<f32>(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
551
+ mi[0][1],mi[1][1],mi[2][1],mi[3][1],
552
+ mi[0][2],mi[1][2],mi[2][2],mi[3][2],
553
+ mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
554
+ #endif
555
+ fn perturbNormalBase(cotangentFrame: mat3x3f,normal: vec3f,scale: f32)->vec3f
556
+ {var output=normal;
557
+ #ifdef NORMALXYSCALE
558
+ output=normalize(output* vec3f(scale,scale,1.0));
559
+ #endif
560
+ return normalize(cotangentFrame*output);}
561
+ fn perturbNormal(cotangentFrame: mat3x3f,textureSample: vec3f,scale: f32)->vec3f
562
+ {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
563
+ fn cotangent_frame(normal: vec3f,p: vec3f,uv: vec2f,tangentSpaceParams: vec2f)->mat3x3f
564
+ {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);}
565
+ #endif
566
+ `;
567
+ // Sideeffect
568
+ ShaderStore.IncludesShadersStoreWGSL[name$6] = shader$6;
569
+
570
+ // Do not edit.
571
+ const name$5 = "bumpFragmentFunctions";
572
+ const shader$5 = `#if defined(BUMP)
573
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
574
+ #endif
575
+ #if defined(DETAIL)
576
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
577
+ #endif
578
+ #if defined(BUMP) && defined(PARALLAX)
579
+ 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++)
580
+ {currSampledHeight=textureSample(bumpSampler,bumpSamplerSampler,texCoord+vCurrOffset).w;if (!keepWorking)
581
+ {}
582
+ else if (currSampledHeight>currRayHeight)
583
+ {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;}
584
+ else
585
+ {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
586
+ #ifdef PARALLAX_RHS
587
+ vCurrOffset-=stepSize*vMaxOffset;
588
+ #else
589
+ vCurrOffset+=stepSize*vMaxOffset;
590
+ #endif
591
+ lastSampledHeight=currSampledHeight;}}
592
+ return vCurrOffset;}
593
+ fn parallaxOffset(viewDir: vec3f,heightScale: f32)->vec2f
594
+ {var height: f32=textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV).w;var texCoordOffset: vec2f=heightScale*viewDir.xy*height;
595
+ #ifdef PARALLAX_RHS
596
+ return texCoordOffset;
597
+ #else
598
+ return -texCoordOffset;
599
+ #endif
600
+ }
601
+ #endif
602
+ `;
603
+ // Sideeffect
604
+ ShaderStore.IncludesShadersStoreWGSL[name$5] = shader$5;
605
+
606
+ // Do not edit.
607
+ const name$4 = "reflectionFunction";
608
+ const shader$4 = `fn computeFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
609
+ {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); }
610
+ fn computeMirroredFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
611
+ {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); }
612
+ fn computeEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
613
+ {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);}
614
+ fn computeSphericalCoords(worldPos: vec4f,worldNormal: vec3f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
615
+ {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);}
616
+ fn computePlanarCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
617
+ {var viewDir: vec3f=worldPos.xyz-eyePosition;var coords: vec3f=normalize(reflect(viewDir,worldNormal));return (reflectionMatrix* vec4f(coords,1)).xyz;}
618
+ fn computeCubicCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
619
+ {var viewDir: vec3f=normalize(worldPos.xyz-eyePosition);var coords: vec3f=reflect(viewDir,worldNormal);coords= (reflectionMatrix* vec4f(coords,0)).xyz;
620
+ #ifdef INVERTCUBICMAP
621
+ coords.y*=-1.0;
622
+ #endif
623
+ return coords;}
624
+ fn computeCubicLocalCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f,reflectionSize: vec3f,reflectionPosition: vec3f)->vec3f
625
+ {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;
626
+ #ifdef INVERTCUBICMAP
627
+ coords.y*=-1.0;
628
+ #endif
629
+ return coords;}
630
+ fn computeProjectionCoords(worldPos: vec4f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
631
+ {return (reflectionMatrix*(view*worldPos)).xyz;}
632
+ fn computeSkyBoxCoords(positionW: vec3f,reflectionMatrix: mat4x4f)->vec3f
633
+ {return (reflectionMatrix* vec4f(positionW,1.)).xyz;}
634
+ #ifdef REFLECTION
635
+ fn computeReflectionCoords(worldPos: vec4f,worldNormal: vec3f)->vec3f
636
+ {
637
+ #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
638
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
639
+ #endif
640
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
641
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
642
+ #endif
643
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR
644
+ return computeEquirectangularCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
645
+ #endif
646
+ #ifdef REFLECTIONMAP_SPHERICAL
647
+ return computeSphericalCoords(worldPos,worldNormal,scene.view,uniforms.reflectionMatrix);
648
+ #endif
649
+ #ifdef REFLECTIONMAP_PLANAR
650
+ return computePlanarCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
651
+ #endif
652
+ #ifdef REFLECTIONMAP_CUBIC
653
+ #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
654
+ return computeCubicLocalCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix,uniforms.vReflectionSize,uniforms.vReflectionPosition);
655
+ #else
656
+ return computeCubicCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
657
+ #endif
658
+ #endif
659
+ #ifdef REFLECTIONMAP_PROJECTION
660
+ return computeProjectionCoords(worldPos,scene.view,uniforms.reflectionMatrix);
661
+ #endif
662
+ #ifndef REFLECTIONMAP_CUBIC
663
+ #ifdef REFLECTIONMAP_SKYBOX
664
+ return computeSkyBoxCoords(fragmentInputs.vPositionUVW,uniforms.reflectionMatrix);
665
+ #endif
666
+ #endif
667
+ #ifdef REFLECTIONMAP_EXPLICIT
668
+ return vec3f(0,0,0);
669
+ #endif
670
+ }
671
+ #endif
672
+ `;
673
+ // Sideeffect
674
+ ShaderStore.IncludesShadersStoreWGSL[name$4] = shader$4;
675
+
676
+ // Do not edit.
677
+ const name$3 = "bumpFragment";
678
+ const shader$3 = `var uvOffset: vec2f= vec2f(0.0,0.0);
679
+ #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
680
+ #ifdef NORMALXYSCALE
681
+ var normalScale: f32=1.0;
682
+ #elif defined(BUMP)
683
+ var normalScale: f32=uniforms.vBumpInfos.y;
684
+ #else
685
+ var normalScale: f32=1.0;
686
+ #endif
687
+ #if defined(TANGENT) && defined(NORMAL)
688
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
689
+ #elif defined(BUMP)
690
+ var TBNUV: vec2f=select(-fragmentInputs.vBumpUV,fragmentInputs.vBumpUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV,uniforms.vTangentSpaceParams);
691
+ #else
692
+ var TBNUV: vec2f=select(-fragmentInputs.vDetailUV,fragmentInputs.vDetailUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV, vec2f(1.,1.));
693
+ #endif
694
+ #elif defined(ANISOTROPIC)
695
+ #if defined(TANGENT) && defined(NORMAL)
696
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
697
+ #else
698
+ var TBNUV: vec2f=select( -fragmentInputs.vMainUV1,fragmentInputs.vMainUV1,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW,input.vPositionW,TBNUV, vec2f(1.,1.));
699
+ #endif
700
+ #endif
701
+ #ifdef PARALLAX
702
+ var invTBN: mat3x3f=transposeMat3(TBN);
703
+ #ifdef PARALLAXOCCLUSION
704
+ uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,fragmentInputs.vBumpUV,uniforms.vBumpInfos.z);
705
+ #else
706
+ uvOffset=parallaxOffset(invTBN*viewDirectionW,uniforms.vBumpInfos.z);
707
+ #endif
708
+ #endif
709
+ #ifdef DETAIL
710
+ 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);
711
+ #endif
712
+ #ifdef BUMP
713
+ #ifdef OBJECTSPACE_NORMALMAP
714
+ #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
715
+ 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);
716
+ #elif !defined(DETAIL)
717
+ normalW=perturbNormal(TBN,textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz,uniforms.vBumpInfos.y);
718
+ #else
719
+ var bumpNormal: vec3f=textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz*2.0-1.0;
720
+ #if DETAIL_NORMALBLENDMETHOD==0
721
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);var blendedNormal: vec3f=normalize( vec3f(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
722
+ #elif DETAIL_NORMALBLENDMETHOD==1
723
+ 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;
724
+ #endif
725
+ normalW=perturbNormalBase(TBN,blendedNormal,uniforms.vBumpInfos.y);
726
+ #endif
727
+ #elif defined(DETAIL)
728
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);normalW=perturbNormalBase(TBN,detailNormal,uniforms.vDetailInfos.z);
729
+ #endif
730
+ `;
731
+ // Sideeffect
732
+ ShaderStore.IncludesShadersStoreWGSL[name$3] = shader$3;
733
+
734
+ // Do not edit.
735
+ const name$2 = "depthPrePass";
736
+ const shader$2 = `#ifdef DEPTHPREPASS
737
+ fragmentOutputs.color= vec4f(0.,0.,0.,1.0);return fragmentOutputs;
738
+ #endif
739
+ `;
740
+ // Sideeffect
741
+ ShaderStore.IncludesShadersStoreWGSL[name$2] = shader$2;
742
+
743
+ // Do not edit.
744
+ const name$1 = "lightFragment";
745
+ const shader$1 = `#ifdef LIGHT{X}
746
+ #if defined(SHADOWONLY) || defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})
747
+ #else
748
+ var diffuse{X}: vec4f=light{X}.vLightDiffuse;
749
+ #define CUSTOM_LIGHT{X}_COLOR
750
+ #ifdef PBR
751
+ #ifdef SPOTLIGHT{X}
752
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
753
+ #elif defined(POINTLIGHT{X})
754
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
755
+ #elif defined(HEMILIGHT{X})
756
+ preInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
757
+ #elif defined(DIRLIGHT{X})
758
+ preInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
759
+ #endif
760
+ preInfo.NdotV=NdotV;
761
+ #ifdef SPOTLIGHT{X}
762
+ #ifdef LIGHT_FALLOFF_GLTF{X}
763
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);preInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
764
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
765
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);preInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);
766
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
767
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);preInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);
768
+ #else
769
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);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);
770
+ #endif
771
+ #elif defined(POINTLIGHT{X})
772
+ #ifdef LIGHT_FALLOFF_GLTF{X}
773
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
774
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
775
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
776
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
777
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
778
+ #else
779
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
780
+ #endif
781
+ #else
782
+ preInfo.attenuation=1.0;
783
+ #endif
784
+ #ifdef HEMILIGHT{X}
785
+ preInfo.roughness=roughness;
786
+ #else
787
+ preInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
788
+ #endif
789
+ #ifdef IRIDESCENCE
790
+ preInfo.iridescenceIntensity=iridescenceIntensity;
791
+ #endif
792
+ #ifdef HEMILIGHT{X}
793
+ info.diffuse=computeHemisphericDiffuseLighting(preInfo,diffuse{X}.rgb,light{X}.vLightGround);
794
+ #elif defined(SS_TRANSLUCENCY)
795
+ info.diffuse=computeDiffuseAndTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
796
+ #else
797
+ info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb);
798
+ #endif
799
+ #ifdef SPECULARTERM
800
+ #ifdef ANISOTROPIC
801
+ info.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
802
+ #else
803
+ info.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
804
+ #endif
805
+ #endif
806
+ #ifdef SHEEN
807
+ #ifdef SHEEN_LINKWITHALBEDO
808
+ preInfo.roughness=sheenOut.sheenIntensity;
809
+ #else
810
+ #ifdef HEMILIGHT{X}
811
+ preInfo.roughness=sheenOut.sheenRoughness;
812
+ #else
813
+ preInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
814
+ #endif
815
+ #endif
816
+ info.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
817
+ #endif
818
+ #ifdef CLEARCOAT
819
+ #ifdef HEMILIGHT{X}
820
+ preInfo.roughness=clearcoatOut.clearCoatRoughness;
821
+ #else
822
+ preInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
823
+ #endif
824
+ info.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,diffuse{X}.rgb);
825
+ #ifdef CLEARCOAT_TINT
826
+ absorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);info.diffuse*=absorption;
827
+ #ifdef SPECULARTERM
828
+ info.specular*=absorption;
829
+ #endif
830
+ #endif
831
+ info.diffuse*=info.clearCoat.w;
832
+ #ifdef SPECULARTERM
833
+ info.specular*=info.clearCoat.w;
834
+ #endif
835
+ #ifdef SHEEN
836
+ info.sheen*=info.clearCoat.w;
837
+ #endif
838
+ #endif
839
+ #else
840
+ #ifdef SPOTLIGHT{X}
841
+ info=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
842
+ #elif defined(HEMILIGHT{X})
843
+ info=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);
844
+ #elif defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})
845
+ info=computeLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
846
+ #endif
847
+ #endif
848
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
849
+ info.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightTexture{X},projectionLightTexture{X}Sampler,uniforms.textureProjectionMatrix{X},fragmentInputs.vPositionW);
850
+ #endif
851
+ #endif
852
+ #ifdef SHADOW{X}
853
+ #ifdef SHADOWCSMDEBUG{X}
854
+ var shadowDebug{X}: vec3f;
855
+ #endif
856
+ #ifdef SHADOWCSM{X}
857
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
858
+ var index{X}: i32=-1;
859
+ #else
860
+ var index{X}: i32=SHADOWCSMNUM_CASCADES{X}-1;
861
+ #endif
862
+ 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++)
863
+ {
864
+ #ifdef SHADOWCSM_RIGHTHANDED{X}
865
+ diff{X}=uniforms.viewFrustumZ{X}[i]+fragmentInputs.vPositionFromCamera{X}.z;
866
+ #else
867
+ diff{X}=uniforms.viewFrustumZ{X}[i]-fragmentInputs.vPositionFromCamera{X}.z;
868
+ #endif
869
+ if (diff{X}>=0.) {index{X}=i;break;}}
870
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
871
+ if (index{X}>=0)
872
+ #endif
873
+ {
874
+ #if defined(SHADOWPCF{X})
875
+ #if defined(SHADOWLOWQUALITY{X})
876
+ 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);
877
+ #elif defined(SHADOWMEDIUMQUALITY{X})
878
+ 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);
879
+ #else
880
+ 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);
881
+ #endif
882
+ #elif defined(SHADOWPCSS{X})
883
+ #if defined(SHADOWLOWQUALITY{X})
884
+ 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});
885
+ #elif defined(SHADOWMEDIUMQUALITY{X})
886
+ 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});
887
+ #else
888
+ 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});
889
+ #endif
890
+ #else
891
+ 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);
892
+ #endif
893
+ #ifdef SHADOWCSMDEBUG{X}
894
+ shadowDebug{X}=vec3f(shadow)*vCascadeColorsMultiplier{X}[index{X}];
895
+ #endif
896
+ #ifndef SHADOWCSMNOBLEND{X}
897
+ 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.)
898
+ {index{X}+=1;var nextShadow: f32=0.;
899
+ #if defined(SHADOWPCF{X})
900
+ #if defined(SHADOWLOWQUALITY{X})
901
+ nextShadow=computeShadowWithCSMPCF1(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],,shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
902
+ #elif defined(SHADOWMEDIUMQUALITY{X})
903
+ 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);
904
+ #else
905
+ 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);
906
+ #endif
907
+ #elif defined(SHADOWPCSS{X})
908
+ #if defined(SHADOWLOWQUALITY{X})
909
+ 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});
910
+ #elif defined(SHADOWMEDIUMQUALITY{X})
911
+ 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});
912
+ #else
913
+ 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});
914
+ #endif
915
+ #else
916
+ 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);
917
+ #endif
918
+ shadow=mix(nextShadow,shadow,diffRatio);
919
+ #ifdef SHADOWCSMDEBUG{X}
920
+ shadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);
921
+ #endif
922
+ }
923
+ #endif
924
+ }
925
+ #elif defined(SHADOWCLOSEESM{X})
926
+ #if defined(SHADOWCUBE{X})
927
+ shadow=computeShadowWithCloseESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
928
+ #else
929
+ 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);
930
+ #endif
931
+ #elif defined(SHADOWESM{X})
932
+ #if defined(SHADOWCUBE{X})
933
+ shadow=computeShadowWithESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
934
+ #else
935
+ 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);
936
+ #endif
937
+ #elif defined(SHADOWPOISSON{X})
938
+ #if defined(SHADOWCUBE{X})
939
+ shadow=computeShadowWithPoissonSamplingCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);
940
+ #else
941
+ 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);
942
+ #endif
943
+ #elif defined(SHADOWPCF{X})
944
+ #if defined(SHADOWLOWQUALITY{X})
945
+ shadow=computeShadowWithPCF1(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
946
+ #elif defined(SHADOWMEDIUMQUALITY{X})
947
+ 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);
948
+ #else
949
+ 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);
950
+ #endif
951
+ #elif defined(SHADOWPCSS{X})
952
+ #if defined(SHADOWLOWQUALITY{X})
953
+ 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);
954
+ #elif defined(SHADOWMEDIUMQUALITY{X})
955
+ 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);
956
+ #else
957
+ 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);
958
+ #endif
959
+ #else
960
+ #if defined(SHADOWCUBE{X})
961
+ shadow=computeShadowCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.depthValues);
962
+ #else
963
+ shadow=computeShadow(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
964
+ #endif
965
+ #endif
966
+ #ifdef SHADOWONLY
967
+ #ifndef SHADOWINUSE
968
+ #define SHADOWINUSE
969
+ #endif
970
+ globalShadow+=shadow;shadowLightCount+=1.0;
971
+ #endif
972
+ #else
973
+ shadow=1.;
974
+ #endif
975
+ aggShadow+=shadow;numLights+=1.0;
976
+ #ifndef SHADOWONLY
977
+ #ifdef CUSTOMUSERLIGHTING
978
+ diffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);
979
+ #ifdef SPECULARTERM
980
+ specularBase+=computeCustomSpecularLighting(info,specularBase,shadow);
981
+ #endif
982
+ #elif defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})
983
+ diffuseBase+=lightmapColor.rgb*shadow;
984
+ #ifdef SPECULARTERM
985
+ #ifndef LIGHTMAPNOSPECULAR{X}
986
+ specularBase+=info.specular*shadow*lightmapColor.rgb;
987
+ #endif
988
+ #endif
989
+ #ifdef CLEARCOAT
990
+ #ifndef LIGHTMAPNOSPECULAR{X}
991
+ clearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;
992
+ #endif
993
+ #endif
994
+ #ifdef SHEEN
995
+ #ifndef LIGHTMAPNOSPECULAR{X}
996
+ sheenBase+=info.sheen.rgb*shadow;
997
+ #endif
998
+ #endif
999
+ #else
1000
+ #ifdef SHADOWCSMDEBUG{X}
1001
+ diffuseBase+=info.diffuse*shadowDebug{X};
1002
+ #else
1003
+ diffuseBase+=info.diffuse*shadow;
1004
+ #endif
1005
+ #ifdef SPECULARTERM
1006
+ specularBase+=info.specular*shadow;
1007
+ #endif
1008
+ #ifdef CLEARCOAT
1009
+ clearCoatBase+=info.clearCoat.rgb*shadow;
1010
+ #endif
1011
+ #ifdef SHEEN
1012
+ sheenBase+=info.sheen.rgb*shadow;
1013
+ #endif
1014
+ #endif
1015
+ #endif
1016
+ #endif
1017
+ `;
1018
+ // Sideeffect
1019
+ ShaderStore.IncludesShadersStoreWGSL[name$1] = shader$1;
1020
+
1021
+ // Do not edit.
1022
+ const name = "oitFragment";
1023
+ const shader = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
1024
+ var fragDepth: f32=fragmentInputs.position.z;
1025
+ #ifdef ORDER_INDEPENDENT_TRANSPARENCY_16BITS
1026
+ var halfFloat: u32=pack2x16float( vec2f(fragDepth));var full: vec2f=unpack2x16float(halfFloat);fragDepth=full.x;
1027
+ #endif
1028
+ 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);
1029
+ #ifdef USE_REVERSE_DEPTHBUFFER
1030
+ var furthestDepth: f32=-lastDepth.x;var nearestDepth: f32=lastDepth.y;
1031
+ #else
1032
+ var nearestDepth: f32=-lastDepth.x;var furthestDepth: f32=lastDepth.y;
1033
+ #endif
1034
+ var alphaMultiplier: f32=1.0-lastFrontColor.a;
1035
+ #ifdef USE_REVERSE_DEPTHBUFFER
1036
+ if (fragDepth>nearestDepth || fragDepth<furthestDepth) {
1037
+ #else
1038
+ if (fragDepth<nearestDepth || fragDepth>furthestDepth) {
1039
+ #endif
1040
+ return fragmentOutputs;}
1041
+ #ifdef USE_REVERSE_DEPTHBUFFER
1042
+ if (fragDepth<nearestDepth && fragDepth>furthestDepth) {
1043
+ #else
1044
+ if (fragDepth>nearestDepth && fragDepth<furthestDepth) {
1045
+ #endif
1046
+ fragmentOutputs.depth=vec2f(-fragDepth,fragDepth);return fragmentOutputs;}
1047
+ #endif
1048
+ `;
1049
+ // Sideeffect
1050
+ ShaderStore.IncludesShadersStoreWGSL[name] = shader;
1051
+ //# sourceMappingURL=oitFragment-SgLz27Xb.esm.js.map