@uptimizr/dashboard 0.4.6 → 0.4.7

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 (383) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +19 -5
  3. package/out/__next._full.txt +10 -10
  4. package/out/__next._tree.txt +1 -1
  5. package/out/_next/static/chunks/{2-_a-v1xeo5hb.js → 0-_j1khfoib6l.js} +116 -115
  6. package/out/_next/static/chunks/{25brs445bjbik.js → 005bbq_px7lke.js} +2 -2
  7. package/out/_next/static/chunks/00fbhtmui-yxg.js +1 -0
  8. package/out/_next/static/chunks/017pn-pen381_.js +1 -0
  9. package/out/_next/static/chunks/01vov6inx1zzt.js +1 -0
  10. package/out/_next/static/chunks/{2x-7kbwq8tl-o.js → 02qk_wmkf9at-.js} +196 -196
  11. package/out/_next/static/chunks/03bd5plut08tg.js +1 -0
  12. package/out/_next/static/chunks/03dwfqmo73w_z.js +1 -0
  13. package/out/_next/static/chunks/03sn4419dam-h.js +5 -0
  14. package/out/_next/static/chunks/05ere0-228syf.js +1 -0
  15. package/out/_next/static/chunks/{1jjw9hxgi2vzi.js → 05h8u5lrypn5m.js} +1 -1
  16. package/out/_next/static/chunks/{23-y1f_zw56vo.js → 05v-nubi896jg.js} +1 -1
  17. package/out/_next/static/chunks/05z79zh625ezu.js +1 -0
  18. package/out/_next/static/chunks/{2xe4bgir5l-9b.js → 060iult6f68_e.js} +504 -504
  19. package/out/_next/static/chunks/08lvtnv7b1cxp.js +1 -0
  20. package/out/_next/static/chunks/0_v2luu_qmeid.js +1 -0
  21. package/out/_next/static/chunks/0ai0zgbgjqb92.js +1 -0
  22. package/out/_next/static/chunks/0boov9mwycanf.js +1 -0
  23. package/out/_next/static/chunks/{2mrkv0z2i74pv.js → 0btmk0wmekl02.js} +2 -2
  24. package/out/_next/static/chunks/0d8x8m2x6ca_m.js +1 -0
  25. package/out/_next/static/chunks/0dmrdrwtd093b.js +1 -0
  26. package/out/_next/static/chunks/0e1jfrmioeuws.js +1 -0
  27. package/out/_next/static/chunks/0e7nlxmneb2j_.js +1 -0
  28. package/out/_next/static/chunks/0es97pusfxupl.js +1 -0
  29. package/out/_next/static/chunks/{2fspbfbxbswzd.js → 0fd-0i1yt23kz.js} +1 -1
  30. package/out/_next/static/chunks/0fxdyvb1w23d1.js +1 -0
  31. package/out/_next/static/chunks/0fxhc24djjcgq.js +1 -0
  32. package/out/_next/static/chunks/0gf-ztg86zd80.js +1 -0
  33. package/out/_next/static/chunks/{287hakn2ijupp.js → 0grasqqf5dw7r.js} +2 -2
  34. package/out/_next/static/chunks/{161yjxmdz9obc.js → 0hajwk2yd-rwr.js} +1 -1
  35. package/out/_next/static/chunks/0hk1wg7h4araz.js +1 -0
  36. package/out/_next/static/chunks/{1aa9g197l4twm.js → 0j74ipw4fps-n.js} +1 -1
  37. package/out/_next/static/chunks/{1s0dpdqy480hg.js → 0kj-vckdn7t5p.js} +1 -1
  38. package/out/_next/static/chunks/0lbs5xdyjuzuo.js +1 -0
  39. package/out/_next/static/chunks/0lep3_bqwfuin.js +1 -0
  40. package/out/_next/static/chunks/0mp0jh1gj7290.js +1 -0
  41. package/out/_next/static/chunks/0ngpoj2g5i4kz.js +1 -0
  42. package/out/_next/static/chunks/0nhljhguceh66.js +1 -0
  43. package/out/_next/static/chunks/0p6z73afb9dj2.js +1 -0
  44. package/out/_next/static/chunks/0p9zfmidzqkps.js +1 -0
  45. package/out/_next/static/chunks/0q75860p8u_ii.js +1 -0
  46. package/out/_next/static/chunks/{3mmy9zsb7zo-m.js → 0rracz73p38mo.js} +23 -23
  47. package/out/_next/static/chunks/{3_dm45k0vk1aa.js → 0sw-8gxbg4x0l.js} +565 -565
  48. package/out/_next/static/chunks/0sx-6rf3eteqn.js +1 -0
  49. package/out/_next/static/chunks/0thw099xk3_0p.js +3 -0
  50. package/out/_next/static/chunks/0u85f0dhb4i8e.js +1 -0
  51. package/out/_next/static/chunks/0uk7kigzm4vi2.js +31 -0
  52. package/out/_next/static/chunks/0ulufxnsrou61.js +1 -0
  53. package/out/_next/static/chunks/0xa9dyg6ezzyd.js +2 -0
  54. package/out/_next/static/chunks/0xvrfvur0p534.js +1 -0
  55. package/out/_next/static/chunks/{2clevl_9ayd0x.js → 0ybs1u66q26su.js} +1 -1
  56. package/out/_next/static/chunks/0ydfhk-p6zvm0.js +1 -0
  57. package/out/_next/static/chunks/{0j2ygtc_-bo3m.js → 0z004fn14pbcu.js} +1 -1
  58. package/out/_next/static/chunks/{2c8rmxz151fxa.js → 0z9erbl3llr_b.js} +224 -224
  59. package/out/_next/static/chunks/0zcsxvcvog9ue.js +1 -0
  60. package/out/_next/static/chunks/0zqgq0lwtz9tn.js +1 -0
  61. package/out/_next/static/chunks/1-ogak5u00kwa.js +1 -0
  62. package/out/_next/static/chunks/{3si3migsmvz9o.js → 10_5p5-xf2aoo.js} +1 -1
  63. package/out/_next/static/chunks/118qlrzdwpfmo.js +1 -0
  64. package/out/_next/static/chunks/11km5p4gd0ut4.js +1 -0
  65. package/out/_next/static/chunks/120rl4l29q9xs.js +1 -0
  66. package/out/_next/static/chunks/{44m1ijc5cv80x.js → 129m5i93ltoym.js} +1 -1
  67. package/out/_next/static/chunks/12n73o884lyyl.js +1 -0
  68. package/out/_next/static/chunks/{27z7j17kcrty_.js → 13zcn4lv0qj76.js} +11 -11
  69. package/out/_next/static/chunks/15jlgfcaeaki9.js +1 -0
  70. package/out/_next/static/chunks/{374lzksboll-t.js → 15o4_2t-l3rj5.js} +1 -1
  71. package/out/_next/static/chunks/175st2ogkg_1o.js +1 -0
  72. package/out/_next/static/chunks/19rsodtu91ja_.js +1 -0
  73. package/out/_next/static/chunks/1a2ouhup611bz.js +1 -0
  74. package/out/_next/static/chunks/{2117sv2qzo6yq.js → 1by60_b14x-3o.js} +1 -1
  75. package/out/_next/static/chunks/{2al9dh3_1ixhv.js → 1cyq7i39885sl.js} +1 -1
  76. package/out/_next/static/chunks/1d9it6yocgt54.js +1 -0
  77. package/out/_next/static/chunks/{29_n5j-hg_gsa.js → 1dp1s1t-y7gal.js} +1 -1
  78. package/out/_next/static/chunks/1dr7gh6xgypl8.js +1 -0
  79. package/out/_next/static/chunks/{1eirucr9s6-h5.js → 1dt30s_sp8415.js} +1 -1
  80. package/out/_next/static/chunks/{3vtmucpx25o7q.js → 1e8_jl2cxd3rp.js} +584 -584
  81. package/out/_next/static/chunks/1f1rek_fxk3of.js +1 -0
  82. package/out/_next/static/chunks/1f2mna0k5efeq.js +1 -0
  83. package/out/_next/static/chunks/1gfz3sxwkkg3d.js +1 -0
  84. package/out/_next/static/chunks/1gr35qeguuws0.js +1 -0
  85. package/out/_next/static/chunks/{3p03l0z65c8vc.js → 1gttu-n9am66k.js} +253 -253
  86. package/out/_next/static/chunks/1imi0xwi9hd99.js +1 -0
  87. package/out/_next/static/chunks/1ka5v5zu0cstt.js +1 -0
  88. package/out/_next/static/chunks/{3my05px5mv_s5.js → 1l_3oidssbhns.js} +235 -235
  89. package/out/_next/static/chunks/{0r-x702_jvhud.js → 1m9zc5gm-327d.js} +12 -12
  90. package/out/_next/static/chunks/1n9nhz-6azcp3.js +3 -0
  91. package/out/_next/static/chunks/1ncqwe81t_9_x.js +1 -0
  92. package/out/_next/static/chunks/{3un-w6wutw1qn.js → 1nix_lulkpklo.js} +1 -1
  93. package/out/_next/static/chunks/1ntqovuz2c217.js +1 -0
  94. package/out/_next/static/chunks/1pgs-98tfkq9_.js +1 -0
  95. package/out/_next/static/chunks/1q2z0aeopo8t8.js +1 -0
  96. package/out/_next/static/chunks/{1x0j78ohufpul.js → 1q4lkgxfnqnew.js} +1 -1
  97. package/out/_next/static/chunks/{0yd4_xh476fjn.js → 1qg1l7t00nyib.js} +97 -97
  98. package/out/_next/static/chunks/{2wgh5i70bzelt.js → 1rcdimhu0qhlu.js} +392 -392
  99. package/out/_next/static/chunks/1rlfg62jxqj3z.js +1 -0
  100. package/out/_next/static/chunks/1ses023uud001.js +1 -0
  101. package/out/_next/static/chunks/1t5oynmttpfsw.js +1 -0
  102. package/out/_next/static/chunks/{39cou9lia_g7l.js → 1t9i20i5-f8ze.js} +1 -1
  103. package/out/_next/static/chunks/{0rykrf_vofbad.js → 1tgj55b305g4h.js} +1 -1
  104. package/out/_next/static/chunks/{3rj-5v0j_2-_2.js → 1u8snlm6a7uhi.js} +4 -4
  105. package/out/_next/static/chunks/{2neieeo9g2u56.js → 1ug4k-1zhr63a.js} +1 -1
  106. package/out/_next/static/chunks/{3ioxfi3bvznhh.js → 1uh9zgsy69g92.js} +1 -1
  107. package/out/_next/static/chunks/1vrpzlif-z_p0.js +1 -0
  108. package/out/_next/static/chunks/{0lwjmr8efrlbt.js → 1vurgl6oz2qey.js} +1 -1
  109. package/out/_next/static/chunks/1w-qc09n9ijtq.js +1 -0
  110. package/out/_next/static/chunks/1ycqxcht6x54p.js +1 -0
  111. package/out/_next/static/chunks/1zj4307ugq0qz.js +1 -0
  112. package/out/_next/static/chunks/{14e4k-718qadd.js → 1zkd8v-qka--j.js} +163 -168
  113. package/out/_next/static/chunks/1zm52cjrfrq7c.js +1 -0
  114. package/out/_next/static/chunks/{3-yhe6rcsjh88.js → 1zm6eo861i3c8.js} +1 -1
  115. package/out/_next/static/chunks/{06fbalmyyfpsy.js → 1zp9363yfhpom.js} +1 -1
  116. package/out/_next/static/chunks/1zt1xxovnjhkm.js +1 -0
  117. package/out/_next/static/chunks/2-3hk_db5fpok.js +1 -0
  118. package/out/_next/static/chunks/2-bv9a_0zgw1f.js +1 -0
  119. package/out/_next/static/chunks/{3cp5nmtwxq4gr.js → 209sxygecny37.js} +1 -1
  120. package/out/_next/static/chunks/{133dqp8_7_yo6.js → 216uiih3_vdfd.js} +1 -1
  121. package/out/_next/static/chunks/21kfpd_bityxt.js +1 -0
  122. package/out/_next/static/chunks/{3yk0hzfq5rcs6.js → 22yqh0zlo_vwr.js} +1 -1
  123. package/out/_next/static/chunks/24ecas0m9tao7.js +3 -0
  124. package/out/_next/static/chunks/24pq9210rng3f.js +1 -0
  125. package/out/_next/static/chunks/{184pz6z3dflfm.js → 267prao6fyt22.js} +20 -20
  126. package/out/_next/static/chunks/26skkagvj1z96.js +1 -0
  127. package/out/_next/static/chunks/{0i9wa8hjd-5tc.js → 26y9sv8_-ykxf.js} +1 -1
  128. package/out/_next/static/chunks/2701xfv_07wz_.js +1 -0
  129. package/out/_next/static/chunks/{39rhmj_32ujyj.js → 271333m8y3k0e.js} +1 -1
  130. package/out/_next/static/chunks/29rkmguzky-bp.js +1 -0
  131. package/out/_next/static/chunks/{3qo7e6b73mfxq.js → 2a07so920b6aa.js} +1 -1
  132. package/out/_next/static/chunks/{1z790xxb46gxy.js → 2a2oy8ryz2tsk.js} +1 -1
  133. package/out/_next/static/chunks/{2-i29-jdbwww6.js → 2ao-3jzz7yw3p.js} +111 -111
  134. package/out/_next/static/chunks/2apihn9ra2ufp.js +1 -0
  135. package/out/_next/static/chunks/2apnpj0-fs9ks.js +1 -0
  136. package/out/_next/static/chunks/2b481pitl4k85.js +1 -0
  137. package/out/_next/static/chunks/2bettxaqt3d2p.js +1 -0
  138. package/out/_next/static/chunks/{1bv-jzy_2jiqs.js → 2c721vfva711t.js} +1 -1
  139. package/out/_next/static/chunks/{17_jjyx4jz9dd.js → 2d2kl_m64j9cb.js} +1 -1
  140. package/out/_next/static/chunks/2droqjmvmgj13.js +1 -0
  141. package/out/_next/static/chunks/2dxbvwbbgpzoq.js +1 -0
  142. package/out/_next/static/chunks/2eqbsut829r5l.js +1 -0
  143. package/out/_next/static/chunks/2f3_mzxjh3gso.js +1 -0
  144. package/out/_next/static/chunks/2fsde0jwi5qtt.js +1 -0
  145. package/out/_next/static/chunks/{0jap7l5-bskj4.js → 2h249uvhh2sij.js} +12 -12
  146. package/out/_next/static/chunks/{2as_br1awqk6k.js → 2izok2otbk8-2.js} +496 -496
  147. package/out/_next/static/chunks/2j120dkh7q3uf.js +1 -0
  148. package/out/_next/static/chunks/2j2ynchpqh34-.js +1 -0
  149. package/out/_next/static/chunks/2kj6pzs_wap1v.js +1 -0
  150. package/out/_next/static/chunks/{2epukrz6paj9n.js → 2kok6zedeeltw.js} +1 -1
  151. package/out/_next/static/chunks/2lnj9jruy4nrv.js +1 -0
  152. package/out/_next/static/chunks/{0j0a0wvmmghxj.js → 2lsvk7xcfkarc.js} +1 -1
  153. package/out/_next/static/chunks/2n-pveub8b_5t.js +1 -0
  154. package/out/_next/static/chunks/{3puu2_-t0lln9.js → 2n3xu_wbvtj7h.js} +12 -12
  155. package/out/_next/static/chunks/{1lu7rjfvxj8yj.js → 2of8q0kaeqpf0.js} +1 -1
  156. package/out/_next/static/chunks/2ofwtw6p08sfz.js +1 -0
  157. package/out/_next/static/chunks/{1t-yolk97lmot.js → 2phl5ta4iim7l.js} +1 -1
  158. package/out/_next/static/chunks/2q6l-xdqzgmpf.js +1 -0
  159. package/out/_next/static/chunks/2q8yg63br2jc9.js +1 -0
  160. package/out/_next/static/chunks/2r5qgieqldcd9.js +1 -0
  161. package/out/_next/static/chunks/2r7y401cvjc1s.js +1 -0
  162. package/out/_next/static/chunks/{1a94whad0y57f.js → 2r96kyeehsji9.js} +1 -1
  163. package/out/_next/static/chunks/{1gvu5a6ffbs7l.js → 2rmc6ru7mc-kg.js} +1 -1
  164. package/out/_next/static/chunks/{3_gfl66zf638s.js → 2s6kpclh6ie7o.js} +901 -906
  165. package/out/_next/static/chunks/{0xzamrecplwzw.js → 2sys9nj8lo3uk.js} +1 -1
  166. package/out/_next/static/chunks/{336ckqpboqmbn.js → 2tc3e-iqv71y_.js} +1 -1
  167. package/out/_next/static/chunks/{1t2g1v0ubcsam.js → 2uo6vm7mfgrbf.js} +1 -1
  168. package/out/_next/static/chunks/{2kmmk9coo9_b0.js → 2urx6fow8c8c9.js} +143 -143
  169. package/out/_next/static/chunks/2w2k1gveljyb7.js +1 -0
  170. package/out/_next/static/chunks/{1zmx71cvc6ksk.js → 2w99knknr5i8c.js} +1 -1
  171. package/out/_next/static/chunks/2w_ptlw-ad8-9.js +4 -0
  172. package/out/_next/static/chunks/2ws1s9d52ayv8.js +1 -0
  173. package/out/_next/static/chunks/2x7enks3ydgai.js +1 -0
  174. package/out/_next/static/chunks/{2_6b9lraq-exh.js → 2y8i7_nxm4r05.js} +5 -5
  175. package/out/_next/static/chunks/2ydub0t01728d.js +1 -0
  176. package/out/_next/static/chunks/{29hkkj9raxte9.js → 2z_iab7ozohhq.js} +77 -77
  177. package/out/_next/static/chunks/3-m_vzabs1uez.js +1 -0
  178. package/out/_next/static/chunks/{1h1gixjbjkbsl.js → 302qk2fjdrthp.js} +5 -5
  179. package/out/_next/static/chunks/30bhz7czzs4mf.js +1 -0
  180. package/out/_next/static/chunks/{3d43gd91r06y6.js → 30n4y_uu8chbh.js} +507 -505
  181. package/out/_next/static/chunks/{0o0qtv35dqv3i.js → 32_c4mbb6j1l6.js} +239 -239
  182. package/out/_next/static/chunks/33hp-khdfohdq.js +1 -0
  183. package/out/_next/static/chunks/{3zv5kyos9vtmm.js → 33i36o_l69sm5.js} +1 -1
  184. package/out/_next/static/chunks/3527r3jo5fj3i.js +1 -0
  185. package/out/_next/static/chunks/355dg8yaa94hr.js +1 -0
  186. package/out/_next/static/chunks/{2h9i_adbqaxs4.js → 35ntbr_c-yx44.js} +1 -1
  187. package/out/_next/static/chunks/{0cmyc-uvk93kl.js → 35sne1llxnc-m.js} +74 -74
  188. package/out/_next/static/chunks/36enkx1skkv2-.js +4 -0
  189. package/out/_next/static/chunks/{0e5dcxmkprebg.js → 3772oce1n3t_g.js} +1 -1
  190. package/out/_next/static/chunks/37cnbm5ft1mqf.js +1 -0
  191. package/out/_next/static/chunks/38xdo3cifphut.js +1 -0
  192. package/out/_next/static/chunks/{0o73w0cn5n_vl.js → 3_dgblylldcgb.js} +1 -1
  193. package/out/_next/static/chunks/3beawo-qwuk8k.js +1 -0
  194. package/out/_next/static/chunks/3cj_6sl9kr3e9.js +1 -0
  195. package/out/_next/static/chunks/3d-i_skta_wes.js +1 -0
  196. package/out/_next/static/chunks/3df_l2we755bb.js +1 -0
  197. package/out/_next/static/chunks/{0o1vph7x9shzu.js → 3eve5y7fpzx2h.js} +1 -1
  198. package/out/_next/static/chunks/3ewgyb4y19w-3.js +1 -0
  199. package/out/_next/static/chunks/3f3789eh18_oy.js +1 -0
  200. package/out/_next/static/chunks/{0gk5rnci1hznh.js → 3f8qelpscqfym.js} +2 -2
  201. package/out/_next/static/chunks/3g3-e9m1en45q.js +1 -0
  202. package/out/_next/static/chunks/{2kk_vvmr2xm3d.js → 3h6akt2uu05ku.js} +12 -12
  203. package/out/_next/static/chunks/{2_lw4d7t-xcqi.js → 3huu0tqmxwowu.js} +523 -522
  204. package/out/_next/static/chunks/3i239y-1hbkm-.js +1 -0
  205. package/out/_next/static/chunks/{2mjjo0yj-4ro4.js → 3ipx7xbxchsq9.js} +1 -1
  206. package/out/_next/static/chunks/{3txu-i5qn183a.js → 3j9xvdz55bi4p.js} +321 -321
  207. package/out/_next/static/chunks/3kp8qmhoi24oz.js +1 -0
  208. package/out/_next/static/chunks/3ksq69yq-40_r.js +1 -0
  209. package/out/_next/static/chunks/{3nwaovnpiyrt8.js → 3njwfothmmg7u.js} +3 -3
  210. package/out/_next/static/chunks/{2iu0_3cx-ny74.js → 3oqxl46ukaojj.js} +11 -11
  211. package/out/_next/static/chunks/{2oacwtbslo90t.js → 3qn6r8-0u6dij.js} +360 -360
  212. package/out/_next/static/chunks/3qye1lytea2i8.js +1 -0
  213. package/out/_next/static/chunks/{0gsh_d0m5xss1.js → 3rlp9yr75liz7.js} +1 -1
  214. package/out/_next/static/chunks/{3j3ol_d1vsdhx.js → 3sa_hlx3konc7.js} +1 -1
  215. package/out/_next/static/chunks/3tyo643l62h3m.js +1 -0
  216. package/out/_next/static/chunks/3tz2tpqa9uvwm.js +1 -0
  217. package/out/_next/static/chunks/{0_jrfk2u1u3fi.js → 3utpc-fc6_y0f.js} +1 -1
  218. package/out/_next/static/chunks/3v-0c2aj6c0on.js +1 -0
  219. package/out/_next/static/chunks/3v6nxa28rxngq.js +1 -0
  220. package/out/_next/static/chunks/{3twr9ds68-9us.js → 3vbamaoiuk9yj.js} +1 -1
  221. package/out/_next/static/chunks/3vv99btjc-mky.js +1 -0
  222. package/out/_next/static/chunks/{22yht3s7c-xih.js → 3w59kt5ztyvoq.js} +1 -1
  223. package/out/_next/static/chunks/3x02lxdo28u9i.js +1 -0
  224. package/out/_next/static/chunks/{1my968s78he8g.js → 3xl-op0hwxytg.js} +15 -15
  225. package/out/_next/static/chunks/3ydnxyc4rvad_.js +1 -0
  226. package/out/_next/static/chunks/3ylg4gfetwgxw.js +1 -0
  227. package/out/_next/static/chunks/{0a475u_q5i_dd.js → 3zdtteq-r2fs5.js} +2 -2
  228. package/out/_next/static/chunks/3zkwt0gybqtgm.js +1 -0
  229. package/out/_next/static/chunks/{3nr48h9zwum-3.js → 3zs7l4362msjd.js} +1 -1
  230. package/out/_next/static/chunks/40etabvml_71y.js +1 -0
  231. package/out/_next/static/chunks/{2xujlsx3stqig.js → 417jkzz0slv9m.js} +1 -1
  232. package/out/_next/static/chunks/{0ypejzd74ixbw.js → 41b5gpyqbj58m.js} +15 -15
  233. package/out/_next/static/chunks/41u2-5jayyajf.js +22 -0
  234. package/out/_next/static/chunks/42gcpy51w7lk1.js +1 -0
  235. package/out/_next/static/chunks/{2h07np207nlx7.js → 42ymanq326mo7.js} +1 -1
  236. package/out/_next/static/chunks/{36pz_ews7u0xb.js → 43fp64xnfy646.js} +1 -1
  237. package/out/_next/static/chunks/43v4y2gu5z9_h.js +1 -0
  238. package/out/_next/static/chunks/44cer242u-f8v.js +1 -0
  239. package/out/_next/static/chunks/{0d9pxx1w_zqr9.js → 44zi0gl0a6a8w.js} +1 -1
  240. package/out/_next/static/chunks/turbopack-0n2o5_bkskckx.js +1 -0
  241. package/out/_not-found/__next._full.txt +11 -11
  242. package/out/_not-found/__next._not-found.__PAGE__.txt +19 -2
  243. package/out/_not-found/__next._tree.txt +1 -1
  244. package/out/_not-found.html +1 -1
  245. package/out/_not-found.txt +11 -11
  246. package/out/index.html +1 -1
  247. package/out/index.txt +10 -10
  248. package/package.json +9 -9
  249. package/out/__next._head.txt +0 -6
  250. package/out/__next._index.txt +0 -5
  251. package/out/_next/static/chunks/0-k4hp87gwues.js +0 -1
  252. package/out/_next/static/chunks/0-laj-bivzp4x.js +0 -1
  253. package/out/_next/static/chunks/04zj0yf1qhk1o.js +0 -1
  254. package/out/_next/static/chunks/07hgbbqksqd1g.js +0 -1
  255. package/out/_next/static/chunks/08ou2nvy48e0u.js +0 -1
  256. package/out/_next/static/chunks/08y5-irjbsiy8.js +0 -1
  257. package/out/_next/static/chunks/0aad2r4s4wl1x.js +0 -5
  258. package/out/_next/static/chunks/0gnjtwq-474uc.js +0 -1
  259. package/out/_next/static/chunks/0ibzpjo0h731v.js +0 -1
  260. package/out/_next/static/chunks/0j_3k5qhv_mdx.js +0 -1
  261. package/out/_next/static/chunks/0jis2w2mfx062.js +0 -1
  262. package/out/_next/static/chunks/0jjvp2slpf7d6.js +0 -1
  263. package/out/_next/static/chunks/0ko10wo4rc9-b.js +0 -1
  264. package/out/_next/static/chunks/0lqmvz6k2h_of.js +0 -1
  265. package/out/_next/static/chunks/0noxyupihh8dk.js +0 -1
  266. package/out/_next/static/chunks/0p6phe9kjlxn8.js +0 -1
  267. package/out/_next/static/chunks/0ptxb9dcwsw3o.js +0 -1
  268. package/out/_next/static/chunks/0q0i4pdyq66gb.js +0 -1
  269. package/out/_next/static/chunks/0q8pt8fd0ma30.js +0 -1
  270. package/out/_next/static/chunks/0qqx9aoz8l5d2.js +0 -1
  271. package/out/_next/static/chunks/0tsk32q-88t_7.js +0 -1
  272. package/out/_next/static/chunks/0u7577db_ivyr.js +0 -1
  273. package/out/_next/static/chunks/0unnrt0un064x.js +0 -1
  274. package/out/_next/static/chunks/0uygtr4mo3h0v.js +0 -1
  275. package/out/_next/static/chunks/0vf3facit951s.js +0 -1
  276. package/out/_next/static/chunks/0vzo-8t8c26k9.js +0 -1
  277. package/out/_next/static/chunks/0xx7_7y5jdlh4.js +0 -1
  278. package/out/_next/static/chunks/0xyija62b6txc.js +0 -1
  279. package/out/_next/static/chunks/0zeb37703zcz3.js +0 -1
  280. package/out/_next/static/chunks/0zu5ato7-1-q9.js +0 -1
  281. package/out/_next/static/chunks/0zydv7y47dxgh.js +0 -1
  282. package/out/_next/static/chunks/103x4jwovb6d-.js +0 -1
  283. package/out/_next/static/chunks/107wfq84g9-kn.js +0 -1
  284. package/out/_next/static/chunks/10afagk8yn__n.js +0 -1
  285. package/out/_next/static/chunks/12ory_c78yl31.js +0 -1
  286. package/out/_next/static/chunks/1365lgwdd4vuo.js +0 -1
  287. package/out/_next/static/chunks/146ou-ohb_qhs.js +0 -1
  288. package/out/_next/static/chunks/14orr68xgdykd.js +0 -1
  289. package/out/_next/static/chunks/15qfoj-vl9thu.js +0 -1
  290. package/out/_next/static/chunks/166yqx3_qvbpy.js +0 -1
  291. package/out/_next/static/chunks/16gwjao676ieb.js +0 -1
  292. package/out/_next/static/chunks/16rmmzhy2p7bw.js +0 -1
  293. package/out/_next/static/chunks/18h9ugdz6igdb.js +0 -1
  294. package/out/_next/static/chunks/19d8n5t7ka2fb.js +0 -1
  295. package/out/_next/static/chunks/1_4hh3dfop93j.js +0 -1
  296. package/out/_next/static/chunks/1_rbzw3n4fk0g.js +0 -1
  297. package/out/_next/static/chunks/1bq0fcnt1wy86.js +0 -1
  298. package/out/_next/static/chunks/1c6mho7e0enta.js +0 -1
  299. package/out/_next/static/chunks/1dfaheve77dhi.js +0 -1
  300. package/out/_next/static/chunks/1dgf112ehnhm1.js +0 -1
  301. package/out/_next/static/chunks/1f07l3q77zat1.js +0 -1
  302. package/out/_next/static/chunks/1fervgvgv10r-.js +0 -1
  303. package/out/_next/static/chunks/1fsof7un7igrn.js +0 -1
  304. package/out/_next/static/chunks/1iel4pzhhh-c3.js +0 -1
  305. package/out/_next/static/chunks/1iojfx3-g4_n9.js +0 -1
  306. package/out/_next/static/chunks/1j4c0nvdo5q68.js +0 -3
  307. package/out/_next/static/chunks/1j4jt5q7px8sy.js +0 -1
  308. package/out/_next/static/chunks/1k_8olnprvi8r.js +0 -1
  309. package/out/_next/static/chunks/1l0rt7d4m-xdk.js +0 -5
  310. package/out/_next/static/chunks/1mt4cnd_d6jvf.js +0 -1
  311. package/out/_next/static/chunks/1tbes2sv-qzcx.js +0 -1
  312. package/out/_next/static/chunks/1upy8a5cb75kt.js +0 -1
  313. package/out/_next/static/chunks/1xed71f608m4b.js +0 -1
  314. package/out/_next/static/chunks/219n3q-_eengm.js +0 -1
  315. package/out/_next/static/chunks/21wo3vdr_uby8.js +0 -1
  316. package/out/_next/static/chunks/25gep78-izw79.js +0 -4
  317. package/out/_next/static/chunks/26i7dn31afdtm.js +0 -1
  318. package/out/_next/static/chunks/27hbplu797elx.js +0 -1
  319. package/out/_next/static/chunks/28i3wgvgn_at1.js +0 -1
  320. package/out/_next/static/chunks/2992eiy52nazj.js +0 -1
  321. package/out/_next/static/chunks/29bxq-67oazfg.js +0 -1
  322. package/out/_next/static/chunks/29ings58w7kp1.js +0 -1
  323. package/out/_next/static/chunks/2_n0cpkdsjzli.js +0 -1
  324. package/out/_next/static/chunks/2a3iy701j4r_y.js +0 -1
  325. package/out/_next/static/chunks/2awr1c_vfsutb.js +0 -1
  326. package/out/_next/static/chunks/2b5nt7yn-pq3a.js +0 -1
  327. package/out/_next/static/chunks/2bxe3kjr17tdp.js +0 -1
  328. package/out/_next/static/chunks/2dvbzar93ooc-.js +0 -1
  329. package/out/_next/static/chunks/2e-vp0e11g9ew.js +0 -1
  330. package/out/_next/static/chunks/2exj9-0p6n9x-.js +0 -1
  331. package/out/_next/static/chunks/2gf8l6hbmt7v3.js +0 -1
  332. package/out/_next/static/chunks/2jio3sio-_43z.js +0 -1
  333. package/out/_next/static/chunks/2laz1v9fg2a2z.js +0 -1
  334. package/out/_next/static/chunks/2pb_uosb-aa8x.js +0 -1
  335. package/out/_next/static/chunks/2qu-gpm3ux1l6.js +0 -1
  336. package/out/_next/static/chunks/2rsi6v7qmqx2b.js +0 -1
  337. package/out/_next/static/chunks/2s4fzgzkwjluu.js +0 -2
  338. package/out/_next/static/chunks/2tdvuc-27khif.js +0 -1
  339. package/out/_next/static/chunks/2trolrgd7neax.js +0 -1
  340. package/out/_next/static/chunks/2uyuafmoe5wi0.js +0 -3
  341. package/out/_next/static/chunks/2w2e0pxgs-n8f.js +0 -1
  342. package/out/_next/static/chunks/30y71dxdpv52d.js +0 -1
  343. package/out/_next/static/chunks/32c-e_v8_2xkf.js +0 -1
  344. package/out/_next/static/chunks/32oj0iudhp8bm.js +0 -1
  345. package/out/_next/static/chunks/33p9du6y9eegg.js +0 -1
  346. package/out/_next/static/chunks/38om-j0h0rryk.js +0 -1
  347. package/out/_next/static/chunks/38q0enmlg5q9o.js +0 -3
  348. package/out/_next/static/chunks/39pkya0_bvcaj.js +0 -1
  349. package/out/_next/static/chunks/3_1zzmx92j9c0.js +0 -1
  350. package/out/_next/static/chunks/3_earszshuz4n.js +0 -1
  351. package/out/_next/static/chunks/3ap_uxc8lx7ni.js +0 -1
  352. package/out/_next/static/chunks/3b6na8zrex8jo.js +0 -1
  353. package/out/_next/static/chunks/3c0cxt72vilyz.js +0 -1
  354. package/out/_next/static/chunks/3g78x0pdaoi_4.js +0 -1
  355. package/out/_next/static/chunks/3gjvl1p-tugfe.js +0 -4
  356. package/out/_next/static/chunks/3i8iro1gas1vx.js +0 -1
  357. package/out/_next/static/chunks/3kpqfqr99vo7z.js +0 -1
  358. package/out/_next/static/chunks/3lladf_wemm-2.js +0 -1
  359. package/out/_next/static/chunks/3n62hbywoknop.js +0 -1
  360. package/out/_next/static/chunks/3o_dmzpahx-5g.js +0 -1
  361. package/out/_next/static/chunks/3r7v7un976sn7.js +0 -1
  362. package/out/_next/static/chunks/3rl_nhqwew40w.js +0 -1
  363. package/out/_next/static/chunks/3s7hqij6xp_4e.js +0 -1
  364. package/out/_next/static/chunks/3t4ys6th6gf2w.js +0 -1
  365. package/out/_next/static/chunks/3uarw1i1ij1er.js +0 -1
  366. package/out/_next/static/chunks/3v8kgnjk27wbe.js +0 -1
  367. package/out/_next/static/chunks/3vu5y270muh-7.js +0 -1
  368. package/out/_next/static/chunks/3we1khqfexh3x.js +0 -1
  369. package/out/_next/static/chunks/3z35loj4i-id4.js +0 -1
  370. package/out/_next/static/chunks/415g3asdds1ac.js +0 -1
  371. package/out/_next/static/chunks/42lqt7ig40wk5.js +0 -1
  372. package/out/_next/static/chunks/42s6ghsurq5q7.js +0 -1
  373. package/out/_next/static/chunks/42yctcfi2rfwr.js +0 -1
  374. package/out/_next/static/chunks/43_fau1gg69eo.js +0 -1
  375. package/out/_next/static/chunks/43ywrdzg_7af8.js +0 -31
  376. package/out/_next/static/chunks/453_bg0lgesmp.js +0 -1
  377. package/out/_next/static/chunks/turbopack-1s36ieuku1ds3.js +0 -1
  378. package/out/_not-found/__next._head.txt +0 -6
  379. package/out/_not-found/__next._index.txt +0 -5
  380. package/out/_not-found/__next._not-found.txt +0 -5
  381. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → A1hxMz783bIWo0Q9qqV3L}/_buildManifest.js +0 -0
  382. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → A1hxMz783bIWo0Q9qqV3L}/_clientMiddlewareManifest.js +0 -0
  383. /package/out/_next/static/{5UjNvd7WCk97iC2cSmEGH → A1hxMz783bIWo0Q9qqV3L}/_ssgManifest.js +0 -0
@@ -1,296 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55880,e=>{"use strict";var t=e.i(47150);let r="helperFunctions",i=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
2
- const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
3
- fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
4
- fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
5
- fn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}
6
- fn maxEps(x: f32)->f32 {return max(x,Epsilon);}
7
- fn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}
8
- fn absEps(x: f32)->f32 {return abs(x)+Epsilon;}
9
- fn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(
10
- vec3(i0.x,i1.x,i2.x),
11
- vec3(i0.y,i1.y,i2.y),
12
- vec3(i0.z,i1.z,i2.z)
13
- );return outMatrix;}
14
- fn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,
15
- b11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,
16
- b21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}
17
- #if USE_EXACT_SRGB_CONVERSIONS
18
- fn toLinearSpaceExact(color: vec3f)->vec3f
19
- {let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return select(remainingSection,nearZeroSection,color<=vec3f(0.04045));}
20
- fn toGammaSpaceExact(color: vec3f)->vec3f
21
- {let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return select(remainingSection,nearZeroSection,color<=vec3f(0.0031308));}
22
- #endif
23
- fn toLinearSpace(color: f32)->f32
24
- {
25
- #if USE_EXACT_SRGB_CONVERSIONS
26
- var nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);
27
- #else
28
- return pow(color,LinearEncodePowerApprox);
29
- #endif
30
- }
31
- fn toLinearSpaceVec3(color: vec3f)->vec3f
32
- {
33
- #if USE_EXACT_SRGB_CONVERSIONS
34
- return toLinearSpaceExact(color);
35
- #else
36
- return pow(color,vec3f(LinearEncodePowerApprox));
37
- #endif
38
- }
39
- fn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>
40
- {
41
- #if USE_EXACT_SRGB_CONVERSIONS
42
- return vec4f(toLinearSpaceExact(color.rgb),color.a);
43
- #else
44
- return vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);
45
- #endif
46
- }
47
- fn toGammaSpace(color: vec4<f32>)->vec4<f32>
48
- {
49
- #if USE_EXACT_SRGB_CONVERSIONS
50
- return vec4<f32>(toGammaSpaceExact(color.rgb),color.a);
51
- #else
52
- return vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);
53
- #endif
54
- }
55
- fn toGammaSpaceVec3(color: vec3f)->vec3f
56
- {
57
- #if USE_EXACT_SRGB_CONVERSIONS
58
- return toGammaSpaceExact(color);
59
- #else
60
- return pow(color,vec3f(GammaEncodePowerApprox));
61
- #endif
62
- }
63
- fn squareVec3(value: vec3f)->vec3f
64
- {return value*value;}
65
- fn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}
66
- fn double_refract(I: vec3f,N: vec3f,eta: f32)->vec3f {let Tfront: vec3f=refract(I,N,1.0/eta);let Nback: vec3f=normalize(reflect(N,Tfront));return refract(Tfront,-Nback,eta);}
67
- fn getLuminanceUnclamped(color: vec3f)->f32
68
- {return dot(color,LuminanceEncodeApprox);}
69
- fn getLuminance(color: vec3f)->f32
70
- {return saturate(getLuminanceUnclamped(color));}
71
- fn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}
72
- fn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}
73
- const rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}
74
- fn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}
75
- fn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
76
- fn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
77
- fn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}
78
- fn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}
79
- fn singleScatterToMultiScatterAlbedo(rho_ss: vec3f)->vec3f {let s: vec3f=sqrt(max(vec3f(1.0)-rho_ss,vec3f(0.0)));return (vec3f(1.0)-s)*(vec3f(1.0)-vec3f(0.139)*s)/(vec3f(1.0)+vec3f(1.17)*s);}
80
- fn multiScatterToSingleScatterAlbedo(rho_ms: vec3f)->vec3f {let s: vec3f=4.09712f+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return 1.0f-s*s;}
81
- fn multiScatterToSingleScatterAlbedoWithAniso(rho_ms: vec3f,aniso: f32)->vec3f {let s: vec3f=4.09712+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return (vec3f(1.0f)-s*s)/maxEpsVec3(vec3f(1.0f)-vec3f(aniso)*s*s);}
82
- fn min3(v: vec3f)->f32 {return min(v.x,min(v.y,v.z));}
83
- fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
84
- fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
85
- fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
86
- uint2float(rstate*2447445414u));}
87
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["helperFunctionsWGSL",0,{name:r,shader:i}])},73317,e=>{"use strict";var t=e.i(47150);let r="logDepthDeclaration",i=`#ifdef LOGARITHMICDEPTH
88
- uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
89
- #endif
90
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["logDepthDeclarationWGSL",0,{name:r,shader:i}])},97793,e=>{"use strict";var t=e.i(47150);let r="sceneUboDeclaration",i=`struct Scene {viewProjection : mat4x4<f32>,
91
- #ifdef MULTIVIEW
92
- viewProjectionR : mat4x4<f32>,
93
- #endif
94
- view : mat4x4<f32>,
95
- projection : mat4x4<f32>,
96
- vEyePosition : vec4<f32>,
97
- inverseProjection : mat4x4<f32>,};
98
- #define SCENE_UBO
99
- var<uniform> scene : Scene;
100
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["sceneUboDeclarationWGSL",0,{name:r,shader:i}])},36113,e=>{"use strict";var t=e.i(47150);let r="meshUboDeclaration",i=`struct Mesh {world : mat4x4<f32>,
101
- visibility : f32,};var<uniform> mesh : Mesh;
102
- #define WORLD_UBO
103
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["meshUboDeclarationWGSL",0,{name:r,shader:i}])},47569,e=>{"use strict";var t=e.i(47150);let r="mainUVVaryingDeclaration",i=`#ifdef MAINUV{X}
104
- varying vMainUV{X}: vec2f;
105
- #endif
106
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["mainUVVaryingDeclarationWGSL",0,{name:r,shader:i}])},54058,e=>{"use strict";var t=e.i(47150);let r="harmonicsFunctions",i=`#ifdef USESPHERICALFROMREFLECTIONMAP
107
- #ifdef SPHERICAL_HARMONICS
108
- fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {return uniforms.vSphericalL00
109
- + uniforms.vSphericalL1_1*(normal.y)
110
- + uniforms.vSphericalL10*(normal.z)
111
- + uniforms.vSphericalL11*(normal.x)
112
- + uniforms.vSphericalL2_2*(normal.y*normal.x)
113
- + uniforms.vSphericalL2_1*(normal.y*normal.z)
114
- + uniforms.vSphericalL20*((3.0*normal.z*normal.z)-1.0)
115
- + uniforms.vSphericalL21*(normal.z*normal.x)
116
- + uniforms.vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));}
117
- #else
118
- fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {var Nx: f32=normal.x;var Ny: f32=normal.y;var Nz: f32=normal.z;var C1: vec3f=uniforms.vSphericalZZ.rgb;var Cx: vec3f=uniforms.vSphericalX.rgb;var Cy: vec3f=uniforms.vSphericalY.rgb;var Cz: vec3f=uniforms.vSphericalZ.rgb;var Cxx_zz: vec3f=uniforms.vSphericalXX_ZZ.rgb;var Cyy_zz: vec3f=uniforms.vSphericalYY_ZZ.rgb;var Cxy: vec3f=uniforms.vSphericalXY.rgb;var Cyz: vec3f=uniforms.vSphericalYZ.rgb;var Czx: vec3f=uniforms.vSphericalZX.rgb;var a1: vec3f=Cyy_zz*Ny+Cy;var a2: vec3f=Cyz*Nz+a1;var b1: vec3f=Czx*Nz+Cx;var b2: vec3f=Cxy*Ny+b1;var b3: vec3f=Cxx_zz*Nx+b2;var t1: vec3f=Cz *Nz+C1;var t2: vec3f=a2 *Ny+t1;var t3: vec3f=b3 *Nx+t2;return t3;}
119
- #endif
120
- #endif
121
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["harmonicsFunctionsWGSL",0,{name:r,shader:i}])},88887,e=>{"use strict";var t=e.i(47150);let r="pbrBRDFFunctions",i=`#define FRESNEL_MAXIMUM_ON_ROUGH 0.25
122
- #define BRDF_DIFFUSE_MODEL_EON 0
123
- #define BRDF_DIFFUSE_MODEL_BURLEY 1
124
- #define BRDF_DIFFUSE_MODEL_LAMBERT 2
125
- #define BRDF_DIFFUSE_MODEL_LEGACY 3
126
- #define DIELECTRIC_SPECULAR_MODEL_GLTF 0
127
- #define DIELECTRIC_SPECULAR_MODEL_OPENPBR 1
128
- #define CONDUCTOR_SPECULAR_MODEL_GLTF 0
129
- #define CONDUCTOR_SPECULAR_MODEL_OPENPBR 1
130
- #if !defined(PBR_VERTEX_SHADER) && !defined(OPENPBR_VERTEX_SHADER)
131
- #ifdef MS_BRDF_ENERGY_CONSERVATION
132
- fn getEnergyConservationFactor(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {return 1.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);}
133
- #endif
134
- #if CONDUCTOR_SPECULAR_MODEL==CONDUCTOR_SPECULAR_MODEL_OPENPBR
135
- const F82_COS_THETA_MAX: f32 =0.142857143;const F82_ONE_MINUS_CTM_POW5: f32 =0.462664366;const F82_ONE_MINUS_CTM_POW6: f32 =0.396569457;const F82_B_DENOMINATOR_RECIP: f32 =17.6512785;const BRDF_Z_SCALE: f32 =16.0;fn getF82Specular(NdotV: f32,F0: vec3f,edgeTint: vec3f,roughness: f32)->vec3f {let white_minus_F0: vec3f=vec3f(1.0f)-F0;let b_numerator: vec3f=(F0+white_minus_F0*F82_ONE_MINUS_CTM_POW5)*(vec3f(1.0)-edgeTint);let b: vec3f=b_numerator*F82_B_DENOMINATOR_RECIP;let cos_theta: f32=max(roughness,NdotV);let one_minus_cos_theta: f32=1.0-cos_theta;let offset_from_F0: vec3f=(white_minus_F0-b*cos_theta*one_minus_cos_theta)*pow(one_minus_cos_theta,5.0f);return clamp(F0+offset_from_F0,vec3f(0.0f),vec3f(1.0f));}
136
- fn getF82B(F0: vec3f,edgeTint: vec3f)->vec3f {return (F0+(vec3f(1.0)-F0)*F82_ONE_MINUS_CTM_POW5)*(vec3f(1.0)-edgeTint)*F82_B_DENOMINATOR_RECIP;}
137
- fn getF82DirectionalAlbedo(F0: vec3f,F90: vec3f,b: vec3f,environmentBrdf: vec3f)->vec3f {return (F90-F0)*environmentBrdf.x+F0*environmentBrdf.y-b*environmentBrdf.z;}
138
- fn getF82AverageFresnel(F0: vec3f,b: vec3f)->vec3f {return F0+(vec3f(1.0)-F0)/21.0-b/126.0;}
139
- #endif
140
- #ifdef FUZZENVIRONMENTBRDF
141
- fn getFuzzBRDFLookup(NdotV: f32,perceptualRoughness: f32)->vec3f {let UV: vec2f=vec2f(perceptualRoughness,NdotV);var brdfLookup: vec4f=textureSample(environmentFuzzBrdfSampler,environmentFuzzBrdfSamplerSampler,UV);const RiRange: vec2f=vec2f(0.0f,0.75f);const ARange: vec2f=vec2f(0.005f,0.88f);const BRange: vec2f=vec2f(-0.18f,0.002f);brdfLookup.r=mix(ARange.x, ARange.y, brdfLookup.r);brdfLookup.g=mix(BRange.x, BRange.y, brdfLookup.g);brdfLookup.b=mix(RiRange.x,RiRange.y,brdfLookup.b);return brdfLookup.rgb;}
142
- #endif
143
- #ifdef ENVIRONMENTBRDF
144
- fn getBRDFLookup(NdotV: f32,perceptualRoughness: f32)->vec3f {var UV: vec2f= vec2f(NdotV,perceptualRoughness);var brdfLookup: vec4f= textureSample(environmentBrdfSampler,environmentBrdfSamplerSampler,UV);
145
- #ifdef ENVIRONMENTBRDF_RGBD
146
- brdfLookup=vec4f(fromRGBD(brdfLookup.rgba),brdfLookup.a);
147
- #endif
148
- return brdfLookup.rgb;}
149
- fn getReflectanceFromBRDFWithEnvLookup(specularEnvironmentR0: vec3f,specularEnvironmentR90: vec3f,environmentBrdf: vec3f)->vec3f {
150
- #ifdef BRDF_V_HEIGHT_CORRELATED
151
- var reflectance: vec3f=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;
152
- #else
153
- var reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;
154
- #endif
155
- return reflectance;}
156
- fn getReflectanceFromBRDFLookup(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {
157
- #ifdef BRDF_V_HEIGHT_CORRELATED
158
- var reflectance: vec3f=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);
159
- #else
160
- var reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;
161
- #endif
162
- return reflectance;}
163
- #endif
164
- /* NOT USED
165
- #if defined(SHEEN) && defined(SHEEN_SOFTER)
166
- fn getBRDFLookupCharlieSheen(NdotV: f32,perceptualRoughness: f32)->f32
167
- {var c: f32=1.0-NdotV;var c3: f32=c*c*c;return 0.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));}
168
- #endif
169
- */
170
- #if !defined(ENVIRONMENTBRDF) || defined(REFLECTIONMAP_SKYBOX) || defined(ALPHAFRESNEL)
171
- fn getReflectanceFromAnalyticalBRDFLookup_Jones(VdotN: f32,reflectance0: vec3f,reflectance90: vec3f,smoothness: f32)->vec3f
172
- {var weight: f32=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}
173
- #endif
174
- #if defined(SHEEN) && defined(ENVIRONMENTBRDF)
175
- /**
176
- * The sheen BRDF not containing F can be easily stored in the blue channel of the BRDF texture.
177
- * The blue channel contains DCharlie*VAshikhmin*NdotL as a lokkup table
178
- */
179
- fn getSheenReflectanceFromBRDFLookup(reflectance0: vec3f,environmentBrdf: vec3f)->vec3f {var sheenEnvironmentReflectance: vec3f=reflectance0*environmentBrdf.b;return sheenEnvironmentReflectance;}
180
- #endif
181
- fn fresnelSchlickGGXVec3(VdotH: f32,reflectance0: vec3f,reflectance90: vec3f)->vec3f
182
- {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
183
- fn fresnelSchlickGGX(VdotH: f32,reflectance0: f32,reflectance90: f32)->f32
184
- {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
185
- #ifdef CLEARCOAT
186
- fn getR0RemappedForClearCoat(f0: vec3f)->vec3f {
187
- #ifdef CLEARCOAT_DEFAULTIOR
188
- #ifdef MOBILE
189
- return saturateVec3(f0*(f0*0.526868+0.529324)-0.0482256);
190
- #else
191
- return saturateVec3(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);
192
- #endif
193
- #else
194
- var s: vec3f=sqrt(f0);var t: vec3f=(uniforms.vClearCoatRefractionParams.z+uniforms.vClearCoatRefractionParams.w*s)/(uniforms.vClearCoatRefractionParams.w+uniforms.vClearCoatRefractionParams.z*s);return squareVec3(t);
195
- #endif
196
- }
197
- #endif
198
- #ifdef IRIDESCENCE
199
- const XYZ_TO_REC709: mat3x3f= mat3x3f(
200
- 3.2404542,-0.9692660, 0.0556434,
201
- -1.5371385, 1.8760108,-0.2040259,
202
- -0.4985314, 0.0415560, 1.0572252
203
- );fn getIORTfromAirToSurfaceR0(f0: vec3f)->vec3f {var sqrtF0: vec3f=sqrt(f0);return (1.+sqrtF0)/(1.-sqrtF0);}
204
- fn getR0fromIORsVec3(iorT: vec3f,iorI: f32)->vec3f {return squareVec3((iorT- vec3f(iorI))/(iorT+ vec3f(iorI)));}
205
- fn getR0fromIORs(iorT: f32,iorI: f32)->f32 {return square((iorT-iorI)/(iorT+iorI));}
206
- fn evalSensitivity(opd: f32,shift: vec3f)->vec3f {var phase: f32=2.0*PI*opd*1.0e-9;const val: vec3f= vec3f(5.4856e-13,4.4201e-13,5.2481e-13);const pos: vec3f= vec3f(1.6810e+06,1.7953e+06,2.2084e+06);const vr: vec3f= vec3f(4.3278e+09,9.3046e+09,6.6121e+09);var xyz: vec3f=val*sqrt(2.0*PI*vr)*cos(pos*phase+shift)*exp(-square(phase)*vr);xyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));xyz/=1.0685e-7;var srgb: vec3f=XYZ_TO_REC709*xyz;return srgb;}
207
- fn evalIridescence(outsideIOR: f32,eta2: f32,cosTheta1: f32,thinFilmThickness: f32,baseF0: vec3f)->vec3f {var I: vec3f= vec3f(1.0);var iridescenceIOR: f32=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));var sinTheta2Sq: f32=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));var cosTheta2Sq: f32=1.0-sinTheta2Sq;if (cosTheta2Sq<0.0) {return I;}
208
- var cosTheta2: f32=sqrt(cosTheta2Sq);var R0: f32=getR0fromIORs(iridescenceIOR,outsideIOR);var R12: f32=fresnelSchlickGGX(cosTheta1,R0,1.);var R21: f32=R12;var T121: f32=1.0-R12;var phi12: f32=0.0;if (iridescenceIOR<outsideIOR) {phi12=PI;}
209
- var phi21: f32=PI-phi12;var baseIOR: vec3f=getIORTfromAirToSurfaceR0(clamp(baseF0,vec3f(0.0),vec3f(0.9999)));
210
- var R1: vec3f=getR0fromIORsVec3(baseIOR,iridescenceIOR);let maxR1: f32=max(R1.r,max(R1.g,R1.b));if (maxR1<1e-6) {return max(vec3f(R12),vec3f(0.0));}
211
- var R23: vec3f=fresnelSchlickGGXVec3(cosTheta2,R1,vec3f(1.));var phi23: vec3f=vec3f(0.0);if (baseIOR[0]<iridescenceIOR) {phi23[0]=PI;}
212
- if (baseIOR[1]<iridescenceIOR) {phi23[1]=PI;}
213
- if (baseIOR[2]<iridescenceIOR) {phi23[2]=PI;}
214
- var opd: f32=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;var phi: vec3f=vec3f(phi21)+phi23;var R123: vec3f=clamp(R12*R23,vec3f(1e-5),vec3f(0.9999));var r123: vec3f=sqrt(R123);var Rs: vec3f=(T121*T121)*R23/(vec3f(1.0)-R123);var C0: vec3f=R12+Rs;I=C0;var Cm: vec3f=Rs-T121;for (var m: i32=1; m<=2; m++)
215
- {Cm*=r123;var Sm: vec3f=2.0*evalSensitivity(f32(m)*opd,f32(m)*phi);I+=Cm*Sm;}
216
- return max(I,vec3f(0.0));}
217
- #endif
218
- fn normalDistributionFunction_TrowbridgeReitzGGX(NdotH: f32,alphaG: f32)->f32
219
- {var a2: f32=alphaG*alphaG;var d: f32=NdotH*NdotH*(a2-1.0)+1.0;return a2/(PI*d*d);}
220
- #ifdef SHEEN
221
- fn normalDistributionFunction_CharlieSheen(NdotH: f32,alphaG: f32)->f32
222
- {var invR: f32=1./alphaG;var cos2h: f32=NdotH*NdotH;var sin2h: f32=1.-cos2h;return (2.+invR)*pow(sin2h,invR*.5)/(2.*PI);}
223
- #endif
224
- #ifdef ANISOTROPIC
225
- fn normalDistributionFunction_BurleyGGX_Anisotropic(NdotH: f32,TdotH: f32,BdotH: f32,alphaTB: vec2f)->f32 {var a2: f32=alphaTB.x*alphaTB.y;var v: vec3f= vec3f(alphaTB.y*TdotH,alphaTB.x *BdotH,a2*NdotH);var v2: f32=dot(v,v);var w2: f32=a2/v2;return a2*w2*w2*RECIPROCAL_PI;}
226
- #endif
227
- #ifdef BRDF_V_HEIGHT_CORRELATED
228
- fn smithVisibility_GGXCorrelated(NdotL: f32,NdotV: f32,alphaG: f32)->f32 {
229
- #ifdef MOBILE
230
- var GGXV: f32=NdotL*(NdotV*(1.0-alphaG)+alphaG);var GGXL: f32=NdotV*(NdotL*(1.0-alphaG)+alphaG);return 0.5/(GGXV+GGXL);
231
- #else
232
- var a2: f32=alphaG*alphaG;var GGXV: f32=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);var GGXL: f32=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);return 0.5/(GGXV+GGXL);
233
- #endif
234
- }
235
- #else
236
- fn smithVisibilityG1_TrowbridgeReitzGGXFast(dot: f32,alphaG: f32)->f32
237
- {
238
- #ifdef MOBILE
239
- return 1.0/(dot+alphaG+(1.0-alphaG)*dot ));
240
- #else
241
- var alphaSquared: f32=alphaG*alphaG;return 1.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));
242
- #endif
243
- }
244
- fn smithVisibility_TrowbridgeReitzGGXFast(NdotL: f32,NdotV: f32,alphaG: f32)->f32
245
- {var visibility: f32=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);return visibility;}
246
- #endif
247
- #ifdef ANISOTROPIC
248
- fn smithVisibility_GGXCorrelated_Anisotropic(NdotL: f32,NdotV: f32,TdotV: f32,BdotV: f32,TdotL: f32,BdotL: f32,alphaTB: vec2f)->f32 {var lambdaV: f32=NdotL*length( vec3f(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));var lambdaL: f32=NdotV*length( vec3f(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));var v: f32=0.5/(lambdaV+lambdaL);return v;}
249
- #endif
250
- #ifdef CLEARCOAT
251
- fn visibility_Kelemen(VdotH: f32)->f32 {return 0.25/(VdotH*VdotH); }
252
- #endif
253
- #ifdef SHEEN
254
- fn visibility_Ashikhmin(NdotL: f32,NdotV: f32)->f32
255
- {return 1./(4.*(NdotL+NdotV-NdotL*NdotV));}
256
- /* NOT USED
257
- #ifdef SHEEN_SOFTER
258
- fn l(x: f32,alphaG: f32)->f32
259
- {var oneMinusAlphaSq: f32=(1.0-alphaG)*(1.0-alphaG);var a: f32=mix(21.5473,25.3245,oneMinusAlphaSq);var b: f32=mix(3.82987,3.32435,oneMinusAlphaSq);var c: f32=mix(0.19823,0.16801,oneMinusAlphaSq);var d: f32=mix(-1.97760,-1.27393,oneMinusAlphaSq);var e: f32=mix(-4.32054,-4.85967,oneMinusAlphaSq);return a/(1.0+b*pow(x,c))+d*x+e;}
260
- fn lambdaSheen(cosTheta: f32,alphaG: f32)->f32
261
- {return abs(cosTheta)<0.5 ? exp(l(cosTheta,alphaG)) : exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));}
262
- fn visibility_CharlieSheen(NdotL: f32,NdotV: f32,alphaG: f32)->f32
263
- {var G: f32=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));return G/(4.0*NdotV*NdotL);}
264
- #endif
265
- */
266
- #endif
267
- const constant1_FON: f32=0.5f-2.0f/(3.0f*PI);const constant2_FON: f32=2.0f/3.0f-28.0f/(15.0f*PI);fn E_FON_approx(mu: f32,roughness: f32)->f32
268
- {var sigma: f32=roughness;
269
- var mucomp: f32=1.0f-mu;var mucomp2: f32=mucomp*mucomp;const Gcoeffs: mat2x2f=mat2x2f(0.0571085289f,-0.332181442f,
270
- 0.491881867f,0.0714429953f);var GoverPi: f32=dot(Gcoeffs*vec2f(mucomp,mucomp2),vec2f(1.0f,mucomp2));return (1.0f+sigma*GoverPi)/(1.0f+constant1_FON*sigma);}
271
- fn diffuseBRDF_EON(albedo: vec3f,roughness: f32,NdotL: f32,NdotV: f32,LdotV: f32)->vec3f
272
- {var rho: vec3f=albedo;var sigma: f32=roughness;
273
- var mu_i: f32=NdotL;
274
- var mu_o: f32=NdotV;
275
- var s: f32=LdotV-mu_i*mu_o;
276
- var sovertF: f32=select(s,s/max(mu_i,mu_o),s>0.0f);
277
- var AF: f32=1.0f/(1.0f+constant1_FON*sigma);
278
- var f_ss: vec3f=(rho*RECIPROCAL_PI)*AF*(1.0f+sigma*sovertF);
279
- var EFo: f32=E_FON_approx(mu_o,sigma);
280
- var EFi: f32=E_FON_approx(mu_i,sigma);
281
- var avgEF: f32=AF*(1.0f+constant2_FON*sigma);
282
- var rho_ms: vec3f=(rho*rho)*avgEF/(vec3f(1.0f)-rho*(1.0f-avgEF));const eps: f32=1.0e-7f;var f_ms: vec3f=(rho_ms*RECIPROCAL_PI)*max(eps,1.0f-EFo)
283
- * max(eps,1.0f-EFi)
284
- / max(eps,1.0f-avgEF);return (f_ss+f_ms);}
285
- fn diffuseBRDF_Burley(NdotL: f32,NdotV: f32,VdotH: f32,roughness: f32)->f32 {var diffuseFresnelNV: f32=pow5(saturateEps(1.0-NdotL));var diffuseFresnelNL: f32=pow5(saturateEps(1.0-NdotV));var diffuseFresnel90: f32=0.5+2.0*VdotH*VdotH*roughness;var fresnel: f32 =
286
- (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *
287
- (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);return fresnel/PI;}
288
- #ifdef SS_TRANSLUCENCY
289
- fn transmittanceBRDF_Burley(tintColor: vec3f,diffusionDistance: vec3f,thickness: f32)->vec3f {var S: vec3f=1./maxEpsVec3(diffusionDistance);var temp: vec3f=exp((-0.333333333*thickness)*S);return tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);}
290
- fn computeWrappedDiffuseNdotL(NdotL: f32,w: f32)->f32 {var t: f32=1.0+w;var invt2: f32=1.0/(t*t);return saturate((NdotL+w)*invt2);}
291
- #endif
292
- #endif
293
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["pbrBRDFFunctionsWGSL",0,{name:r,shader:i}])},57568,21550,11,58890,92928,67125,e=>{"use strict";var t=e.i(47150);let r="bonesDeclaration",i=`#if NUM_BONE_INFLUENCERS>0
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87691,45961,47485,89701,62921,49405,e=>{"use strict";var t=e.i(2342);let r="bonesDeclaration",i=`#if NUM_BONE_INFLUENCERS>0
294
2
  #ifndef USE_VERTEX_PULLING
295
3
  attribute matricesIndices : vec4f;attribute matricesWeights : vec4f;
296
4
  #if NUM_BONE_INFLUENCERS>4
@@ -313,7 +21,7 @@ let textureWidth=i32(uniforms.boneTextureInfo.x);let y=offset/textureWidth;let x
313
21
  #endif
314
22
  #endif
315
23
  #endif
316
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["bonesDeclarationWGSL",0,{name:r,shader:i}],57568);let n="bakedVertexAnimationDeclaration",a=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
24
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["bonesDeclarationWGSL",0,{name:r,shader:i}],87691);let n="bakedVertexAnimationDeclaration",a=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
317
25
  uniform bakedVertexAnimationTime: f32;uniform bakedVertexAnimationSettings: vec4<f32>;var bakedVertexAnimationTexture : texture_2d<f32>;
318
26
  #ifdef INSTANCES
319
27
  attribute bakedVertexAnimationSettingsInstanced : vec4<f32>;
@@ -321,7 +29,7 @@ attribute bakedVertexAnimationSettingsInstanced : vec4<f32>;
321
29
  fn readMatrixFromRawSamplerVAT(smp : texture_2d<f32>,index : f32,frame : f32)->mat4x4<f32>
322
30
  {let offset=i32(index)*4;let frameUV=i32(frame);let m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);let m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);let m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);let m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);return mat4x4<f32>(m0,m1,m2,m3);}
323
31
  #endif
324
- `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["bakedVertexAnimationDeclarationWGSL",0,{name:n,shader:a}],21550);let f="instancesDeclaration",o=`#ifdef INSTANCES
32
+ `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["bakedVertexAnimationDeclarationWGSL",0,{name:n,shader:a}],45961);let f="instancesDeclaration",o=`#ifdef INSTANCES
325
33
  attribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;
326
34
  #ifdef INSTANCESCOLOR
327
35
  attribute instanceColor : vec4<f32>;
@@ -343,7 +51,7 @@ uniform world : mat4x4<f32>;
343
51
  uniform previousWorld : mat4x4<f32>;
344
52
  #endif
345
53
  #endif
346
- `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["instancesDeclarationWGSL",0,{name:f,shader:o}],11);let s="instancesVertex",d=`#ifdef INSTANCES
54
+ `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["instancesDeclarationWGSL",0,{name:f,shader:o}],47485);let s="instancesVertex",d=`#ifdef INSTANCES
347
55
  var finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);
348
56
  #if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
349
57
  var finalPreviousWorld=mat4x4<f32>(
@@ -370,7 +78,7 @@ var finalWorld=mesh.world;
370
78
  var finalPreviousWorld=uniforms.previousWorld;
371
79
  #endif
372
80
  #endif
373
- `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["instancesVertexWGSL",0,{name:s,shader:d}],58890);let c="bonesVertex",l=`#ifndef BAKED_VERTEX_ANIMATION_TEXTURE
81
+ `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["instancesVertexWGSL",0,{name:s,shader:d}],89701);let c="bonesVertex",l=`#ifndef BAKED_VERTEX_ANIMATION_TEXTURE
374
82
  #if NUM_BONE_INFLUENCERS>0
375
83
  var influence : mat4x4<f32>;
376
84
  #ifdef BONETEXTURE
@@ -423,7 +131,7 @@ influence=influence+uniforms.mBones[i32(vertexInputs.matricesIndicesExtra[3])]*v
423
131
  finalWorld=finalWorld*influence;
424
132
  #endif
425
133
  #endif
426
- `;t.ShaderStore.IncludesShadersStoreWGSL[c]||(t.ShaderStore.IncludesShadersStoreWGSL[c]=l),e.s(["bonesVertexWGSL",0,{name:c,shader:l}],92928);let u="bakedVertexAnimation",v=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
134
+ `;t.ShaderStore.IncludesShadersStoreWGSL[c]||(t.ShaderStore.IncludesShadersStoreWGSL[c]=l),e.s(["bonesVertexWGSL",0,{name:c,shader:l}],62921);let u="bakedVertexAnimation",v=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
427
135
  {
428
136
  #ifdef INSTANCES
429
137
  let VATStartFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;let VATEndFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;let VATOffsetFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;let VATSpeed: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;
@@ -454,20 +162,166 @@ VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTextur
454
162
  #endif
455
163
  finalWorld=finalWorld*VATInfluence;}
456
164
  #endif
457
- `;t.ShaderStore.IncludesShadersStoreWGSL[u]||(t.ShaderStore.IncludesShadersStoreWGSL[u]=v),e.s(["bakedVertexAnimationWGSL",0,{name:u,shader:v}],67125)},4825,e=>{"use strict";var t=e.i(47150);let r="vertexColorMixing",i=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
458
- vertexOutputs.vColor=vec4f(1.0);
459
- #ifdef VERTEXCOLOR
460
- #ifdef VERTEXALPHA
461
- vertexOutputs.vColor*=colorUpdated;
165
+ `;t.ShaderStore.IncludesShadersStoreWGSL[u]||(t.ShaderStore.IncludesShadersStoreWGSL[u]=v),e.s(["bakedVertexAnimationWGSL",0,{name:u,shader:v}],49405)},83753,64767,e=>{"use strict";var t=e.i(2342);let r="clipPlaneVertexDeclaration",i=`#ifdef CLIPPLANE
166
+ uniform vClipPlane: vec4<f32>;varying fClipDistance: f32;
167
+ #endif
168
+ #ifdef CLIPPLANE2
169
+ uniform vClipPlane2: vec4<f32>;varying fClipDistance2: f32;
170
+ #endif
171
+ #ifdef CLIPPLANE3
172
+ uniform vClipPlane3: vec4<f32>;varying fClipDistance3: f32;
173
+ #endif
174
+ #ifdef CLIPPLANE4
175
+ uniform vClipPlane4: vec4<f32>;varying fClipDistance4: f32;
176
+ #endif
177
+ #ifdef CLIPPLANE5
178
+ uniform vClipPlane5: vec4<f32>;varying fClipDistance5: f32;
179
+ #endif
180
+ #ifdef CLIPPLANE6
181
+ uniform vClipPlane6: vec4<f32>;varying fClipDistance6: f32;
182
+ #endif
183
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["clipPlaneVertexDeclarationWGSL",0,{name:r,shader:i}],83753);let n="clipPlaneVertex",a=`#ifdef CLIPPLANE
184
+ vertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);
185
+ #endif
186
+ #ifdef CLIPPLANE2
187
+ vertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);
188
+ #endif
189
+ #ifdef CLIPPLANE3
190
+ vertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);
191
+ #endif
192
+ #ifdef CLIPPLANE4
193
+ vertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);
194
+ #endif
195
+ #ifdef CLIPPLANE5
196
+ vertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);
197
+ #endif
198
+ #ifdef CLIPPLANE6
199
+ vertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);
200
+ #endif
201
+ `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["clipPlaneVertexWGSL",0,{name:n,shader:a}],64767)},43402,25462,e=>{"use strict";var t=e.i(2342);let r="fogVertexDeclaration",i=`#ifdef FOG
202
+ varying vFogDistance: vec3f;
203
+ #endif
204
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["fogVertexDeclarationWGSL",0,{name:r,shader:i}],43402);let n="fogVertex",a=`#ifdef FOG
205
+ #ifdef SCENE_UBO
206
+ vertexOutputs.vFogDistance=(scene.view*worldPos).xyz;
207
+ #else
208
+ vertexOutputs.vFogDistance=(uniforms.view*worldPos).xyz;
209
+ #endif
210
+ #endif
211
+ `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["fogVertexWGSL",0,{name:n,shader:a}],25462)},51760,e=>{"use strict";var t=e.i(2342);let r="harmonicsFunctions",i=`#ifdef USESPHERICALFROMREFLECTIONMAP
212
+ #ifdef SPHERICAL_HARMONICS
213
+ fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {return uniforms.vSphericalL00
214
+ + uniforms.vSphericalL1_1*(normal.y)
215
+ + uniforms.vSphericalL10*(normal.z)
216
+ + uniforms.vSphericalL11*(normal.x)
217
+ + uniforms.vSphericalL2_2*(normal.y*normal.x)
218
+ + uniforms.vSphericalL2_1*(normal.y*normal.z)
219
+ + uniforms.vSphericalL20*((3.0*normal.z*normal.z)-1.0)
220
+ + uniforms.vSphericalL21*(normal.z*normal.x)
221
+ + uniforms.vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));}
222
+ #else
223
+ fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {var Nx: f32=normal.x;var Ny: f32=normal.y;var Nz: f32=normal.z;var C1: vec3f=uniforms.vSphericalZZ.rgb;var Cx: vec3f=uniforms.vSphericalX.rgb;var Cy: vec3f=uniforms.vSphericalY.rgb;var Cz: vec3f=uniforms.vSphericalZ.rgb;var Cxx_zz: vec3f=uniforms.vSphericalXX_ZZ.rgb;var Cyy_zz: vec3f=uniforms.vSphericalYY_ZZ.rgb;var Cxy: vec3f=uniforms.vSphericalXY.rgb;var Cyz: vec3f=uniforms.vSphericalYZ.rgb;var Czx: vec3f=uniforms.vSphericalZX.rgb;var a1: vec3f=Cyy_zz*Ny+Cy;var a2: vec3f=Cyz*Nz+a1;var b1: vec3f=Czx*Nz+Cx;var b2: vec3f=Cxy*Ny+b1;var b3: vec3f=Cxx_zz*Nx+b2;var t1: vec3f=Cz *Nz+C1;var t2: vec3f=a2 *Ny+t1;var t3: vec3f=b3 *Nx+t2;return t3;}
224
+ #endif
225
+ #endif
226
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["harmonicsFunctionsWGSL",0,{name:r,shader:i}])},35551,e=>{"use strict";var t=e.i(2342);let r="helperFunctions",i=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
227
+ const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
228
+ fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
229
+ fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
230
+ fn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}
231
+ fn maxEps(x: f32)->f32 {return max(x,Epsilon);}
232
+ fn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}
233
+ fn absEps(x: f32)->f32 {return abs(x)+Epsilon;}
234
+ fn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(
235
+ vec3(i0.x,i1.x,i2.x),
236
+ vec3(i0.y,i1.y,i2.y),
237
+ vec3(i0.z,i1.z,i2.z)
238
+ );return outMatrix;}
239
+ fn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,
240
+ b11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,
241
+ b21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}
242
+ #if USE_EXACT_SRGB_CONVERSIONS
243
+ fn toLinearSpaceExact(color: vec3f)->vec3f
244
+ {let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return select(remainingSection,nearZeroSection,color<=vec3f(0.04045));}
245
+ fn toGammaSpaceExact(color: vec3f)->vec3f
246
+ {let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return select(remainingSection,nearZeroSection,color<=vec3f(0.0031308));}
247
+ #endif
248
+ fn toLinearSpace(color: f32)->f32
249
+ {
250
+ #if USE_EXACT_SRGB_CONVERSIONS
251
+ var nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);
252
+ #else
253
+ return pow(color,LinearEncodePowerApprox);
254
+ #endif
255
+ }
256
+ fn toLinearSpaceVec3(color: vec3f)->vec3f
257
+ {
258
+ #if USE_EXACT_SRGB_CONVERSIONS
259
+ return toLinearSpaceExact(color);
260
+ #else
261
+ return pow(color,vec3f(LinearEncodePowerApprox));
262
+ #endif
263
+ }
264
+ fn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>
265
+ {
266
+ #if USE_EXACT_SRGB_CONVERSIONS
267
+ return vec4f(toLinearSpaceExact(color.rgb),color.a);
268
+ #else
269
+ return vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);
270
+ #endif
271
+ }
272
+ fn toGammaSpace(color: vec4<f32>)->vec4<f32>
273
+ {
274
+ #if USE_EXACT_SRGB_CONVERSIONS
275
+ return vec4<f32>(toGammaSpaceExact(color.rgb),color.a);
276
+ #else
277
+ return vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);
278
+ #endif
279
+ }
280
+ fn toGammaSpaceVec3(color: vec3f)->vec3f
281
+ {
282
+ #if USE_EXACT_SRGB_CONVERSIONS
283
+ return toGammaSpaceExact(color);
462
284
  #else
463
- vertexOutputs.vColor=vec4f(vertexOutputs.vColor.rgb*colorUpdated.rgb,vertexOutputs.vColor.a);
285
+ return pow(color,vec3f(GammaEncodePowerApprox));
464
286
  #endif
287
+ }
288
+ fn squareVec3(value: vec3f)->vec3f
289
+ {return value*value;}
290
+ fn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}
291
+ fn double_refract(I: vec3f,N: vec3f,eta: f32)->vec3f {let Tfront: vec3f=refract(I,N,1.0/eta);let Nback: vec3f=normalize(reflect(N,Tfront));return refract(Tfront,-Nback,eta);}
292
+ fn getLuminanceUnclamped(color: vec3f)->f32
293
+ {return dot(color,LuminanceEncodeApprox);}
294
+ fn getLuminance(color: vec3f)->f32
295
+ {return saturate(getLuminanceUnclamped(color));}
296
+ fn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}
297
+ fn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}
298
+ const rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}
299
+ fn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}
300
+ fn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
301
+ fn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
302
+ fn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}
303
+ fn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}
304
+ fn singleScatterToMultiScatterAlbedo(rho_ss: vec3f)->vec3f {let s: vec3f=sqrt(max(vec3f(1.0)-rho_ss,vec3f(0.0)));return (vec3f(1.0)-s)*(vec3f(1.0)-vec3f(0.139)*s)/(vec3f(1.0)+vec3f(1.17)*s);}
305
+ fn multiScatterToSingleScatterAlbedo(rho_ms: vec3f)->vec3f {let s: vec3f=4.09712f+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return 1.0f-s*s;}
306
+ fn multiScatterToSingleScatterAlbedoWithAniso(rho_ms: vec3f,aniso: f32)->vec3f {let s: vec3f=4.09712+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return (vec3f(1.0f)-s*s)/maxEpsVec3(vec3f(1.0f)-vec3f(aniso)*s*s);}
307
+ fn min3(v: vec3f)->f32 {return min(v.x,min(v.y,v.z));}
308
+ fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
309
+ fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
310
+ fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
311
+ uint2float(rstate*2447445414u));}
312
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["helperFunctionsWGSL",0,{name:r,shader:i}])},67263,e=>{"use strict";var t=e.i(2342);let r="logDepthDeclaration",i=`#ifdef LOGARITHMICDEPTH
313
+ uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
465
314
  #endif
466
- #ifdef INSTANCESCOLOR
467
- vertexOutputs.vColor*=vertexInputs.instanceColor;
315
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["logDepthDeclarationWGSL",0,{name:r,shader:i}])},42158,e=>{"use strict";var t=e.i(2342);let r="logDepthVertex",i=`#ifdef LOGARITHMICDEPTH
316
+ vertexOutputs.vFragmentDepth=1.0+vertexOutputs.position.w;vertexOutputs.position.z=log2(max(0.000001,vertexOutputs.vFragmentDepth))*uniforms.logarithmicDepthConstant;
468
317
  #endif
318
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["logDepthVertexWGSL",0,{name:r,shader:i}])},77918,e=>{"use strict";var t=e.i(2342);let r="mainUVVaryingDeclaration",i=`#ifdef MAINUV{X}
319
+ varying vMainUV{X}: vec2f;
469
320
  #endif
470
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["vertexColorMixingWGSL",0,{name:r,shader:i}])},92459,22253,61408,34609,e=>{"use strict";var t=e.i(47150);let r="morphTargetsVertexGlobalDeclaration",i=`#ifdef MORPHTARGETS
321
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["mainUVVaryingDeclarationWGSL",0,{name:r,shader:i}])},25661,e=>{"use strict";var t=e.i(2342);let r="meshUboDeclaration",i=`struct Mesh {world : mat4x4<f32>,
322
+ visibility : f32,};var<uniform> mesh : Mesh;
323
+ #define WORLD_UBO
324
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["meshUboDeclarationWGSL",0,{name:r,shader:i}])},19579,44181,77316,43933,e=>{"use strict";var t=e.i(2342);let r="morphTargetsVertexGlobalDeclaration",i=`#ifdef MORPHTARGETS
471
325
  uniform morphTargetInfluences : array<f32,NUM_MORPH_INFLUENCERS>;
472
326
  #ifdef MORPHTARGETS_TEXTURE
473
327
  uniform morphTargetTextureIndices : array<f32,NUM_MORPH_INFLUENCERS>;uniform morphTargetTextureInfo : vec3<f32>;var morphTargets : texture_2d_array<f32>;fn readVector3FromRawSampler(targetIndex : i32,vertexIndex : f32)->vec3<f32>
@@ -479,7 +333,7 @@ let textureWidth: i32=i32(uniforms.morphTargetTextureInfo.y);
479
333
  let y: i32=i32(vertexIndex)/textureWidth;let x: i32=i32(vertexIndex) % textureWidth;return textureLoad(morphTargets,vec2i(x,y),i32(uniforms.morphTargetTextureIndices[targetIndex]),0);}
480
334
  #endif
481
335
  #endif
482
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["morphTargetsVertexGlobalDeclarationWGSL",0,{name:r,shader:i}],92459);let n="morphTargetsVertexDeclaration",a=`#ifdef MORPHTARGETS
336
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["morphTargetsVertexGlobalDeclarationWGSL",0,{name:r,shader:i}],19579);let n="morphTargetsVertexDeclaration",a=`#ifdef MORPHTARGETS
483
337
  #ifndef MORPHTARGETS_TEXTURE
484
338
  #ifdef MORPHTARGETS_POSITION
485
339
  attribute position{X} : vec3<f32>;
@@ -503,12 +357,12 @@ attribute color{X} : vec4<f32>;
503
357
  uniform morphTargetCount: f32;
504
358
  #endif
505
359
  #endif
506
- `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["morphTargetsVertexDeclarationWGSL",0,{name:n,shader:a}],22253);let f="morphTargetsVertexGlobal",o=`#ifdef MORPHTARGETS
360
+ `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["morphTargetsVertexDeclarationWGSL",0,{name:n,shader:a}],44181);let f="morphTargetsVertexGlobal",o=`#ifdef MORPHTARGETS
507
361
  #ifdef MORPHTARGETS_TEXTURE
508
362
  var vertexID : f32;
509
363
  #endif
510
364
  #endif
511
- `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["morphTargetsVertexGlobalWGSL",0,{name:f,shader:o}],61408);let s="morphTargetsVertex",d=`#ifdef MORPHTARGETS
365
+ `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["morphTargetsVertexGlobalWGSL",0,{name:f,shader:o}],77316);let s="morphTargetsVertex",d=`#ifdef MORPHTARGETS
512
366
  #ifdef MORPHTARGETS_TEXTURE
513
367
  #if {X}==0
514
368
  for (var i=0; i<NUM_MORPH_INFLUENCERS; i=i+1) {if (f32(i)>=uniforms.morphTargetCount) {break;}
@@ -618,59 +472,196 @@ colorUpdated=colorUpdated+(vertexInputs.color{X}-vertexInputs.color)*uniforms.mo
618
472
  #endif
619
473
  #endif
620
474
  #endif
621
- `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["morphTargetsVertexWGSL",0,{name:s,shader:d}],34609)},63593,4534,e=>{"use strict";var t=e.i(47150);let r="clipPlaneVertexDeclaration",i=`#ifdef CLIPPLANE
622
- uniform vClipPlane: vec4<f32>;varying fClipDistance: f32;
475
+ `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["morphTargetsVertexWGSL",0,{name:s,shader:d}],43933)},14221,e=>{"use strict";var t=e.i(2342);e.i(34218),e.i(25661);let r="openpbrUboDeclaration",i=`uniform vTangentSpaceParams: vec2f;uniform vLightingIntensity: vec4f;uniform pointSize: f32;uniform vDebugMode: vec2f;uniform renderTargetSize: vec2f;uniform cameraInfo: vec4f;uniform vTextureRepetitionHexTilingParams: vec4f;uniform backgroundRefractionMatrix: mat4x4f;uniform vBackgroundRefractionInfos: vec3f;uniform vReflectionInfos: vec2f;uniform reflectionMatrix: mat4x4f;uniform vReflectionMicrosurfaceInfos: vec3f;uniform vReflectionPosition: vec3f;uniform vReflectionSize: vec3f;uniform vReflectionFilteringInfo: vec2f;uniform vReflectionDominantDirection: vec3f;uniform vReflectionColor: vec3f;uniform vSphericalL00: vec3f;uniform vSphericalL1_1: vec3f;uniform vSphericalL10: vec3f;uniform vSphericalL11: vec3f;uniform vSphericalL2_2: vec3f;uniform vSphericalL2_1: vec3f;uniform vSphericalL20: vec3f;uniform vSphericalL21: vec3f;uniform vSphericalL22: vec3f;uniform vSphericalX: vec3f;uniform vSphericalY: vec3f;uniform vSphericalZ: vec3f;uniform vSphericalXX_ZZ: vec3f;uniform vSphericalYY_ZZ: vec3f;uniform vSphericalZZ: vec3f;uniform vSphericalXY: vec3f;uniform vSphericalYZ: vec3f;uniform vSphericalZX: vec3f;uniform vBaseWeight: f32;uniform vBaseColor: vec4f;uniform vBaseDiffuseRoughness: f32;uniform vReflectanceInfo: vec4f;uniform vSpecularColor: vec4f;uniform vSpecularAnisotropy: vec3f;uniform vTransmissionWeight : f32;uniform vTransmissionColor : vec3f;uniform vTransmissionDepth : f32;uniform vTransmissionScatter : vec3f;uniform vTransmissionScatterAnisotropy : f32;uniform vTransmissionDispersionScale : f32;uniform vTransmissionDispersionAbbeNumber : f32;uniform vSubsurfaceWeight: f32;uniform vSubsurfaceColor: vec3f;uniform vSubsurfaceRadius: f32;uniform vSubsurfaceRadiusScale: vec3f;uniform vSubsurfaceScatterAnisotropy: f32;uniform vCoatWeight: f32;uniform vCoatColor: vec3f;uniform vCoatRoughness: f32;uniform vCoatRoughnessAnisotropy: f32;uniform vCoatIor: f32;uniform vCoatDarkening : f32;uniform vFuzzWeight: f32;uniform vFuzzColor: vec3f;uniform vFuzzRoughness: f32;uniform vGeometryThinWalled: f32;uniform vGeometryCoatTangent: vec2f;uniform vGeometryThickness: f32;uniform vEmissionColor: vec3f;uniform vThinFilmWeight: f32;uniform vThinFilmThickness: vec2f;uniform vThinFilmIor: f32;uniform vBaseWeightInfos: vec2f;uniform baseWeightMatrix: mat4x4f;uniform vBaseColorInfos: vec2f;uniform baseColorMatrix: mat4x4f;uniform vBaseDiffuseRoughnessInfos: vec2f;uniform baseDiffuseRoughnessMatrix: mat4x4f;uniform vBaseMetalnessInfos: vec2f;uniform baseMetalnessMatrix: mat4x4f;uniform vSpecularWeightInfos: vec2f;uniform specularWeightMatrix: mat4x4f;uniform vSpecularColorInfos: vec2f;uniform specularColorMatrix: mat4x4f;uniform vSpecularRoughnessInfos: vec2f;uniform specularRoughnessMatrix: mat4x4f;uniform vSpecularRoughnessAnisotropyInfos: vec2f;uniform specularRoughnessAnisotropyMatrix: mat4x4f;uniform vTransmissionWeightInfos : vec2f;uniform transmissionWeightMatrix : mat4x4f;uniform vTransmissionColorInfos : vec2f;uniform transmissionColorMatrix : mat4x4f;uniform vTransmissionDepthInfos : vec2f;uniform transmissionDepthMatrix : mat4x4f;uniform vTransmissionScatterInfos : vec2f;uniform transmissionScatterMatrix : mat4x4f;uniform vTransmissionDispersionScaleInfos : vec2f;uniform transmissionDispersionScaleMatrix : mat4x4f;uniform vSubsurfaceWeightInfos: vec2f;uniform subsurfaceWeightMatrix: mat4x4f;uniform vSubsurfaceColorInfos: vec2f;uniform subsurfaceColorMatrix: mat4x4f;uniform vSubsurfaceRadiusScaleInfos: vec2f;uniform subsurfaceRadiusScaleMatrix: mat4x4f;uniform vCoatWeightInfos: vec2f;uniform coatWeightMatrix: mat4x4f;uniform vCoatColorInfos: vec2f;uniform coatColorMatrix: mat4x4f;uniform vCoatRoughnessInfos: vec2f;uniform coatRoughnessMatrix: mat4x4f;uniform vCoatRoughnessAnisotropyInfos: vec2f;uniform coatRoughnessAnisotropyMatrix: mat4x4f;uniform vCoatDarkeningInfos : vec2f;uniform coatDarkeningMatrix : mat4x4f;uniform vFuzzWeightInfos: vec2f;uniform fuzzWeightMatrix: mat4x4f;uniform vFuzzColorInfos: vec2f;uniform fuzzColorMatrix: mat4x4f;uniform vFuzzRoughnessInfos: vec2f;uniform fuzzRoughnessMatrix: mat4x4f;uniform vGeometryNormalInfos: vec2f;uniform geometryNormalMatrix: mat4x4f;uniform vGeometryTangentInfos: vec2f;uniform geometryTangentMatrix: mat4x4f;uniform vGeometryCoatNormalInfos: vec2f;uniform geometryCoatNormalMatrix: mat4x4f;uniform vGeometryCoatTangentInfos: vec2f;uniform geometryCoatTangentMatrix: mat4x4f;uniform vGeometryOpacityInfos: vec2f;uniform geometryOpacityMatrix: mat4x4f;uniform vGeometryThicknessInfos: vec2f;uniform geometryThicknessMatrix: mat4x4f;uniform vEmissionColorInfos: vec2f;uniform emissionColorMatrix: mat4x4f;uniform vThinFilmWeightInfos: vec2f;uniform thinFilmWeightMatrix: mat4x4f;uniform vThinFilmThicknessInfos: vec2f;uniform thinFilmThicknessMatrix: mat4x4f;uniform vAmbientOcclusionInfos: vec2f;uniform ambientOcclusionMatrix: mat4x4f;
476
+ #define ADDITIONAL_UBO_DECLARATION
477
+ #include<sceneUboDeclaration>
478
+ #include<meshUboDeclaration>
479
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["openpbrUboDeclarationWGSL",0,{name:r,shader:i}])},51052,e=>{"use strict";var t=e.i(2342);let r="pbrBRDFFunctions",i=`#define FRESNEL_MAXIMUM_ON_ROUGH 0.25
480
+ #define BRDF_DIFFUSE_MODEL_EON 0
481
+ #define BRDF_DIFFUSE_MODEL_BURLEY 1
482
+ #define BRDF_DIFFUSE_MODEL_LAMBERT 2
483
+ #define BRDF_DIFFUSE_MODEL_LEGACY 3
484
+ #define DIELECTRIC_SPECULAR_MODEL_GLTF 0
485
+ #define DIELECTRIC_SPECULAR_MODEL_OPENPBR 1
486
+ #define CONDUCTOR_SPECULAR_MODEL_GLTF 0
487
+ #define CONDUCTOR_SPECULAR_MODEL_OPENPBR 1
488
+ #if !defined(PBR_VERTEX_SHADER) && !defined(OPENPBR_VERTEX_SHADER)
489
+ #ifdef MS_BRDF_ENERGY_CONSERVATION
490
+ fn getEnergyConservationFactor(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {return 1.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);}
623
491
  #endif
624
- #ifdef CLIPPLANE2
625
- uniform vClipPlane2: vec4<f32>;varying fClipDistance2: f32;
492
+ #if CONDUCTOR_SPECULAR_MODEL==CONDUCTOR_SPECULAR_MODEL_OPENPBR
493
+ const F82_COS_THETA_MAX: f32 =0.142857143;const F82_ONE_MINUS_CTM_POW5: f32 =0.462664366;const F82_ONE_MINUS_CTM_POW6: f32 =0.396569457;const F82_B_DENOMINATOR_RECIP: f32 =17.6512785;const BRDF_Z_SCALE: f32 =16.0;fn getF82Specular(NdotV: f32,F0: vec3f,edgeTint: vec3f,roughness: f32)->vec3f {let white_minus_F0: vec3f=vec3f(1.0f)-F0;let b_numerator: vec3f=(F0+white_minus_F0*F82_ONE_MINUS_CTM_POW5)*(vec3f(1.0)-edgeTint);let b: vec3f=b_numerator*F82_B_DENOMINATOR_RECIP;let cos_theta: f32=max(roughness,NdotV);let one_minus_cos_theta: f32=1.0-cos_theta;let offset_from_F0: vec3f=(white_minus_F0-b*cos_theta*one_minus_cos_theta)*pow(one_minus_cos_theta,5.0f);return clamp(F0+offset_from_F0,vec3f(0.0f),vec3f(1.0f));}
494
+ fn getF82B(F0: vec3f,edgeTint: vec3f)->vec3f {return (F0+(vec3f(1.0)-F0)*F82_ONE_MINUS_CTM_POW5)*(vec3f(1.0)-edgeTint)*F82_B_DENOMINATOR_RECIP;}
495
+ fn getF82DirectionalAlbedo(F0: vec3f,F90: vec3f,b: vec3f,environmentBrdf: vec3f)->vec3f {return (F90-F0)*environmentBrdf.x+F0*environmentBrdf.y-b*environmentBrdf.z;}
496
+ fn getF82AverageFresnel(F0: vec3f,b: vec3f)->vec3f {return F0+(vec3f(1.0)-F0)/21.0-b/126.0;}
626
497
  #endif
627
- #ifdef CLIPPLANE3
628
- uniform vClipPlane3: vec4<f32>;varying fClipDistance3: f32;
498
+ #ifdef FUZZENVIRONMENTBRDF
499
+ fn getFuzzBRDFLookup(NdotV: f32,perceptualRoughness: f32)->vec3f {let UV: vec2f=vec2f(perceptualRoughness,NdotV);var brdfLookup: vec4f=textureSample(environmentFuzzBrdfSampler,environmentFuzzBrdfSamplerSampler,UV);const RiRange: vec2f=vec2f(0.0f,0.75f);const ARange: vec2f=vec2f(0.005f,0.88f);const BRange: vec2f=vec2f(-0.18f,0.002f);brdfLookup.r=mix(ARange.x, ARange.y, brdfLookup.r);brdfLookup.g=mix(BRange.x, BRange.y, brdfLookup.g);brdfLookup.b=mix(RiRange.x,RiRange.y,brdfLookup.b);return brdfLookup.rgb;}
629
500
  #endif
630
- #ifdef CLIPPLANE4
631
- uniform vClipPlane4: vec4<f32>;varying fClipDistance4: f32;
501
+ #ifdef ENVIRONMENTBRDF
502
+ fn getBRDFLookup(NdotV: f32,perceptualRoughness: f32)->vec3f {var UV: vec2f= vec2f(NdotV,perceptualRoughness);var brdfLookup: vec4f= textureSample(environmentBrdfSampler,environmentBrdfSamplerSampler,UV);
503
+ #ifdef ENVIRONMENTBRDF_RGBD
504
+ brdfLookup=vec4f(fromRGBD(brdfLookup.rgba),brdfLookup.a);
632
505
  #endif
633
- #ifdef CLIPPLANE5
634
- uniform vClipPlane5: vec4<f32>;varying fClipDistance5: f32;
506
+ return brdfLookup.rgb;}
507
+ fn getReflectanceFromBRDFWithEnvLookup(specularEnvironmentR0: vec3f,specularEnvironmentR90: vec3f,environmentBrdf: vec3f)->vec3f {
508
+ #ifdef BRDF_V_HEIGHT_CORRELATED
509
+ var reflectance: vec3f=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;
510
+ #else
511
+ var reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;
635
512
  #endif
636
- #ifdef CLIPPLANE6
637
- uniform vClipPlane6: vec4<f32>;varying fClipDistance6: f32;
513
+ return reflectance;}
514
+ fn getReflectanceFromBRDFLookup(specularEnvironmentR0: vec3f,environmentBrdf: vec3f)->vec3f {
515
+ #ifdef BRDF_V_HEIGHT_CORRELATED
516
+ var reflectance: vec3f=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);
517
+ #else
518
+ var reflectance: vec3f=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;
638
519
  #endif
639
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["clipPlaneVertexDeclarationWGSL",0,{name:r,shader:i}],63593);let n="clipPlaneVertex",a=`#ifdef CLIPPLANE
640
- vertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);
520
+ return reflectance;}
641
521
  #endif
642
- #ifdef CLIPPLANE2
643
- vertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);
522
+ /* NOT USED
523
+ #if defined(SHEEN) && defined(SHEEN_SOFTER)
524
+ fn getBRDFLookupCharlieSheen(NdotV: f32,perceptualRoughness: f32)->f32
525
+ {var c: f32=1.0-NdotV;var c3: f32=c*c*c;return 0.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));}
644
526
  #endif
645
- #ifdef CLIPPLANE3
646
- vertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);
527
+ */
528
+ #if !defined(ENVIRONMENTBRDF) || defined(REFLECTIONMAP_SKYBOX) || defined(ALPHAFRESNEL)
529
+ fn getReflectanceFromAnalyticalBRDFLookup_Jones(VdotN: f32,reflectance0: vec3f,reflectance90: vec3f,smoothness: f32)->vec3f
530
+ {var weight: f32=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}
647
531
  #endif
648
- #ifdef CLIPPLANE4
649
- vertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);
532
+ #if defined(SHEEN) && defined(ENVIRONMENTBRDF)
533
+ /**
534
+ * The sheen BRDF not containing F can be easily stored in the blue channel of the BRDF texture.
535
+ * The blue channel contains DCharlie*VAshikhmin*NdotL as a lokkup table
536
+ */
537
+ fn getSheenReflectanceFromBRDFLookup(reflectance0: vec3f,environmentBrdf: vec3f)->vec3f {var sheenEnvironmentReflectance: vec3f=reflectance0*environmentBrdf.b;return sheenEnvironmentReflectance;}
650
538
  #endif
651
- #ifdef CLIPPLANE5
652
- vertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);
539
+ fn fresnelSchlickGGXVec3(VdotH: f32,reflectance0: vec3f,reflectance90: vec3f)->vec3f
540
+ {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
541
+ fn fresnelSchlickGGX(VdotH: f32,reflectance0: f32,reflectance90: f32)->f32
542
+ {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
543
+ #ifdef CLEARCOAT
544
+ fn getR0RemappedForClearCoat(f0: vec3f)->vec3f {
545
+ #ifdef CLEARCOAT_DEFAULTIOR
546
+ #ifdef MOBILE
547
+ return saturateVec3(f0*(f0*0.526868+0.529324)-0.0482256);
548
+ #else
549
+ return saturateVec3(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);
653
550
  #endif
654
- #ifdef CLIPPLANE6
655
- vertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);
551
+ #else
552
+ var s: vec3f=sqrt(f0);var t: vec3f=(uniforms.vClearCoatRefractionParams.z+uniforms.vClearCoatRefractionParams.w*s)/(uniforms.vClearCoatRefractionParams.w+uniforms.vClearCoatRefractionParams.z*s);return squareVec3(t);
656
553
  #endif
657
- `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["clipPlaneVertexWGSL",0,{name:n,shader:a}],4534)},53318,80849,e=>{"use strict";var t=e.i(47150);let r="fogVertexDeclaration",i=`#ifdef FOG
658
- varying vFogDistance: vec3f;
554
+ }
659
555
  #endif
660
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["fogVertexDeclarationWGSL",0,{name:r,shader:i}],53318);let n="fogVertex",a=`#ifdef FOG
661
- #ifdef SCENE_UBO
662
- vertexOutputs.vFogDistance=(scene.view*worldPos).xyz;
556
+ #ifdef IRIDESCENCE
557
+ const XYZ_TO_REC709: mat3x3f= mat3x3f(
558
+ 3.2404542,-0.9692660, 0.0556434,
559
+ -1.5371385, 1.8760108,-0.2040259,
560
+ -0.4985314, 0.0415560, 1.0572252
561
+ );fn getIORTfromAirToSurfaceR0(f0: vec3f)->vec3f {var sqrtF0: vec3f=sqrt(f0);return (1.+sqrtF0)/(1.-sqrtF0);}
562
+ fn getR0fromIORsVec3(iorT: vec3f,iorI: f32)->vec3f {return squareVec3((iorT- vec3f(iorI))/(iorT+ vec3f(iorI)));}
563
+ fn getR0fromIORs(iorT: f32,iorI: f32)->f32 {return square((iorT-iorI)/(iorT+iorI));}
564
+ fn evalSensitivity(opd: f32,shift: vec3f)->vec3f {var phase: f32=2.0*PI*opd*1.0e-9;const val: vec3f= vec3f(5.4856e-13,4.4201e-13,5.2481e-13);const pos: vec3f= vec3f(1.6810e+06,1.7953e+06,2.2084e+06);const vr: vec3f= vec3f(4.3278e+09,9.3046e+09,6.6121e+09);var xyz: vec3f=val*sqrt(2.0*PI*vr)*cos(pos*phase+shift)*exp(-square(phase)*vr);xyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));xyz/=1.0685e-7;var srgb: vec3f=XYZ_TO_REC709*xyz;return srgb;}
565
+ fn evalIridescence(outsideIOR: f32,eta2: f32,cosTheta1: f32,thinFilmThickness: f32,baseF0: vec3f)->vec3f {var I: vec3f= vec3f(1.0);var iridescenceIOR: f32=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));var sinTheta2Sq: f32=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));var cosTheta2Sq: f32=1.0-sinTheta2Sq;if (cosTheta2Sq<0.0) {return I;}
566
+ var cosTheta2: f32=sqrt(cosTheta2Sq);var R0: f32=getR0fromIORs(iridescenceIOR,outsideIOR);var R12: f32=fresnelSchlickGGX(cosTheta1,R0,1.);var R21: f32=R12;var T121: f32=1.0-R12;var phi12: f32=0.0;if (iridescenceIOR<outsideIOR) {phi12=PI;}
567
+ var phi21: f32=PI-phi12;var baseIOR: vec3f=getIORTfromAirToSurfaceR0(clamp(baseF0,vec3f(0.0),vec3f(0.9999)));
568
+ var R1: vec3f=getR0fromIORsVec3(baseIOR,iridescenceIOR);let maxR1: f32=max(R1.r,max(R1.g,R1.b));if (maxR1<1e-6) {return max(vec3f(R12),vec3f(0.0));}
569
+ var R23: vec3f=fresnelSchlickGGXVec3(cosTheta2,R1,vec3f(1.));var phi23: vec3f=vec3f(0.0);if (baseIOR[0]<iridescenceIOR) {phi23[0]=PI;}
570
+ if (baseIOR[1]<iridescenceIOR) {phi23[1]=PI;}
571
+ if (baseIOR[2]<iridescenceIOR) {phi23[2]=PI;}
572
+ var opd: f32=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;var phi: vec3f=vec3f(phi21)+phi23;var R123: vec3f=clamp(R12*R23,vec3f(1e-5),vec3f(0.9999));var r123: vec3f=sqrt(R123);var Rs: vec3f=(T121*T121)*R23/(vec3f(1.0)-R123);var C0: vec3f=R12+Rs;I=C0;var Cm: vec3f=Rs-T121;for (var m: i32=1; m<=2; m++)
573
+ {Cm*=r123;var Sm: vec3f=2.0*evalSensitivity(f32(m)*opd,f32(m)*phi);I+=Cm*Sm;}
574
+ return max(I,vec3f(0.0));}
575
+ #endif
576
+ fn normalDistributionFunction_TrowbridgeReitzGGX(NdotH: f32,alphaG: f32)->f32
577
+ {var a2: f32=alphaG*alphaG;var d: f32=NdotH*NdotH*(a2-1.0)+1.0;return a2/(PI*d*d);}
578
+ #ifdef SHEEN
579
+ fn normalDistributionFunction_CharlieSheen(NdotH: f32,alphaG: f32)->f32
580
+ {var invR: f32=1./alphaG;var cos2h: f32=NdotH*NdotH;var sin2h: f32=1.-cos2h;return (2.+invR)*pow(sin2h,invR*.5)/(2.*PI);}
581
+ #endif
582
+ #ifdef ANISOTROPIC
583
+ fn normalDistributionFunction_BurleyGGX_Anisotropic(NdotH: f32,TdotH: f32,BdotH: f32,alphaTB: vec2f)->f32 {var a2: f32=alphaTB.x*alphaTB.y;var v: vec3f= vec3f(alphaTB.y*TdotH,alphaTB.x *BdotH,a2*NdotH);var v2: f32=dot(v,v);var w2: f32=a2/v2;return a2*w2*w2*RECIPROCAL_PI;}
584
+ #endif
585
+ #ifdef BRDF_V_HEIGHT_CORRELATED
586
+ fn smithVisibility_GGXCorrelated(NdotL: f32,NdotV: f32,alphaG: f32)->f32 {
587
+ #ifdef MOBILE
588
+ var GGXV: f32=NdotL*(NdotV*(1.0-alphaG)+alphaG);var GGXL: f32=NdotV*(NdotL*(1.0-alphaG)+alphaG);return 0.5/(GGXV+GGXL);
663
589
  #else
664
- vertexOutputs.vFogDistance=(uniforms.view*worldPos).xyz;
590
+ var a2: f32=alphaG*alphaG;var GGXV: f32=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);var GGXL: f32=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);return 0.5/(GGXV+GGXL);
591
+ #endif
592
+ }
593
+ #else
594
+ fn smithVisibilityG1_TrowbridgeReitzGGXFast(dot: f32,alphaG: f32)->f32
595
+ {
596
+ #ifdef MOBILE
597
+ return 1.0/(dot+alphaG+(1.0-alphaG)*dot ));
598
+ #else
599
+ var alphaSquared: f32=alphaG*alphaG;return 1.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));
600
+ #endif
601
+ }
602
+ fn smithVisibility_TrowbridgeReitzGGXFast(NdotL: f32,NdotV: f32,alphaG: f32)->f32
603
+ {var visibility: f32=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);return visibility;}
665
604
  #endif
605
+ #ifdef ANISOTROPIC
606
+ fn smithVisibility_GGXCorrelated_Anisotropic(NdotL: f32,NdotV: f32,TdotV: f32,BdotV: f32,TdotL: f32,BdotL: f32,alphaTB: vec2f)->f32 {var lambdaV: f32=NdotL*length( vec3f(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));var lambdaL: f32=NdotV*length( vec3f(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));var v: f32=0.5/(lambdaV+lambdaL);return v;}
666
607
  #endif
667
- `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["fogVertexWGSL",0,{name:n,shader:a}],80849)},52362,e=>{"use strict";var t=e.i(47150);let r="logDepthVertex",i=`#ifdef LOGARITHMICDEPTH
668
- vertexOutputs.vFragmentDepth=1.0+vertexOutputs.position.w;vertexOutputs.position.z=log2(max(0.000001,vertexOutputs.vFragmentDepth))*uniforms.logarithmicDepthConstant;
608
+ #ifdef CLEARCOAT
609
+ fn visibility_Kelemen(VdotH: f32)->f32 {return 0.25/(VdotH*VdotH); }
669
610
  #endif
670
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["logDepthVertexWGSL",0,{name:r,shader:i}])},26579,44295,27283,15363,30408,39775,21515,63639,50936,67196,e=>{"use strict";var t=e.i(47150);let r="uvAttributeDeclaration",i=`#if defined(UV{X}) && !defined(USE_VERTEX_PULLING)
611
+ #ifdef SHEEN
612
+ fn visibility_Ashikhmin(NdotL: f32,NdotV: f32)->f32
613
+ {return 1./(4.*(NdotL+NdotV-NdotL*NdotV));}
614
+ /* NOT USED
615
+ #ifdef SHEEN_SOFTER
616
+ fn l(x: f32,alphaG: f32)->f32
617
+ {var oneMinusAlphaSq: f32=(1.0-alphaG)*(1.0-alphaG);var a: f32=mix(21.5473,25.3245,oneMinusAlphaSq);var b: f32=mix(3.82987,3.32435,oneMinusAlphaSq);var c: f32=mix(0.19823,0.16801,oneMinusAlphaSq);var d: f32=mix(-1.97760,-1.27393,oneMinusAlphaSq);var e: f32=mix(-4.32054,-4.85967,oneMinusAlphaSq);return a/(1.0+b*pow(x,c))+d*x+e;}
618
+ fn lambdaSheen(cosTheta: f32,alphaG: f32)->f32
619
+ {return abs(cosTheta)<0.5 ? exp(l(cosTheta,alphaG)) : exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));}
620
+ fn visibility_CharlieSheen(NdotL: f32,NdotV: f32,alphaG: f32)->f32
621
+ {var G: f32=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));return G/(4.0*NdotV*NdotL);}
622
+ #endif
623
+ */
624
+ #endif
625
+ const constant1_FON: f32=0.5f-2.0f/(3.0f*PI);const constant2_FON: f32=2.0f/3.0f-28.0f/(15.0f*PI);fn E_FON_approx(mu: f32,roughness: f32)->f32
626
+ {var sigma: f32=roughness;
627
+ var mucomp: f32=1.0f-mu;var mucomp2: f32=mucomp*mucomp;const Gcoeffs: mat2x2f=mat2x2f(0.0571085289f,-0.332181442f,
628
+ 0.491881867f,0.0714429953f);var GoverPi: f32=dot(Gcoeffs*vec2f(mucomp,mucomp2),vec2f(1.0f,mucomp2));return (1.0f+sigma*GoverPi)/(1.0f+constant1_FON*sigma);}
629
+ fn diffuseBRDF_EON(albedo: vec3f,roughness: f32,NdotL: f32,NdotV: f32,LdotV: f32)->vec3f
630
+ {var rho: vec3f=albedo;var sigma: f32=roughness;
631
+ var mu_i: f32=NdotL;
632
+ var mu_o: f32=NdotV;
633
+ var s: f32=LdotV-mu_i*mu_o;
634
+ var sovertF: f32=select(s,s/max(mu_i,mu_o),s>0.0f);
635
+ var AF: f32=1.0f/(1.0f+constant1_FON*sigma);
636
+ var f_ss: vec3f=(rho*RECIPROCAL_PI)*AF*(1.0f+sigma*sovertF);
637
+ var EFo: f32=E_FON_approx(mu_o,sigma);
638
+ var EFi: f32=E_FON_approx(mu_i,sigma);
639
+ var avgEF: f32=AF*(1.0f+constant2_FON*sigma);
640
+ var rho_ms: vec3f=(rho*rho)*avgEF/(vec3f(1.0f)-rho*(1.0f-avgEF));const eps: f32=1.0e-7f;var f_ms: vec3f=(rho_ms*RECIPROCAL_PI)*max(eps,1.0f-EFo)
641
+ * max(eps,1.0f-EFi)
642
+ / max(eps,1.0f-avgEF);return (f_ss+f_ms);}
643
+ fn diffuseBRDF_Burley(NdotL: f32,NdotV: f32,VdotH: f32,roughness: f32)->f32 {var diffuseFresnelNV: f32=pow5(saturateEps(1.0-NdotL));var diffuseFresnelNL: f32=pow5(saturateEps(1.0-NdotV));var diffuseFresnel90: f32=0.5+2.0*VdotH*VdotH*roughness;var fresnel: f32 =
644
+ (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *
645
+ (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);return fresnel/PI;}
646
+ #ifdef SS_TRANSLUCENCY
647
+ fn transmittanceBRDF_Burley(tintColor: vec3f,diffusionDistance: vec3f,thickness: f32)->vec3f {var S: vec3f=1./maxEpsVec3(diffusionDistance);var temp: vec3f=exp((-0.333333333*thickness)*S);return tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);}
648
+ fn computeWrappedDiffuseNdotL(NdotL: f32,w: f32)->f32 {var t: f32=1.0+w;var invt2: f32=1.0/(t*t);return saturate((NdotL+w)*invt2);}
649
+ #endif
650
+ #endif
651
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["pbrBRDFFunctionsWGSL",0,{name:r,shader:i}])},34218,e=>{"use strict";var t=e.i(2342);let r="sceneUboDeclaration",i=`struct Scene {viewProjection : mat4x4<f32>,
652
+ #ifdef MULTIVIEW
653
+ viewProjectionR : mat4x4<f32>,
654
+ #endif
655
+ view : mat4x4<f32>,
656
+ projection : mat4x4<f32>,
657
+ vEyePosition : vec4<f32>,
658
+ inverseProjection : mat4x4<f32>,};
659
+ #define SCENE_UBO
660
+ var<uniform> scene : Scene;
661
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["sceneUboDeclarationWGSL",0,{name:r,shader:i}])},73818,13076,5284,72997,43006,49965,40449,52828,55085,25818,e=>{"use strict";var t=e.i(2342);let r="uvAttributeDeclaration",i=`#if defined(UV{X}) && !defined(USE_VERTEX_PULLING)
671
662
  attribute uv{X}: vec2f;
672
663
  #endif
673
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["uvAttributeDeclarationWGSL",0,{name:r,shader:i}],26579);let n="prePassVertexDeclaration",a=`#ifdef PREPASS
664
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["uvAttributeDeclarationWGSL",0,{name:r,shader:i}],73818);let n="prePassVertexDeclaration",a=`#ifdef PREPASS
674
665
  #ifdef PREPASS_LOCAL_POSITION
675
666
  varying vPosition : vec3f;
676
667
  #endif
@@ -684,10 +675,10 @@ varying vNormViewDepth: f32;
684
675
  uniform previousViewProjection: mat4x4f;varying vCurrentPosition: vec4f;varying vPreviousPosition: vec4f;
685
676
  #endif
686
677
  #endif
687
- `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["prePassVertexDeclarationWGSL",0,{name:n,shader:a}],44295);let f="samplerVertexDeclaration",o=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
678
+ `;t.ShaderStore.IncludesShadersStoreWGSL[n]||(t.ShaderStore.IncludesShadersStoreWGSL[n]=a),e.s(["prePassVertexDeclarationWGSL",0,{name:n,shader:a}],13076);let f="samplerVertexDeclaration",o=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
688
679
  varying v_VARYINGNAME_UV: vec2f;
689
680
  #endif
690
- `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["samplerVertexDeclarationWGSL",0,{name:f,shader:o}],27283);let s="lightVxUboDeclaration",d=`#ifdef LIGHT{X}
681
+ `;t.ShaderStore.IncludesShadersStoreWGSL[f]||(t.ShaderStore.IncludesShadersStoreWGSL[f]=o),e.s(["samplerVertexDeclarationWGSL",0,{name:f,shader:o}],5284);let s="lightVxUboDeclaration",d=`#ifdef LIGHT{X}
691
682
  struct Light{X}
692
683
  {vLightData: vec4f,
693
684
  vLightDiffuse: vec4f,
@@ -718,7 +709,7 @@ varying vPositionFromLight{X}: vec4f;varying vDepthMetric{X}: f32;uniform lightM
718
709
  #endif
719
710
  #endif
720
711
  #endif
721
- `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["lightVxUboDeclarationWGSL",0,{name:s,shader:d}],15363);let c="vertexPullingDeclaration",l=`#ifdef USE_VERTEX_PULLING
712
+ `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=d),e.s(["lightVxUboDeclarationWGSL",0,{name:s,shader:d}],72997);let c="vertexPullingDeclaration",l=`#ifdef USE_VERTEX_PULLING
722
713
  #ifdef VERTEX_PULLING_USE_INDEX_BUFFER
723
714
  var<storage,read> indices : array<u32>;
724
715
  #endif
@@ -896,7 +887,7 @@ vp_readMatrixWeightExtraValue(offset+cs*3u,dataType,normalized)
896
887
  #endif
897
888
  #endif
898
889
  #endif
899
- `;t.ShaderStore.IncludesShadersStoreWGSL[c]||(t.ShaderStore.IncludesShadersStoreWGSL[c]=l),e.s(["vertexPullingDeclarationWGSL",0,{name:c,shader:l}],30408);let u="vertexPullingVertex",v=`#ifdef USE_VERTEX_PULLING
890
+ `;t.ShaderStore.IncludesShadersStoreWGSL[c]||(t.ShaderStore.IncludesShadersStoreWGSL[c]=l),e.s(["vertexPullingDeclarationWGSL",0,{name:c,shader:l}],43006);let u="vertexPullingVertex",v=`#ifdef USE_VERTEX_PULLING
900
891
  let vpVertexIndex: u32=vp_readVertexIndex(vertexInputs.vertexIndex);positionUpdated=vp_readPosition(uniforms.vp_position_info,vpVertexIndex);
901
892
  #ifdef NORMAL
902
893
  normalUpdated=vp_readNormal(uniforms.vp_normal_info,vpVertexIndex);
@@ -950,7 +941,7 @@ var vp_matricesIndicesExtra: vec4f=vp_readBoneIndicesExtra(uniforms.vp_matricesI
950
941
  #endif
951
942
  #endif
952
943
  #endif
953
- `;t.ShaderStore.IncludesShadersStoreWGSL[u]||(t.ShaderStore.IncludesShadersStoreWGSL[u]=v),e.s(["vertexPullingVertexWGSL",0,{name:u,shader:v}],39775);let m="prePassVertex",p=`#ifdef PREPASS_DEPTH
944
+ `;t.ShaderStore.IncludesShadersStoreWGSL[u]||(t.ShaderStore.IncludesShadersStoreWGSL[u]=v),e.s(["vertexPullingVertexWGSL",0,{name:u,shader:v}],49965);let m="prePassVertex",p=`#ifdef PREPASS_DEPTH
954
945
  vertexOutputs.vViewPos=(scene.view*worldPos).rgb;
955
946
  #endif
956
947
  #ifdef PREPASS_NORMALIZED_VIEW_DEPTH
@@ -989,7 +980,7 @@ vertexOutputs.vPreviousPosition=uniforms.previousViewProjection*finalPreviousWor
989
980
  vertexOutputs.vPreviousPosition=uniforms.previousViewProjection*finalPreviousWorld* vec4f(positionUpdated,1.0);
990
981
  #endif
991
982
  #endif
992
- `;t.ShaderStore.IncludesShadersStoreWGSL[m]||(t.ShaderStore.IncludesShadersStoreWGSL[m]=p),e.s(["prePassVertexWGSL",0,{name:m,shader:p}],21515);let E="uvVariableDeclaration",_=`#ifdef MAINUV{X}
983
+ `;t.ShaderStore.IncludesShadersStoreWGSL[m]||(t.ShaderStore.IncludesShadersStoreWGSL[m]=p),e.s(["prePassVertexWGSL",0,{name:m,shader:p}],40449);let E="uvVariableDeclaration",_=`#ifdef MAINUV{X}
993
984
  #if !defined(UV{X})
994
985
  var uv{X}: vec2f=vec2f(0.,0.);
995
986
  #elif defined(USE_VERTEX_PULLING)
@@ -999,7 +990,7 @@ var uv{X}: vec2f=vertexInputs.uv{X};
999
990
  #endif
1000
991
  vertexOutputs.vMainUV{X}=uv{X};
1001
992
  #endif
1002
- `;t.ShaderStore.IncludesShadersStoreWGSL[E]||(t.ShaderStore.IncludesShadersStoreWGSL[E]=_),e.s(["uvVariableDeclarationWGSL",0,{name:E,shader:_}],63639);let I="samplerVertexImplementation",S=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
993
+ `;t.ShaderStore.IncludesShadersStoreWGSL[E]||(t.ShaderStore.IncludesShadersStoreWGSL[E]=_),e.s(["uvVariableDeclarationWGSL",0,{name:E,shader:_}],52828);let I="samplerVertexImplementation",S=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
1003
994
  if (uniforms.v_INFONAME_==0.)
1004
995
  {vertexOutputs.v_VARYINGNAME_UV= (uniforms._MATRIXNAME_Matrix* vec4f(uvUpdated,1.0,0.0)).xy;}
1005
996
  #ifdef UV2
@@ -1023,7 +1014,7 @@ else if (uniforms.v_INFONAME_==5.)
1023
1014
  {vertexOutputs.v_VARYINGNAME_UV= (uniforms._MATRIXNAME_Matrix* vec4f(vertexInputs.uv6,1.0,0.0)).xy;}
1024
1015
  #endif
1025
1016
  #endif
1026
- `;t.ShaderStore.IncludesShadersStoreWGSL[I]||(t.ShaderStore.IncludesShadersStoreWGSL[I]=S),e.s(["samplerVertexImplementationWGSL",0,{name:I,shader:S}],50936);let x="shadowsVertex",N=`#ifdef SHADOWS
1017
+ `;t.ShaderStore.IncludesShadersStoreWGSL[I]||(t.ShaderStore.IncludesShadersStoreWGSL[I]=S),e.s(["samplerVertexImplementationWGSL",0,{name:I,shader:S}],55085);let x="shadowsVertex",N=`#ifdef SHADOWS
1027
1018
  #if defined(SHADOWCSM{X})
1028
1019
  #ifdef SCENE_UBO
1029
1020
  vertexOutputs.vPositionFromCamera{X}=scene.view*worldPos;
@@ -1071,21 +1062,30 @@ vertexOutputs.vDepthMetric{X}=(vertexOutputs.vPositionFromLight{X}.z+light{X}.de
1071
1062
  #endif
1072
1063
  #endif
1073
1064
  #endif
1074
- `;t.ShaderStore.IncludesShadersStoreWGSL[x]||(t.ShaderStore.IncludesShadersStoreWGSL[x]=N),e.s(["shadowsVertexWGSL",0,{name:x,shader:N}],67196)},66359,e=>{"use strict";var t=e.i(47150);e.i(97793),e.i(36113);let r="openpbrUboDeclaration",i=`uniform vTangentSpaceParams: vec2f;uniform vLightingIntensity: vec4f;uniform pointSize: f32;uniform vDebugMode: vec2f;uniform renderTargetSize: vec2f;uniform cameraInfo: vec4f;uniform vTextureRepetitionHexTilingParams: vec4f;uniform backgroundRefractionMatrix: mat4x4f;uniform vBackgroundRefractionInfos: vec3f;uniform vReflectionInfos: vec2f;uniform reflectionMatrix: mat4x4f;uniform vReflectionMicrosurfaceInfos: vec3f;uniform vReflectionPosition: vec3f;uniform vReflectionSize: vec3f;uniform vReflectionFilteringInfo: vec2f;uniform vReflectionDominantDirection: vec3f;uniform vReflectionColor: vec3f;uniform vSphericalL00: vec3f;uniform vSphericalL1_1: vec3f;uniform vSphericalL10: vec3f;uniform vSphericalL11: vec3f;uniform vSphericalL2_2: vec3f;uniform vSphericalL2_1: vec3f;uniform vSphericalL20: vec3f;uniform vSphericalL21: vec3f;uniform vSphericalL22: vec3f;uniform vSphericalX: vec3f;uniform vSphericalY: vec3f;uniform vSphericalZ: vec3f;uniform vSphericalXX_ZZ: vec3f;uniform vSphericalYY_ZZ: vec3f;uniform vSphericalZZ: vec3f;uniform vSphericalXY: vec3f;uniform vSphericalYZ: vec3f;uniform vSphericalZX: vec3f;uniform vBaseWeight: f32;uniform vBaseColor: vec4f;uniform vBaseDiffuseRoughness: f32;uniform vReflectanceInfo: vec4f;uniform vSpecularColor: vec4f;uniform vSpecularAnisotropy: vec3f;uniform vTransmissionWeight : f32;uniform vTransmissionColor : vec3f;uniform vTransmissionDepth : f32;uniform vTransmissionScatter : vec3f;uniform vTransmissionScatterAnisotropy : f32;uniform vTransmissionDispersionScale : f32;uniform vTransmissionDispersionAbbeNumber : f32;uniform vSubsurfaceWeight: f32;uniform vSubsurfaceColor: vec3f;uniform vSubsurfaceRadius: f32;uniform vSubsurfaceRadiusScale: vec3f;uniform vSubsurfaceScatterAnisotropy: f32;uniform vCoatWeight: f32;uniform vCoatColor: vec3f;uniform vCoatRoughness: f32;uniform vCoatRoughnessAnisotropy: f32;uniform vCoatIor: f32;uniform vCoatDarkening : f32;uniform vFuzzWeight: f32;uniform vFuzzColor: vec3f;uniform vFuzzRoughness: f32;uniform vGeometryThinWalled: f32;uniform vGeometryCoatTangent: vec2f;uniform vGeometryThickness: f32;uniform vEmissionColor: vec3f;uniform vThinFilmWeight: f32;uniform vThinFilmThickness: vec2f;uniform vThinFilmIor: f32;uniform vBaseWeightInfos: vec2f;uniform baseWeightMatrix: mat4x4f;uniform vBaseColorInfos: vec2f;uniform baseColorMatrix: mat4x4f;uniform vBaseDiffuseRoughnessInfos: vec2f;uniform baseDiffuseRoughnessMatrix: mat4x4f;uniform vBaseMetalnessInfos: vec2f;uniform baseMetalnessMatrix: mat4x4f;uniform vSpecularWeightInfos: vec2f;uniform specularWeightMatrix: mat4x4f;uniform vSpecularColorInfos: vec2f;uniform specularColorMatrix: mat4x4f;uniform vSpecularRoughnessInfos: vec2f;uniform specularRoughnessMatrix: mat4x4f;uniform vSpecularRoughnessAnisotropyInfos: vec2f;uniform specularRoughnessAnisotropyMatrix: mat4x4f;uniform vTransmissionWeightInfos : vec2f;uniform transmissionWeightMatrix : mat4x4f;uniform vTransmissionColorInfos : vec2f;uniform transmissionColorMatrix : mat4x4f;uniform vTransmissionDepthInfos : vec2f;uniform transmissionDepthMatrix : mat4x4f;uniform vTransmissionScatterInfos : vec2f;uniform transmissionScatterMatrix : mat4x4f;uniform vTransmissionDispersionScaleInfos : vec2f;uniform transmissionDispersionScaleMatrix : mat4x4f;uniform vSubsurfaceWeightInfos: vec2f;uniform subsurfaceWeightMatrix: mat4x4f;uniform vSubsurfaceColorInfos: vec2f;uniform subsurfaceColorMatrix: mat4x4f;uniform vSubsurfaceRadiusScaleInfos: vec2f;uniform subsurfaceRadiusScaleMatrix: mat4x4f;uniform vCoatWeightInfos: vec2f;uniform coatWeightMatrix: mat4x4f;uniform vCoatColorInfos: vec2f;uniform coatColorMatrix: mat4x4f;uniform vCoatRoughnessInfos: vec2f;uniform coatRoughnessMatrix: mat4x4f;uniform vCoatRoughnessAnisotropyInfos: vec2f;uniform coatRoughnessAnisotropyMatrix: mat4x4f;uniform vCoatDarkeningInfos : vec2f;uniform coatDarkeningMatrix : mat4x4f;uniform vFuzzWeightInfos: vec2f;uniform fuzzWeightMatrix: mat4x4f;uniform vFuzzColorInfos: vec2f;uniform fuzzColorMatrix: mat4x4f;uniform vFuzzRoughnessInfos: vec2f;uniform fuzzRoughnessMatrix: mat4x4f;uniform vGeometryNormalInfos: vec2f;uniform geometryNormalMatrix: mat4x4f;uniform vGeometryTangentInfos: vec2f;uniform geometryTangentMatrix: mat4x4f;uniform vGeometryCoatNormalInfos: vec2f;uniform geometryCoatNormalMatrix: mat4x4f;uniform vGeometryCoatTangentInfos: vec2f;uniform geometryCoatTangentMatrix: mat4x4f;uniform vGeometryOpacityInfos: vec2f;uniform geometryOpacityMatrix: mat4x4f;uniform vGeometryThicknessInfos: vec2f;uniform geometryThicknessMatrix: mat4x4f;uniform vEmissionColorInfos: vec2f;uniform emissionColorMatrix: mat4x4f;uniform vThinFilmWeightInfos: vec2f;uniform thinFilmWeightMatrix: mat4x4f;uniform vThinFilmThicknessInfos: vec2f;uniform thinFilmThicknessMatrix: mat4x4f;uniform vAmbientOcclusionInfos: vec2f;uniform ambientOcclusionMatrix: mat4x4f;
1075
- #define ADDITIONAL_UBO_DECLARATION
1076
- #include<sceneUboDeclaration>
1077
- #include<meshUboDeclaration>
1078
- `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["openpbrUboDeclarationWGSL",0,{name:r,shader:i}])},56128,e=>{"use strict";var t=e.i(47150),r=e.i(97793),i=e.i(36113),n=e.i(66359),a=e.i(26579),f=e.i(47569),o=e.i(55880),s=e.i(88887),d=e.i(57568),c=e.i(21550),l=e.i(11),u=e.i(44295),v=e.i(27283),m=e.i(54058);let p="openpbrNormalMapVertexDeclaration",E=`#if defined(GEOMETRY_NORMAL) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(FUZZ)
1065
+ `;t.ShaderStore.IncludesShadersStoreWGSL[x]||(t.ShaderStore.IncludesShadersStoreWGSL[x]=N),e.s(["shadowsVertexWGSL",0,{name:x,shader:N}],25818)},68600,e=>{"use strict";var t=e.i(2342);let r="vertexColorMixing",i=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
1066
+ vertexOutputs.vColor=vec4f(1.0);
1067
+ #ifdef VERTEXCOLOR
1068
+ #ifdef VERTEXALPHA
1069
+ vertexOutputs.vColor*=colorUpdated;
1070
+ #else
1071
+ vertexOutputs.vColor=vec4f(vertexOutputs.vColor.rgb*colorUpdated.rgb,vertexOutputs.vColor.a);
1072
+ #endif
1073
+ #endif
1074
+ #ifdef INSTANCESCOLOR
1075
+ vertexOutputs.vColor*=vertexInputs.instanceColor;
1076
+ #endif
1077
+ #endif
1078
+ `;t.ShaderStore.IncludesShadersStoreWGSL[r]||(t.ShaderStore.IncludesShadersStoreWGSL[r]=i),e.s(["vertexColorMixingWGSL",0,{name:r,shader:i}])},63557,e=>{"use strict";var t=e.i(2342),r=e.i(34218),i=e.i(25661),n=e.i(14221),a=e.i(73818),f=e.i(77918),o=e.i(35551),s=e.i(51052),d=e.i(87691),c=e.i(45961),l=e.i(47485),u=e.i(13076),v=e.i(5284),m=e.i(51760);let p="openpbrNormalMapVertexDeclaration",E=`#if defined(GEOMETRY_NORMAL) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(FUZZ)
1079
1079
  #if defined(TANGENT) && defined(NORMAL)
1080
1080
  varying vTBN0: vec3f;varying vTBN1: vec3f;varying vTBN2: vec3f;
1081
1081
  #endif
1082
1082
  #endif
1083
- `;t.ShaderStore.IncludesShadersStoreWGSL[p]||(t.ShaderStore.IncludesShadersStoreWGSL[p]=E);var _=e.i(63593),I=e.i(53318),S=e.i(15363),x=e.i(92459),N=e.i(22253),T=e.i(73317),A=e.i(30408),R=e.i(39775),h=e.i(61408),V=e.i(34609),O=e.i(58890),M=e.i(92928),L=e.i(67125),g=e.i(21515),F=e.i(63639),U=e.i(50936);let C="openpbrNormalMapVertex",G=`#if defined(GEOMETRY_NORMAL) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(FUZZ)
1083
+ `;t.ShaderStore.IncludesShadersStoreWGSL[p]||(t.ShaderStore.IncludesShadersStoreWGSL[p]=E);var _=e.i(83753),I=e.i(43402),S=e.i(72997),x=e.i(19579),N=e.i(44181),T=e.i(67263),A=e.i(43006),R=e.i(49965),h=e.i(77316),V=e.i(43933),O=e.i(89701),M=e.i(62921),L=e.i(49405),g=e.i(40449),F=e.i(52828),U=e.i(55085);let C="openpbrNormalMapVertex",G=`#if defined(GEOMETRY_NORMAL) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(FUZZ)
1084
1084
  #if defined(TANGENT) && defined(NORMAL)
1085
1085
  var tbnNormal: vec3f=normalize(normalUpdated);var tbnTangent: vec3f=normalize(tangentUpdated.xyz);var tbnBitangent: vec3f=cross(tbnNormal,tbnTangent)*tangentUpdated.w;var matTemp= mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz)* mat3x3f(tbnTangent,tbnBitangent,tbnNormal);vertexOutputs.vTBN0=matTemp[0];vertexOutputs.vTBN1=matTemp[1];vertexOutputs.vTBN2=matTemp[2];
1086
1086
  #endif
1087
1087
  #endif
1088
- `;t.ShaderStore.IncludesShadersStoreWGSL[C]||(t.ShaderStore.IncludesShadersStoreWGSL[C]=G);var D=e.i(4534),P=e.i(80849),b=e.i(67196),y=e.i(4825),W=e.i(52362);let X="openpbrVertexShader",z=`#define OPENPBR_VERTEX_SHADER
1088
+ `;t.ShaderStore.IncludesShadersStoreWGSL[C]||(t.ShaderStore.IncludesShadersStoreWGSL[C]=G);var D=e.i(64767),P=e.i(25462),b=e.i(25818),y=e.i(68600),W=e.i(42158);let X="openpbrVertexShader",z=`#define OPENPBR_VERTEX_SHADER
1089
1089
  #include<openpbrUboDeclaration>
1090
1090
  #define CUSTOM_VERTEX_BEGIN
1091
1091
  #ifndef USE_VERTEX_PULLING
@@ -1325,4 +1325,4 @@ vertexOutputs.vMainUV2=uv2Updated;
1325
1325
  #include<vertexColorMixing>
1326
1326
  #include<logDepthVertex>
1327
1327
  #define CUSTOM_VERTEX_MAIN_END
1328
- }`;for(let e of(t.ShaderStore.ShadersStoreWGSL[X]||(t.ShaderStore.ShadersStoreWGSL[X]=z),[r.sceneUboDeclarationWGSL,i.meshUboDeclarationWGSL,n.openpbrUboDeclarationWGSL,a.uvAttributeDeclarationWGSL,f.mainUVVaryingDeclarationWGSL,o.helperFunctionsWGSL,s.pbrBRDFFunctionsWGSL,d.bonesDeclarationWGSL,c.bakedVertexAnimationDeclarationWGSL,l.instancesDeclarationWGSL,u.prePassVertexDeclarationWGSL,v.samplerVertexDeclarationWGSL,m.harmonicsFunctionsWGSL,{name:p,shader:E},_.clipPlaneVertexDeclarationWGSL,I.fogVertexDeclarationWGSL,S.lightVxUboDeclarationWGSL,x.morphTargetsVertexGlobalDeclarationWGSL,N.morphTargetsVertexDeclarationWGSL,T.logDepthDeclarationWGSL,A.vertexPullingDeclarationWGSL,R.vertexPullingVertexWGSL,h.morphTargetsVertexGlobalWGSL,V.morphTargetsVertexWGSL,O.instancesVertexWGSL,M.bonesVertexWGSL,L.bakedVertexAnimationWGSL,g.prePassVertexWGSL,F.uvVariableDeclarationWGSL,U.samplerVertexImplementationWGSL,{name:C,shader:G},D.clipPlaneVertexWGSL,P.fogVertexWGSL,b.shadowsVertexWGSL,y.vertexColorMixingWGSL,W.logDepthVertexWGSL]))t.ShaderStore.IncludesShadersStoreWGSL[e.name]||(t.ShaderStore.IncludesShadersStoreWGSL[e.name]=e.shader);e.s(["openpbrVertexShaderWGSL",0,{name:X,shader:z}],56128)}]);
1328
+ }`;for(let e of(t.ShaderStore.ShadersStoreWGSL[X]||(t.ShaderStore.ShadersStoreWGSL[X]=z),[r.sceneUboDeclarationWGSL,i.meshUboDeclarationWGSL,n.openpbrUboDeclarationWGSL,a.uvAttributeDeclarationWGSL,f.mainUVVaryingDeclarationWGSL,o.helperFunctionsWGSL,s.pbrBRDFFunctionsWGSL,d.bonesDeclarationWGSL,c.bakedVertexAnimationDeclarationWGSL,l.instancesDeclarationWGSL,u.prePassVertexDeclarationWGSL,v.samplerVertexDeclarationWGSL,m.harmonicsFunctionsWGSL,{name:p,shader:E},_.clipPlaneVertexDeclarationWGSL,I.fogVertexDeclarationWGSL,S.lightVxUboDeclarationWGSL,x.morphTargetsVertexGlobalDeclarationWGSL,N.morphTargetsVertexDeclarationWGSL,T.logDepthDeclarationWGSL,A.vertexPullingDeclarationWGSL,R.vertexPullingVertexWGSL,h.morphTargetsVertexGlobalWGSL,V.morphTargetsVertexWGSL,O.instancesVertexWGSL,M.bonesVertexWGSL,L.bakedVertexAnimationWGSL,g.prePassVertexWGSL,F.uvVariableDeclarationWGSL,U.samplerVertexImplementationWGSL,{name:C,shader:G},D.clipPlaneVertexWGSL,P.fogVertexWGSL,b.shadowsVertexWGSL,y.vertexColorMixingWGSL,W.logDepthVertexWGSL]))t.ShaderStore.IncludesShadersStoreWGSL[e.name]||(t.ShaderStore.IncludesShadersStoreWGSL[e.name]=e.shader);e.s(["openpbrVertexShaderWGSL",0,{name:X,shader:z}],63557)}]);