@babylonjs/viewer 7.42.0 → 7.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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_ies-D-oSSifC.esm.min.js +2 -0
  7. package/dist/chunks/EXT_lights_ies-D-oSSifC.esm.min.js.map +1 -0
  8. package/dist/chunks/EXT_lights_ies-DJJLktlG.esm.js +84 -0
  9. package/dist/chunks/EXT_lights_ies-DJJLktlG.esm.js.map +1 -0
  10. package/dist/chunks/EXT_lights_image_based-Bm1EdHWU.esm.js +171 -0
  11. package/dist/chunks/EXT_lights_image_based-Bm1EdHWU.esm.js.map +1 -0
  12. package/dist/chunks/EXT_lights_image_based-CPP95suP.esm.min.js +2 -0
  13. package/dist/chunks/EXT_lights_image_based-CPP95suP.esm.min.js.map +1 -0
  14. package/dist/chunks/EXT_mesh_gpu_instancing-DuFNjp-b.esm.js +86 -0
  15. package/dist/chunks/EXT_mesh_gpu_instancing-DuFNjp-b.esm.js.map +1 -0
  16. package/dist/chunks/EXT_mesh_gpu_instancing-RXBAS2yg.esm.min.js +2 -0
  17. package/dist/chunks/EXT_mesh_gpu_instancing-RXBAS2yg.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_meshopt_compression-B_tol2Sa.esm.min.js +2 -0
  19. package/dist/chunks/EXT_meshopt_compression-B_tol2Sa.esm.min.js.map +1 -0
  20. package/dist/chunks/EXT_meshopt_compression-Rai3-_W3.esm.js +134 -0
  21. package/dist/chunks/EXT_meshopt_compression-Rai3-_W3.esm.js.map +1 -0
  22. package/dist/chunks/EXT_texture_avif-D3PbSGsk.esm.js +44 -0
  23. package/dist/chunks/EXT_texture_avif-D3PbSGsk.esm.js.map +1 -0
  24. package/dist/chunks/EXT_texture_avif-DB96e8gK.esm.min.js +2 -0
  25. package/dist/chunks/EXT_texture_avif-DB96e8gK.esm.min.js.map +1 -0
  26. package/dist/chunks/EXT_texture_webp-BrAdNUVI.esm.min.js +2 -0
  27. package/dist/chunks/EXT_texture_webp-BrAdNUVI.esm.min.js.map +1 -0
  28. package/dist/chunks/EXT_texture_webp-BsSdw4hb.esm.js +43 -0
  29. package/dist/chunks/EXT_texture_webp-BsSdw4hb.esm.js.map +1 -0
  30. package/dist/chunks/ExtrasAsMetadata-CvpNkVJm.esm.js +64 -0
  31. package/dist/chunks/ExtrasAsMetadata-CvpNkVJm.esm.js.map +1 -0
  32. package/dist/chunks/ExtrasAsMetadata-CwSGAnId.esm.min.js +2 -0
  33. package/dist/chunks/ExtrasAsMetadata-CwSGAnId.esm.min.js.map +1 -0
  34. package/dist/chunks/KHR_animation_pointer-B29-7REN.esm.js +352 -0
  35. package/dist/chunks/KHR_animation_pointer-B29-7REN.esm.js.map +1 -0
  36. package/dist/chunks/KHR_animation_pointer-DXhkj5r0.esm.min.js +2 -0
  37. package/dist/chunks/KHR_animation_pointer-DXhkj5r0.esm.min.js.map +1 -0
  38. package/dist/chunks/KHR_draco_mesh_compression-4y3oU3vs.esm.js +611 -0
  39. package/dist/chunks/KHR_draco_mesh_compression-4y3oU3vs.esm.js.map +1 -0
  40. package/dist/chunks/KHR_draco_mesh_compression-OUEmCF9O.esm.min.js +2 -0
  41. package/dist/chunks/KHR_draco_mesh_compression-OUEmCF9O.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_interactivity-DmxwZO-B.esm.min.js +2 -0
  43. package/dist/chunks/KHR_interactivity-DmxwZO-B.esm.min.js.map +1 -0
  44. package/dist/chunks/KHR_interactivity-Nql0vbRS.esm.js +4033 -0
  45. package/dist/chunks/KHR_interactivity-Nql0vbRS.esm.js.map +1 -0
  46. package/dist/chunks/KHR_lights_punctual-BuxTRJTD.esm.min.js +2 -0
  47. package/dist/chunks/KHR_lights_punctual-BuxTRJTD.esm.min.js.map +1 -0
  48. package/dist/chunks/KHR_lights_punctual-DT1Tmy49.esm.js +581 -0
  49. package/dist/chunks/KHR_lights_punctual-DT1Tmy49.esm.js.map +1 -0
  50. package/dist/chunks/KHR_materials_anisotropy-CkyM8JSq.esm.min.js +2 -0
  51. package/dist/chunks/KHR_materials_anisotropy-CkyM8JSq.esm.min.js.map +1 -0
  52. package/dist/chunks/KHR_materials_anisotropy-rMp1ahNa.esm.js +65 -0
  53. package/dist/chunks/KHR_materials_anisotropy-rMp1ahNa.esm.js.map +1 -0
  54. package/dist/chunks/KHR_materials_clearcoat-Dw7bP6zs.esm.js +96 -0
  55. package/dist/chunks/KHR_materials_clearcoat-Dw7bP6zs.esm.js.map +1 -0
  56. package/dist/chunks/KHR_materials_clearcoat-c_8cDReS.esm.min.js +2 -0
  57. package/dist/chunks/KHR_materials_clearcoat-c_8cDReS.esm.min.js.map +1 -0
  58. package/dist/chunks/KHR_materials_diffuse_transmission-CXn0MUer.esm.min.js +2 -0
  59. package/dist/chunks/KHR_materials_diffuse_transmission-CXn0MUer.esm.min.js.map +1 -0
  60. package/dist/chunks/KHR_materials_diffuse_transmission-CsMJW09v.esm.js +97 -0
  61. package/dist/chunks/KHR_materials_diffuse_transmission-CsMJW09v.esm.js.map +1 -0
  62. package/dist/chunks/KHR_materials_dispersion-BDCbGsPA.esm.js +62 -0
  63. package/dist/chunks/KHR_materials_dispersion-BDCbGsPA.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_dispersion-D2yTJOjM.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_dispersion-D2yTJOjM.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_emissive_strength-Tz0C88U3.esm.min.js +2 -0
  67. package/dist/chunks/KHR_materials_emissive_strength-Tz0C88U3.esm.min.js.map +1 -0
  68. package/dist/chunks/KHR_materials_emissive_strength-jQMxZKq5.esm.js +55 -0
  69. package/dist/chunks/KHR_materials_emissive_strength-jQMxZKq5.esm.js.map +1 -0
  70. package/dist/chunks/KHR_materials_ior-2zUX8jy7.esm.js +64 -0
  71. package/dist/chunks/KHR_materials_ior-2zUX8jy7.esm.js.map +1 -0
  72. package/dist/chunks/KHR_materials_ior-sCAKuvLs.esm.min.js +2 -0
  73. package/dist/chunks/KHR_materials_ior-sCAKuvLs.esm.min.js.map +1 -0
  74. package/dist/chunks/KHR_materials_iridescence-CTk6lY7i.esm.min.js +2 -0
  75. package/dist/chunks/KHR_materials_iridescence-CTk6lY7i.esm.min.js.map +1 -0
  76. package/dist/chunks/KHR_materials_iridescence-DxBAsUzR.esm.js +72 -0
  77. package/dist/chunks/KHR_materials_iridescence-DxBAsUzR.esm.js.map +1 -0
  78. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BgkZXf0x.esm.js +81 -0
  79. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BgkZXf0x.esm.js.map +1 -0
  80. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Dq7WTMdT.esm.min.js +2 -0
  81. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Dq7WTMdT.esm.min.js.map +1 -0
  82. package/dist/chunks/KHR_materials_sheen-35UGLw0C.esm.js +85 -0
  83. package/dist/chunks/KHR_materials_sheen-35UGLw0C.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_sheen-DQ6C57Dt.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_sheen-DQ6C57Dt.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_specular-BPk7EQUD.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_specular-BPk7EQUD.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_specular-DrL3M38a.esm.js +75 -0
  89. package/dist/chunks/KHR_materials_specular-DrL3M38a.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_transmission-3olkVCcW.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_transmission-3olkVCcW.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_transmission-BpjfU0Rf.esm.js +307 -0
  93. package/dist/chunks/KHR_materials_transmission-BpjfU0Rf.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_unlit-BK4Bp8qS.esm.min.js +2 -0
  95. package/dist/chunks/KHR_materials_unlit-BK4Bp8qS.esm.min.js.map +1 -0
  96. package/dist/chunks/KHR_materials_unlit-DqWkeMIs.esm.js +74 -0
  97. package/dist/chunks/KHR_materials_unlit-DqWkeMIs.esm.js.map +1 -0
  98. package/dist/chunks/KHR_materials_variants-C8EH6z5q.esm.js +262 -0
  99. package/dist/chunks/KHR_materials_variants-C8EH6z5q.esm.js.map +1 -0
  100. package/dist/chunks/KHR_materials_variants-U_7nHGWs.esm.min.js +2 -0
  101. package/dist/chunks/KHR_materials_variants-U_7nHGWs.esm.min.js.map +1 -0
  102. package/dist/chunks/KHR_materials_volume-QCITeTgE.esm.min.js +2 -0
  103. package/dist/chunks/KHR_materials_volume-QCITeTgE.esm.min.js.map +1 -0
  104. package/dist/chunks/KHR_materials_volume-eXcEVVpW.esm.js +87 -0
  105. package/dist/chunks/KHR_materials_volume-eXcEVVpW.esm.js.map +1 -0
  106. package/dist/chunks/KHR_mesh_quantization-BjqgHT7P.esm.js +26 -0
  107. package/dist/chunks/KHR_mesh_quantization-BjqgHT7P.esm.js.map +1 -0
  108. package/dist/chunks/KHR_mesh_quantization-CEo8-_n9.esm.min.js +2 -0
  109. package/dist/chunks/KHR_mesh_quantization-CEo8-_n9.esm.min.js.map +1 -0
  110. package/dist/chunks/KHR_node_hoverability-CLakAM7o.esm.min.js +2 -0
  111. package/dist/chunks/KHR_node_hoverability-CLakAM7o.esm.min.js.map +1 -0
  112. package/dist/chunks/KHR_node_hoverability-XR4H2sEJ.esm.js +39 -0
  113. package/dist/chunks/KHR_node_hoverability-XR4H2sEJ.esm.js.map +1 -0
  114. package/dist/chunks/KHR_node_visibility-D5-Uq040.esm.js +46 -0
  115. package/dist/chunks/KHR_node_visibility-D5-Uq040.esm.js.map +1 -0
  116. package/dist/chunks/KHR_node_visibility-JpHMpDZy.esm.min.js +2 -0
  117. package/dist/chunks/KHR_node_visibility-JpHMpDZy.esm.min.js.map +1 -0
  118. package/dist/chunks/KHR_texture_basisu-CK096eX9.esm.min.js +2 -0
  119. package/dist/chunks/KHR_texture_basisu-CK096eX9.esm.min.js.map +1 -0
  120. package/dist/chunks/KHR_texture_basisu-JvEhdHQJ.esm.js +43 -0
  121. package/dist/chunks/KHR_texture_basisu-JvEhdHQJ.esm.js.map +1 -0
  122. package/dist/chunks/KHR_texture_transform-ASnRyeyf.esm.js +63 -0
  123. package/dist/chunks/KHR_texture_transform-ASnRyeyf.esm.js.map +1 -0
  124. package/dist/chunks/KHR_texture_transform-Ci769L7F.esm.min.js +2 -0
  125. package/dist/chunks/KHR_texture_transform-Ci769L7F.esm.min.js.map +1 -0
  126. package/dist/chunks/KHR_xmp_json_ld-Cf0IphHD.esm.min.js +2 -0
  127. package/dist/chunks/KHR_xmp_json_ld-Cf0IphHD.esm.min.js.map +1 -0
  128. package/dist/chunks/KHR_xmp_json_ld-ZytUWg-l.esm.js +51 -0
  129. package/dist/chunks/KHR_xmp_json_ld-ZytUWg-l.esm.js.map +1 -0
  130. package/dist/chunks/MSFT_audio_emitter-BjoYL7lC.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_audio_emitter-BjoYL7lC.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_audio_emitter-Di8nqSDi.esm.js +2200 -0
  133. package/dist/chunks/MSFT_audio_emitter-Di8nqSDi.esm.js.map +1 -0
  134. package/dist/chunks/MSFT_lod-BMUlo5OU.esm.js +337 -0
  135. package/dist/chunks/MSFT_lod-BMUlo5OU.esm.js.map +1 -0
  136. package/dist/chunks/MSFT_lod-OG5_k4mO.esm.min.js +2 -0
  137. package/dist/chunks/MSFT_lod-OG5_k4mO.esm.min.js.map +1 -0
  138. package/dist/chunks/MSFT_minecraftMesh-CA9_SnEQ.esm.js +46 -0
  139. package/dist/chunks/MSFT_minecraftMesh-CA9_SnEQ.esm.js.map +1 -0
  140. package/dist/chunks/MSFT_minecraftMesh-DA-GfwSb.esm.min.js +2 -0
  141. package/dist/chunks/MSFT_minecraftMesh-DA-GfwSb.esm.min.js.map +1 -0
  142. package/dist/chunks/MSFT_sRGBFactors-BpXptZ3D.esm.js +47 -0
  143. package/dist/chunks/MSFT_sRGBFactors-BpXptZ3D.esm.js.map +1 -0
  144. package/dist/chunks/MSFT_sRGBFactors-COm0y2eh.esm.min.js +2 -0
  145. package/dist/chunks/MSFT_sRGBFactors-COm0y2eh.esm.min.js.map +1 -0
  146. package/dist/chunks/animationGroup-DeyI1KVN.esm.min.js +2 -0
  147. package/dist/chunks/animationGroup-DeyI1KVN.esm.min.js.map +1 -0
  148. package/dist/chunks/animationGroup-DrsZkXQW.esm.js +2482 -0
  149. package/dist/chunks/animationGroup-DrsZkXQW.esm.js.map +1 -0
  150. package/dist/chunks/assetContainer-Cx2Wvxkg.esm.js +1786 -0
  151. package/dist/chunks/assetContainer-Cx2Wvxkg.esm.js.map +1 -0
  152. package/dist/chunks/assetContainer-l3mez3br.esm.min.js +2 -0
  153. package/dist/chunks/assetContainer-l3mez3br.esm.min.js.map +1 -0
  154. package/dist/chunks/bakedVertexAnimation-CwJYQylG.esm.js +114 -0
  155. package/dist/chunks/bakedVertexAnimation-CwJYQylG.esm.js.map +1 -0
  156. package/dist/chunks/bakedVertexAnimation-D5PLG8Vz.esm.min.js +2 -0
  157. package/dist/chunks/bakedVertexAnimation-D5PLG8Vz.esm.min.js.map +1 -0
  158. package/dist/chunks/basisTextureLoader-BNH-2Zvb.esm.min.js +2 -0
  159. package/dist/chunks/basisTextureLoader-BNH-2Zvb.esm.min.js.map +1 -0
  160. package/dist/chunks/basisTextureLoader-JW5tEMV8.esm.js +600 -0
  161. package/dist/chunks/basisTextureLoader-JW5tEMV8.esm.js.map +1 -0
  162. package/dist/chunks/dds-B1kYpKg4.esm.js +540 -0
  163. package/dist/chunks/dds-B1kYpKg4.esm.js.map +1 -0
  164. package/dist/chunks/dds-BIaKvdM8.esm.min.js +2 -0
  165. package/dist/chunks/dds-BIaKvdM8.esm.min.js.map +1 -0
  166. package/dist/chunks/ddsTextureLoader-DHdy4-WN.esm.js +88 -0
  167. package/dist/chunks/ddsTextureLoader-DHdy4-WN.esm.js.map +1 -0
  168. package/dist/chunks/ddsTextureLoader-DQvH8BPG.esm.min.js +2 -0
  169. package/dist/chunks/ddsTextureLoader-DQvH8BPG.esm.min.js.map +1 -0
  170. package/dist/chunks/decalFragment-B07XA08h.esm.min.js +2 -0
  171. package/dist/chunks/decalFragment-B07XA08h.esm.min.js.map +1 -0
  172. package/dist/chunks/decalFragment-ClGzoop1.esm.js +18 -0
  173. package/dist/chunks/decalFragment-ClGzoop1.esm.js.map +1 -0
  174. package/dist/chunks/default.fragment-CAC3-eH5.esm.min.js +2 -0
  175. package/dist/chunks/default.fragment-CAC3-eH5.esm.min.js.map +1 -0
  176. package/dist/chunks/default.fragment-Cr0qnYU0.esm.js +446 -0
  177. package/dist/chunks/default.fragment-Cr0qnYU0.esm.js.map +1 -0
  178. package/dist/chunks/default.fragment-DJgifW8z.esm.min.js +2 -0
  179. package/dist/chunks/default.fragment-DJgifW8z.esm.min.js.map +1 -0
  180. package/dist/chunks/default.fragment-uFTw5k6Z.esm.js +515 -0
  181. package/dist/chunks/default.fragment-uFTw5k6Z.esm.js.map +1 -0
  182. package/dist/chunks/default.vertex-B_u-vpoR.esm.js +211 -0
  183. package/dist/chunks/default.vertex-B_u-vpoR.esm.js.map +1 -0
  184. package/dist/chunks/default.vertex-Bo-YeuPk.esm.min.js +2 -0
  185. package/dist/chunks/default.vertex-Bo-YeuPk.esm.min.js.map +1 -0
  186. package/dist/chunks/default.vertex-C6LMYeLT.esm.min.js +2 -0
  187. package/dist/chunks/default.vertex-C6LMYeLT.esm.min.js.map +1 -0
  188. package/dist/chunks/default.vertex-CzuD5tIE.esm.js +190 -0
  189. package/dist/chunks/default.vertex-CzuD5tIE.esm.js.map +1 -0
  190. package/dist/chunks/defaultUboDeclaration-BSYuerQe.esm.min.js +2 -0
  191. package/dist/chunks/defaultUboDeclaration-BSYuerQe.esm.min.js.map +1 -0
  192. package/dist/chunks/defaultUboDeclaration-CQJaKPLM.esm.min.js +2 -0
  193. package/dist/chunks/defaultUboDeclaration-CQJaKPLM.esm.min.js.map +1 -0
  194. package/dist/chunks/defaultUboDeclaration-DzRt1iTO.esm.js +13 -0
  195. package/dist/chunks/defaultUboDeclaration-DzRt1iTO.esm.js.map +1 -0
  196. package/dist/chunks/defaultUboDeclaration-DzpAmCf1.esm.js +15 -0
  197. package/dist/chunks/defaultUboDeclaration-DzpAmCf1.esm.js.map +1 -0
  198. package/dist/chunks/dumpTools-JfWNUHd1.esm.js +200 -0
  199. package/dist/chunks/dumpTools-JfWNUHd1.esm.js.map +1 -0
  200. package/dist/chunks/dumpTools-MGQM1tV4.esm.min.js +2 -0
  201. package/dist/chunks/dumpTools-MGQM1tV4.esm.min.js.map +1 -0
  202. package/dist/chunks/envTextureLoader-CoD9RkFy.esm.js +64 -0
  203. package/dist/chunks/envTextureLoader-CoD9RkFy.esm.js.map +1 -0
  204. package/dist/chunks/envTextureLoader-_huqF4Iu.esm.min.js +2 -0
  205. package/dist/chunks/envTextureLoader-_huqF4Iu.esm.min.js.map +1 -0
  206. package/dist/chunks/environmentTextureTools-BFBrSyc_.esm.min.js +2 -0
  207. package/dist/chunks/environmentTextureTools-BFBrSyc_.esm.min.js.map +1 -0
  208. package/dist/chunks/environmentTextureTools-DMKf2lIW.esm.js +382 -0
  209. package/dist/chunks/environmentTextureTools-DMKf2lIW.esm.js.map +1 -0
  210. package/dist/chunks/exrTextureLoader-BkuwS0XF.esm.min.js +2 -0
  211. package/dist/chunks/exrTextureLoader-BkuwS0XF.esm.min.js.map +1 -0
  212. package/dist/chunks/exrTextureLoader-DxOSgB3m.esm.js +1683 -0
  213. package/dist/chunks/exrTextureLoader-DxOSgB3m.esm.js.map +1 -0
  214. package/dist/chunks/fogFragment-CdyzhyDy.esm.min.js +2 -0
  215. package/dist/chunks/fogFragment-CdyzhyDy.esm.min.js.map +1 -0
  216. package/dist/chunks/fogFragment-Ct0roave.esm.js +101 -0
  217. package/dist/chunks/fogFragment-Ct0roave.esm.js.map +1 -0
  218. package/dist/chunks/fogFragment-DjORBY8D.esm.min.js +2 -0
  219. package/dist/chunks/fogFragment-DjORBY8D.esm.min.js.map +1 -0
  220. package/dist/chunks/fogFragment-DwdRh83Z.esm.js +102 -0
  221. package/dist/chunks/fogFragment-DwdRh83Z.esm.js.map +1 -0
  222. package/dist/chunks/fresnelFunction-CuDZqiSs.esm.js +12 -0
  223. package/dist/chunks/fresnelFunction-CuDZqiSs.esm.js.map +1 -0
  224. package/dist/chunks/fresnelFunction-zYzL693r.esm.min.js +2 -0
  225. package/dist/chunks/fresnelFunction-zYzL693r.esm.min.js.map +1 -0
  226. package/dist/chunks/glTFLoader-CKBe9bFc.esm.js +7735 -0
  227. package/dist/chunks/glTFLoader-CKBe9bFc.esm.js.map +1 -0
  228. package/dist/chunks/glTFLoader-HrDvovFY.esm.min.js +2 -0
  229. package/dist/chunks/glTFLoader-HrDvovFY.esm.min.js.map +1 -0
  230. package/dist/chunks/glTFLoaderAnimation-D-y1xZvo.esm.min.js +2 -0
  231. package/dist/chunks/glTFLoaderAnimation-D-y1xZvo.esm.min.js.map +1 -0
  232. package/dist/chunks/glTFLoaderAnimation-D57wBZJj.esm.js +77 -0
  233. package/dist/chunks/glTFLoaderAnimation-D57wBZJj.esm.js.map +1 -0
  234. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  235. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  236. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  237. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  238. package/dist/chunks/harmonicsFunctions-8p1AKl3B.esm.js +35 -0
  239. package/dist/chunks/harmonicsFunctions-8p1AKl3B.esm.js.map +1 -0
  240. package/dist/chunks/harmonicsFunctions-C3M4g6jE.esm.min.js +2 -0
  241. package/dist/chunks/harmonicsFunctions-C3M4g6jE.esm.min.js.map +1 -0
  242. package/dist/chunks/harmonicsFunctions-CoiTSsVa.esm.min.js +2 -0
  243. package/dist/chunks/harmonicsFunctions-CoiTSsVa.esm.min.js.map +1 -0
  244. package/dist/chunks/harmonicsFunctions-HT06ZoZl.esm.js +34 -0
  245. package/dist/chunks/harmonicsFunctions-HT06ZoZl.esm.js.map +1 -0
  246. package/dist/chunks/hdrTextureLoader-B0kksMif.esm.js +253 -0
  247. package/dist/chunks/hdrTextureLoader-B0kksMif.esm.js.map +1 -0
  248. package/dist/chunks/hdrTextureLoader-CnTSpduj.esm.min.js +2 -0
  249. package/dist/chunks/hdrTextureLoader-CnTSpduj.esm.min.js.map +1 -0
  250. package/dist/chunks/helperFunctions-Bq5KkNmT.esm.js +83 -0
  251. package/dist/chunks/helperFunctions-Bq5KkNmT.esm.js.map +1 -0
  252. package/dist/chunks/helperFunctions-DauLsm9X.esm.min.js +2 -0
  253. package/dist/chunks/helperFunctions-DauLsm9X.esm.min.js.map +1 -0
  254. package/dist/chunks/helperFunctions-Du6Zsfhy.esm.min.js +2 -0
  255. package/dist/chunks/helperFunctions-Du6Zsfhy.esm.min.js.map +1 -0
  256. package/dist/chunks/helperFunctions-oDSGYqJN.esm.js +110 -0
  257. package/dist/chunks/helperFunctions-oDSGYqJN.esm.js.map +1 -0
  258. package/dist/chunks/iesTextureLoader-DdRr77cj.esm.js +189 -0
  259. package/dist/chunks/iesTextureLoader-DdRr77cj.esm.js.map +1 -0
  260. package/dist/chunks/iesTextureLoader-DkEckxVj.esm.min.js +2 -0
  261. package/dist/chunks/iesTextureLoader-DkEckxVj.esm.min.js.map +1 -0
  262. package/dist/chunks/index-D46Rc8Qa.esm.js +82819 -0
  263. package/dist/chunks/index-D46Rc8Qa.esm.js.map +1 -0
  264. package/dist/chunks/index-r5IGv8fd.esm.min.js +57 -0
  265. package/dist/chunks/index-r5IGv8fd.esm.min.js.map +1 -0
  266. package/dist/chunks/ktxTextureLoader-CImJ68er.esm.min.js +2 -0
  267. package/dist/chunks/ktxTextureLoader-CImJ68er.esm.min.js.map +1 -0
  268. package/dist/chunks/ktxTextureLoader-CvQzBtnz.esm.js +814 -0
  269. package/dist/chunks/ktxTextureLoader-CvQzBtnz.esm.js.map +1 -0
  270. package/dist/chunks/logDepthDeclaration-BNJ_qeEv.esm.min.js +2 -0
  271. package/dist/chunks/logDepthDeclaration-BNJ_qeEv.esm.min.js.map +1 -0
  272. package/dist/chunks/logDepthDeclaration-Co9yKHfe.esm.js +35 -0
  273. package/dist/chunks/logDepthDeclaration-Co9yKHfe.esm.js.map +1 -0
  274. package/dist/chunks/logDepthDeclaration-DP9tYyv7.esm.min.js +2 -0
  275. package/dist/chunks/logDepthDeclaration-DP9tYyv7.esm.min.js.map +1 -0
  276. package/dist/chunks/logDepthDeclaration-KzS73dPG.esm.js +11 -0
  277. package/dist/chunks/logDepthDeclaration-KzS73dPG.esm.js.map +1 -0
  278. package/dist/chunks/logDepthVertex-BBDSLJJg.esm.js +77 -0
  279. package/dist/chunks/logDepthVertex-BBDSLJJg.esm.js.map +1 -0
  280. package/dist/chunks/logDepthVertex-CHXEv8Hm.esm.min.js +2 -0
  281. package/dist/chunks/logDepthVertex-CHXEv8Hm.esm.min.js.map +1 -0
  282. package/dist/chunks/logDepthVertex-CkCG5UAD.esm.min.js +2 -0
  283. package/dist/chunks/logDepthVertex-CkCG5UAD.esm.min.js.map +1 -0
  284. package/dist/chunks/logDepthVertex-DKTOhgu8.esm.js +81 -0
  285. package/dist/chunks/logDepthVertex-DKTOhgu8.esm.js.map +1 -0
  286. package/dist/chunks/mainUVVaryingDeclaration-BxP2qnf1.esm.js +11 -0
  287. package/dist/chunks/mainUVVaryingDeclaration-BxP2qnf1.esm.js.map +1 -0
  288. package/dist/chunks/mainUVVaryingDeclaration-D-YFWEWb.esm.min.js +2 -0
  289. package/dist/chunks/mainUVVaryingDeclaration-D-YFWEWb.esm.min.js.map +1 -0
  290. package/dist/chunks/mainUVVaryingDeclaration-D5LXIN_s.esm.min.js +2 -0
  291. package/dist/chunks/mainUVVaryingDeclaration-D5LXIN_s.esm.min.js.map +1 -0
  292. package/dist/chunks/mainUVVaryingDeclaration-DBd0Ca2K.esm.js +11 -0
  293. package/dist/chunks/mainUVVaryingDeclaration-DBd0Ca2K.esm.js.map +1 -0
  294. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +119 -0
  295. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +1 -0
  296. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +2 -0
  297. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +1 -0
  298. package/dist/chunks/meshUboDeclaration-D7vtpetW.esm.js +26 -0
  299. package/dist/chunks/meshUboDeclaration-D7vtpetW.esm.js.map +1 -0
  300. package/dist/chunks/meshUboDeclaration-tb8T5asG.esm.min.js +2 -0
  301. package/dist/chunks/meshUboDeclaration-tb8T5asG.esm.min.js.map +1 -0
  302. package/dist/chunks/objFileLoader-B0XaXxyr.esm.min.js +2 -0
  303. package/dist/chunks/objFileLoader-B0XaXxyr.esm.min.js.map +1 -0
  304. package/dist/chunks/objFileLoader-B1MaGxQt.esm.js +1338 -0
  305. package/dist/chunks/objFileLoader-B1MaGxQt.esm.js.map +1 -0
  306. package/dist/chunks/oitFragment-BEKFrqPY.esm.js +1078 -0
  307. package/dist/chunks/oitFragment-BEKFrqPY.esm.js.map +1 -0
  308. package/dist/chunks/oitFragment-CJrbQh0i.esm.min.js +2 -0
  309. package/dist/chunks/oitFragment-CJrbQh0i.esm.min.js.map +1 -0
  310. package/dist/chunks/oitFragment-DCxGblwL.esm.js +1240 -0
  311. package/dist/chunks/oitFragment-DCxGblwL.esm.js.map +1 -0
  312. package/dist/chunks/oitFragment-sZA5tkE3.esm.min.js +2 -0
  313. package/dist/chunks/oitFragment-sZA5tkE3.esm.min.js.map +1 -0
  314. package/dist/chunks/pass.fragment-BYDvFFL5.esm.js +15 -0
  315. package/dist/chunks/pass.fragment-BYDvFFL5.esm.js.map +1 -0
  316. package/dist/chunks/pass.fragment-BgXOqRns.esm.js +15 -0
  317. package/dist/chunks/pass.fragment-BgXOqRns.esm.js.map +1 -0
  318. package/dist/chunks/pass.fragment-DgadxzwS.esm.min.js +2 -0
  319. package/dist/chunks/pass.fragment-DgadxzwS.esm.min.js.map +1 -0
  320. package/dist/chunks/pass.fragment-Dqmp3CRB.esm.min.js +2 -0
  321. package/dist/chunks/pass.fragment-Dqmp3CRB.esm.min.js.map +1 -0
  322. package/dist/chunks/passCube.fragment-07CNLnnq.esm.js +34 -0
  323. package/dist/chunks/passCube.fragment-07CNLnnq.esm.js.map +1 -0
  324. package/dist/chunks/passCube.fragment-4R2Z-LXR.esm.min.js +2 -0
  325. package/dist/chunks/passCube.fragment-4R2Z-LXR.esm.min.js.map +1 -0
  326. package/dist/chunks/passCube.fragment-Aq1scRJ9.esm.js +34 -0
  327. package/dist/chunks/passCube.fragment-Aq1scRJ9.esm.js.map +1 -0
  328. package/dist/chunks/passCube.fragment-DiybDNvK.esm.min.js +2 -0
  329. package/dist/chunks/passCube.fragment-DiybDNvK.esm.min.js.map +1 -0
  330. package/dist/chunks/pbr.fragment-CBb8vd51.esm.min.js +2 -0
  331. package/dist/chunks/pbr.fragment-CBb8vd51.esm.min.js.map +1 -0
  332. package/dist/chunks/pbr.fragment-DSUT21Rk.esm.min.js +2 -0
  333. package/dist/chunks/pbr.fragment-DSUT21Rk.esm.min.js.map +1 -0
  334. package/dist/chunks/pbr.fragment-DmP7eqg7.esm.js +3272 -0
  335. package/dist/chunks/pbr.fragment-DmP7eqg7.esm.js.map +1 -0
  336. package/dist/chunks/pbr.fragment-DzIZJg6m.esm.js +3225 -0
  337. package/dist/chunks/pbr.fragment-DzIZJg6m.esm.js.map +1 -0
  338. package/dist/chunks/pbr.vertex--Lj5Uipt.esm.js +223 -0
  339. package/dist/chunks/pbr.vertex--Lj5Uipt.esm.js.map +1 -0
  340. package/dist/chunks/pbr.vertex-BScRF6wh.esm.min.js +2 -0
  341. package/dist/chunks/pbr.vertex-BScRF6wh.esm.min.js.map +1 -0
  342. package/dist/chunks/pbr.vertex-CZSsnbPf.esm.js +348 -0
  343. package/dist/chunks/pbr.vertex-CZSsnbPf.esm.js.map +1 -0
  344. package/dist/chunks/pbr.vertex-Nho2p99M.esm.min.js +2 -0
  345. package/dist/chunks/pbr.vertex-Nho2p99M.esm.min.js.map +1 -0
  346. package/dist/chunks/postprocess.vertex-B_q6GHTK.esm.js +20 -0
  347. package/dist/chunks/postprocess.vertex-B_q6GHTK.esm.js.map +1 -0
  348. package/dist/chunks/postprocess.vertex-C-ocJcje.esm.min.js +2 -0
  349. package/dist/chunks/postprocess.vertex-C-ocJcje.esm.min.js.map +1 -0
  350. package/dist/chunks/rawTexture-DeYN01jd.esm.min.js +2 -0
  351. package/dist/chunks/rawTexture-DeYN01jd.esm.min.js.map +1 -0
  352. package/dist/chunks/rawTexture-Dh4jdTlv.esm.js +191 -0
  353. package/dist/chunks/rawTexture-Dh4jdTlv.esm.js.map +1 -0
  354. package/dist/chunks/ray-DMN9ip7z.esm.min.js +2 -0
  355. package/dist/chunks/ray-DMN9ip7z.esm.min.js.map +1 -0
  356. package/dist/chunks/ray-QR2k6aJd.esm.js +946 -0
  357. package/dist/chunks/ray-QR2k6aJd.esm.js.map +1 -0
  358. package/dist/chunks/rgbdDecode.fragment-C3AkoFAQ.esm.min.js +2 -0
  359. package/dist/chunks/rgbdDecode.fragment-C3AkoFAQ.esm.min.js.map +1 -0
  360. package/dist/chunks/rgbdDecode.fragment-Cok6PVQr.esm.js +13 -0
  361. package/dist/chunks/rgbdDecode.fragment-Cok6PVQr.esm.js.map +1 -0
  362. package/dist/chunks/rgbdDecode.fragment-CqcagT1x.esm.min.js +2 -0
  363. package/dist/chunks/rgbdDecode.fragment-CqcagT1x.esm.min.js.map +1 -0
  364. package/dist/chunks/rgbdDecode.fragment-DRpqF3bE.esm.js +13 -0
  365. package/dist/chunks/rgbdDecode.fragment-DRpqF3bE.esm.js.map +1 -0
  366. package/dist/chunks/rgbdEncode.fragment-BLe7imXf.esm.min.js +2 -0
  367. package/dist/chunks/rgbdEncode.fragment-BLe7imXf.esm.min.js.map +1 -0
  368. package/dist/chunks/rgbdEncode.fragment-Bi6E_oVW.esm.js +13 -0
  369. package/dist/chunks/rgbdEncode.fragment-Bi6E_oVW.esm.js.map +1 -0
  370. package/dist/chunks/rgbdEncode.fragment-C7hBKPem.esm.min.js +2 -0
  371. package/dist/chunks/rgbdEncode.fragment-C7hBKPem.esm.min.js.map +1 -0
  372. package/dist/chunks/rgbdEncode.fragment-C9DicUjD.esm.js +13 -0
  373. package/dist/chunks/rgbdEncode.fragment-C9DicUjD.esm.js.map +1 -0
  374. package/dist/chunks/splatFileLoader-BzfYte-_.esm.min.js +2 -0
  375. package/dist/chunks/splatFileLoader-BzfYte-_.esm.min.js.map +1 -0
  376. package/dist/chunks/splatFileLoader-K9RpjB6c.esm.js +3660 -0
  377. package/dist/chunks/splatFileLoader-K9RpjB6c.esm.js.map +1 -0
  378. package/dist/chunks/spotLight-CJlK-_c5.esm.min.js +2 -0
  379. package/dist/chunks/spotLight-CJlK-_c5.esm.min.js.map +1 -0
  380. package/dist/chunks/spotLight-DxPJdRVZ.esm.js +701 -0
  381. package/dist/chunks/spotLight-DxPJdRVZ.esm.js.map +1 -0
  382. package/dist/chunks/standardMaterial-BRKRGk7c.esm.js +1811 -0
  383. package/dist/chunks/standardMaterial-BRKRGk7c.esm.js.map +1 -0
  384. package/dist/chunks/standardMaterial-Bs9Jda3X.esm.min.js +2 -0
  385. package/dist/chunks/standardMaterial-Bs9Jda3X.esm.min.js.map +1 -0
  386. package/dist/chunks/stlFileLoader-BSGzPo-z.esm.min.js +2 -0
  387. package/dist/chunks/stlFileLoader-BSGzPo-z.esm.min.js.map +1 -0
  388. package/dist/chunks/stlFileLoader-DtPzeNXZ.esm.js +238 -0
  389. package/dist/chunks/stlFileLoader-DtPzeNXZ.esm.js.map +1 -0
  390. package/dist/chunks/tgaTextureLoader-CFjxRPEE.esm.js +349 -0
  391. package/dist/chunks/tgaTextureLoader-CFjxRPEE.esm.js.map +1 -0
  392. package/dist/chunks/tgaTextureLoader-Ch1a2Rcd.esm.min.js +2 -0
  393. package/dist/chunks/tgaTextureLoader-Ch1a2Rcd.esm.min.js.map +1 -0
  394. package/dist/chunks/thinInstanceMesh-CgfQdxDM.esm.min.js +2 -0
  395. package/dist/chunks/thinInstanceMesh-CgfQdxDM.esm.min.js.map +1 -0
  396. package/dist/chunks/thinInstanceMesh-tQGPk8rE.esm.js +314 -0
  397. package/dist/chunks/thinInstanceMesh-tQGPk8rE.esm.js.map +1 -0
  398. package/dist/chunks/vertexColorMixing-BcDvzwMA.esm.js +440 -0
  399. package/dist/chunks/vertexColorMixing-BcDvzwMA.esm.js.map +1 -0
  400. package/dist/chunks/vertexColorMixing-CJeeWCpY.esm.min.js +2 -0
  401. package/dist/chunks/vertexColorMixing-CJeeWCpY.esm.min.js.map +1 -0
  402. package/dist/chunks/vertexColorMixing-DQESmS2T.esm.js +550 -0
  403. package/dist/chunks/vertexColorMixing-DQESmS2T.esm.js.map +1 -0
  404. package/dist/chunks/vertexColorMixing-DlrEyRWJ.esm.min.js +2 -0
  405. package/dist/chunks/vertexColorMixing-DlrEyRWJ.esm.min.js.map +1 -0
  406. package/dist/chunks/webgpuEngine-B8AMUx8i.esm.js +11539 -0
  407. package/dist/chunks/webgpuEngine-B8AMUx8i.esm.js.map +1 -0
  408. package/dist/chunks/webgpuEngine-CxY3O3Qz.esm.min.js +2 -0
  409. package/dist/chunks/webgpuEngine-CxY3O3Qz.esm.min.js.map +1 -0
  410. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  411. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  412. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  413. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  414. package/lib/index.d.ts +637 -0
  415. package/lib/index.js +2257 -0
  416. package/lib/index.js.map +1 -0
  417. package/package.json +38 -24
  418. package/readme.md +28 -28
  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,1240 @@
1
+ import { g as ShaderStore } from './index-D46Rc8Qa.esm.js';
2
+
3
+ // Do not edit.
4
+ const name$g = "prePassDeclaration";
5
+ const shader$g = `#ifdef PREPASS
6
+ #extension GL_EXT_draw_buffers : require
7
+ layout(location=0) out highp vec4 glFragData[{X}];highp vec4 gl_FragColor;
8
+ #ifdef PREPASS_LOCAL_POSITION
9
+ varying highp vec3 vPosition;
10
+ #endif
11
+ #ifdef PREPASS_DEPTH
12
+ varying highp vec3 vViewPos;
13
+ #endif
14
+ #if defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)
15
+ varying highp vec4 vCurrentPosition;varying highp vec4 vPreviousPosition;
16
+ #endif
17
+ #endif
18
+ `;
19
+ // Sideeffect
20
+ ShaderStore.IncludesShadersStore[name$g] = shader$g;
21
+
22
+ // Do not edit.
23
+ const name$f = "oitDeclaration";
24
+ const shader$f = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
25
+ #extension GL_EXT_draw_buffers : require
26
+ layout(location=0) out vec2 depth;
27
+ layout(location=1) out vec4 frontColor;layout(location=2) out vec4 backColor;
28
+ #define MAX_DEPTH 99999.0
29
+ highp vec4 gl_FragColor;uniform sampler2D oitDepthSampler;uniform sampler2D oitFrontColorSampler;
30
+ #endif
31
+ `;
32
+ // Sideeffect
33
+ ShaderStore.IncludesShadersStore[name$f] = shader$f;
34
+
35
+ // Do not edit.
36
+ const name$e = "decalFragmentDeclaration";
37
+ const shader$e = `#ifdef DECAL
38
+ uniform vec4 vDecalInfos;
39
+ #endif
40
+ `;
41
+ // Sideeffect
42
+ ShaderStore.IncludesShadersStore[name$e] = shader$e;
43
+
44
+ // Do not edit.
45
+ const name$d = "lightFragmentDeclaration";
46
+ const shader$d = `#ifdef LIGHT{X}
47
+ uniform vec4 vLightData{X};uniform vec4 vLightDiffuse{X};
48
+ #ifdef SPECULARTERM
49
+ uniform vec4 vLightSpecular{X};
50
+ #else
51
+ vec4 vLightSpecular{X}=vec4(0.);
52
+ #endif
53
+ #ifdef SHADOW{X}
54
+ #ifdef SHADOWCSM{X}
55
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];uniform float viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];uniform float frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];uniform float cascadeBlendFactor{X};varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
56
+ #if defined(SHADOWPCSS{X})
57
+ uniform highp sampler2DArrayShadow shadowTexture{X};uniform highp sampler2DArray depthTexture{X};uniform vec2 lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float penumbraDarkness{X};
58
+ #elif defined(SHADOWPCF{X})
59
+ uniform highp sampler2DArrayShadow shadowTexture{X};
60
+ #else
61
+ uniform highp sampler2DArray shadowTexture{X};
62
+ #endif
63
+ #ifdef SHADOWCSMDEBUG{X}
64
+ const vec3 vCascadeColorsMultiplier{X}[8]=vec3[8]
65
+ (
66
+ vec3 ( 1.5,0.0,0.0 ),
67
+ vec3 ( 0.0,1.5,0.0 ),
68
+ vec3 ( 0.0,0.0,5.5 ),
69
+ vec3 ( 1.5,0.0,5.5 ),
70
+ vec3 ( 1.5,1.5,0.0 ),
71
+ vec3 ( 1.0,1.0,1.0 ),
72
+ vec3 ( 0.0,1.0,5.5 ),
73
+ vec3 ( 0.5,3.5,0.75 )
74
+ );vec3 shadowDebug{X};
75
+ #endif
76
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
77
+ int index{X}=-1;
78
+ #else
79
+ int index{X}=SHADOWCSMNUM_CASCADES{X}-1;
80
+ #endif
81
+ float diff{X}=0.;
82
+ #elif defined(SHADOWCUBE{X})
83
+ uniform samplerCube shadowTexture{X};
84
+ #else
85
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};
86
+ #if defined(SHADOWPCSS{X})
87
+ uniform highp sampler2DShadow shadowTexture{X};uniform highp sampler2D depthTexture{X};
88
+ #elif defined(SHADOWPCF{X})
89
+ uniform highp sampler2DShadow shadowTexture{X};
90
+ #else
91
+ uniform sampler2D shadowTexture{X};
92
+ #endif
93
+ uniform mat4 lightMatrix{X};
94
+ #endif
95
+ uniform vec4 shadowsInfo{X};uniform vec2 depthValues{X};
96
+ #endif
97
+ #ifdef SPOTLIGHT{X}
98
+ uniform vec4 vLightDirection{X};uniform vec4 vLightFalloff{X};
99
+ #elif defined(POINTLIGHT{X})
100
+ uniform vec4 vLightFalloff{X};
101
+ #elif defined(HEMILIGHT{X})
102
+ uniform vec3 vLightGround{X};
103
+ #endif
104
+ #ifdef IESLIGHTTEXTURE{X}
105
+ uniform sampler2D iesLightTexture{X};
106
+ #endif
107
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
108
+ uniform mat4 textureProjectionMatrix{X};uniform sampler2D projectionLightTexture{X};
109
+ #endif
110
+ #endif
111
+ `;
112
+ // Sideeffect
113
+ ShaderStore.IncludesShadersStore[name$d] = shader$d;
114
+
115
+ // Do not edit.
116
+ const name$c = "lightUboDeclaration";
117
+ const shader$c = `#ifdef LIGHT{X}
118
+ uniform Light{X}
119
+ {vec4 vLightData;vec4 vLightDiffuse;vec4 vLightSpecular;
120
+ #ifdef SPOTLIGHT{X}
121
+ vec4 vLightDirection;vec4 vLightFalloff;
122
+ #elif defined(POINTLIGHT{X})
123
+ vec4 vLightFalloff;
124
+ #elif defined(HEMILIGHT{X})
125
+ vec3 vLightGround;
126
+ #endif
127
+ vec4 shadowsInfo;vec2 depthValues;} light{X};
128
+ #ifdef IESLIGHTTEXTURE{X}
129
+ uniform sampler2D iesLightTexture{X};
130
+ #endif
131
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
132
+ uniform mat4 textureProjectionMatrix{X};uniform sampler2D projectionLightTexture{X};
133
+ #endif
134
+ #ifdef SHADOW{X}
135
+ #ifdef SHADOWCSM{X}
136
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];uniform float viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];uniform float frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];uniform float cascadeBlendFactor{X};varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
137
+ #if defined(SHADOWPCSS{X})
138
+ uniform highp sampler2DArrayShadow shadowTexture{X};uniform highp sampler2DArray depthTexture{X};uniform vec2 lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float penumbraDarkness{X};
139
+ #elif defined(SHADOWPCF{X})
140
+ uniform highp sampler2DArrayShadow shadowTexture{X};
141
+ #else
142
+ uniform highp sampler2DArray shadowTexture{X};
143
+ #endif
144
+ #ifdef SHADOWCSMDEBUG{X}
145
+ const vec3 vCascadeColorsMultiplier{X}[8]=vec3[8]
146
+ (
147
+ vec3 ( 1.5,0.0,0.0 ),
148
+ vec3 ( 0.0,1.5,0.0 ),
149
+ vec3 ( 0.0,0.0,5.5 ),
150
+ vec3 ( 1.5,0.0,5.5 ),
151
+ vec3 ( 1.5,1.5,0.0 ),
152
+ vec3 ( 1.0,1.0,1.0 ),
153
+ vec3 ( 0.0,1.0,5.5 ),
154
+ vec3 ( 0.5,3.5,0.75 )
155
+ );vec3 shadowDebug{X};
156
+ #endif
157
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
158
+ int index{X}=-1;
159
+ #else
160
+ int index{X}=SHADOWCSMNUM_CASCADES{X}-1;
161
+ #endif
162
+ float diff{X}=0.;
163
+ #elif defined(SHADOWCUBE{X})
164
+ uniform samplerCube shadowTexture{X};
165
+ #else
166
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};
167
+ #if defined(SHADOWPCSS{X})
168
+ uniform highp sampler2DShadow shadowTexture{X};uniform highp sampler2D depthTexture{X};
169
+ #elif defined(SHADOWPCF{X})
170
+ uniform highp sampler2DShadow shadowTexture{X};
171
+ #else
172
+ uniform sampler2D shadowTexture{X};
173
+ #endif
174
+ uniform mat4 lightMatrix{X};
175
+ #endif
176
+ #endif
177
+ #endif
178
+ `;
179
+ // Sideeffect
180
+ ShaderStore.IncludesShadersStore[name$c] = shader$c;
181
+
182
+ // Do not edit.
183
+ const name$b = "samplerFragmentDeclaration";
184
+ const shader$b = `#ifdef _DEFINENAME_
185
+ #if _DEFINENAME_DIRECTUV==1
186
+ #define v_VARYINGNAME_UV vMainUV1
187
+ #elif _DEFINENAME_DIRECTUV==2
188
+ #define v_VARYINGNAME_UV vMainUV2
189
+ #elif _DEFINENAME_DIRECTUV==3
190
+ #define v_VARYINGNAME_UV vMainUV3
191
+ #elif _DEFINENAME_DIRECTUV==4
192
+ #define v_VARYINGNAME_UV vMainUV4
193
+ #elif _DEFINENAME_DIRECTUV==5
194
+ #define v_VARYINGNAME_UV vMainUV5
195
+ #elif _DEFINENAME_DIRECTUV==6
196
+ #define v_VARYINGNAME_UV vMainUV6
197
+ #else
198
+ varying vec2 v_VARYINGNAME_UV;
199
+ #endif
200
+ uniform sampler2D _SAMPLERNAME_Sampler;
201
+ #endif
202
+ `;
203
+ // Sideeffect
204
+ ShaderStore.IncludesShadersStore[name$b] = shader$b;
205
+
206
+ // Do not edit.
207
+ const name$a = "imageProcessingDeclaration";
208
+ const shader$a = `#ifdef EXPOSURE
209
+ uniform float exposureLinear;
210
+ #endif
211
+ #ifdef CONTRAST
212
+ uniform float contrast;
213
+ #endif
214
+ #if defined(VIGNETTE) || defined(DITHER)
215
+ uniform vec2 vInverseScreenSize;
216
+ #endif
217
+ #ifdef VIGNETTE
218
+ uniform vec4 vignetteSettings1;uniform vec4 vignetteSettings2;
219
+ #endif
220
+ #ifdef COLORCURVES
221
+ uniform vec4 vCameraColorCurveNegative;uniform vec4 vCameraColorCurveNeutral;uniform vec4 vCameraColorCurvePositive;
222
+ #endif
223
+ #ifdef COLORGRADING
224
+ #ifdef COLORGRADING3D
225
+ uniform highp sampler3D txColorTransform;
226
+ #else
227
+ uniform sampler2D txColorTransform;
228
+ #endif
229
+ uniform vec4 colorTransformSettings;
230
+ #endif
231
+ #ifdef DITHER
232
+ uniform float ditherIntensity;
233
+ #endif
234
+ `;
235
+ // Sideeffect
236
+ ShaderStore.IncludesShadersStore[name$a] = shader$a;
237
+
238
+ // Do not edit.
239
+ const name$9 = "imageProcessingFunctions";
240
+ const shader$9 = `#if defined(COLORGRADING) && !defined(COLORGRADING3D)
241
+ /**
242
+ * Polyfill for SAMPLE_TEXTURE_3D,which is unsupported in WebGL.
243
+ * sampler3dSetting.x=textureOffset (0.5/textureSize).
244
+ * sampler3dSetting.y=textureSize.
245
+ */
246
+ #define inline
247
+ vec3 sampleTexture3D(sampler2D colorTransform,vec3 color,vec2 sampler3dSetting)
248
+ {float sliceSize=2.0*sampler3dSetting.x;
249
+ #ifdef SAMPLER3DGREENDEPTH
250
+ float sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;
251
+ #else
252
+ float sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;
253
+ #endif
254
+ float sliceInteger=floor(sliceContinuous);float sliceFraction=sliceContinuous-sliceInteger;
255
+ #ifdef SAMPLER3DGREENDEPTH
256
+ vec2 sliceUV=color.rb;
257
+ #else
258
+ vec2 sliceUV=color.rg;
259
+ #endif
260
+ sliceUV.x*=sliceSize;sliceUV.x+=sliceInteger*sliceSize;sliceUV=saturate(sliceUV);vec4 slice0Color=texture2D(colorTransform,sliceUV);sliceUV.x+=sliceSize;sliceUV=saturate(sliceUV);vec4 slice1Color=texture2D(colorTransform,sliceUV);vec3 result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);
261
+ #ifdef SAMPLER3DBGRMAP
262
+ color.rgb=result.rgb;
263
+ #else
264
+ color.rgb=result.bgr;
265
+ #endif
266
+ return color;}
267
+ #endif
268
+ #if TONEMAPPING==3
269
+ const float PBRNeutralStartCompression=0.8-0.04;const float PBRNeutralDesaturation=0.15;vec3 PBRNeutralToneMapping( vec3 color ) {float x=min(color.r,min(color.g,color.b));float offset=x<0.08 ? x-6.25*x*x : 0.04;color-=offset;float peak=max(color.r,max(color.g,color.b));if (peak<PBRNeutralStartCompression) return color;float d=1.-PBRNeutralStartCompression;float newPeak=1.-d*d/(peak+d-PBRNeutralStartCompression);color*=newPeak/peak;float g=1.-1./(PBRNeutralDesaturation*(peak-newPeak)+1.);return mix(color,newPeak*vec3(1,1,1),g);}
270
+ #endif
271
+ #if TONEMAPPING==2
272
+ const mat3 ACESInputMat=mat3(
273
+ vec3(0.59719,0.07600,0.02840),
274
+ vec3(0.35458,0.90834,0.13383),
275
+ vec3(0.04823,0.01566,0.83777)
276
+ );const mat3 ACESOutputMat=mat3(
277
+ vec3( 1.60475,-0.10208,-0.00327),
278
+ vec3(-0.53108, 1.10813,-0.07276),
279
+ vec3(-0.07367,-0.00605, 1.07602)
280
+ );vec3 RRTAndODTFit(vec3 v)
281
+ {vec3 a=v*(v+0.0245786)-0.000090537;vec3 b=v*(0.983729*v+0.4329510)+0.238081;return a/b;}
282
+ vec3 ACESFitted(vec3 color)
283
+ {color=ACESInputMat*color;color=RRTAndODTFit(color);color=ACESOutputMat*color;color=saturate(color);return color;}
284
+ #endif
285
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS
286
+ vec4 applyImageProcessing(vec4 result) {
287
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART
288
+ #ifdef EXPOSURE
289
+ result.rgb*=exposureLinear;
290
+ #endif
291
+ #ifdef VIGNETTE
292
+ vec2 viewportXY=gl_FragCoord.xy*vInverseScreenSize;viewportXY=viewportXY*2.0-1.0;vec3 vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);float vignetteTerm=dot(vignetteXY1,vignetteXY1);float vignette=pow(vignetteTerm,vignetteSettings2.w);vec3 vignetteColor=vignetteSettings2.rgb;
293
+ #ifdef VIGNETTEBLENDMODEMULTIPLY
294
+ vec3 vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);result.rgb*=vignetteColorMultiplier;
295
+ #endif
296
+ #ifdef VIGNETTEBLENDMODEOPAQUE
297
+ result.rgb=mix(vignetteColor,result.rgb,vignette);
298
+ #endif
299
+ #endif
300
+ #if TONEMAPPING==3
301
+ result.rgb=PBRNeutralToneMapping(result.rgb);
302
+ #elif TONEMAPPING==2
303
+ result.rgb=ACESFitted(result.rgb);
304
+ #elif TONEMAPPING==1
305
+ const float tonemappingCalibration=1.590579;result.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);
306
+ #endif
307
+ result.rgb=toGammaSpace(result.rgb);result.rgb=saturate(result.rgb);
308
+ #ifdef CONTRAST
309
+ vec3 resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);if (contrast<1.0) {result.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);} else {result.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);}
310
+ #endif
311
+ #ifdef COLORGRADING
312
+ vec3 colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;
313
+ #ifdef COLORGRADING3D
314
+ vec3 colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;
315
+ #else
316
+ vec3 colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;
317
+ #endif
318
+ result.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);
319
+ #endif
320
+ #ifdef COLORCURVES
321
+ float luma=getLuminance(result.rgb);vec2 curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));vec4 colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;result.rgb*=colorCurve.rgb;result.rgb=mix(vec3(luma),result.rgb,colorCurve.a);
322
+ #endif
323
+ #ifdef DITHER
324
+ float rand=getRand(gl_FragCoord.xy*vInverseScreenSize);float dither=mix(-ditherIntensity,ditherIntensity,rand);result.rgb=saturate(result.rgb+vec3(dither));
325
+ #endif
326
+ #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND
327
+ return result;}`;
328
+ // Sideeffect
329
+ ShaderStore.IncludesShadersStore[name$9] = shader$9;
330
+
331
+ // Do not edit.
332
+ const name$8 = "shadowsFragmentFunctions";
333
+ const shader$8 = `#ifdef SHADOWS
334
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
335
+ #define TEXTUREFUNC(s,c,l) texture2DLodEXT(s,c,l)
336
+ #else
337
+ #define TEXTUREFUNC(s,c,b) texture2D(s,c,b)
338
+ #endif
339
+ #ifndef SHADOWFLOAT
340
+ float unpack(vec4 color)
341
+ {const vec4 bit_shift=vec4(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);}
342
+ #endif
343
+ float computeFallOff(float value,vec2 clipSpace,float frustumEdgeFalloff)
344
+ {float mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));return mix(value,1.0,mask);}
345
+ #define inline
346
+ float computeShadowCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,vec2 depthValues)
347
+ {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
348
+ #ifndef SHADOWFLOAT
349
+ float shadow=unpack(textureCube(shadowSampler,directionToLight));
350
+ #else
351
+ float shadow=textureCube(shadowSampler,directionToLight).x;
352
+ #endif
353
+ return depth>shadow ? darkness : 1.0;}
354
+ #define inline
355
+ float computeShadowWithPoissonSamplingCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float mapSize,float darkness,vec2 depthValues)
356
+ {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;float visibility=1.;vec3 poissonDisk[4];poissonDisk[0]=vec3(-1.0,1.0,-1.0);poissonDisk[1]=vec3(1.0,-1.0,-1.0);poissonDisk[2]=vec3(-1.0,-1.0,-1.0);poissonDisk[3]=vec3(1.0,-1.0,1.0);
357
+ #ifndef SHADOWFLOAT
358
+ if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth) visibility-=0.25;
359
+ #else
360
+ if (textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth) visibility-=0.25;
361
+ #endif
362
+ return min(1.0,visibility+darkness);}
363
+ #define inline
364
+ float computeShadowWithESMCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,float depthScale,vec2 depthValues)
365
+ {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);float shadowPixelDepth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
366
+ #ifndef SHADOWFLOAT
367
+ float shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));
368
+ #else
369
+ float shadowMapSample=textureCube(shadowSampler,directionToLight).x;
370
+ #endif
371
+ float esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return esm;}
372
+ #define inline
373
+ float computeShadowWithCloseESMCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,float depthScale,vec2 depthValues)
374
+ {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);float shadowPixelDepth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
375
+ #ifndef SHADOWFLOAT
376
+ float shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));
377
+ #else
378
+ float shadowMapSample=textureCube(shadowSampler,directionToLight).x;
379
+ #endif
380
+ float esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return esm;}
381
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
382
+ #define inline
383
+ float computeShadowCSM(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray shadowSampler,float darkness,float frustumEdgeFalloff)
384
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);vec3 uvLayer=vec3(uv.x,uv.y,layer);float shadowPixelDepth=clamp(depthMetric,0.,1.0);
385
+ #ifndef SHADOWFLOAT
386
+ float shadow=unpack(texture2D(shadowSampler,uvLayer));
387
+ #else
388
+ float shadow=texture2D(shadowSampler,uvLayer).x;
389
+ #endif
390
+ return shadowPixelDepth>shadow ? computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff) : 1.;}
391
+ #endif
392
+ #define inline
393
+ float computeShadow(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float frustumEdgeFalloff)
394
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
395
+ {return 1.0;}
396
+ else
397
+ {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
398
+ #ifndef SHADOWFLOAT
399
+ float shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
400
+ #else
401
+ float shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;
402
+ #endif
403
+ return shadowPixelDepth>shadow ? computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff) : 1.;}}
404
+ #define inline
405
+ float computeShadowWithPoissonSampling(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float mapSize,float darkness,float frustumEdgeFalloff)
406
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
407
+ {return 1.0;}
408
+ else
409
+ {float shadowPixelDepth=clamp(depthMetric,0.,1.0);float visibility=1.;vec2 poissonDisk[4];poissonDisk[0]=vec2(-0.94201624,-0.39906216);poissonDisk[1]=vec2(0.94558609,-0.76890725);poissonDisk[2]=vec2(-0.094184101,-0.92938870);poissonDisk[3]=vec2(0.34495938,0.29387760);
410
+ #ifndef SHADOWFLOAT
411
+ if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;
412
+ #else
413
+ if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;
414
+ #endif
415
+ return computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);}}
416
+ #define inline
417
+ float computeShadowWithESM(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float depthScale,float frustumEdgeFalloff)
418
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
419
+ {return 1.0;}
420
+ else
421
+ {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
422
+ #ifndef SHADOWFLOAT
423
+ float shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
424
+ #else
425
+ float shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;
426
+ #endif
427
+ float esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
428
+ #define inline
429
+ float computeShadowWithCloseESM(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float depthScale,float frustumEdgeFalloff)
430
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
431
+ {return 1.0;}
432
+ else
433
+ {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
434
+ #ifndef SHADOWFLOAT
435
+ float shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
436
+ #else
437
+ float shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;
438
+ #endif
439
+ float esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
440
+ #ifdef IS_NDC_HALF_ZRANGE
441
+ #define ZINCLIP clipSpace.z
442
+ #else
443
+ #define ZINCLIP uvDepth.z
444
+ #endif
445
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
446
+ #define GREATEST_LESS_THAN_ONE 0.99999994
447
+ #define DISABLE_UNIFORMITY_ANALYSIS
448
+ #define inline
449
+ float computeShadowWithCSMPCF1(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,float darkness,float frustumEdgeFalloff)
450
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec4 uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);float shadow=texture2D(shadowSampler,uvDepthLayer);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
451
+ #define inline
452
+ float computeShadowWithCSMPCF3(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
453
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
454
+ uv+=0.5;
455
+ vec2 st=fract(uv);
456
+ vec2 base_uv=floor(uv)-0.5;
457
+ base_uv*=shadowMapSizeAndInverse.y;
458
+ vec2 uvw0=3.-2.*st;vec2 uvw1=1.+2.*st;vec2 u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;vec2 v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));shadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));shadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));shadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
459
+ #define inline
460
+ float computeShadowWithCSMPCF5(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
461
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
462
+ uv+=0.5;
463
+ vec2 st=fract(uv);
464
+ vec2 base_uv=floor(uv)-0.5;
465
+ base_uv*=shadowMapSizeAndInverse.y;
466
+ vec2 uvw0=4.-3.*st;vec2 uvw1=vec2(7.);vec2 uvw2=1.+3.*st;vec3 u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;vec3 v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));shadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));shadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));shadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));shadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));shadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));shadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));shadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));shadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
467
+ #define inline
468
+ float computeShadowWithPCF1(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,float darkness,float frustumEdgeFalloff)
469
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
470
+ else
471
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;float shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
472
+ #define inline
473
+ float computeShadowWithPCF3(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
474
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
475
+ else
476
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
477
+ uv+=0.5;
478
+ vec2 st=fract(uv);
479
+ vec2 base_uv=floor(uv)-0.5;
480
+ base_uv*=shadowMapSizeAndInverse.y;
481
+ vec2 uvw0=3.-2.*st;vec2 uvw1=1.+2.*st;vec2 u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;vec2 v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);shadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);shadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);shadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
482
+ #define inline
483
+ float computeShadowWithPCF5(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
484
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
485
+ else
486
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
487
+ uv+=0.5;
488
+ vec2 st=fract(uv);
489
+ vec2 base_uv=floor(uv)-0.5;
490
+ base_uv*=shadowMapSizeAndInverse.y;
491
+ vec2 uvw0=4.-3.*st;vec2 uvw1=vec2(7.);vec2 uvw2=1.+3.*st;vec3 u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;vec3 v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);shadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);shadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);shadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);shadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);shadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);shadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);shadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);shadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
492
+ const vec3 PoissonSamplers32[64]=vec3[64](
493
+ vec3(0.06407013,0.05409927,0.),
494
+ vec3(0.7366577,0.5789394,0.),
495
+ vec3(-0.6270542,-0.5320278,0.),
496
+ vec3(-0.4096107,0.8411095,0.),
497
+ vec3(0.6849564,-0.4990818,0.),
498
+ vec3(-0.874181,-0.04579735,0.),
499
+ vec3(0.9989998,0.0009880066,0.),
500
+ vec3(-0.004920578,-0.9151649,0.),
501
+ vec3(0.1805763,0.9747483,0.),
502
+ vec3(-0.2138451,0.2635818,0.),
503
+ vec3(0.109845,0.3884785,0.),
504
+ vec3(0.06876755,-0.3581074,0.),
505
+ vec3(0.374073,-0.7661266,0.),
506
+ vec3(0.3079132,-0.1216763,0.),
507
+ vec3(-0.3794335,-0.8271583,0.),
508
+ vec3(-0.203878,-0.07715034,0.),
509
+ vec3(0.5912697,0.1469799,0.),
510
+ vec3(-0.88069,0.3031784,0.),
511
+ vec3(0.5040108,0.8283722,0.),
512
+ vec3(-0.5844124,0.5494877,0.),
513
+ vec3(0.6017799,-0.1726654,0.),
514
+ vec3(-0.5554981,0.1559997,0.),
515
+ vec3(-0.3016369,-0.3900928,0.),
516
+ vec3(-0.5550632,-0.1723762,0.),
517
+ vec3(0.925029,0.2995041,0.),
518
+ vec3(-0.2473137,0.5538505,0.),
519
+ vec3(0.9183037,-0.2862392,0.),
520
+ vec3(0.2469421,0.6718712,0.),
521
+ vec3(0.3916397,-0.4328209,0.),
522
+ vec3(-0.03576927,-0.6220032,0.),
523
+ vec3(-0.04661255,0.7995201,0.),
524
+ vec3(0.4402924,0.3640312,0.),
525
+ vec3(0.),
526
+ vec3(0.),
527
+ vec3(0.),
528
+ vec3(0.),
529
+ vec3(0.),
530
+ vec3(0.),
531
+ vec3(0.),
532
+ vec3(0.),
533
+ vec3(0.),
534
+ vec3(0.),
535
+ vec3(0.),
536
+ vec3(0.),
537
+ vec3(0.),
538
+ vec3(0.),
539
+ vec3(0.),
540
+ vec3(0.),
541
+ vec3(0.),
542
+ vec3(0.),
543
+ vec3(0.),
544
+ vec3(0.),
545
+ vec3(0.),
546
+ vec3(0.),
547
+ vec3(0.),
548
+ vec3(0.),
549
+ vec3(0.),
550
+ vec3(0.),
551
+ vec3(0.),
552
+ vec3(0.),
553
+ vec3(0.),
554
+ vec3(0.),
555
+ vec3(0.),
556
+ vec3(0.)
557
+ );const vec3 PoissonSamplers64[64]=vec3[64](
558
+ vec3(-0.613392,0.617481,0.),
559
+ vec3(0.170019,-0.040254,0.),
560
+ vec3(-0.299417,0.791925,0.),
561
+ vec3(0.645680,0.493210,0.),
562
+ vec3(-0.651784,0.717887,0.),
563
+ vec3(0.421003,0.027070,0.),
564
+ vec3(-0.817194,-0.271096,0.),
565
+ vec3(-0.705374,-0.668203,0.),
566
+ vec3(0.977050,-0.108615,0.),
567
+ vec3(0.063326,0.142369,0.),
568
+ vec3(0.203528,0.214331,0.),
569
+ vec3(-0.667531,0.326090,0.),
570
+ vec3(-0.098422,-0.295755,0.),
571
+ vec3(-0.885922,0.215369,0.),
572
+ vec3(0.566637,0.605213,0.),
573
+ vec3(0.039766,-0.396100,0.),
574
+ vec3(0.751946,0.453352,0.),
575
+ vec3(0.078707,-0.715323,0.),
576
+ vec3(-0.075838,-0.529344,0.),
577
+ vec3(0.724479,-0.580798,0.),
578
+ vec3(0.222999,-0.215125,0.),
579
+ vec3(-0.467574,-0.405438,0.),
580
+ vec3(-0.248268,-0.814753,0.),
581
+ vec3(0.354411,-0.887570,0.),
582
+ vec3(0.175817,0.382366,0.),
583
+ vec3(0.487472,-0.063082,0.),
584
+ vec3(-0.084078,0.898312,0.),
585
+ vec3(0.488876,-0.783441,0.),
586
+ vec3(0.470016,0.217933,0.),
587
+ vec3(-0.696890,-0.549791,0.),
588
+ vec3(-0.149693,0.605762,0.),
589
+ vec3(0.034211,0.979980,0.),
590
+ vec3(0.503098,-0.308878,0.),
591
+ vec3(-0.016205,-0.872921,0.),
592
+ vec3(0.385784,-0.393902,0.),
593
+ vec3(-0.146886,-0.859249,0.),
594
+ vec3(0.643361,0.164098,0.),
595
+ vec3(0.634388,-0.049471,0.),
596
+ vec3(-0.688894,0.007843,0.),
597
+ vec3(0.464034,-0.188818,0.),
598
+ vec3(-0.440840,0.137486,0.),
599
+ vec3(0.364483,0.511704,0.),
600
+ vec3(0.034028,0.325968,0.),
601
+ vec3(0.099094,-0.308023,0.),
602
+ vec3(0.693960,-0.366253,0.),
603
+ vec3(0.678884,-0.204688,0.),
604
+ vec3(0.001801,0.780328,0.),
605
+ vec3(0.145177,-0.898984,0.),
606
+ vec3(0.062655,-0.611866,0.),
607
+ vec3(0.315226,-0.604297,0.),
608
+ vec3(-0.780145,0.486251,0.),
609
+ vec3(-0.371868,0.882138,0.),
610
+ vec3(0.200476,0.494430,0.),
611
+ vec3(-0.494552,-0.711051,0.),
612
+ vec3(0.612476,0.705252,0.),
613
+ vec3(-0.578845,-0.768792,0.),
614
+ vec3(-0.772454,-0.090976,0.),
615
+ vec3(0.504440,0.372295,0.),
616
+ vec3(0.155736,0.065157,0.),
617
+ vec3(0.391522,0.849605,0.),
618
+ vec3(-0.620106,-0.328104,0.),
619
+ vec3(0.789239,-0.419965,0.),
620
+ vec3(-0.545396,0.538133,0.),
621
+ vec3(-0.178564,-0.596057,0.)
622
+ );
623
+ #define inline
624
+ float computeShadowWithCSMPCSS(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,int searchTapCount,int pcfTapCount,vec3[64] poissonSamplers,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
625
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec4 uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);float blockerDepth=0.0;float sumBlockerDepth=0.0;float numBlocker=0.0;for (int i=0; i<searchTapCount; i ++) {blockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;if (blockerDepth<depthMetric) {sumBlockerDepth+=blockerDepth;numBlocker++;}}
626
+ float avgBlockerDepth=sumBlockerDepth/numBlocker;float AAOffset=shadowMapSizeInverse*10.;float penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);vec4 filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);float random=getRand(vPositionFromLight.xy);float rotationAngle=random*3.1415926;vec2 rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));float shadow=0.;for (int i=0; i<pcfTapCount; i++) {vec4 offset=vec4(poissonSamplers[i],0.);offset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);shadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);}
627
+ shadow/=float(pcfTapCount);shadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));shadow=mix(darkness,1.,shadow);if (numBlocker<1.0) {return 1.0;}
628
+ else
629
+ {return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
630
+ #define inline
631
+ float computeShadowWithPCSS(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,int searchTapCount,int pcfTapCount,vec3[64] poissonSamplers)
632
+ {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
633
+ else
634
+ {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;float blockerDepth=0.0;float sumBlockerDepth=0.0;float numBlocker=0.0;for (int i=0; i<searchTapCount; i ++) {blockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;if (blockerDepth<depthMetric) {sumBlockerDepth+=blockerDepth;numBlocker++;}}
635
+ if (numBlocker<1.0) {return 1.0;}
636
+ else
637
+ {float avgBlockerDepth=sumBlockerDepth/numBlocker;float AAOffset=shadowMapSizeInverse*10.;float penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);float filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;float random=getRand(vPositionFromLight.xy);float rotationAngle=random*3.1415926;vec2 rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));float shadow=0.;for (int i=0; i<pcfTapCount; i++) {vec3 offset=poissonSamplers[i];offset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);shadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);}
638
+ shadow/=float(pcfTapCount);shadow=mix(shadow,1.,depthMetric-avgBlockerDepth);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}}
639
+ #define inline
640
+ float computeShadowWithPCSS16(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
641
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);}
642
+ #define inline
643
+ float computeShadowWithPCSS32(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
644
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);}
645
+ #define inline
646
+ float computeShadowWithPCSS64(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
647
+ {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);}
648
+ #define inline
649
+ float computeShadowWithCSMPCSS16(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
650
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
651
+ #define inline
652
+ float computeShadowWithCSMPCSS32(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
653
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
654
+ #define inline
655
+ float computeShadowWithCSMPCSS64(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
656
+ {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
657
+ #endif
658
+ #endif
659
+ `;
660
+ // Sideeffect
661
+ ShaderStore.IncludesShadersStore[name$8] = shader$8;
662
+
663
+ // Do not edit.
664
+ const name$7 = "bumpFragmentMainFunctions";
665
+ const shader$7 = `#if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
666
+ #if defined(TANGENT) && defined(NORMAL)
667
+ varying mat3 vTBN;
668
+ #endif
669
+ #ifdef OBJECTSPACE_NORMALMAP
670
+ uniform mat4 normalMatrix;
671
+ #if defined(WEBGL2) || defined(WEBGPU)
672
+ mat4 toNormalMatrix(mat4 wMatrix)
673
+ {mat4 ret=inverse(wMatrix);ret=transpose(ret);ret[0][3]=0.;ret[1][3]=0.;ret[2][3]=0.;ret[3]=vec4(0.,0.,0.,1.);return ret;}
674
+ #else
675
+ mat4 toNormalMatrix(mat4 m)
676
+ {float
677
+ a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],
678
+ a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],
679
+ a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],
680
+ a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],
681
+ b00=a00*a11-a01*a10,
682
+ b01=a00*a12-a02*a10,
683
+ b02=a00*a13-a03*a10,
684
+ b03=a01*a12-a02*a11,
685
+ b04=a01*a13-a03*a11,
686
+ b05=a02*a13-a03*a12,
687
+ b06=a20*a31-a21*a30,
688
+ b07=a20*a32-a22*a30,
689
+ b08=a20*a33-a23*a30,
690
+ b09=a21*a32-a22*a31,
691
+ b10=a21*a33-a23*a31,
692
+ b11=a22*a33-a23*a32,
693
+ det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;mat4 mi=mat4(
694
+ a11*b11-a12*b10+a13*b09,
695
+ a02*b10-a01*b11-a03*b09,
696
+ a31*b05-a32*b04+a33*b03,
697
+ a22*b04-a21*b05-a23*b03,
698
+ a12*b08-a10*b11-a13*b07,
699
+ a00*b11-a02*b08+a03*b07,
700
+ a32*b02-a30*b05-a33*b01,
701
+ a20*b05-a22*b02+a23*b01,
702
+ a10*b10-a11*b08+a13*b06,
703
+ a01*b08-a00*b10-a03*b06,
704
+ a30*b04-a31*b02+a33*b00,
705
+ a21*b02-a20*b04-a23*b00,
706
+ a11*b07-a10*b09-a12*b06,
707
+ a00*b09-a01*b07+a02*b06,
708
+ a31*b01-a30*b03-a32*b00,
709
+ a20*b03-a21*b01+a22*b00)/det;return mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
710
+ mi[0][1],mi[1][1],mi[2][1],mi[3][1],
711
+ mi[0][2],mi[1][2],mi[2][2],mi[3][2],
712
+ mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
713
+ #endif
714
+ #endif
715
+ vec3 perturbNormalBase(mat3 cotangentFrame,vec3 normal,float scale)
716
+ {
717
+ #ifdef NORMALXYSCALE
718
+ normal=normalize(normal*vec3(scale,scale,1.0));
719
+ #endif
720
+ return normalize(cotangentFrame*normal);}
721
+ vec3 perturbNormal(mat3 cotangentFrame,vec3 textureSample,float scale)
722
+ {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
723
+ mat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv,vec2 tangentSpaceParams)
724
+ {vec3 dp1=dFdx(p);vec3 dp2=dFdy(p);vec2 duv1=dFdx(uv);vec2 duv2=dFdy(uv);vec3 dp2perp=cross(dp2,normal);vec3 dp1perp=cross(normal,dp1);vec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;vec3 bitangent=dp2perp*duv1.y+dp1perp*duv2.y;tangent*=tangentSpaceParams.x;bitangent*=tangentSpaceParams.y;float det=max(dot(tangent,tangent),dot(bitangent,bitangent));float invmax=det==0.0 ? 0.0 : inversesqrt(det);return mat3(tangent*invmax,bitangent*invmax,normal);}
725
+ #endif
726
+ `;
727
+ // Sideeffect
728
+ ShaderStore.IncludesShadersStore[name$7] = shader$7;
729
+
730
+ // Do not edit.
731
+ const name$6 = "bumpFragmentFunctions";
732
+ const shader$6 = `#if defined(BUMP)
733
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
734
+ #endif
735
+ #if defined(DETAIL)
736
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
737
+ #endif
738
+ #if defined(BUMP) && defined(PARALLAX)
739
+ const float minSamples=4.;const float maxSamples=15.;const int iMaxSamples=15;vec2 parallaxOcclusion(vec3 vViewDirCoT,vec3 vNormalCoT,vec2 texCoord,float parallaxScale) {float parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;parallaxLimit*=parallaxScale;vec2 vOffsetDir=normalize(vViewDirCoT.xy);vec2 vMaxOffset=vOffsetDir*parallaxLimit;float numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));float stepSize=1.0/numSamples;float currRayHeight=1.0;vec2 vCurrOffset=vec2(0,0);vec2 vLastOffset=vec2(0,0);float lastSampledHeight=1.0;float currSampledHeight=1.0;bool keepWorking=true;for (int i=0; i<iMaxSamples; i++)
740
+ {currSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;if (!keepWorking)
741
+ {}
742
+ else if (currSampledHeight>currRayHeight)
743
+ {float delta1=currSampledHeight-currRayHeight;float delta2=(currRayHeight+stepSize)-lastSampledHeight;float ratio=delta1/(delta1+delta2);vCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;keepWorking=false;}
744
+ else
745
+ {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
746
+ #ifdef PARALLAX_RHS
747
+ vCurrOffset-=stepSize*vMaxOffset;
748
+ #else
749
+ vCurrOffset+=stepSize*vMaxOffset;
750
+ #endif
751
+ lastSampledHeight=currSampledHeight;}}
752
+ return vCurrOffset;}
753
+ vec2 parallaxOffset(vec3 viewDir,float heightScale)
754
+ {float height=texture2D(bumpSampler,vBumpUV).w;vec2 texCoordOffset=heightScale*viewDir.xy*height;
755
+ #ifdef PARALLAX_RHS
756
+ return texCoordOffset;
757
+ #else
758
+ return -texCoordOffset;
759
+ #endif
760
+ }
761
+ #endif
762
+ `;
763
+ // Sideeffect
764
+ ShaderStore.IncludesShadersStore[name$6] = shader$6;
765
+
766
+ // Do not edit.
767
+ const name$5 = "reflectionFunction";
768
+ const shader$5 = `vec3 computeFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
769
+ {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0); }
770
+ vec3 computeMirroredFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
771
+ {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(1.0-s,t,0); }
772
+ vec3 computeEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
773
+ {vec3 cameraToVertex=normalize(worldPos.xyz-eyePosition);vec3 r=normalize(reflect(cameraToVertex,worldNormal));r=vec3(reflectionMatrix*vec4(r,0));float lon=atan(r.z,r.x);float lat=acos(r.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0);}
774
+ vec3 computeSphericalCoords(vec4 worldPos,vec3 worldNormal,mat4 view,mat4 reflectionMatrix)
775
+ {vec3 viewDir=normalize(vec3(view*worldPos));vec3 viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));vec3 r=reflect(viewDir,viewNormal);r=vec3(reflectionMatrix*vec4(r,0));r.z=r.z-1.0;float m=2.0*length(r);return vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);}
776
+ vec3 computePlanarCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
777
+ {vec3 viewDir=worldPos.xyz-eyePosition;vec3 coords=normalize(reflect(viewDir,worldNormal));return vec3(reflectionMatrix*vec4(coords,1));}
778
+ vec3 computeCubicCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
779
+ {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=vec3(reflectionMatrix*vec4(coords,0));
780
+ #ifdef INVERTCUBICMAP
781
+ coords.y*=-1.0;
782
+ #endif
783
+ return coords;}
784
+ vec3 computeCubicLocalCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix,vec3 reflectionSize,vec3 reflectionPosition)
785
+ {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);coords=vec3(reflectionMatrix*vec4(coords,0));
786
+ #ifdef INVERTCUBICMAP
787
+ coords.y*=-1.0;
788
+ #endif
789
+ return coords;}
790
+ vec3 computeProjectionCoords(vec4 worldPos,mat4 view,mat4 reflectionMatrix)
791
+ {return vec3(reflectionMatrix*(view*worldPos));}
792
+ vec3 computeSkyBoxCoords(vec3 positionW,mat4 reflectionMatrix)
793
+ {return vec3(reflectionMatrix*vec4(positionW,1.));}
794
+ #ifdef REFLECTION
795
+ vec3 computeReflectionCoords(vec4 worldPos,vec3 worldNormal)
796
+ {
797
+ #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
798
+ vec3 direction=normalize(vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
799
+ #endif
800
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
801
+ vec3 direction=normalize(vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
802
+ #endif
803
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR
804
+ return computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
805
+ #endif
806
+ #ifdef REFLECTIONMAP_SPHERICAL
807
+ return computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);
808
+ #endif
809
+ #ifdef REFLECTIONMAP_PLANAR
810
+ return computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
811
+ #endif
812
+ #ifdef REFLECTIONMAP_CUBIC
813
+ #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
814
+ return computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);
815
+ #else
816
+ return computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
817
+ #endif
818
+ #endif
819
+ #ifdef REFLECTIONMAP_PROJECTION
820
+ return computeProjectionCoords(worldPos,view,reflectionMatrix);
821
+ #endif
822
+ #ifdef REFLECTIONMAP_SKYBOX
823
+ return computeSkyBoxCoords(vPositionUVW,reflectionMatrix);
824
+ #endif
825
+ #ifdef REFLECTIONMAP_EXPLICIT
826
+ return vec3(0,0,0);
827
+ #endif
828
+ }
829
+ #endif
830
+ `;
831
+ // Sideeffect
832
+ ShaderStore.IncludesShadersStore[name$5] = shader$5;
833
+
834
+ // Do not edit.
835
+ const name$4 = "decalFragment";
836
+ const shader$4 = `#ifdef DECAL
837
+ #ifdef GAMMADECAL
838
+ decalColor.rgb=toLinearSpace(decalColor.rgb);
839
+ #endif
840
+ #ifdef DECAL_SMOOTHALPHA
841
+ decalColor.a*=decalColor.a;
842
+ #endif
843
+ surfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,decalColor.rgb,decalColor.a);
844
+ #endif
845
+ `;
846
+ // Sideeffect
847
+ ShaderStore.IncludesShadersStore[name$4] = shader$4;
848
+
849
+ // Do not edit.
850
+ const name$3 = "bumpFragment";
851
+ const shader$3 = `vec2 uvOffset=vec2(0.0,0.0);
852
+ #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
853
+ #ifdef NORMALXYSCALE
854
+ float normalScale=1.0;
855
+ #elif defined(BUMP)
856
+ float normalScale=vBumpInfos.y;
857
+ #else
858
+ float normalScale=1.0;
859
+ #endif
860
+ #if defined(TANGENT) && defined(NORMAL)
861
+ mat3 TBN=vTBN;
862
+ #elif defined(BUMP)
863
+ vec2 TBNUV=gl_FrontFacing ? vBumpUV : -vBumpUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);
864
+ #else
865
+ vec2 TBNUV=gl_FrontFacing ? vDetailUV : -vDetailUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));
866
+ #endif
867
+ #elif defined(ANISOTROPIC)
868
+ #if defined(TANGENT) && defined(NORMAL)
869
+ mat3 TBN=vTBN;
870
+ #else
871
+ vec2 TBNUV=gl_FrontFacing ? vMainUV1 : -vMainUV1;mat3 TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));
872
+ #endif
873
+ #endif
874
+ #ifdef PARALLAX
875
+ mat3 invTBN=transposeMat3(TBN);
876
+ #ifdef PARALLAXOCCLUSION
877
+ uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);
878
+ #else
879
+ uvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);
880
+ #endif
881
+ #endif
882
+ #ifdef DETAIL
883
+ vec4 detailColor=texture2D(detailSampler,vDetailUV+uvOffset);vec2 detailNormalRG=detailColor.wy*2.0-1.0;float detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));vec3 detailNormal=vec3(detailNormalRG,detailNormalB);
884
+ #endif
885
+ #ifdef BUMP
886
+ #ifdef OBJECTSPACE_NORMALMAP
887
+ #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
888
+ normalW=normalize(texture2D(bumpSampler,vBumpUV).xyz *2.0-1.0);normalW=normalize(mat3(normalMatrix)*normalW);
889
+ #elif !defined(DETAIL)
890
+ normalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);
891
+ #else
892
+ vec3 bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;
893
+ #if DETAIL_NORMALBLENDMETHOD==0
894
+ detailNormal.xy*=vDetailInfos.z;vec3 blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
895
+ #elif DETAIL_NORMALBLENDMETHOD==1
896
+ detailNormal.xy*=vDetailInfos.z;bumpNormal+=vec3(0.0,0.0,1.0);detailNormal*=vec3(-1.0,-1.0,1.0);vec3 blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;
897
+ #endif
898
+ normalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);
899
+ #endif
900
+ #elif defined(DETAIL)
901
+ detailNormal.xy*=vDetailInfos.z;normalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);
902
+ #endif
903
+ `;
904
+ // Sideeffect
905
+ ShaderStore.IncludesShadersStore[name$3] = shader$3;
906
+
907
+ // Do not edit.
908
+ const name$2 = "depthPrePass";
909
+ const shader$2 = `#ifdef DEPTHPREPASS
910
+ gl_FragColor=vec4(0.,0.,0.,1.0);return;
911
+ #endif
912
+ `;
913
+ // Sideeffect
914
+ ShaderStore.IncludesShadersStore[name$2] = shader$2;
915
+
916
+ // Do not edit.
917
+ const name$1 = "lightFragment";
918
+ const shader$1 = `#ifdef LIGHT{X}
919
+ #if defined(SHADOWONLY) || defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})
920
+ #else
921
+ vec4 diffuse{X}=light{X}.vLightDiffuse;
922
+ #define CUSTOM_LIGHT{X}_COLOR
923
+ #ifdef PBR
924
+ #ifdef SPOTLIGHT{X}
925
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,vPositionW);
926
+ #elif defined(POINTLIGHT{X})
927
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,vPositionW);
928
+ #elif defined(HEMILIGHT{X})
929
+ preInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
930
+ #elif defined(DIRLIGHT{X})
931
+ preInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
932
+ #endif
933
+ preInfo.NdotV=NdotV;
934
+ #ifdef SPOTLIGHT{X}
935
+ #ifdef LIGHT_FALLOFF_GLTF{X}
936
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
937
+ #ifdef IESLIGHTTEXTURE{X}
938
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X});
939
+ #else
940
+ preInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
941
+ #endif
942
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
943
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
944
+ #ifdef IESLIGHTTEXTURE{X}
945
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X});
946
+ #else
947
+ preInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);
948
+ #endif
949
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
950
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
951
+ #ifdef IESLIGHTTEXTURE{X}
952
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X});
953
+ #else
954
+ preInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);
955
+ #endif
956
+ #else
957
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
958
+ #ifdef IESLIGHTTEXTURE{X}
959
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X});
960
+ #else
961
+ 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);
962
+ #endif
963
+ #endif
964
+ #elif defined(POINTLIGHT{X})
965
+ #ifdef LIGHT_FALLOFF_GLTF{X}
966
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
967
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
968
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
969
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
970
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
971
+ #else
972
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
973
+ #endif
974
+ #else
975
+ preInfo.attenuation=1.0;
976
+ #endif
977
+ #ifdef HEMILIGHT{X}
978
+ preInfo.roughness=roughness;
979
+ #else
980
+ preInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
981
+ #endif
982
+ #ifdef IRIDESCENCE
983
+ preInfo.iridescenceIntensity=iridescenceIntensity;
984
+ #endif
985
+ #ifdef HEMILIGHT{X}
986
+ info.diffuse=computeHemisphericDiffuseLighting(preInfo,diffuse{X}.rgb,light{X}.vLightGround);
987
+ #elif defined(SS_TRANSLUCENCY)
988
+ info.diffuse=computeDiffuseAndTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
989
+ #else
990
+ info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb);
991
+ #endif
992
+ #ifdef SPECULARTERM
993
+ #ifdef ANISOTROPIC
994
+ info.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
995
+ #else
996
+ info.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
997
+ #endif
998
+ #endif
999
+ #ifdef SHEEN
1000
+ #ifdef SHEEN_LINKWITHALBEDO
1001
+ preInfo.roughness=sheenOut.sheenIntensity;
1002
+ #else
1003
+ #ifdef HEMILIGHT{X}
1004
+ preInfo.roughness=sheenOut.sheenRoughness;
1005
+ #else
1006
+ preInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
1007
+ #endif
1008
+ #endif
1009
+ info.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
1010
+ #endif
1011
+ #ifdef CLEARCOAT
1012
+ #ifdef HEMILIGHT{X}
1013
+ preInfo.roughness=clearcoatOut.clearCoatRoughness;
1014
+ #else
1015
+ preInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
1016
+ #endif
1017
+ info.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,diffuse{X}.rgb);
1018
+ #ifdef CLEARCOAT_TINT
1019
+ absorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);info.diffuse*=absorption;
1020
+ #ifdef SPECULARTERM
1021
+ info.specular*=absorption;
1022
+ #endif
1023
+ #endif
1024
+ info.diffuse*=info.clearCoat.w;
1025
+ #ifdef SPECULARTERM
1026
+ info.specular*=info.clearCoat.w;
1027
+ #endif
1028
+ #ifdef SHEEN
1029
+ info.sheen*=info.clearCoat.w;
1030
+ #endif
1031
+ #endif
1032
+ #else
1033
+ #ifdef SPOTLIGHT{X}
1034
+ #ifdef IESLIGHTTEXTURE{X}
1035
+ info=computeIESSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness,iesLightTexture{X});
1036
+ #else
1037
+ info=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
1038
+ #endif
1039
+ #elif defined(HEMILIGHT{X})
1040
+ info=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);
1041
+ #elif defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})
1042
+ info=computeLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
1043
+ #endif
1044
+ #endif
1045
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
1046
+ info.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightTexture{X},textureProjectionMatrix{X},vPositionW);
1047
+ #endif
1048
+ #endif
1049
+ #ifdef SHADOW{X}
1050
+ #ifdef SHADOWCSM{X}
1051
+ for (int i=0; i<SHADOWCSMNUM_CASCADES{X}; i++)
1052
+ {
1053
+ #ifdef SHADOWCSM_RIGHTHANDED{X}
1054
+ diff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;
1055
+ #else
1056
+ diff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;
1057
+ #endif
1058
+ if (diff{X}>=0.) {index{X}=i;break;}}
1059
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
1060
+ if (index{X}>=0)
1061
+ #endif
1062
+ {
1063
+ #if defined(SHADOWPCF{X})
1064
+ #if defined(SHADOWLOWQUALITY{X})
1065
+ shadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1066
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1067
+ shadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1068
+ #else
1069
+ shadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1070
+ #endif
1071
+ #elif defined(SHADOWPCSS{X})
1072
+ #if defined(SHADOWLOWQUALITY{X})
1073
+ shadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1074
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1075
+ shadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1076
+ #else
1077
+ shadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1078
+ #endif
1079
+ #else
1080
+ shadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1081
+ #endif
1082
+ #ifdef SHADOWCSMDEBUG{X}
1083
+ shadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];
1084
+ #endif
1085
+ #ifndef SHADOWCSMNOBLEND{X}
1086
+ float frustumLength=frustumLengths{X}[index{X}];float diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};if (index{X}<(SHADOWCSMNUM_CASCADES{X}-1) && diffRatio<1.)
1087
+ {index{X}+=1;float nextShadow=0.;
1088
+ #if defined(SHADOWPCF{X})
1089
+ #if defined(SHADOWLOWQUALITY{X})
1090
+ nextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1091
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1092
+ nextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1093
+ #else
1094
+ nextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1095
+ #endif
1096
+ #elif defined(SHADOWPCSS{X})
1097
+ #if defined(SHADOWLOWQUALITY{X})
1098
+ nextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1099
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1100
+ nextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1101
+ #else
1102
+ nextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1103
+ #endif
1104
+ #else
1105
+ nextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1106
+ #endif
1107
+ shadow=mix(nextShadow,shadow,diffRatio);
1108
+ #ifdef SHADOWCSMDEBUG{X}
1109
+ shadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);
1110
+ #endif
1111
+ }
1112
+ #endif
1113
+ }
1114
+ #elif defined(SHADOWCLOSEESM{X})
1115
+ #if defined(SHADOWCUBE{X})
1116
+ shadow=computeShadowWithCloseESMCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
1117
+ #else
1118
+ shadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
1119
+ #endif
1120
+ #elif defined(SHADOWESM{X})
1121
+ #if defined(SHADOWCUBE{X})
1122
+ shadow=computeShadowWithESMCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
1123
+ #else
1124
+ shadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
1125
+ #endif
1126
+ #elif defined(SHADOWPOISSON{X})
1127
+ #if defined(SHADOWCUBE{X})
1128
+ shadow=computeShadowWithPoissonSamplingCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);
1129
+ #else
1130
+ shadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1131
+ #endif
1132
+ #elif defined(SHADOWPCF{X})
1133
+ #if defined(SHADOWLOWQUALITY{X})
1134
+ shadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1135
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1136
+ shadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1137
+ #else
1138
+ shadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1139
+ #endif
1140
+ #elif defined(SHADOWPCSS{X})
1141
+ #if defined(SHADOWLOWQUALITY{X})
1142
+ shadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1143
+ #elif defined(SHADOWMEDIUMQUALITY{X})
1144
+ shadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1145
+ #else
1146
+ shadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1147
+ #endif
1148
+ #else
1149
+ #if defined(SHADOWCUBE{X})
1150
+ shadow=computeShadowCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.depthValues);
1151
+ #else
1152
+ shadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1153
+ #endif
1154
+ #endif
1155
+ #ifdef SHADOWONLY
1156
+ #ifndef SHADOWINUSE
1157
+ #define SHADOWINUSE
1158
+ #endif
1159
+ globalShadow+=shadow;shadowLightCount+=1.0;
1160
+ #endif
1161
+ #else
1162
+ shadow=1.;
1163
+ #endif
1164
+ aggShadow+=shadow;numLights+=1.0;
1165
+ #ifndef SHADOWONLY
1166
+ #ifdef CUSTOMUSERLIGHTING
1167
+ diffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);
1168
+ #ifdef SPECULARTERM
1169
+ specularBase+=computeCustomSpecularLighting(info,specularBase,shadow);
1170
+ #endif
1171
+ #elif defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})
1172
+ diffuseBase+=lightmapColor.rgb*shadow;
1173
+ #ifdef SPECULARTERM
1174
+ #ifndef LIGHTMAPNOSPECULAR{X}
1175
+ specularBase+=info.specular*shadow*lightmapColor.rgb;
1176
+ #endif
1177
+ #endif
1178
+ #ifdef CLEARCOAT
1179
+ #ifndef LIGHTMAPNOSPECULAR{X}
1180
+ clearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;
1181
+ #endif
1182
+ #endif
1183
+ #ifdef SHEEN
1184
+ #ifndef LIGHTMAPNOSPECULAR{X}
1185
+ sheenBase+=info.sheen.rgb*shadow;
1186
+ #endif
1187
+ #endif
1188
+ #else
1189
+ #ifdef SHADOWCSMDEBUG{X}
1190
+ diffuseBase+=info.diffuse*shadowDebug{X};
1191
+ #else
1192
+ diffuseBase+=info.diffuse*shadow;
1193
+ #endif
1194
+ #ifdef SPECULARTERM
1195
+ specularBase+=info.specular*shadow;
1196
+ #endif
1197
+ #ifdef CLEARCOAT
1198
+ clearCoatBase+=info.clearCoat.rgb*shadow;
1199
+ #endif
1200
+ #ifdef SHEEN
1201
+ sheenBase+=info.sheen.rgb*shadow;
1202
+ #endif
1203
+ #endif
1204
+ #endif
1205
+ #endif
1206
+ `;
1207
+ // Sideeffect
1208
+ ShaderStore.IncludesShadersStore[name$1] = shader$1;
1209
+
1210
+ // Do not edit.
1211
+ const name = "oitFragment";
1212
+ const shader = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
1213
+ float fragDepth=gl_FragCoord.z;
1214
+ #ifdef ORDER_INDEPENDENT_TRANSPARENCY_16BITS
1215
+ uint halfFloat=packHalf2x16(vec2(fragDepth));vec2 full=unpackHalf2x16(halfFloat);fragDepth=full.x;
1216
+ #endif
1217
+ ivec2 fragCoord=ivec2(gl_FragCoord.xy);vec2 lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;vec4 lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);depth.rg=vec2(-MAX_DEPTH);frontColor=lastFrontColor;backColor=vec4(0.0);
1218
+ #ifdef USE_REVERSE_DEPTHBUFFER
1219
+ float furthestDepth=-lastDepth.x;float nearestDepth=lastDepth.y;
1220
+ #else
1221
+ float nearestDepth=-lastDepth.x;float furthestDepth=lastDepth.y;
1222
+ #endif
1223
+ float alphaMultiplier=1.0-lastFrontColor.a;
1224
+ #ifdef USE_REVERSE_DEPTHBUFFER
1225
+ if (fragDepth>nearestDepth || fragDepth<furthestDepth) {
1226
+ #else
1227
+ if (fragDepth<nearestDepth || fragDepth>furthestDepth) {
1228
+ #endif
1229
+ return;}
1230
+ #ifdef USE_REVERSE_DEPTHBUFFER
1231
+ if (fragDepth<nearestDepth && fragDepth>furthestDepth) {
1232
+ #else
1233
+ if (fragDepth>nearestDepth && fragDepth<furthestDepth) {
1234
+ #endif
1235
+ depth.rg=vec2(-fragDepth,fragDepth);return;}
1236
+ #endif
1237
+ `;
1238
+ // Sideeffect
1239
+ ShaderStore.IncludesShadersStore[name] = shader;
1240
+ //# sourceMappingURL=oitFragment-DCxGblwL.esm.js.map