@uptimizr/dashboard 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +1 -1
  2. package/out/404.html +1 -1
  3. package/out/__next.__PAGE__.txt +4 -4
  4. package/out/__next._full.txt +11 -11
  5. package/out/__next._head.txt +4 -4
  6. package/out/__next._index.txt +4 -4
  7. package/out/__next._tree.txt +2 -2
  8. package/out/_next/static/chunks/002cjeoit6-up.js +1 -0
  9. package/out/_next/static/chunks/02n1uiltexy3w.js +1 -0
  10. package/out/_next/static/chunks/03ab2khhe8-x5.js +1 -0
  11. package/out/_next/static/chunks/04_yytpc2paxy.js +1 -0
  12. package/out/_next/static/chunks/06qot1qvlsqaz.js +1 -0
  13. package/out/_next/static/chunks/07eeopuufsqp-.js +1501 -0
  14. package/out/_next/static/chunks/08a5xek662n8n.js +1 -0
  15. package/out/_next/static/chunks/08wuc9--s8zn_.js +1 -0
  16. package/out/_next/static/chunks/09510356f0lad.js +1 -0
  17. package/out/_next/static/chunks/0_eu72k69lxj7.js +1 -0
  18. package/out/_next/static/chunks/0beajlqy8p8b5.js +1 -0
  19. package/out/_next/static/chunks/0c83pe1mpx456.js +1 -0
  20. package/out/_next/static/chunks/0echnagbkyx79.js +1198 -0
  21. package/out/_next/static/chunks/0eh1ml86u8dh7.js +1 -0
  22. package/out/_next/static/chunks/0fh-9h9ylxskr.js +674 -0
  23. package/out/_next/static/chunks/0fzmc1up21g1i.js +1 -0
  24. package/out/_next/static/chunks/0grlb9lo8e502.js +1 -0
  25. package/out/_next/static/chunks/0h22pg-0xrxnm.js +1 -0
  26. package/out/_next/static/chunks/0j6p1pmc14t96.js +1 -0
  27. package/out/_next/static/chunks/0j_6dx-sttgsy.js +1 -0
  28. package/out/_next/static/chunks/0j__xaq_8_di1.js +1 -0
  29. package/out/_next/static/chunks/0kfd-cvj5fvtz.js +1 -0
  30. package/out/_next/static/chunks/0o_mp98xzqfyf.js +1 -0
  31. package/out/_next/static/chunks/0otsec99kdkt7.js +213 -0
  32. package/out/_next/static/chunks/0ql-s-tsmel_u.js +151 -0
  33. package/out/_next/static/chunks/0r47gs_e93cka.js +1 -0
  34. package/out/_next/static/chunks/0sqys6o2pbe1q.js +1328 -0
  35. package/out/_next/static/chunks/0titqrn1qmcsv.js +1 -0
  36. package/out/_next/static/chunks/0tnlbw78tgaxp.js +4 -0
  37. package/out/_next/static/chunks/0tw4dyl-cp-hd.js +1 -0
  38. package/out/_next/static/chunks/0vbce-8omgurc.js +1 -0
  39. package/out/_next/static/chunks/0vfsg5byzep_0.js +1 -0
  40. package/out/_next/static/chunks/{0gv7mblzv3dl3.js → 0w8_1yjvol1f0.js} +20 -20
  41. package/out/_next/static/chunks/0xh144a5fz58h.js +1 -0
  42. package/out/_next/static/chunks/0xjltg_pph0c8.js +1 -0
  43. package/out/_next/static/chunks/0yeqgh0dnas8d.js +1 -0
  44. package/out/_next/static/chunks/101-7e_7up7rk.js +1 -0
  45. package/out/_next/static/chunks/128e51hj_04r0.js +1 -0
  46. package/out/_next/static/chunks/{10fnxpln_5xfd.js → 12kv810lohbsx.js} +2 -2
  47. package/out/_next/static/chunks/14bws-suyy5zu.js +1 -0
  48. package/out/_next/static/chunks/14ggsmqwej_tt.js +1656 -0
  49. package/out/_next/static/chunks/17genz6pkmty_.js +1 -0
  50. package/out/_next/static/chunks/17xd8hnazzr0g.js +1454 -0
  51. package/out/_next/static/chunks/18dczy9ylt2s_.js +1 -0
  52. package/out/_next/static/chunks/18xs_kvsaolb0.js +1 -0
  53. package/out/_next/static/chunks/19016f8-ry0z6.js +1 -0
  54. package/out/_next/static/chunks/1_6oejyxj39li.js +1 -0
  55. package/out/_next/static/chunks/1_aon8nz9p1fr.js +1 -0
  56. package/out/_next/static/chunks/1_qzlkuxukhpq.js +779 -0
  57. package/out/_next/static/chunks/1akaj5rhgitn3.js +1 -0
  58. package/out/_next/static/chunks/1bvl1ws7b_3gn.js +1 -0
  59. package/out/_next/static/chunks/1cdbk6kxyr1c9.js +1 -0
  60. package/out/_next/static/chunks/1fbjkk55uu4_g.js +1 -0
  61. package/out/_next/static/chunks/1furcfsgrw_3g.js +1 -0
  62. package/out/_next/static/chunks/1g0-f1g3gn_rs.js +1 -0
  63. package/out/_next/static/chunks/1g7emwu85bifo.js +557 -0
  64. package/out/_next/static/chunks/{37vzwr3ciejf1.js → 1gs-5722l4u59.js} +1 -1
  65. package/out/_next/static/chunks/1gt4kh0_xmigy.js +1 -0
  66. package/out/_next/static/chunks/1h8xzuuhhglu9.js +1 -0
  67. package/out/_next/static/chunks/1hatz-jlztrn0.js +1 -0
  68. package/out/_next/static/chunks/1iioifo7i0t0_.js +1 -0
  69. package/out/_next/static/chunks/{0impkpmxx3ttp.js → 1iiz7jqgj20z0.js} +1 -1
  70. package/out/_next/static/chunks/1kujmd5n0j9nk.js +1 -0
  71. package/out/_next/static/chunks/{2kazjq29jeamx.js → 1ltux4lwz7muf.js} +160 -372
  72. package/out/_next/static/chunks/1m_buecgcq67j.js +740 -0
  73. package/out/_next/static/chunks/1n9sy0yt5d2vq.js +1 -0
  74. package/out/_next/static/chunks/1p1gz6dseck--.js +1 -0
  75. package/out/_next/static/chunks/1p1xtsfwvpuqo.js +1 -0
  76. package/out/_next/static/chunks/1p8f6okk2ewbz.js +1 -0
  77. package/out/_next/static/chunks/1qg_etglhvp9h.js +740 -0
  78. package/out/_next/static/chunks/1th_t5ujeqlkf.js +1 -0
  79. package/out/_next/static/chunks/1thr-mdzbu96v.js +1 -0
  80. package/out/_next/static/chunks/1tta1a064979p.js +1 -0
  81. package/out/_next/static/chunks/1u_riwm0nfww7.js +1 -0
  82. package/out/_next/static/chunks/1ua15kzid0_8p.js +2560 -0
  83. package/out/_next/static/chunks/1uu-rt_8p1edp.js +2712 -0
  84. package/out/_next/static/chunks/1uu93wuxigx4k.js +1 -0
  85. package/out/_next/static/chunks/1vuq3dos1406d.css +3 -0
  86. package/out/_next/static/chunks/1ynju1jqfrcv0.js +1 -0
  87. package/out/_next/static/chunks/1zfojlgb15okk.js +1 -0
  88. package/out/_next/static/chunks/1zj8x5wbgnzz-.js +1 -0
  89. package/out/_next/static/chunks/1zl6t15gh34nn.js +1 -0
  90. package/out/_next/static/chunks/2-qo2o1_fmpy-.js +3 -0
  91. package/out/_next/static/chunks/{1thjncpj7u6pq.js → 223vrr_4sfhsj.js} +1 -1
  92. package/out/_next/static/chunks/22cr2b04btguf.js +1 -0
  93. package/out/_next/static/chunks/242xhzxxetctz.js +1 -0
  94. package/out/_next/static/chunks/24essz5mmvx-6.js +1 -0
  95. package/out/_next/static/chunks/256k1jw1m--l7.js +146 -0
  96. package/out/_next/static/chunks/259obyrpxcv6r.js +1 -0
  97. package/out/_next/static/chunks/26v9yqicofqba.js +1 -0
  98. package/out/_next/static/chunks/290d93hmm_e8b.js +1 -0
  99. package/out/_next/static/chunks/2_2fk7iddrs43.js +1 -0
  100. package/out/_next/static/chunks/{00k_j_r7bv_eb.js → 2bjlls8-qe05r.js} +9 -9
  101. package/out/_next/static/chunks/2ckd7f1wbfod-.js +1 -0
  102. package/out/_next/static/chunks/{163fa70v4mgxj.js → 2d6hru4qo23tt.js} +1 -1
  103. package/out/_next/static/chunks/2ejvntxtvf5o9.js +1 -0
  104. package/out/_next/static/chunks/2f7_3tzf7xhps.js +1 -0
  105. package/out/_next/static/chunks/2gxd_o1g89_bv.js +1 -0
  106. package/out/_next/static/chunks/2hd2txb4-m9k1.js +1 -0
  107. package/out/_next/static/chunks/2hpxou_cnp4f_.js +1 -0
  108. package/out/_next/static/chunks/2izioctrfc0s5.js +1 -0
  109. package/out/_next/static/chunks/2jhnk4h4n0udv.js +1 -0
  110. package/out/_next/static/chunks/2jpkhkk9zi8-f.js +1 -0
  111. package/out/_next/static/chunks/2kpet_l1kq2sx.js +1 -0
  112. package/out/_next/static/chunks/2nck5w4c7leb7.js +1 -0
  113. package/out/_next/static/chunks/2qq3uzsbiicw3.js +1194 -0
  114. package/out/_next/static/chunks/2qqqpu0ahfdda.js +1 -0
  115. package/out/_next/static/chunks/2r3ct6se2qn8z.js +1 -0
  116. package/out/_next/static/chunks/2u-f7mmxvk8wj.js +1 -0
  117. package/out/_next/static/chunks/2ue1wo4ryk87z.js +1 -0
  118. package/out/_next/static/chunks/2uk-vwlxe9-xr.js +1 -0
  119. package/out/_next/static/chunks/2ur5-lxdvv1jm.js +1 -0
  120. package/out/_next/static/chunks/2veqsohwfhfqc.js +1 -0
  121. package/out/_next/static/chunks/2vqlv9wnewhu9.js +1 -0
  122. package/out/_next/static/chunks/{1zvc1tv--w8nn.js → 2wzshintp5lf8.js} +1 -1
  123. package/out/_next/static/chunks/2x-00glogc485.js +1 -0
  124. package/out/_next/static/chunks/2yfxy0f5fqs4o.js +1 -0
  125. package/out/_next/static/chunks/2z88mt3ixktu3.js +1 -0
  126. package/out/_next/static/chunks/2z_jn9ud28fk7.js +1 -0
  127. package/out/_next/static/chunks/3-eswqjobiqk1.js +1 -0
  128. package/out/_next/static/chunks/30-tbi7pys6fp.js +4 -0
  129. package/out/_next/static/chunks/30c-nsedy_ce0.js +1 -0
  130. package/out/_next/static/chunks/31u5lbu1vxznh.js +1 -0
  131. package/out/_next/static/chunks/{2feca0xcipcyt.js → 32ahba5ezp467.js} +156 -156
  132. package/out/_next/static/chunks/337hn35kts7ud.js +1 -0
  133. package/out/_next/static/chunks/33dgpebv-tf73.js +1 -0
  134. package/out/_next/static/chunks/36jkdhq6kb-cf.js +1 -0
  135. package/out/_next/static/chunks/37epa8fz59vba.js +1166 -0
  136. package/out/_next/static/chunks/3833xfnz0a-ub.js +1 -0
  137. package/out/_next/static/chunks/38awrh_qxn22k.js +1 -0
  138. package/out/_next/static/chunks/{0wrm9jr-9bw0e.js → 38x3c1ra5slhe.js} +383 -913
  139. package/out/_next/static/chunks/39idqlqlcp5b9.js +1 -0
  140. package/out/_next/static/chunks/{2a3spdq-m8drh.js → 3_gku1pwluoo0.js} +1 -1
  141. package/out/_next/static/chunks/3_mu-4rdjajna.js +1450 -0
  142. package/out/_next/static/chunks/3coacc4-g-g5c.js +1 -0
  143. package/out/_next/static/chunks/3e00fzdfkclzq.js +1 -0
  144. package/out/_next/static/chunks/3e8fmlq0k5wkg.js +1 -0
  145. package/out/_next/static/chunks/3e9tzyrt4_98z.js +1 -0
  146. package/out/_next/static/chunks/3edelqkq92pil.js +1 -0
  147. package/out/_next/static/chunks/3figbil1t4ssj.js +593 -0
  148. package/out/_next/static/chunks/3gimb3z_mteou.js +1 -0
  149. package/out/_next/static/chunks/{2p2vv6cc9i-3q.js → 3idaz_s77e-j_.js} +9 -9
  150. package/out/_next/static/chunks/3j-4wuhs5weba.js +1 -0
  151. package/out/_next/static/chunks/3jjfnwvybayy7.js +1 -0
  152. package/out/_next/static/chunks/3jwm5dfk_78gc.js +1 -0
  153. package/out/_next/static/chunks/3k9d4ylc3li2t.js +1352 -0
  154. package/out/_next/static/chunks/3l3_0ack3gy4k.js +1 -0
  155. package/out/_next/static/chunks/3lwhs5ja7tun3.js +1 -0
  156. package/out/_next/static/chunks/3m6nmp2dca6un.js +1342 -0
  157. package/out/_next/static/chunks/3mbnfpufs2-7e.js +7 -0
  158. package/out/_next/static/chunks/3mcd08gmt038z.js +1 -0
  159. package/out/_next/static/chunks/3mt5th7b1i_u9.js +1 -0
  160. package/out/_next/static/chunks/3ne77mjdz2y7o.js +1 -0
  161. package/out/_next/static/chunks/3puhrqtujktyv.js +1 -0
  162. package/out/_next/static/chunks/3rdifucupcgkg.js +1 -0
  163. package/out/_next/static/chunks/3riekaxl3uxfb.js +1195 -0
  164. package/out/_next/static/chunks/3sdoskq_buttj.js +1 -0
  165. package/out/_next/static/chunks/3tg-ma9tv9xu4.js +1 -0
  166. package/out/_next/static/chunks/3tm-pqpmq_ppw.js +1 -0
  167. package/out/_next/static/chunks/3w9go565cjhq3.js +1636 -0
  168. package/out/_next/static/chunks/3wi9gzq2mtr_q.js +8 -0
  169. package/out/_next/static/chunks/3xagd_2_9zft2.js +1 -0
  170. package/out/_next/static/chunks/3xsq_anpad-fb.js +1 -0
  171. package/out/_next/static/chunks/3ycv2qq7vpbua.js +1 -0
  172. package/out/_next/static/chunks/3z84au-mitjjw.js +1 -0
  173. package/out/_next/static/chunks/4030dhur2h70-.js +1 -0
  174. package/out/_next/static/chunks/40ffffml4h_3r.js +4 -0
  175. package/out/_next/static/chunks/{3-shckrcpvbxu.js → 41wt50z9tx9cx.js} +108 -711
  176. package/out/_next/static/chunks/{1flb8adpj6_2o.js → 42k2-4_2hrg6u.js} +1 -1
  177. package/out/_next/static/chunks/431slrqh0wa0g.js +1 -0
  178. package/out/_next/static/chunks/43s_lbd1i2krj.js +1 -0
  179. package/out/_next/static/chunks/{0-2y-_oomza2l.js → 44nxswtahaq4w.js} +18 -18
  180. package/out/_next/static/chunks/45bwefvdpztfs.js +1 -0
  181. package/out/_next/static/chunks/{turbopack-0sgd6pfbe1fy6.js → turbopack-19105pdhzxp1x.js} +1 -1
  182. package/out/_not-found/__next._full.txt +9 -9
  183. package/out/_not-found/__next._head.txt +4 -4
  184. package/out/_not-found/__next._index.txt +4 -4
  185. package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
  186. package/out/_not-found/__next._not-found.txt +3 -3
  187. package/out/_not-found/__next._tree.txt +2 -2
  188. package/out/_not-found.html +1 -1
  189. package/out/_not-found.txt +9 -9
  190. package/out/index.html +1 -1
  191. package/out/index.txt +11 -11
  192. package/package.json +5 -4
  193. package/out/_next/static/chunks/068j6934u8j16.js +0 -1
  194. package/out/_next/static/chunks/09e4adtr6w0xe.js +0 -1
  195. package/out/_next/static/chunks/0_rf76jneiwal.js +0 -176
  196. package/out/_next/static/chunks/0aznt7717miff.js +0 -1
  197. package/out/_next/static/chunks/0cu-q5q3a7uf3.js +0 -1
  198. package/out/_next/static/chunks/0fskcfh9vbhtv.js +0 -1
  199. package/out/_next/static/chunks/0o_tpe5tlugtr.js +0 -3
  200. package/out/_next/static/chunks/0pj9pajm2xz97.css +0 -3
  201. package/out/_next/static/chunks/0ufbyo1x3qkmo.js +0 -1
  202. package/out/_next/static/chunks/0wwcfw8i3j_zx.js +0 -1
  203. package/out/_next/static/chunks/0ys9-ozuluawt.js +0 -1
  204. package/out/_next/static/chunks/1-61zh4waha61.js +0 -1
  205. package/out/_next/static/chunks/10r_824wzt8hj.js +0 -1
  206. package/out/_next/static/chunks/11v6j6q59u-f_.js +0 -1
  207. package/out/_next/static/chunks/123xxske5c9na.js +0 -1
  208. package/out/_next/static/chunks/13isnf0--pmx1.js +0 -1
  209. package/out/_next/static/chunks/157d9euci08yu.js +0 -1
  210. package/out/_next/static/chunks/18u58lorfahxi.js +0 -4
  211. package/out/_next/static/chunks/1_aahautsz2v_.js +0 -1
  212. package/out/_next/static/chunks/1o1d0p-v1z8ty.js +0 -1
  213. package/out/_next/static/chunks/1vdjn0pkoyypn.js +0 -1
  214. package/out/_next/static/chunks/1yehxf-fmeicg.js +0 -1
  215. package/out/_next/static/chunks/1zx2q-r32thv1.js +0 -4
  216. package/out/_next/static/chunks/2-sjjedfr0kfq.js +0 -1
  217. package/out/_next/static/chunks/25b9x-li-tvk2.js +0 -1
  218. package/out/_next/static/chunks/2aelw3far6rii.js +0 -1
  219. package/out/_next/static/chunks/2aor7m-wbis85.js +0 -1
  220. package/out/_next/static/chunks/2fh-_9b6tqhvb.js +0 -1
  221. package/out/_next/static/chunks/2g5gecypj0rqe.js +0 -1
  222. package/out/_next/static/chunks/2szdcpl41-kzv.js +0 -1
  223. package/out/_next/static/chunks/2u6shh3oeycm-.js +0 -1
  224. package/out/_next/static/chunks/2unhhuv0arlcv.js +0 -1
  225. package/out/_next/static/chunks/310uz81hnnzsu.js +0 -1
  226. package/out/_next/static/chunks/3i3gbhccmhu7j.js +0 -210
  227. package/out/_next/static/chunks/3mqy-84_ul3t2.js +0 -1
  228. package/out/_next/static/chunks/3nz-dh9d7cehk.js +0 -1
  229. package/out/_next/static/chunks/3pufs8g4ui943.js +0 -1
  230. package/out/_next/static/chunks/3t06schbtqonl.js +0 -1
  231. package/out/_next/static/chunks/3v3-7fio3nw_t.js +0 -1
  232. package/out/_next/static/chunks/3v5ha25nxo43j.js +0 -1
  233. package/out/_next/static/chunks/3zskk1hxu3-_o.js +0 -1
  234. /package/out/_next/static/{yttuijl-0Cn9k8uTCfhIM → 1NTbwHeIsn3AW-SeH9aP0}/_buildManifest.js +0 -0
  235. /package/out/_next/static/{yttuijl-0Cn9k8uTCfhIM → 1NTbwHeIsn3AW-SeH9aP0}/_clientMiddlewareManifest.js +0 -0
  236. /package/out/_next/static/{yttuijl-0Cn9k8uTCfhIM → 1NTbwHeIsn3AW-SeH9aP0}/_ssgManifest.js +0 -0
@@ -0,0 +1,1198 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65296,e=>{"use strict";var i=e.i(12423);let t="helperFunctions",r=`const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08;
2
+ const float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;
3
+ #define saturate(x) clamp(x,0.0,1.0)
4
+ #define absEps(x) abs(x)+Epsilon
5
+ #define maxEps(x) max(x,Epsilon)
6
+ #define saturateEps(x) clamp(x,Epsilon,1.0)
7
+ mat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];vec3 i1=inMatrix[1];vec3 i2=inMatrix[2];mat3 outMatrix=mat3(
8
+ vec3(i0.x,i1.x,i2.x),
9
+ vec3(i0.y,i1.y,i2.y),
10
+ vec3(i0.z,i1.z,i2.z)
11
+ );return outMatrix;}
12
+ mat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),
13
+ b11,(a22*a00-a02*a20),(-a12*a00+a02*a10),
14
+ b21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}
15
+ #if USE_EXACT_SRGB_CONVERSIONS
16
+ vec3 toLinearSpaceExact(vec3 color)
17
+ {vec3 nearZeroSection=0.0773993808*color;vec3 remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));
18
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
19
+ return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));
20
+ #else
21
+ return
22
+ vec3(
23
+ color.r<=0.04045 ? nearZeroSection.r : remainingSection.r,
24
+ color.g<=0.04045 ? nearZeroSection.g : remainingSection.g,
25
+ color.b<=0.04045 ? nearZeroSection.b : remainingSection.b);
26
+ #endif
27
+ }
28
+ vec3 toGammaSpaceExact(vec3 color)
29
+ {vec3 nearZeroSection=12.92*color;vec3 remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);
30
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
31
+ return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));
32
+ #else
33
+ return
34
+ vec3(
35
+ color.r<=0.0031308 ? nearZeroSection.r : remainingSection.r,
36
+ color.g<=0.0031308 ? nearZeroSection.g : remainingSection.g,
37
+ color.b<=0.0031308 ? nearZeroSection.b : remainingSection.b);
38
+ #endif
39
+ }
40
+ #endif
41
+ float toLinearSpace(float color)
42
+ {
43
+ #if USE_EXACT_SRGB_CONVERSIONS
44
+ float nearZeroSection=0.0773993808*color;float remainingSection=pow(0.947867299*(color+0.055),2.4);return color<=0.04045 ? nearZeroSection : remainingSection;
45
+ #else
46
+ return pow(color,LinearEncodePowerApprox);
47
+ #endif
48
+ }
49
+ vec3 toLinearSpace(vec3 color)
50
+ {
51
+ #if USE_EXACT_SRGB_CONVERSIONS
52
+ return toLinearSpaceExact(color);
53
+ #else
54
+ return pow(color,vec3(LinearEncodePowerApprox));
55
+ #endif
56
+ }
57
+ vec4 toLinearSpace(vec4 color)
58
+ {
59
+ #if USE_EXACT_SRGB_CONVERSIONS
60
+ return vec4(toLinearSpaceExact(color.rgb),color.a);
61
+ #else
62
+ return vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);
63
+ #endif
64
+ }
65
+ float toGammaSpace(float color)
66
+ {
67
+ #if USE_EXACT_SRGB_CONVERSIONS
68
+ float nearZeroSection=12.92*color;float remainingSection=1.055*pow(color,0.41666)-0.055;return color<=0.0031308 ? nearZeroSection : remainingSection;
69
+ #else
70
+ return pow(color,GammaEncodePowerApprox);
71
+ #endif
72
+ }
73
+ vec3 toGammaSpace(vec3 color)
74
+ {
75
+ #if USE_EXACT_SRGB_CONVERSIONS
76
+ return toGammaSpaceExact(color);
77
+ #else
78
+ return pow(color,vec3(GammaEncodePowerApprox));
79
+ #endif
80
+ }
81
+ vec4 toGammaSpace(vec4 color)
82
+ {
83
+ #if USE_EXACT_SRGB_CONVERSIONS
84
+ return vec4(toGammaSpaceExact(color.rgb),color.a);
85
+ #else
86
+ return vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);
87
+ #endif
88
+ }
89
+ float square(float value)
90
+ {return value*value;}
91
+ vec3 square(vec3 value)
92
+ {return value*value;}
93
+ float pow5(float value) {float sq=value*value;return sq*sq*value;}
94
+ vec3 double_refract(vec3 I,vec3 N,float eta) {vec3 Tfront=refract(I,N,1.0/eta);vec3 Nback=normalize(reflect(N,Tfront));return refract(Tfront,-Nback,eta);}
95
+ float getLuminanceUnclamped(vec3 color)
96
+ {return dot(color,LuminanceEncodeApprox);}
97
+ float getLuminance(vec3 color)
98
+ {return saturate(getLuminanceUnclamped(color));}
99
+ float getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);}
100
+ float dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);float normVariance=varianceAmount/255.0;float dither=mix(-normVariance,normVariance,rand);return dither;}
101
+ const float rgbdMaxRange=255.;vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));float D =max(rgbdMaxRange/maxRGB,1.);D =saturate(floor(D)/255.);vec3 rgb=color.rgb*D;rgb=toGammaSpace(rgb);return vec4(saturate(rgb),D);}
102
+ vec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);return rgbd.rgb/rgbd.a;}
103
+ vec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.)/origVec;vec3 halfSize=cubeSize*0.5;vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);vec3 intersectPositionWS=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
104
+ vec3 equirectangularToCubemapDirection(vec2 uv) {float longitude=uv.x*TWO_PI-PI;float latitude=HALF_PI-uv.y*PI;vec3 direction;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
105
+ float sqrtClamped(float value) {return sqrt(max(value,0.));}
106
+ float avg(vec3 value) {return dot(value,vec3(0.333333333));}
107
+ #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
108
+ uint extractBits(uint value,int offset,int width) {return (value>>offset) & ((1u<<width)-1u);}
109
+ int onlyBitPosition(uint value) {return (floatBitsToInt(float(value))>>23)-0x7f;}
110
+ vec3 singleScatterToMultiScatterAlbedo(vec3 rho_ss) {vec3 s=sqrt(max(vec3(1.0)-rho_ss,vec3(0.0)));return (vec3(1.0)-s)*(vec3(1.0)-vec3(0.139)*s)/(vec3(1.0)+vec3(1.17)*s);}
111
+ vec3 multiScatterToSingleScatterAlbedo(vec3 rho_ms) {vec3 s=4.09712+4.20863*rho_ms-sqrt(9.59217+41.6808*rho_ms+17.7126*rho_ms*rho_ms);return 1.0-s*s;}
112
+ vec3 multiScatterToSingleScatterAlbedo(vec3 rho_ms,float aniso) {vec3 s=4.09712+4.20863*rho_ms-sqrt(9.59217+41.6808*rho_ms+17.7126*rho_ms*rho_ms);return (1.0-s*s)/maxEps(1.0-aniso*s*s);}
113
+ float min3(vec3 v) {return min(v.x,min(v.y,v.z));}
114
+ float max3(vec3 v) {return max(v.x,max(v.y,v.z));}
115
+ float uint2float(uint i) {return uintBitsToFloat(0x3F800000u | (i>>9u))-1.0;}
116
+ vec2 plasticSequence(const uint rstate) {return vec2(uint2float(rstate*3242174889u),
117
+ uint2float(rstate*2447445414u));}
118
+ #endif
119
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["helperFunctions",0,{name:t,shader:r}])},85668,e=>{"use strict";var i=e.i(12423);let t="sceneUboDeclaration",r=`layout(std140,column_major) uniform;uniform Scene {mat4 viewProjection;
120
+ #ifdef MULTIVIEW
121
+ mat4 viewProjectionR;
122
+ #endif
123
+ mat4 view;mat4 projection;vec4 vEyePosition;mat4 inverseProjection;};
124
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["sceneUboDeclaration",0,{name:t,shader:r}])},6232,92692,97226,e=>{"use strict";var i=e.i(12423);let t="meshUboDeclaration",r=`#ifdef WEBGL2
125
+ uniform mat4 world;uniform float visibility;
126
+ #else
127
+ layout(std140,column_major) uniform;uniform Mesh
128
+ {mat4 world;float visibility;};
129
+ #endif
130
+ #define WORLD_UBO
131
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["meshUboDeclaration",0,{name:t,shader:r}],6232);let a="mainUVVaryingDeclaration",n=`#ifdef MAINUV{X}
132
+ varying vec2 vMainUV{X};
133
+ #endif
134
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["mainUVVaryingDeclaration",0,{name:a,shader:n}],92692);let o="logDepthDeclaration",f=`#ifdef LOGARITHMICDEPTH
135
+ uniform float logarithmicDepthConstant;varying float vFragmentDepth;
136
+ #endif
137
+ `;i.ShaderStore.IncludesShadersStore[o]||(i.ShaderStore.IncludesShadersStore[o]=f),e.s(["logDepthDeclaration",0,{name:o,shader:f}],97226)},50438,e=>{"use strict";var i=e.i(12423);let t="harmonicsFunctions",r=`#ifdef USESPHERICALFROMREFLECTIONMAP
138
+ #ifdef SPHERICAL_HARMONICS
139
+ vec3 computeEnvironmentIrradiance(vec3 normal) {return vSphericalL00
140
+ + vSphericalL1_1*(normal.y)
141
+ + vSphericalL10*(normal.z)
142
+ + vSphericalL11*(normal.x)
143
+ + vSphericalL2_2*(normal.y*normal.x)
144
+ + vSphericalL2_1*(normal.y*normal.z)
145
+ + vSphericalL20*((3.0*normal.z*normal.z)-1.0)
146
+ + vSphericalL21*(normal.z*normal.x)
147
+ + vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));}
148
+ #else
149
+ vec3 computeEnvironmentIrradiance(vec3 normal) {float Nx=normal.x;float Ny=normal.y;float Nz=normal.z;vec3 C1=vSphericalZZ.rgb;vec3 Cx=vSphericalX.rgb;vec3 Cy=vSphericalY.rgb;vec3 Cz=vSphericalZ.rgb;vec3 Cxx_zz=vSphericalXX_ZZ.rgb;vec3 Cyy_zz=vSphericalYY_ZZ.rgb;vec3 Cxy=vSphericalXY.rgb;vec3 Cyz=vSphericalYZ.rgb;vec3 Czx=vSphericalZX.rgb;vec3 a1=Cyy_zz*Ny+Cy;vec3 a2=Cyz*Nz+a1;vec3 b1=Czx*Nz+Cx;vec3 b2=Cxy*Ny+b1;vec3 b3=Cxx_zz*Nx+b2;vec3 t1=Cz *Nz+C1;vec3 t2=a2 *Ny+t1;vec3 t3=b3 *Nx+t2;return t3;}
150
+ #endif
151
+ #endif
152
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["harmonicsFunctions",0,{name:t,shader:r}])},60990,e=>{"use strict";var i=e.i(12423);let t="pbrBRDFFunctions",r=`#define FRESNEL_MAXIMUM_ON_ROUGH 0.25
153
+ #define BRDF_DIFFUSE_MODEL_EON 0
154
+ #define BRDF_DIFFUSE_MODEL_BURLEY 1
155
+ #define BRDF_DIFFUSE_MODEL_LAMBERT 2
156
+ #define BRDF_DIFFUSE_MODEL_LEGACY 3
157
+ #define DIELECTRIC_SPECULAR_MODEL_GLTF 0
158
+ #define DIELECTRIC_SPECULAR_MODEL_OPENPBR 1
159
+ #define CONDUCTOR_SPECULAR_MODEL_GLTF 0
160
+ #define CONDUCTOR_SPECULAR_MODEL_OPENPBR 1
161
+ #if !defined(PBR_VERTEX_SHADER) && !defined(OPENPBR_VERTEX_SHADER)
162
+ #ifdef MS_BRDF_ENERGY_CONSERVATION
163
+ vec3 getEnergyConservationFactor(const vec3 specularEnvironmentR0,const vec3 environmentBrdf) {return 1.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);}
164
+ #endif
165
+ #if CONDUCTOR_SPECULAR_MODEL==CONDUCTOR_SPECULAR_MODEL_OPENPBR
166
+ #define F82_COS_THETA_MAX 0.142857143
167
+ #define F82_ONE_MINUS_CTM_POW5 0.462664366
168
+ #define F82_ONE_MINUS_CTM_POW6 0.396569457
169
+ #define F82_B_DENOMINATOR_RECIP 17.6512785
170
+ #define BRDF_Z_SCALE 16.0
171
+ vec3 getF82Specular(float NdotV,vec3 F0,vec3 edgeTint,float roughness) {vec3 white_minus_F0=vec3(1.0)-F0;vec3 b=(F0+white_minus_F0*F82_ONE_MINUS_CTM_POW5)*(vec3(1.0)-edgeTint)*F82_B_DENOMINATOR_RECIP;float cos_theta=max(roughness,NdotV);float one_minus_cos_theta=1.0-cos_theta;vec3 offset_from_F0=(white_minus_F0-b*cos_theta*one_minus_cos_theta)*pow(one_minus_cos_theta,5.0);return clamp(F0+offset_from_F0,0.0,1.0);}
172
+ vec3 getF82B(vec3 F0,vec3 edgeTint) {return (F0+(vec3(1.0)-F0)*F82_ONE_MINUS_CTM_POW5)*(vec3(1.0)-edgeTint)*F82_B_DENOMINATOR_RECIP;}
173
+ vec3 getF82DirectionalAlbedo(vec3 F0,vec3 F90,vec3 b,vec3 environmentBrdf) {return (F90-F0)*environmentBrdf.x+F0*environmentBrdf.y-b*environmentBrdf.z;}
174
+ vec3 getF82AverageFresnel(vec3 F0,vec3 b) {return F0+(vec3(1.0)-F0)/21.0-b/126.0;}
175
+ #endif
176
+ #ifdef FUZZENVIRONMENTBRDF
177
+ vec3 getFuzzBRDFLookup(float NdotV,float perceptualRoughness) {vec2 UV=vec2(perceptualRoughness,NdotV);vec4 brdfLookup=texture2D(environmentFuzzBrdfSampler,UV);const vec2 RiRange=vec2(0.0,0.75);const vec2 ARange =vec2(0.005,0.88);const vec2 BRange =vec2(-0.18,0.002);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;}
178
+ #endif
179
+ #ifdef ENVIRONMENTBRDF
180
+ vec3 getBRDFLookup(float NdotV,float perceptualRoughness) {vec2 UV=vec2(NdotV,perceptualRoughness);vec4 brdfLookup=texture2D(environmentBrdfSampler,UV);
181
+ #ifdef ENVIRONMENTBRDF_RGBD
182
+ brdfLookup.rgb=fromRGBD(brdfLookup.rgba);
183
+ #endif
184
+ return brdfLookup.rgb;}
185
+ vec3 getReflectanceFromBRDFLookup(const vec3 specularEnvironmentR0,const vec3 specularEnvironmentR90,const vec3 environmentBrdf) {
186
+ #ifdef BRDF_V_HEIGHT_CORRELATED
187
+ vec3 reflectance=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;
188
+ #else
189
+ vec3 reflectance=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;
190
+ #endif
191
+ return reflectance;}
192
+ vec3 getReflectanceFromBRDFLookup(const vec3 specularEnvironmentR0,const vec3 environmentBrdf) {
193
+ #ifdef BRDF_V_HEIGHT_CORRELATED
194
+ vec3 reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);
195
+ #else
196
+ vec3 reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;
197
+ #endif
198
+ return reflectance;}
199
+ #endif
200
+ /* NOT USED
201
+ #if defined(SHEEN) && defined(SHEEN_SOFTER)
202
+ float getBRDFLookupCharlieSheen(float NdotV,float perceptualRoughness)
203
+ {float c=1.0-NdotV;float c3=c*c*c;return 0.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));}
204
+ #endif
205
+ */
206
+ #if !defined(ENVIRONMENTBRDF) || defined(REFLECTIONMAP_SKYBOX) || defined(ALPHAFRESNEL)
207
+ vec3 getReflectanceFromAnalyticalBRDFLookup_Jones(float VdotN,vec3 reflectance0,vec3 reflectance90,float smoothness)
208
+ {float weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);return reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));}
209
+ #endif
210
+ #if defined(SHEEN) && defined(ENVIRONMENTBRDF)
211
+ /**
212
+ * The sheen BRDF not containing F can be easily stored in the blue channel of the BRDF texture.
213
+ * The blue channel contains DCharlie*VAshikhmin*NdotL as a lokkup table
214
+ */
215
+ vec3 getSheenReflectanceFromBRDFLookup(const vec3 reflectance0,const vec3 environmentBrdf) {vec3 sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;return sheenEnvironmentReflectance;}
216
+ #endif
217
+ vec3 fresnelSchlickGGX(float VdotH,vec3 reflectance0,vec3 reflectance90)
218
+ {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
219
+ float fresnelSchlickGGX(float VdotH,float reflectance0,float reflectance90)
220
+ {return reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);}
221
+ #ifdef CLEARCOAT
222
+ vec3 getR0RemappedForClearCoat(vec3 f0) {
223
+ #ifdef CLEARCOAT_DEFAULTIOR
224
+ #ifdef MOBILE
225
+ return saturate(f0*(f0*0.526868+0.529324)-0.0482256);
226
+ #else
227
+ return saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);
228
+ #endif
229
+ #else
230
+ vec3 s=sqrt(f0);vec3 t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);return square(t);
231
+ #endif
232
+ }
233
+ #endif
234
+ #ifdef IRIDESCENCE
235
+ const mat3 XYZ_TO_REC709=mat3(
236
+ 3.2404542,-0.9692660, 0.0556434,
237
+ -1.5371385, 1.8760108,-0.2040259,
238
+ -0.4985314, 0.0415560, 1.0572252
239
+ );vec3 getIORTfromAirToSurfaceR0(vec3 f0) {vec3 sqrtF0=sqrt(f0);return (1.+sqrtF0)/(1.-sqrtF0);}
240
+ vec3 getR0fromIORs(vec3 iorT,float iorI) {return square((iorT-vec3(iorI))/(iorT+vec3(iorI)));}
241
+ float getR0fromIORs(float iorT,float iorI) {return square((iorT-iorI)/(iorT+iorI));}
242
+ vec3 evalSensitivity(float opd,vec3 shift) {float phase=2.0*PI*opd*1.0e-9;const vec3 val=vec3(5.4856e-13,4.4201e-13,5.2481e-13);const vec3 pos=vec3(1.6810e+06,1.7953e+06,2.2084e+06);const vec3 var=vec3(4.3278e+09,9.3046e+09,6.6121e+09);vec3 xyz=val*sqrt(2.0*PI*var)*cos(pos*phase+shift)*exp(-square(phase)*var);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;vec3 srgb=XYZ_TO_REC709*xyz;return srgb;}
243
+ vec3 evalIridescence(float outsideIOR,float eta2,float cosTheta1,float thinFilmThickness,vec3 baseF0) {vec3 I=vec3(1.0);float iridescenceIOR=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));float sinTheta2Sq=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));float cosTheta2Sq=1.0-sinTheta2Sq;if (cosTheta2Sq<0.0) {return I;}
244
+ float cosTheta2=sqrt(cosTheta2Sq);float R0=getR0fromIORs(iridescenceIOR,outsideIOR);float R12=fresnelSchlickGGX(cosTheta1,R0,1.);float R21=R12;float T121=1.0-R12;float phi12=0.0;if (iridescenceIOR<outsideIOR) phi12=PI;float phi21=PI-phi12;vec3 baseIOR=getIORTfromAirToSurfaceR0(clamp(baseF0,0.0,0.9999));
245
+ vec3 R1=getR0fromIORs(baseIOR,iridescenceIOR);float maxR1=max(R1.r,max(R1.g,R1.b));if (maxR1<1e-6) {return max(vec3(R12),vec3(0.0));}
246
+ vec3 R23=fresnelSchlickGGX(cosTheta2,R1,vec3(1.));vec3 phi23=vec3(0.0);if (baseIOR[0]<iridescenceIOR) phi23[0]=PI;if (baseIOR[1]<iridescenceIOR) phi23[1]=PI;if (baseIOR[2]<iridescenceIOR) phi23[2]=PI;float opd=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;vec3 phi=vec3(phi21)+phi23;vec3 R123=clamp(R12*R23,1e-5,0.9999);vec3 r123=sqrt(R123);vec3 Rs=square(T121)*R23/(vec3(1.0)-R123);vec3 C0=R12+Rs;I=C0;vec3 Cm=Rs-T121;for (int m=1; m<=2; ++m)
247
+ {Cm*=r123;vec3 Sm=2.0*evalSensitivity(float(m)*opd,float(m)*phi);I+=Cm*Sm;}
248
+ return max(I,vec3(0.0));}
249
+ #endif
250
+ float normalDistributionFunction_TrowbridgeReitzGGX(float NdotH,float alphaG)
251
+ {float a2=square(alphaG);float d=NdotH*NdotH*(a2-1.0)+1.0;return a2/(PI*d*d);}
252
+ #ifdef SHEEN
253
+ float normalDistributionFunction_CharlieSheen(float NdotH,float alphaG)
254
+ {float invR=1./alphaG;float cos2h=NdotH*NdotH;float sin2h=1.-cos2h;return (2.+invR)*pow(sin2h,invR*.5)/(2.*PI);}
255
+ #endif
256
+ #ifdef ANISOTROPIC
257
+ float normalDistributionFunction_BurleyGGX_Anisotropic(float NdotH,float TdotH,float BdotH,const vec2 alphaTB) {float a2=alphaTB.x*alphaTB.y;vec3 v=vec3(alphaTB.y*TdotH,alphaTB.x *BdotH,a2*NdotH);float v2=dot(v,v);float w2=a2/v2;return a2*w2*w2*RECIPROCAL_PI;}
258
+ #endif
259
+ #ifdef BRDF_V_HEIGHT_CORRELATED
260
+ float smithVisibility_GGXCorrelated(float NdotL,float NdotV,float alphaG) {
261
+ #ifdef MOBILE
262
+ float GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);float GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);return 0.5/(GGXV+GGXL);
263
+ #else
264
+ float a2=alphaG*alphaG;float GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);float GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);return 0.5/(GGXV+GGXL);
265
+ #endif
266
+ }
267
+ #else
268
+ float smithVisibilityG1_TrowbridgeReitzGGXFast(float dot,float alphaG)
269
+ {
270
+ #ifdef MOBILE
271
+ return 1.0/(dot+alphaG+(1.0-alphaG)*dot ));
272
+ #else
273
+ float alphaSquared=alphaG*alphaG;return 1.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));
274
+ #endif
275
+ }
276
+ float smithVisibility_TrowbridgeReitzGGXFast(float NdotL,float NdotV,float alphaG)
277
+ {float visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);return visibility;}
278
+ #endif
279
+ #ifdef ANISOTROPIC
280
+ float smithVisibility_GGXCorrelated_Anisotropic(float NdotL,float NdotV,float TdotV,float BdotV,float TdotL,float BdotL,const vec2 alphaTB) {float lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));float lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));float v=0.5/(lambdaV+lambdaL);return v;}
281
+ #endif
282
+ #ifdef CLEARCOAT
283
+ float visibility_Kelemen(float VdotH) {return 0.25/(VdotH*VdotH); }
284
+ #endif
285
+ #ifdef SHEEN
286
+ float visibility_Ashikhmin(float NdotL,float NdotV)
287
+ {return 1./(4.*(NdotL+NdotV-NdotL*NdotV));}
288
+ /* NOT USED
289
+ #ifdef SHEEN_SOFTER
290
+ float l(float x,float alphaG)
291
+ {float oneMinusAlphaSq=(1.0-alphaG)*(1.0-alphaG);float a=mix(21.5473,25.3245,oneMinusAlphaSq);float b=mix(3.82987,3.32435,oneMinusAlphaSq);float c=mix(0.19823,0.16801,oneMinusAlphaSq);float d=mix(-1.97760,-1.27393,oneMinusAlphaSq);float e=mix(-4.32054,-4.85967,oneMinusAlphaSq);return a/(1.0+b*pow(x,c))+d*x+e;}
292
+ float lambdaSheen(float cosTheta,float alphaG)
293
+ {return abs(cosTheta)<0.5 ? exp(l(cosTheta,alphaG)) : exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));}
294
+ float visibility_CharlieSheen(float NdotL,float NdotV,float alphaG)
295
+ {float G=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));return G/(4.0*NdotV*NdotL);}
296
+ #endif
297
+ */
298
+ #endif
299
+ float diffuseBRDF_Burley(float NdotL,float NdotV,float VdotH,float roughness) {float diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));float diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));float diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;float fresnel =
300
+ (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *
301
+ (1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);return fresnel/PI;}
302
+ const float constant1_FON=0.5-2.0/(3.0*PI);const float constant2_FON=2.0/3.0-28.0/(15.0*PI);float E_FON_approx(float mu,float roughness)
303
+ {float sigma=roughness;
304
+ float mucomp=1.0-mu;float mucomp2=mucomp*mucomp;const mat2 Gcoeffs=mat2(0.0571085289,-0.332181442,
305
+ 0.491881867,0.0714429953);float GoverPi=dot(Gcoeffs*vec2(mucomp,mucomp2),vec2(1.0,mucomp2));return (1.0+sigma*GoverPi)/(1.0+constant1_FON*sigma);}
306
+ vec3 diffuseBRDF_EON(vec3 albedo,float roughness,float NdotL,float NdotV,float LdotV)
307
+ {vec3 rho=albedo;float sigma=roughness;
308
+ float mu_i=NdotL;
309
+ float mu_o=NdotV;
310
+ float s=LdotV-mu_i*mu_o;
311
+ float sovertF=s>0.0 ? s/max(mu_i,mu_o) : s;
312
+ float AF=1.0/(1.0+constant1_FON*sigma);
313
+ vec3 f_ss=(rho*RECIPROCAL_PI)*AF*(1.0+sigma*sovertF);
314
+ float EFo=E_FON_approx(mu_o,sigma);
315
+ float EFi=E_FON_approx(mu_i,sigma);
316
+ float avgEF=AF*(1.0+constant2_FON*sigma);
317
+ vec3 rho_ms=(rho*rho)*avgEF/(vec3(1.0)-rho*(1.0-avgEF));const float eps=1.0e-7;vec3 f_ms=(rho_ms*RECIPROCAL_PI)*max(eps,1.0-EFo)
318
+ * max(eps,1.0-EFi)
319
+ / max(eps,1.0-avgEF);return (f_ss+f_ms);}
320
+ #ifdef SS_TRANSLUCENCY
321
+ vec3 transmittanceBRDF_Burley(const vec3 tintColor,const vec3 diffusionDistance,float thickness) {vec3 S=1./maxEps(diffusionDistance);vec3 temp=exp((-0.333333333*thickness)*S);return tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);}
322
+ float computeWrappedDiffuseNdotL(float NdotL,float w) {float t=1.0+w;float invt2=1.0/square(t);return saturate((NdotL+w)*invt2);}
323
+ #endif
324
+ #endif
325
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["pbrBRDFFunctions",0,{name:t,shader:r}])},87326,e=>{"use strict";var i=e.i(12423);e.i(85668),e.i(6232);let t="pbrUboDeclaration",r=`layout(std140,column_major) uniform;uniform Material {vec2 vAlbedoInfos;vec2 vBaseWeightInfos;vec2 vBaseDiffuseRoughnessInfos;vec4 vAmbientInfos;vec2 vOpacityInfos;vec2 vEmissiveInfos;vec2 vLightmapInfos;vec3 vReflectivityInfos;vec2 vMicroSurfaceSamplerInfos;vec3 vBumpInfos;mat4 albedoMatrix;mat4 baseWeightMatrix;mat4 baseDiffuseRoughnessMatrix;mat4 ambientMatrix;mat4 opacityMatrix;mat4 emissiveMatrix;mat4 lightmapMatrix;mat4 reflectivityMatrix;mat4 microSurfaceSamplerMatrix;mat4 bumpMatrix;vec2 vTangentSpaceParams;vec4 vAlbedoColor;float baseWeight;float baseDiffuseRoughness;vec4 vLightingIntensity;float pointSize;vec4 vReflectivityColor;vec3 vEmissiveColor;vec3 vAmbientColor;vec2 vDebugMode;vec4 vMetallicReflectanceFactors;vec2 vMetallicReflectanceInfos;mat4 metallicReflectanceMatrix;vec2 vReflectanceInfos;mat4 reflectanceMatrix;vec4 cameraInfo;vec4 vTextureRepetitionHexTilingParams;vec2 vReflectionInfos;mat4 reflectionMatrix;vec3 vReflectionMicrosurfaceInfos;vec3 vReflectionPosition;vec3 vReflectionSize;vec2 vReflectionFilteringInfo;vec3 vReflectionDominantDirection;vec3 vReflectionColor;vec3 vSphericalL00;vec3 vSphericalL1_1;vec3 vSphericalL10;vec3 vSphericalL11;vec3 vSphericalL2_2;vec3 vSphericalL2_1;vec3 vSphericalL20;vec3 vSphericalL21;vec3 vSphericalL22;vec3 vSphericalX;vec3 vSphericalY;vec3 vSphericalZ;vec3 vSphericalXX_ZZ;vec3 vSphericalYY_ZZ;vec3 vSphericalZZ;vec3 vSphericalXY;vec3 vSphericalYZ;vec3 vSphericalZX;
326
+ #define ADDITIONAL_UBO_DECLARATION
327
+ };
328
+ #include<sceneUboDeclaration>
329
+ #include<meshUboDeclaration>
330
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["pbrUboDeclaration",0,{name:t,shader:r}])},39067,15420,e=>{"use strict";var i=e.i(12423);let t="bonesDeclaration",r=`#if NUM_BONE_INFLUENCERS>0
331
+ attribute vec4 matricesIndices;attribute vec4 matricesWeights;
332
+ #if NUM_BONE_INFLUENCERS>4
333
+ attribute vec4 matricesIndicesExtra;attribute vec4 matricesWeightsExtra;
334
+ #endif
335
+ #ifndef BAKED_VERTEX_ANIMATION_TEXTURE
336
+ #ifdef BONETEXTURE
337
+ uniform highp sampler2D boneSampler;uniform vec2 boneTextureInfo;
338
+ #else
339
+ uniform mat4 mBones[BonesPerMesh];
340
+ #endif
341
+ #ifdef BONES_VELOCITY_ENABLED
342
+ uniform mat4 mPreviousBones[BonesPerMesh];
343
+ #endif
344
+ #ifdef BONETEXTURE
345
+ #define inline
346
+ mat4 readMatrixFromRawSampler(sampler2D smp,float index)
347
+ {
348
+ #if defined(WEBGL2) || defined(WEBGPU)
349
+ int offset=int(index)*4;
350
+ int textureWidth=int(boneTextureInfo.x);int y=int(offset)/textureWidth;int x=int(offset) % textureWidth;vec4 m0=texelFetch(smp,ivec2(x+0,y),0);vec4 m1=texelFetch(smp,ivec2(x+1,y),0);vec4 m2=texelFetch(smp,ivec2(x+2,y),0);vec4 m3=texelFetch(smp,ivec2(x+3,y),0);return mat4(m0,m1,m2,m3);
351
+ #else
352
+ float offset=index*4.0;float y=floor(offset/boneTextureInfo.x);float x=offset-y*boneTextureInfo.x;float dy=1.0/boneTextureInfo.y;float dx=1.0/boneTextureInfo.x;vec4 m0=texture2D(smp,vec2(dx*(x+0.5),dy*(y+0.5)));vec4 m1=texture2D(smp,vec2(dx*(x+1.5),dy*(y+0.5)));vec4 m2=texture2D(smp,vec2(dx*(x+2.5),dy*(y+0.5)));vec4 m3=texture2D(smp,vec2(dx*(x+3.5),dy*(y+0.5)));
353
+ return mat4(m0,m1,m2,m3);
354
+ #endif
355
+ }
356
+ #endif
357
+ #endif
358
+ #endif
359
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["bonesDeclaration",0,{name:t,shader:r}],39067);let a="bakedVertexAnimationDeclaration",n=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
360
+ uniform float bakedVertexAnimationTime;
361
+ #if !defined(WEBGL2) && !defined(WEBGPU)
362
+ uniform vec2 bakedVertexAnimationTextureSizeInverted;
363
+ #endif
364
+ uniform vec4 bakedVertexAnimationSettings;uniform sampler2D bakedVertexAnimationTexture;
365
+ #ifdef INSTANCES
366
+ attribute vec4 bakedVertexAnimationSettingsInstanced;
367
+ #endif
368
+ #define inline
369
+ mat4 readMatrixFromRawSamplerVAT(sampler2D smp,float index,float frame)
370
+ {
371
+ #if defined(WEBGL2) || defined(WEBGPU)
372
+ int offset=int(index)*4;int frameUV=int(frame);vec4 m0=texelFetch(smp,ivec2(offset+0,frameUV),0);vec4 m1=texelFetch(smp,ivec2(offset+1,frameUV),0);vec4 m2=texelFetch(smp,ivec2(offset+2,frameUV),0);vec4 m3=texelFetch(smp,ivec2(offset+3,frameUV),0);return mat4(m0,m1,m2,m3);
373
+ #else
374
+ float offset=index*4.0;float frameUV=(frame+0.5)*bakedVertexAnimationTextureSizeInverted.y;float dx=bakedVertexAnimationTextureSizeInverted.x;vec4 m0=texture2D(smp,vec2(dx*(offset+0.5),frameUV));vec4 m1=texture2D(smp,vec2(dx*(offset+1.5),frameUV));vec4 m2=texture2D(smp,vec2(dx*(offset+2.5),frameUV));vec4 m3=texture2D(smp,vec2(dx*(offset+3.5),frameUV));return mat4(m0,m1,m2,m3);
375
+ #endif
376
+ }
377
+ #endif
378
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["bakedVertexAnimationDeclaration",0,{name:a,shader:n}],15420)},85863,e=>{"use strict";var i=e.i(12423);let t="instancesDeclaration",r=`#ifdef INSTANCES
379
+ attribute vec4 world0;attribute vec4 world1;attribute vec4 world2;attribute vec4 world3;
380
+ #ifdef INSTANCESCOLOR
381
+ attribute vec4 instanceColor;
382
+ #endif
383
+ #if defined(THIN_INSTANCES) && !defined(WORLD_UBO)
384
+ uniform mat4 world;
385
+ #endif
386
+ #if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
387
+ attribute vec4 previousWorld0;attribute vec4 previousWorld1;attribute vec4 previousWorld2;attribute vec4 previousWorld3;
388
+ #ifdef THIN_INSTANCES
389
+ uniform mat4 previousWorld;
390
+ #endif
391
+ #endif
392
+ #else
393
+ #if !defined(WORLD_UBO)
394
+ uniform mat4 world;
395
+ #endif
396
+ #if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
397
+ uniform mat4 previousWorld;
398
+ #endif
399
+ #endif
400
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["instancesDeclaration",0,{name:t,shader:r}])},42927,e=>{"use strict";var i=e.i(12423);let t="clipPlaneVertexDeclaration",r=`#ifdef CLIPPLANE
401
+ uniform vec4 vClipPlane;varying float fClipDistance;
402
+ #endif
403
+ #ifdef CLIPPLANE2
404
+ uniform vec4 vClipPlane2;varying float fClipDistance2;
405
+ #endif
406
+ #ifdef CLIPPLANE3
407
+ uniform vec4 vClipPlane3;varying float fClipDistance3;
408
+ #endif
409
+ #ifdef CLIPPLANE4
410
+ uniform vec4 vClipPlane4;varying float fClipDistance4;
411
+ #endif
412
+ #ifdef CLIPPLANE5
413
+ uniform vec4 vClipPlane5;varying float fClipDistance5;
414
+ #endif
415
+ #ifdef CLIPPLANE6
416
+ uniform vec4 vClipPlane6;varying float fClipDistance6;
417
+ #endif
418
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["clipPlaneVertexDeclaration",0,{name:t,shader:r}])},40805,30667,76955,16607,e=>{"use strict";var i=e.i(12423);let t="instancesVertex",r=`#ifdef INSTANCES
419
+ mat4 finalWorld=mat4(world0,world1,world2,world3);
420
+ #if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
421
+ mat4 finalPreviousWorld=mat4(previousWorld0,previousWorld1,
422
+ previousWorld2,previousWorld3);
423
+ #endif
424
+ #ifdef THIN_INSTANCES
425
+ finalWorld=world*finalWorld;
426
+ #if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
427
+ finalPreviousWorld=previousWorld*finalPreviousWorld;
428
+ #endif
429
+ #endif
430
+ #else
431
+ mat4 finalWorld=world;
432
+ #if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
433
+ mat4 finalPreviousWorld=previousWorld;
434
+ #endif
435
+ #endif
436
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["instancesVertex",0,{name:t,shader:r}],40805);let a="bonesVertex",n=`#ifndef BAKED_VERTEX_ANIMATION_TEXTURE
437
+ #if NUM_BONE_INFLUENCERS>0
438
+ mat4 influence;
439
+ #ifdef BONETEXTURE
440
+ influence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];
441
+ #if NUM_BONE_INFLUENCERS>1
442
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];
443
+ #endif
444
+ #if NUM_BONE_INFLUENCERS>2
445
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];
446
+ #endif
447
+ #if NUM_BONE_INFLUENCERS>3
448
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];
449
+ #endif
450
+ #if NUM_BONE_INFLUENCERS>4
451
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];
452
+ #endif
453
+ #if NUM_BONE_INFLUENCERS>5
454
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];
455
+ #endif
456
+ #if NUM_BONE_INFLUENCERS>6
457
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];
458
+ #endif
459
+ #if NUM_BONE_INFLUENCERS>7
460
+ influence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];
461
+ #endif
462
+ #else
463
+ influence=mBones[int(matricesIndices[0])]*matricesWeights[0];
464
+ #if NUM_BONE_INFLUENCERS>1
465
+ influence+=mBones[int(matricesIndices[1])]*matricesWeights[1];
466
+ #endif
467
+ #if NUM_BONE_INFLUENCERS>2
468
+ influence+=mBones[int(matricesIndices[2])]*matricesWeights[2];
469
+ #endif
470
+ #if NUM_BONE_INFLUENCERS>3
471
+ influence+=mBones[int(matricesIndices[3])]*matricesWeights[3];
472
+ #endif
473
+ #if NUM_BONE_INFLUENCERS>4
474
+ influence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];
475
+ #endif
476
+ #if NUM_BONE_INFLUENCERS>5
477
+ influence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];
478
+ #endif
479
+ #if NUM_BONE_INFLUENCERS>6
480
+ influence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];
481
+ #endif
482
+ #if NUM_BONE_INFLUENCERS>7
483
+ influence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];
484
+ #endif
485
+ #endif
486
+ finalWorld=finalWorld*influence;
487
+ #endif
488
+ #endif
489
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["bonesVertex",0,{name:a,shader:n}],30667);let o="bakedVertexAnimation",f=`#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
490
+ {
491
+ #ifdef INSTANCES
492
+ #define BVASNAME bakedVertexAnimationSettingsInstanced
493
+ #else
494
+ #define BVASNAME bakedVertexAnimationSettings
495
+ #endif
496
+ float VATStartFrame=BVASNAME.x;float VATEndFrame=BVASNAME.y;float VATOffsetFrame=BVASNAME.z;float VATSpeed=BVASNAME.w;float totalFrames=VATEndFrame-VATStartFrame+1.0;float time=bakedVertexAnimationTime*VATSpeed/totalFrames;float frameCorrection=time<1.0 ? 0.0 : 1.0;float numOfFrames=totalFrames-frameCorrection;float VATFrameNum=fract(time)*numOfFrames;VATFrameNum=mod(VATFrameNum+VATOffsetFrame,numOfFrames);VATFrameNum=floor(VATFrameNum);VATFrameNum+=VATStartFrame+frameCorrection;mat4 VATInfluence;VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];
497
+ #if NUM_BONE_INFLUENCERS>1
498
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];
499
+ #endif
500
+ #if NUM_BONE_INFLUENCERS>2
501
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];
502
+ #endif
503
+ #if NUM_BONE_INFLUENCERS>3
504
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];
505
+ #endif
506
+ #if NUM_BONE_INFLUENCERS>4
507
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];
508
+ #endif
509
+ #if NUM_BONE_INFLUENCERS>5
510
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];
511
+ #endif
512
+ #if NUM_BONE_INFLUENCERS>6
513
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];
514
+ #endif
515
+ #if NUM_BONE_INFLUENCERS>7
516
+ VATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];
517
+ #endif
518
+ finalWorld=finalWorld*VATInfluence;}
519
+ #endif
520
+ `;i.ShaderStore.IncludesShadersStore[o]||(i.ShaderStore.IncludesShadersStore[o]=f),e.s(["bakedVertexAnimation",0,{name:o,shader:f}],76955);let c="clipPlaneVertex",d=`#ifdef CLIPPLANE
521
+ fClipDistance=dot(worldPos,vClipPlane);
522
+ #endif
523
+ #ifdef CLIPPLANE2
524
+ fClipDistance2=dot(worldPos,vClipPlane2);
525
+ #endif
526
+ #ifdef CLIPPLANE3
527
+ fClipDistance3=dot(worldPos,vClipPlane3);
528
+ #endif
529
+ #ifdef CLIPPLANE4
530
+ fClipDistance4=dot(worldPos,vClipPlane4);
531
+ #endif
532
+ #ifdef CLIPPLANE5
533
+ fClipDistance5=dot(worldPos,vClipPlane5);
534
+ #endif
535
+ #ifdef CLIPPLANE6
536
+ fClipDistance6=dot(worldPos,vClipPlane6);
537
+ #endif
538
+ `;i.ShaderStore.IncludesShadersStore[c]||(i.ShaderStore.IncludesShadersStore[c]=d),e.s(["clipPlaneVertex",0,{name:c,shader:d}],16607)},57828,29231,17464,e=>{"use strict";var i=e.i(12423);let t="fogVertexDeclaration",r=`#ifdef FOG
539
+ varying vec3 vFogDistance;
540
+ #endif
541
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["fogVertexDeclaration",0,{name:t,shader:r}],57828);let a="fogVertex",n=`#ifdef FOG
542
+ vFogDistance=(view*worldPos).xyz;
543
+ #endif
544
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["fogVertex",0,{name:a,shader:n}],29231);let o="vertexColorMixing",f=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
545
+ vColor=vec4(1.0);
546
+ #ifdef VERTEXCOLOR
547
+ #ifdef VERTEXALPHA
548
+ vColor*=colorUpdated;
549
+ #else
550
+ vColor.rgb*=colorUpdated.rgb;
551
+ #endif
552
+ #endif
553
+ #ifdef INSTANCESCOLOR
554
+ vColor*=instanceColor;
555
+ #endif
556
+ #endif
557
+ `;i.ShaderStore.IncludesShadersStore[o]||(i.ShaderStore.IncludesShadersStore[o]=f),e.s(["vertexColorMixing",0,{name:o,shader:f}],17464)},74747,78119,23131,39962,41527,50010,91440,43842,61981,55212,23689,e=>{"use strict";var i=e.i(12423);let t="decalVertexDeclaration",r=`#ifdef DECAL
558
+ uniform vec4 vDecalInfos;uniform mat4 decalMatrix;
559
+ #endif
560
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["decalVertexDeclaration",0,{name:t,shader:r}],74747);let a="uvAttributeDeclaration",n=`#ifdef UV{X}
561
+ attribute vec2 uv{X};
562
+ #endif
563
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["uvAttributeDeclaration",0,{name:a,shader:n}],78119);let o="prePassVertexDeclaration",f=`#ifdef PREPASS
564
+ #ifdef PREPASS_LOCAL_POSITION
565
+ varying vec3 vPosition;
566
+ #endif
567
+ #ifdef PREPASS_DEPTH
568
+ varying vec3 vViewPos;
569
+ #endif
570
+ #ifdef PREPASS_NORMALIZED_VIEW_DEPTH
571
+ varying float vNormViewDepth;
572
+ #endif
573
+ #if defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)
574
+ uniform mat4 previousViewProjection;varying vec4 vCurrentPosition;varying vec4 vPreviousPosition;
575
+ #endif
576
+ #endif
577
+ `;i.ShaderStore.IncludesShadersStore[o]||(i.ShaderStore.IncludesShadersStore[o]=f),e.s(["prePassVertexDeclaration",0,{name:o,shader:f}],23131);let c="samplerVertexDeclaration",d=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
578
+ varying vec2 v_VARYINGNAME_UV;
579
+ #endif
580
+ `;i.ShaderStore.IncludesShadersStore[c]||(i.ShaderStore.IncludesShadersStore[c]=d),e.s(["samplerVertexDeclaration",0,{name:c,shader:d}],39962);let l="lightVxFragmentDeclaration",s=`#ifdef LIGHT{X}
581
+ uniform vec4 vLightData{X};uniform vec4 vLightDiffuse{X};
582
+ #ifdef SPECULARTERM
583
+ uniform vec4 vLightSpecular{X};
584
+ #else
585
+ vec4 vLightSpecular{X}=vec4(0.);
586
+ #endif
587
+ #ifdef SHADOW{X}
588
+ #ifdef SHADOWCSM{X}
589
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
590
+ #elif defined(SHADOWCUBE{X})
591
+ #else
592
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
593
+ #endif
594
+ uniform vec4 shadowsInfo{X};uniform vec2 depthValues{X};
595
+ #endif
596
+ #ifdef SPOTLIGHT{X}
597
+ uniform vec4 vLightDirection{X};uniform vec4 vLightFalloff{X};
598
+ #elif defined(POINTLIGHT{X})
599
+ uniform vec4 vLightFalloff{X};
600
+ #elif defined(HEMILIGHT{X})
601
+ uniform vec3 vLightGround{X};
602
+ #endif
603
+ #if defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
604
+ uniform vec4 vLightWidth{X};uniform vec4 vLightHeight{X};
605
+ #endif
606
+ #endif
607
+ `;i.ShaderStore.IncludesShadersStore[l]||(i.ShaderStore.IncludesShadersStore[l]=s),e.s(["lightVxFragmentDeclaration",0,{name:l,shader:s}],41527);let E="lightVxUboDeclaration",m=`#ifdef LIGHT{X}
608
+ uniform Light{X}
609
+ {vec4 vLightData;vec4 vLightDiffuse;vec4 vLightSpecular;
610
+ #ifdef SPOTLIGHT{X}
611
+ vec4 vLightDirection;vec4 vLightFalloff;
612
+ #elif defined(POINTLIGHT{X})
613
+ vec4 vLightFalloff;
614
+ #elif defined(HEMILIGHT{X})
615
+ vec3 vLightGround;
616
+ #elif defined(CLUSTLIGHT{X})
617
+ vec2 vSliceData;vec2 vSliceRanges[CLUSTLIGHT_SLICES];
618
+ #endif
619
+ #if defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
620
+ vec4 vLightWidth;vec4 vLightHeight;
621
+ #endif
622
+ vec4 shadowsInfo;vec2 depthValues;} light{X};
623
+ #ifdef SHADOW{X}
624
+ #ifdef SHADOWCSM{X}
625
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
626
+ #elif defined(SHADOWCUBE{X})
627
+ #else
628
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
629
+ #endif
630
+ #endif
631
+ #endif
632
+ `;i.ShaderStore.IncludesShadersStore[E]||(i.ShaderStore.IncludesShadersStore[E]=m),e.s(["lightVxUboDeclaration",0,{name:E,shader:m}],50010);let v="prePassVertex",S=`#ifdef PREPASS_DEPTH
633
+ vViewPos=(view*worldPos).rgb;
634
+ #endif
635
+ #ifdef PREPASS_NORMALIZED_VIEW_DEPTH
636
+ vNormViewDepth=((view*worldPos).z-cameraInfo.x)/(cameraInfo.y-cameraInfo.x);
637
+ #endif
638
+ #ifdef PREPASS_LOCAL_POSITION
639
+ vPosition=positionUpdated.xyz;
640
+ #endif
641
+ #if (defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)) && defined(BONES_VELOCITY_ENABLED)
642
+ vCurrentPosition=viewProjection*worldPos;
643
+ #if NUM_BONE_INFLUENCERS>0
644
+ mat4 previousInfluence;previousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];
645
+ #if NUM_BONE_INFLUENCERS>1
646
+ previousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];
647
+ #endif
648
+ #if NUM_BONE_INFLUENCERS>2
649
+ previousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];
650
+ #endif
651
+ #if NUM_BONE_INFLUENCERS>3
652
+ previousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];
653
+ #endif
654
+ #if NUM_BONE_INFLUENCERS>4
655
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];
656
+ #endif
657
+ #if NUM_BONE_INFLUENCERS>5
658
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];
659
+ #endif
660
+ #if NUM_BONE_INFLUENCERS>6
661
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];
662
+ #endif
663
+ #if NUM_BONE_INFLUENCERS>7
664
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];
665
+ #endif
666
+ vPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);
667
+ #else
668
+ vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
669
+ #endif
670
+ #endif
671
+ `;i.ShaderStore.IncludesShadersStore[v]||(i.ShaderStore.IncludesShadersStore[v]=S),e.s(["prePassVertex",0,{name:v,shader:S}],91440);let u="uvVariableDeclaration",I=`#if !defined(UV{X}) && defined(MAINUV{X})
672
+ vec2 uv{X}=vec2(0.,0.);
673
+ #endif
674
+ #ifdef MAINUV{X}
675
+ vMainUV{X}=uv{X};
676
+ #endif
677
+ `;i.ShaderStore.IncludesShadersStore[u]||(i.ShaderStore.IncludesShadersStore[u]=I),e.s(["uvVariableDeclaration",0,{name:u,shader:I}],43842);let N="samplerVertexImplementation",_=`#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
678
+ if (v_INFONAME_==0.)
679
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));}
680
+ #ifdef UV2
681
+ else if (v_INFONAME_==1.)
682
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2Updated,1.0,0.0));}
683
+ #endif
684
+ #ifdef UV3
685
+ else if (v_INFONAME_==2.)
686
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));}
687
+ #endif
688
+ #ifdef UV4
689
+ else if (v_INFONAME_==3.)
690
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));}
691
+ #endif
692
+ #ifdef UV5
693
+ else if (v_INFONAME_==4.)
694
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));}
695
+ #endif
696
+ #ifdef UV6
697
+ else if (v_INFONAME_==5.)
698
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));}
699
+ #endif
700
+ #endif
701
+ `;i.ShaderStore.IncludesShadersStore[N]||(i.ShaderStore.IncludesShadersStore[N]=_),e.s(["samplerVertexImplementation",0,{name:N,shader:_}],61981);let A="shadowsVertex",R=`#ifdef SHADOWS
702
+ #if defined(SHADOWCSM{X})
703
+ vPositionFromCamera{X}=view*worldPos;for (int i=0; i<SHADOWCSMNUM_CASCADES{X}; i++) {vPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;
704
+ #ifdef USE_REVERSE_DEPTHBUFFER
705
+ vDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
706
+ #else
707
+ vDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
708
+ #endif
709
+ }
710
+ #elif defined(SHADOW{X}) && !defined(SHADOWCUBE{X})
711
+ vPositionFromLight{X}=lightMatrix{X}*worldPos;
712
+ #ifdef USE_REVERSE_DEPTHBUFFER
713
+ vDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
714
+ #else
715
+ vDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
716
+ #endif
717
+ #endif
718
+ #endif
719
+ `;i.ShaderStore.IncludesShadersStore[A]||(i.ShaderStore.IncludesShadersStore[A]=R),e.s(["shadowsVertex",0,{name:A,shader:R}],55212);let T="logDepthVertex",p=`#ifdef LOGARITHMICDEPTH
720
+ vFragmentDepth=1.0+gl_Position.w;gl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;
721
+ #endif
722
+ `;i.ShaderStore.IncludesShadersStore[T]||(i.ShaderStore.IncludesShadersStore[T]=p),e.s(["logDepthVertex",0,{name:T,shader:p}],23689)},32936,32235,61193,99838,e=>{"use strict";var i=e.i(12423);let t="morphTargetsVertexGlobalDeclaration",r=`#ifdef MORPHTARGETS
723
+ uniform float morphTargetInfluences[NUM_MORPH_INFLUENCERS];
724
+ #ifdef MORPHTARGETS_TEXTURE
725
+ uniform float morphTargetTextureIndices[NUM_MORPH_INFLUENCERS];uniform vec3 morphTargetTextureInfo;uniform highp sampler2DArray morphTargets;vec3 readVector3FromRawSampler(int targetIndex,float vertexIndex)
726
+ {
727
+ #if defined(WEBGL2) || defined(WEBGPU)
728
+ int textureWidth=int(morphTargetTextureInfo.y);int y=int(vertexIndex)/textureWidth;int x=int(vertexIndex) % textureWidth;return texelFetch(morphTargets,ivec3(x,y,int(morphTargetTextureIndices[targetIndex])),0).xyz;
729
+ #else
730
+ float y=floor(vertexIndex/morphTargetTextureInfo.y);float x=vertexIndex-y*morphTargetTextureInfo.y;vec3 textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);return texture(morphTargets,textureUV).xyz;
731
+ #endif
732
+ }
733
+ vec4 readVector4FromRawSampler(int targetIndex,float vertexIndex)
734
+ {
735
+ #if defined(WEBGL2) || defined(WEBGPU)
736
+ int textureWidth=int(morphTargetTextureInfo.y);int y=int(vertexIndex)/textureWidth;int x=int(vertexIndex) % textureWidth;return texelFetch(morphTargets,ivec3(x,y,int(morphTargetTextureIndices[targetIndex])),0);
737
+ #else
738
+ float y=floor(vertexIndex/morphTargetTextureInfo.y);float x=vertexIndex-y*morphTargetTextureInfo.y;vec3 textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);return texture(morphTargets,textureUV);
739
+ #endif
740
+ }
741
+ #endif
742
+ #endif
743
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["morphTargetsVertexGlobalDeclaration",0,{name:t,shader:r}],32936);let a="morphTargetsVertexDeclaration",n=`#ifdef MORPHTARGETS
744
+ #ifndef MORPHTARGETS_TEXTURE
745
+ #ifdef MORPHTARGETS_POSITION
746
+ attribute vec3 position{X};
747
+ #endif
748
+ #ifdef MORPHTARGETS_NORMAL
749
+ attribute vec3 normal{X};
750
+ #endif
751
+ #ifdef MORPHTARGETS_TANGENT
752
+ attribute vec3 tangent{X};
753
+ #endif
754
+ #ifdef MORPHTARGETS_UV
755
+ attribute vec2 uv_{X};
756
+ #endif
757
+ #ifdef MORPHTARGETS_UV2
758
+ attribute vec2 uv2_{X};
759
+ #endif
760
+ #ifdef MORPHTARGETS_COLOR
761
+ attribute vec4 color{X};
762
+ #endif
763
+ #elif {X}==0
764
+ uniform float morphTargetCount;
765
+ #endif
766
+ #endif
767
+ `;i.ShaderStore.IncludesShadersStore[a]||(i.ShaderStore.IncludesShadersStore[a]=n),e.s(["morphTargetsVertexDeclaration",0,{name:a,shader:n}],32235);let o="morphTargetsVertexGlobal",f=`#ifdef MORPHTARGETS
768
+ #ifdef MORPHTARGETS_TEXTURE
769
+ float vertexID;
770
+ #endif
771
+ #endif
772
+ `;i.ShaderStore.IncludesShadersStore[o]||(i.ShaderStore.IncludesShadersStore[o]=f),e.s(["morphTargetsVertexGlobal",0,{name:o,shader:f}],61193);let c="morphTargetsVertex",d=`#ifdef MORPHTARGETS
773
+ #ifdef MORPHTARGETS_TEXTURE
774
+ #if {X}==0
775
+ for (int i=0; i<NUM_MORPH_INFLUENCERS; i++) {if (float(i)>=morphTargetCount) break;vertexID=float(gl_VertexID)*morphTargetTextureInfo.x;
776
+ #ifdef MORPHTARGETS_POSITION
777
+ positionUpdated+=(readVector3FromRawSampler(i,vertexID)-position)*morphTargetInfluences[i];
778
+ #endif
779
+ #ifdef MORPHTARGETTEXTURE_HASPOSITIONS
780
+ vertexID+=1.0;
781
+ #endif
782
+ #ifdef MORPHTARGETS_NORMAL
783
+ normalUpdated+=(readVector3FromRawSampler(i,vertexID) -normal)*morphTargetInfluences[i];
784
+ #endif
785
+ #ifdef MORPHTARGETTEXTURE_HASNORMALS
786
+ vertexID+=1.0;
787
+ #endif
788
+ #ifdef MORPHTARGETS_UV
789
+ uvUpdated+=(readVector3FromRawSampler(i,vertexID).xy-uv)*morphTargetInfluences[i];
790
+ #endif
791
+ #ifdef MORPHTARGETTEXTURE_HASUVS
792
+ vertexID+=1.0;
793
+ #endif
794
+ #ifdef MORPHTARGETS_TANGENT
795
+ tangentUpdated.xyz+=(readVector3FromRawSampler(i,vertexID) -tangent.xyz)*morphTargetInfluences[i];
796
+ #endif
797
+ #ifdef MORPHTARGETTEXTURE_HASTANGENTS
798
+ vertexID+=1.0;
799
+ #endif
800
+ #ifdef MORPHTARGETS_UV2
801
+ uv2Updated+=(readVector3FromRawSampler(i,vertexID).xy-uv2)*morphTargetInfluences[i];
802
+ #endif
803
+ #ifdef MORPHTARGETTEXTURE_HASUV2S
804
+ vertexID+=1.0;
805
+ #endif
806
+ #ifdef MORPHTARGETS_COLOR
807
+ colorUpdated+=(readVector4FromRawSampler(i,vertexID)-color)*morphTargetInfluences[i];
808
+ #endif
809
+ }
810
+ #endif
811
+ #else
812
+ #ifdef MORPHTARGETS_POSITION
813
+ positionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];
814
+ #endif
815
+ #ifdef MORPHTARGETS_NORMAL
816
+ normalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];
817
+ #endif
818
+ #ifdef MORPHTARGETS_TANGENT
819
+ tangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];
820
+ #endif
821
+ #ifdef MORPHTARGETS_UV
822
+ uvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];
823
+ #endif
824
+ #ifdef MORPHTARGETS_UV2
825
+ uv2Updated+=(uv2_{X}-uv2)*morphTargetInfluences[{X}];
826
+ #endif
827
+ #ifdef MORPHTARGETS_COLOR
828
+ colorUpdated+=(color{X}-color)*morphTargetInfluences[{X}];
829
+ #endif
830
+ #endif
831
+ #endif
832
+ `;i.ShaderStore.IncludesShadersStore[c]||(i.ShaderStore.IncludesShadersStore[c]=d),e.s(["morphTargetsVertex",0,{name:c,shader:d}],99838)},50503,e=>{"use strict";var i=e.i(12423);let t="bumpVertex",r=`#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)
833
+ #if defined(TANGENT) && defined(NORMAL)
834
+ vec3 tbnNormal=normalize(normalUpdated);vec3 tbnTangent=normalize(tangentUpdated.xyz);vec3 tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;vTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);
835
+ #endif
836
+ #endif
837
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["bumpVertex",0,{name:t,shader:r}])},19436,e=>{"use strict";var i=e.i(12423);let t="bumpVertexDeclaration",r=`#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)
838
+ #if defined(TANGENT) && defined(NORMAL)
839
+ varying mat3 vTBN;
840
+ #endif
841
+ #endif
842
+ `;i.ShaderStore.IncludesShadersStore[t]||(i.ShaderStore.IncludesShadersStore[t]=r),e.s(["bumpVertexDeclaration",0,{name:t,shader:r}])},11275,e=>{"use strict";var i=e.i(12423),t=e.i(74747);let r="pbrVertexDeclaration",a=`uniform mat4 view;uniform mat4 viewProjection;uniform vec4 vEyePosition;
843
+ #ifdef MULTIVIEW
844
+ mat4 viewProjectionR;
845
+ #endif
846
+ #ifdef ALBEDO
847
+ uniform mat4 albedoMatrix;uniform vec2 vAlbedoInfos;
848
+ #endif
849
+ #ifdef BASE_WEIGHT
850
+ uniform mat4 baseWeightMatrix;uniform vec2 vBaseWeightInfos;
851
+ #endif
852
+ uniform float baseDiffuseRoughness;
853
+ #ifdef BASE_DIFFUSE_ROUGHNESS
854
+ uniform mat4 baseDiffuseRoughnessMatrix;uniform vec2 vBaseDiffuseRoughnessInfos;
855
+ #endif
856
+ #ifdef AMBIENT
857
+ uniform mat4 ambientMatrix;uniform vec4 vAmbientInfos;
858
+ #endif
859
+ #ifdef OPACITY
860
+ uniform mat4 opacityMatrix;uniform vec2 vOpacityInfos;
861
+ #endif
862
+ #ifdef EMISSIVE
863
+ uniform vec2 vEmissiveInfos;uniform mat4 emissiveMatrix;
864
+ #endif
865
+ #ifdef LIGHTMAP
866
+ uniform vec2 vLightmapInfos;uniform mat4 lightmapMatrix;
867
+ #endif
868
+ #ifdef REFLECTIVITY
869
+ uniform vec3 vReflectivityInfos;uniform mat4 reflectivityMatrix;
870
+ #endif
871
+ #ifdef METALLIC_REFLECTANCE
872
+ uniform vec2 vMetallicReflectanceInfos;uniform mat4 metallicReflectanceMatrix;
873
+ #endif
874
+ #ifdef REFLECTANCE
875
+ uniform vec2 vReflectanceInfos;uniform mat4 reflectanceMatrix;
876
+ #endif
877
+ #ifdef MICROSURFACEMAP
878
+ uniform vec2 vMicroSurfaceSamplerInfos;uniform mat4 microSurfaceSamplerMatrix;
879
+ #endif
880
+ #ifdef BUMP
881
+ uniform vec3 vBumpInfos;uniform mat4 bumpMatrix;
882
+ #endif
883
+ #ifdef POINTSIZE
884
+ uniform float pointSize;
885
+ #endif
886
+ uniform vec4 cameraInfo;uniform vec4 vTextureRepetitionHexTilingParams;
887
+ #ifdef REFLECTION
888
+ uniform vec2 vReflectionInfos;uniform mat4 reflectionMatrix;
889
+ #endif
890
+ #ifdef CLEARCOAT
891
+ #if defined(CLEARCOAT_TEXTURE) || defined(CLEARCOAT_TEXTURE_ROUGHNESS)
892
+ uniform vec4 vClearCoatInfos;
893
+ #endif
894
+ #ifdef CLEARCOAT_TEXTURE
895
+ uniform mat4 clearCoatMatrix;
896
+ #endif
897
+ #ifdef CLEARCOAT_TEXTURE_ROUGHNESS
898
+ uniform mat4 clearCoatRoughnessMatrix;
899
+ #endif
900
+ #ifdef CLEARCOAT_BUMP
901
+ uniform vec2 vClearCoatBumpInfos;uniform mat4 clearCoatBumpMatrix;
902
+ #endif
903
+ #ifdef CLEARCOAT_TINT_TEXTURE
904
+ uniform vec2 vClearCoatTintInfos;uniform mat4 clearCoatTintMatrix;
905
+ #endif
906
+ #endif
907
+ #ifdef IRIDESCENCE
908
+ #if defined(IRIDESCENCE_TEXTURE) || defined(IRIDESCENCE_THICKNESS_TEXTURE)
909
+ uniform vec4 vIridescenceInfos;
910
+ #endif
911
+ #ifdef IRIDESCENCE_TEXTURE
912
+ uniform mat4 iridescenceMatrix;
913
+ #endif
914
+ #ifdef IRIDESCENCE_THICKNESS_TEXTURE
915
+ uniform mat4 iridescenceThicknessMatrix;
916
+ #endif
917
+ #endif
918
+ #ifdef ANISOTROPIC
919
+ #ifdef ANISOTROPIC_TEXTURE
920
+ uniform vec2 vAnisotropyInfos;uniform mat4 anisotropyMatrix;
921
+ #endif
922
+ #endif
923
+ #ifdef SHEEN
924
+ #if defined(SHEEN_TEXTURE) || defined(SHEEN_TEXTURE_ROUGHNESS)
925
+ uniform vec4 vSheenInfos;
926
+ #endif
927
+ #ifdef SHEEN_TEXTURE
928
+ uniform mat4 sheenMatrix;
929
+ #endif
930
+ #ifdef SHEEN_TEXTURE_ROUGHNESS
931
+ uniform mat4 sheenRoughnessMatrix;
932
+ #endif
933
+ #endif
934
+ #ifdef SUBSURFACE
935
+ #ifdef SS_REFRACTION
936
+ uniform vec4 vRefractionInfos;uniform mat4 refractionMatrix;
937
+ #endif
938
+ #ifdef SS_THICKNESSANDMASK_TEXTURE
939
+ uniform vec2 vThicknessInfos;uniform mat4 thicknessMatrix;
940
+ #endif
941
+ #ifdef SS_REFRACTIONINTENSITY_TEXTURE
942
+ uniform vec2 vRefractionIntensityInfos;uniform mat4 refractionIntensityMatrix;
943
+ #endif
944
+ #ifdef SS_TRANSLUCENCYINTENSITY_TEXTURE
945
+ uniform vec2 vTranslucencyIntensityInfos;uniform mat4 translucencyIntensityMatrix;
946
+ #endif
947
+ #ifdef SS_TRANSLUCENCYCOLOR_TEXTURE
948
+ uniform vec2 vTranslucencyColorInfos;uniform mat4 translucencyColorMatrix;
949
+ #endif
950
+ #endif
951
+ #ifdef NORMAL
952
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
953
+ #ifdef USESPHERICALFROMREFLECTIONMAP
954
+ #ifdef SPHERICAL_HARMONICS
955
+ uniform vec3 vSphericalL00;uniform vec3 vSphericalL1_1;uniform vec3 vSphericalL10;uniform vec3 vSphericalL11;uniform vec3 vSphericalL2_2;uniform vec3 vSphericalL2_1;uniform vec3 vSphericalL20;uniform vec3 vSphericalL21;uniform vec3 vSphericalL22;
956
+ #else
957
+ uniform vec3 vSphericalX;uniform vec3 vSphericalY;uniform vec3 vSphericalZ;uniform vec3 vSphericalXX_ZZ;uniform vec3 vSphericalYY_ZZ;uniform vec3 vSphericalZZ;uniform vec3 vSphericalXY;uniform vec3 vSphericalYZ;uniform vec3 vSphericalZX;
958
+ #endif
959
+ #endif
960
+ #endif
961
+ #endif
962
+ #ifdef DETAIL
963
+ uniform vec4 vDetailInfos;uniform mat4 detailMatrix;
964
+ #endif
965
+ #include<decalVertexDeclaration>
966
+ #define ADDITIONAL_VERTEX_DECLARATION
967
+ `;i.ShaderStore.IncludesShadersStore[r]||(i.ShaderStore.IncludesShadersStore[r]=a);var n=e.i(85668),o=e.i(6232),f=e.i(87326),c=e.i(78119),d=e.i(92692),l=e.i(65296),s=e.i(60990),E=e.i(39067),m=e.i(15420),v=e.i(85863),S=e.i(23131),u=e.i(39962),I=e.i(50438),N=e.i(19436),_=e.i(42927),A=e.i(57828),R=e.i(41527),T=e.i(50010),p=e.i(32936),h=e.i(32235),x=e.i(97226),M=e.i(61193),V=e.i(99838),C=e.i(40805),O=e.i(30667),L=e.i(76955),g=e.i(91440),D=e.i(43842),F=e.i(61981),P=e.i(50503),U=e.i(16607),b=e.i(29231),G=e.i(55212),X=e.i(17464),B=e.i(23689);let y="pbrVertexShader",H=`#define PBR_VERTEX_SHADER
968
+ #define CUSTOM_VERTEX_EXTENSION
969
+ precision highp float;
970
+ #include<__decl__pbrVertex>
971
+ #define CUSTOM_VERTEX_BEGIN
972
+ attribute vec3 position;
973
+ #ifdef NORMAL
974
+ attribute vec3 normal;
975
+ #endif
976
+ #ifdef TANGENT
977
+ attribute vec4 tangent;
978
+ #endif
979
+ #ifdef UV1
980
+ attribute vec2 uv;
981
+ #endif
982
+ #include<uvAttributeDeclaration>[2..7]
983
+ #include<mainUVVaryingDeclaration>[1..7]
984
+ #ifdef VERTEXCOLOR
985
+ attribute vec4 color;
986
+ #endif
987
+ #include<helperFunctions>
988
+ #include<pbrBRDFFunctions>
989
+ #include<bonesDeclaration>
990
+ #include<bakedVertexAnimationDeclaration>
991
+ #include<instancesDeclaration>
992
+ #include<prePassVertexDeclaration>
993
+ #include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)
994
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight)
995
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness)
996
+ #include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)
997
+ #include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)
998
+ #include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)
999
+ #include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)
1000
+ #include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)
1001
+ #include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)
1002
+ #include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)
1003
+ #include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)
1004
+ #include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)
1005
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)
1006
+ #include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)
1007
+ #ifdef CLEARCOAT
1008
+ #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)
1009
+ #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)
1010
+ #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)
1011
+ #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)
1012
+ #endif
1013
+ #ifdef IRIDESCENCE
1014
+ #include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)
1015
+ #include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)
1016
+ #endif
1017
+ #ifdef SHEEN
1018
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)
1019
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)
1020
+ #endif
1021
+ #ifdef ANISOTROPIC
1022
+ #include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)
1023
+ #endif
1024
+ #ifdef SUBSURFACE
1025
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)
1026
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)
1027
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)
1028
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYCOLOR_TEXTURE,_VARYINGNAME_,TranslucencyColor)
1029
+ #endif
1030
+ varying vec3 vPositionW;
1031
+ #if DEBUGMODE>0
1032
+ varying vec4 vClipSpacePosition;
1033
+ #endif
1034
+ #ifdef NORMAL
1035
+ varying vec3 vNormalW;
1036
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
1037
+ varying vec3 vEnvironmentIrradiance;
1038
+ #include<harmonicsFunctions>
1039
+ #endif
1040
+ #endif
1041
+ #if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
1042
+ varying vec4 vColor;
1043
+ #endif
1044
+ #include<bumpVertexDeclaration>
1045
+ #include<clipPlaneVertexDeclaration>
1046
+ #include<fogVertexDeclaration>
1047
+ #include<__decl__lightVxFragment>[0..maxSimultaneousLights]
1048
+ #include<morphTargetsVertexGlobalDeclaration>
1049
+ #include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]
1050
+ #ifdef REFLECTIONMAP_SKYBOX
1051
+ varying vec3 vPositionUVW;
1052
+ #endif
1053
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
1054
+ varying vec3 vDirectionW;
1055
+ #endif
1056
+ #if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0
1057
+ varying float vViewDepth;
1058
+ #endif
1059
+ #include<logDepthDeclaration>
1060
+ #define CUSTOM_VERTEX_DEFINITIONS
1061
+ void main(void) {
1062
+ #define CUSTOM_VERTEX_MAIN_BEGIN
1063
+ vec3 positionUpdated=position;
1064
+ #ifdef NORMAL
1065
+ vec3 normalUpdated=normal;
1066
+ #endif
1067
+ #ifdef TANGENT
1068
+ vec4 tangentUpdated=tangent;
1069
+ #endif
1070
+ #ifdef UV1
1071
+ vec2 uvUpdated=uv;
1072
+ #endif
1073
+ #ifdef UV2
1074
+ vec2 uv2Updated=uv2;
1075
+ #endif
1076
+ #ifdef VERTEXCOLOR
1077
+ vec4 colorUpdated=color;
1078
+ #endif
1079
+ #include<morphTargetsVertexGlobal>
1080
+ #include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]
1081
+ #ifdef REFLECTIONMAP_SKYBOX
1082
+ vPositionUVW=positionUpdated;
1083
+ #endif
1084
+ #define CUSTOM_VERTEX_UPDATE_POSITION
1085
+ #define CUSTOM_VERTEX_UPDATE_NORMAL
1086
+ #include<instancesVertex>
1087
+ #if defined(PREPASS) && ((defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)) && !defined(BONES_VELOCITY_ENABLED)
1088
+ vCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
1089
+ #endif
1090
+ #include<bonesVertex>
1091
+ #include<bakedVertexAnimation>
1092
+ vec4 worldPos=finalWorld*vec4(positionUpdated,1.0);vPositionW=vec3(worldPos);
1093
+ #ifdef PREPASS
1094
+ #include<prePassVertex>
1095
+ #endif
1096
+ #ifdef NORMAL
1097
+ mat3 normalWorld=mat3(finalWorld);
1098
+ #if defined(INSTANCES) && defined(THIN_INSTANCES)
1099
+ vNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vNormalW=normalize(normalWorld*vNormalW);
1100
+ #else
1101
+ #ifdef NONUNIFORMSCALING
1102
+ normalWorld=transposeMat3(inverseMat3(normalWorld));
1103
+ #endif
1104
+ vNormalW=normalize(normalWorld*normalUpdated);
1105
+ #endif
1106
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
1107
+ #if BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LAMBERT && BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LEGACY
1108
+ vec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);float NdotV=max(dot(vNormalW,viewDirectionW),0.0);vec3 roughNormal=mix(vNormalW,viewDirectionW,(0.5*(1.0-NdotV))*baseDiffuseRoughness);vec3 reflectionVector=vec3(reflectionMatrix*vec4(roughNormal,0)).xyz;
1109
+ #else
1110
+ vec3 reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;
1111
+ #endif
1112
+ #ifdef REFLECTIONMAP_OPPOSITEZ
1113
+ reflectionVector.z*=-1.0;
1114
+ #endif
1115
+ vEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);
1116
+ #endif
1117
+ #endif
1118
+ #define CUSTOM_VERTEX_UPDATE_WORLDPOS
1119
+ #ifdef MULTIVIEW
1120
+ if (gl_ViewID_OVR==0u) {gl_Position=viewProjection*worldPos;} else {gl_Position=viewProjectionR*worldPos;}
1121
+ #else
1122
+ gl_Position=viewProjection*worldPos;
1123
+ #endif
1124
+ #if DEBUGMODE>0
1125
+ vClipSpacePosition=gl_Position;
1126
+ #endif
1127
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
1128
+ vDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));
1129
+ #endif
1130
+ #if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0
1131
+ #ifdef RIGHT_HANDED
1132
+ vViewDepth=-(view*worldPos).z;
1133
+ #else
1134
+ vViewDepth=(view*worldPos).z;
1135
+ #endif
1136
+ #endif
1137
+ #ifndef UV1
1138
+ vec2 uvUpdated=vec2(0.,0.);
1139
+ #endif
1140
+ #ifndef UV2
1141
+ vec2 uv2Updated=vec2(0.,0.);
1142
+ #endif
1143
+ #ifdef MAINUV1
1144
+ vMainUV1=uvUpdated;
1145
+ #endif
1146
+ #ifdef MAINUV2
1147
+ vMainUV2=uv2Updated;
1148
+ #endif
1149
+ #include<uvVariableDeclaration>[3..7]
1150
+ #include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)
1151
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight,_MATRIXNAME_,baseWeight,_INFONAME_,BaseWeightInfos.x)
1152
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness,_MATRIXNAME_,baseDiffuseRoughness,_INFONAME_,BaseDiffuseRoughnessInfos.x)
1153
+ #include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)
1154
+ #include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)
1155
+ #include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)
1156
+ #include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)
1157
+ #include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)
1158
+ #include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)
1159
+ #include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)
1160
+ #include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)
1161
+ #include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)
1162
+ #include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)
1163
+ #include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)
1164
+ #ifdef CLEARCOAT
1165
+ #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)
1166
+ #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)
1167
+ #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)
1168
+ #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)
1169
+ #endif
1170
+ #ifdef IRIDESCENCE
1171
+ #include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)
1172
+ #include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)
1173
+ #endif
1174
+ #ifdef SHEEN
1175
+ #include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)
1176
+ #include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheenRoughness,_INFONAME_,SheenInfos.z)
1177
+ #endif
1178
+ #ifdef ANISOTROPIC
1179
+ #include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)
1180
+ #endif
1181
+ #ifdef SUBSURFACE
1182
+ #include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)
1183
+ #include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)
1184
+ #include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)
1185
+ #include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYCOLOR_TEXTURE,_VARYINGNAME_,TranslucencyColor,_MATRIXNAME_,translucencyColor,_INFONAME_,TranslucencyColorInfos.x)
1186
+ #endif
1187
+ #include<bumpVertex>
1188
+ #include<clipPlaneVertex>
1189
+ #include<fogVertex>
1190
+ #include<shadowsVertex>[0..maxSimultaneousLights]
1191
+ #include<vertexColorMixing>
1192
+ #if defined(POINTSIZE) && !defined(WEBGPU)
1193
+ gl_PointSize=pointSize;
1194
+ #endif
1195
+ #include<logDepthVertex>
1196
+ #define CUSTOM_VERTEX_MAIN_END
1197
+ }
1198
+ `;for(let e of(i.ShaderStore.ShadersStore[y]||(i.ShaderStore.ShadersStore[y]=H),[t.decalVertexDeclaration,{name:r,shader:a},n.sceneUboDeclaration,o.meshUboDeclaration,f.pbrUboDeclaration,c.uvAttributeDeclaration,d.mainUVVaryingDeclaration,l.helperFunctions,s.pbrBRDFFunctions,E.bonesDeclaration,m.bakedVertexAnimationDeclaration,v.instancesDeclaration,S.prePassVertexDeclaration,u.samplerVertexDeclaration,I.harmonicsFunctions,N.bumpVertexDeclaration,_.clipPlaneVertexDeclaration,A.fogVertexDeclaration,R.lightVxFragmentDeclaration,T.lightVxUboDeclaration,p.morphTargetsVertexGlobalDeclaration,h.morphTargetsVertexDeclaration,x.logDepthDeclaration,M.morphTargetsVertexGlobal,V.morphTargetsVertex,C.instancesVertex,O.bonesVertex,L.bakedVertexAnimation,g.prePassVertex,D.uvVariableDeclaration,F.samplerVertexImplementation,P.bumpVertex,U.clipPlaneVertex,b.fogVertex,G.shadowsVertex,X.vertexColorMixing,B.logDepthVertex]))i.ShaderStore.IncludesShadersStore[e.name]||(i.ShaderStore.IncludesShadersStore[e.name]=e.shader);e.s(["pbrVertexShader",0,{name:y,shader:H}],11275)}]);