@babylonjs/viewer 7.38.0-alpha → 7.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/configuration/configuration.d.ts +107 -0
  2. package/configuration/configuration.js +16 -0
  3. package/configuration/configuration.js.map +1 -0
  4. package/configuration/configurationCompatibility.d.ts +8 -0
  5. package/configuration/configurationCompatibility.js +66 -0
  6. package/configuration/configurationCompatibility.js.map +1 -0
  7. package/configuration/configurationContainer.d.ts +10 -0
  8. package/configuration/configurationContainer.js +10 -0
  9. package/configuration/configurationContainer.js.map +1 -0
  10. package/configuration/globals.d.ts +6 -0
  11. package/configuration/globals.js +18 -0
  12. package/configuration/globals.js.map +1 -0
  13. package/configuration/index.d.ts +2 -0
  14. package/configuration/index.js +4 -0
  15. package/configuration/index.js.map +1 -0
  16. package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
  17. package/configuration/interfaces/cameraConfiguration.js +2 -0
  18. package/configuration/interfaces/cameraConfiguration.js.map +1 -0
  19. package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
  20. package/configuration/interfaces/colorGradingConfiguration.js +2 -0
  21. package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
  22. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
  23. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
  24. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
  25. package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
  26. package/configuration/interfaces/environmentMapConfiguration.js +2 -0
  27. package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
  28. package/configuration/interfaces/groundConfiguration.d.ts +24 -0
  29. package/configuration/interfaces/groundConfiguration.js +2 -0
  30. package/configuration/interfaces/groundConfiguration.js.map +1 -0
  31. package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
  32. package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
  33. package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
  34. package/configuration/interfaces/index.d.ts +15 -0
  35. package/configuration/interfaces/index.js +16 -0
  36. package/configuration/interfaces/index.js.map +1 -0
  37. package/configuration/interfaces/lightConfiguration.d.ts +60 -0
  38. package/configuration/interfaces/lightConfiguration.js +2 -0
  39. package/configuration/interfaces/lightConfiguration.js.map +1 -0
  40. package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
  41. package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
  42. package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
  43. package/configuration/interfaces/modelConfiguration.d.ts +65 -0
  44. package/configuration/interfaces/modelConfiguration.js +2 -0
  45. package/configuration/interfaces/modelConfiguration.js.map +1 -0
  46. package/configuration/interfaces/observersConfiguration.d.ts +5 -0
  47. package/configuration/interfaces/observersConfiguration.js +2 -0
  48. package/configuration/interfaces/observersConfiguration.js.map +1 -0
  49. package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
  50. package/configuration/interfaces/sceneConfiguration.js +2 -0
  51. package/configuration/interfaces/sceneConfiguration.js.map +1 -0
  52. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
  53. package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
  54. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
  55. package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
  56. package/configuration/interfaces/skyboxConfiguration.js +2 -0
  57. package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
  58. package/configuration/interfaces/templateConfiguration.d.ts +67 -0
  59. package/configuration/interfaces/templateConfiguration.js +2 -0
  60. package/configuration/interfaces/templateConfiguration.js.map +1 -0
  61. package/configuration/interfaces/vrConfiguration.d.ts +16 -0
  62. package/configuration/interfaces/vrConfiguration.js +2 -0
  63. package/configuration/interfaces/vrConfiguration.js.map +1 -0
  64. package/configuration/loader.d.ts +4 -0
  65. package/configuration/loader.js +17 -0
  66. package/configuration/loader.js.map +1 -0
  67. package/configuration/mappers.d.ts +43 -0
  68. package/configuration/mappers.js +193 -0
  69. package/configuration/mappers.js.map +1 -0
  70. package/configuration/renderOnlyLoader.d.ts +33 -0
  71. package/configuration/renderOnlyLoader.js +162 -0
  72. package/configuration/renderOnlyLoader.js.map +1 -0
  73. package/configuration/types/default.d.ts +6 -0
  74. package/configuration/types/default.js +121 -0
  75. package/configuration/types/default.js.map +1 -0
  76. package/configuration/types/environmentMap.d.ts +5 -0
  77. package/configuration/types/environmentMap.js +14 -0
  78. package/configuration/types/environmentMap.js.map +1 -0
  79. package/configuration/types/extended.d.ts +6 -0
  80. package/configuration/types/extended.js +317 -0
  81. package/configuration/types/extended.js.map +1 -0
  82. package/configuration/types/index.d.ts +14 -0
  83. package/configuration/types/index.js +51 -0
  84. package/configuration/types/index.js.map +1 -0
  85. package/configuration/types/minimal.d.ts +6 -0
  86. package/configuration/types/minimal.js +43 -0
  87. package/configuration/types/minimal.js.map +1 -0
  88. package/configuration/types/renderOnlyDefault.d.ts +30 -0
  89. package/configuration/types/renderOnlyDefault.js +31 -0
  90. package/configuration/types/renderOnlyDefault.js.map +1 -0
  91. package/configuration/types/shadowLight.d.ts +9 -0
  92. package/configuration/types/shadowLight.js +64 -0
  93. package/configuration/types/shadowLight.js.map +1 -0
  94. package/helper/index.d.ts +29 -0
  95. package/helper/index.js +66 -0
  96. package/helper/index.js.map +1 -0
  97. package/index.d.ts +30 -0
  98. package/index.js +46 -0
  99. package/index.js.map +1 -0
  100. package/initializer.d.ts +11 -0
  101. package/initializer.js +35 -0
  102. package/initializer.js.map +1 -0
  103. package/interfaces.d.ts +5 -0
  104. package/interfaces.js +7 -0
  105. package/interfaces.js.map +1 -0
  106. package/labs/environmentSerializer.d.ts +126 -0
  107. package/labs/environmentSerializer.js +191 -0
  108. package/labs/environmentSerializer.js.map +1 -0
  109. package/labs/texture.d.ts +183 -0
  110. package/labs/texture.js +351 -0
  111. package/labs/texture.js.map +1 -0
  112. package/labs/viewerLabs.d.ts +51 -0
  113. package/labs/viewerLabs.js +134 -0
  114. package/labs/viewerLabs.js.map +1 -0
  115. package/loader/modelLoader.d.ts +56 -0
  116. package/loader/modelLoader.js +202 -0
  117. package/loader/modelLoader.js.map +1 -0
  118. package/loader/plugins/applyMaterialConfig.d.ts +12 -0
  119. package/loader/plugins/applyMaterialConfig.js +16 -0
  120. package/loader/plugins/applyMaterialConfig.js.map +1 -0
  121. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
  122. package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
  123. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
  124. package/loader/plugins/index.d.ts +19 -0
  125. package/loader/plugins/index.js +44 -0
  126. package/loader/plugins/index.js.map +1 -0
  127. package/loader/plugins/loaderPlugin.d.ts +24 -0
  128. package/loader/plugins/loaderPlugin.js +2 -0
  129. package/loader/plugins/loaderPlugin.js.map +1 -0
  130. package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
  131. package/loader/plugins/msftLodLoaderPlugin.js +21 -0
  132. package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
  133. package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
  134. package/loader/plugins/telemetryLoaderPlugin.js +36 -0
  135. package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
  136. package/managers/observablesManager.d.ts +66 -0
  137. package/managers/observablesManager.js +35 -0
  138. package/managers/observablesManager.js.map +1 -0
  139. package/managers/sceneManager.d.ts +245 -0
  140. package/managers/sceneManager.js +1375 -0
  141. package/managers/sceneManager.js.map +1 -0
  142. package/managers/telemetryManager.d.ts +78 -0
  143. package/managers/telemetryManager.js +117 -0
  144. package/managers/telemetryManager.js.map +1 -0
  145. package/model/modelAnimation.d.ts +215 -0
  146. package/model/modelAnimation.js +237 -0
  147. package/model/modelAnimation.js.map +1 -0
  148. package/model/viewerModel.d.ts +233 -0
  149. package/model/viewerModel.js +673 -0
  150. package/model/viewerModel.js.map +1 -0
  151. package/optimizer/custom/extended.d.ts +13 -0
  152. package/optimizer/custom/extended.js +101 -0
  153. package/optimizer/custom/extended.js.map +1 -0
  154. package/optimizer/custom/index.d.ts +9 -0
  155. package/optimizer/custom/index.js +26 -0
  156. package/optimizer/custom/index.js.map +1 -0
  157. package/package.json +27 -18
  158. package/readme.md +21 -145
  159. package/renderOnlyIndex.d.ts +11 -0
  160. package/renderOnlyIndex.js +18 -0
  161. package/renderOnlyIndex.js.map +1 -0
  162. package/templating/eventManager.d.ts +35 -0
  163. package/templating/eventManager.js +66 -0
  164. package/templating/eventManager.js.map +1 -0
  165. package/templating/plugins/hdButtonPlugin.d.ts +9 -0
  166. package/templating/plugins/hdButtonPlugin.js +22 -0
  167. package/templating/plugins/hdButtonPlugin.js.map +1 -0
  168. package/templating/plugins/printButton.d.ts +9 -0
  169. package/templating/plugins/printButton.js +41 -0
  170. package/templating/plugins/printButton.js.map +1 -0
  171. package/templating/templateManager.d.ts +197 -0
  172. package/templating/templateManager.js +561 -0
  173. package/templating/templateManager.js.map +1 -0
  174. package/templating/viewerTemplatePlugin.d.ts +21 -0
  175. package/templating/viewerTemplatePlugin.js +69 -0
  176. package/templating/viewerTemplatePlugin.js.map +1 -0
  177. package/viewer/defaultViewer.d.ts +130 -0
  178. package/viewer/defaultViewer.js +672 -0
  179. package/viewer/defaultViewer.js.map +1 -0
  180. package/viewer/renderOnlyViewer.d.ts +9 -0
  181. package/viewer/renderOnlyViewer.js +46 -0
  182. package/viewer/renderOnlyViewer.js.map +1 -0
  183. package/viewer/viewer.d.ts +258 -0
  184. package/viewer/viewer.js +783 -0
  185. package/viewer/viewer.js.map +1 -0
  186. package/viewer/viewerManager.d.ts +58 -0
  187. package/viewer/viewerManager.js +91 -0
  188. package/viewer/viewerManager.js.map +1 -0
  189. package/viewer/viewerWithTemplate.d.ts +9 -0
  190. package/viewer/viewerWithTemplate.js +20 -0
  191. package/viewer/viewerWithTemplate.js.map +1 -0
  192. package/assets/photoStudio.env +0 -0
  193. package/dist/babylon-viewer.esm.js +0 -2
  194. package/dist/babylon-viewer.esm.js.map +0 -1
  195. package/dist/babylon-viewer.esm.min.js +0 -2
  196. package/dist/babylon-viewer.esm.min.js.map +0 -1
  197. package/dist/chunks/EXT_lights_image_based-CtTmxflP.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_image_based-CtTmxflP.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_image_based-DxdJ75Vh.esm.js +0 -171
  200. package/dist/chunks/EXT_lights_image_based-DxdJ75Vh.esm.js.map +0 -1
  201. package/dist/chunks/EXT_mesh_gpu_instancing-Ct2Bx4PM.esm.js +0 -86
  202. package/dist/chunks/EXT_mesh_gpu_instancing-Ct2Bx4PM.esm.js.map +0 -1
  203. package/dist/chunks/EXT_mesh_gpu_instancing-M7Gz7MhO.esm.min.js +0 -2
  204. package/dist/chunks/EXT_mesh_gpu_instancing-M7Gz7MhO.esm.min.js.map +0 -1
  205. package/dist/chunks/EXT_meshopt_compression-Cyn--p6_.esm.min.js +0 -2
  206. package/dist/chunks/EXT_meshopt_compression-Cyn--p6_.esm.min.js.map +0 -1
  207. package/dist/chunks/EXT_meshopt_compression-yhAZH-Pp.esm.js +0 -134
  208. package/dist/chunks/EXT_meshopt_compression-yhAZH-Pp.esm.js.map +0 -1
  209. package/dist/chunks/EXT_texture_avif-ChzVvnzn.esm.min.js +0 -2
  210. package/dist/chunks/EXT_texture_avif-ChzVvnzn.esm.min.js.map +0 -1
  211. package/dist/chunks/EXT_texture_avif-kf6cO5i2.esm.js +0 -44
  212. package/dist/chunks/EXT_texture_avif-kf6cO5i2.esm.js.map +0 -1
  213. package/dist/chunks/EXT_texture_webp-DThCSm4A.esm.js +0 -43
  214. package/dist/chunks/EXT_texture_webp-DThCSm4A.esm.js.map +0 -1
  215. package/dist/chunks/EXT_texture_webp-cGxajBb2.esm.min.js +0 -2
  216. package/dist/chunks/EXT_texture_webp-cGxajBb2.esm.min.js.map +0 -1
  217. package/dist/chunks/ExtrasAsMetadata-CFb-ZHm4.esm.js +0 -64
  218. package/dist/chunks/ExtrasAsMetadata-CFb-ZHm4.esm.js.map +0 -1
  219. package/dist/chunks/ExtrasAsMetadata-DbBAtN0v.esm.min.js +0 -2
  220. package/dist/chunks/ExtrasAsMetadata-DbBAtN0v.esm.min.js.map +0 -1
  221. package/dist/chunks/KHR_animation_pointer-9NEomZda.esm.js +0 -343
  222. package/dist/chunks/KHR_animation_pointer-9NEomZda.esm.js.map +0 -1
  223. package/dist/chunks/KHR_animation_pointer-LTcasRZl.esm.min.js +0 -2
  224. package/dist/chunks/KHR_animation_pointer-LTcasRZl.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_draco_mesh_compression-Bph7X4Na.esm.min.js +0 -2
  226. package/dist/chunks/KHR_draco_mesh_compression-Bph7X4Na.esm.min.js.map +0 -1
  227. package/dist/chunks/KHR_draco_mesh_compression-Bt96ryNv.esm.js +0 -617
  228. package/dist/chunks/KHR_draco_mesh_compression-Bt96ryNv.esm.js.map +0 -1
  229. package/dist/chunks/KHR_interactivity-DOTBcI_U.esm.js +0 -4033
  230. package/dist/chunks/KHR_interactivity-DOTBcI_U.esm.js.map +0 -1
  231. package/dist/chunks/KHR_interactivity-DxgFXUw7.esm.min.js +0 -2
  232. package/dist/chunks/KHR_interactivity-DxgFXUw7.esm.min.js.map +0 -1
  233. package/dist/chunks/KHR_lights_punctual-CQr6drzF.esm.js +0 -1253
  234. package/dist/chunks/KHR_lights_punctual-CQr6drzF.esm.js.map +0 -1
  235. package/dist/chunks/KHR_lights_punctual-Ehfkpasf.esm.min.js +0 -2
  236. package/dist/chunks/KHR_lights_punctual-Ehfkpasf.esm.min.js.map +0 -1
  237. package/dist/chunks/KHR_materials_anisotropy-BxO4PQVz.esm.js +0 -65
  238. package/dist/chunks/KHR_materials_anisotropy-BxO4PQVz.esm.js.map +0 -1
  239. package/dist/chunks/KHR_materials_anisotropy-DBn9Shqv.esm.min.js +0 -2
  240. package/dist/chunks/KHR_materials_anisotropy-DBn9Shqv.esm.min.js.map +0 -1
  241. package/dist/chunks/KHR_materials_clearcoat-Ba4YQg1H.esm.js +0 -96
  242. package/dist/chunks/KHR_materials_clearcoat-Ba4YQg1H.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_clearcoat-JK2b7sFJ.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_clearcoat-JK2b7sFJ.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_diffuse_transmission-DApSwWKf.esm.js +0 -97
  246. package/dist/chunks/KHR_materials_diffuse_transmission-DApSwWKf.esm.js.map +0 -1
  247. package/dist/chunks/KHR_materials_diffuse_transmission-bVzBmVfS.esm.min.js +0 -2
  248. package/dist/chunks/KHR_materials_diffuse_transmission-bVzBmVfS.esm.min.js.map +0 -1
  249. package/dist/chunks/KHR_materials_dispersion-BHwE2Zuq.esm.js +0 -62
  250. package/dist/chunks/KHR_materials_dispersion-BHwE2Zuq.esm.js.map +0 -1
  251. package/dist/chunks/KHR_materials_dispersion-DGnPLyh8.esm.min.js +0 -2
  252. package/dist/chunks/KHR_materials_dispersion-DGnPLyh8.esm.min.js.map +0 -1
  253. package/dist/chunks/KHR_materials_emissive_strength-Gt6fUiEq.esm.min.js +0 -2
  254. package/dist/chunks/KHR_materials_emissive_strength-Gt6fUiEq.esm.min.js.map +0 -1
  255. package/dist/chunks/KHR_materials_emissive_strength-lAx8FBj1.esm.js +0 -55
  256. package/dist/chunks/KHR_materials_emissive_strength-lAx8FBj1.esm.js.map +0 -1
  257. package/dist/chunks/KHR_materials_ior-BPBE1bfb.esm.js +0 -64
  258. package/dist/chunks/KHR_materials_ior-BPBE1bfb.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_ior-CVLjHo_d.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_ior-CVLjHo_d.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_iridescence-CS0J-SHj.esm.js +0 -72
  262. package/dist/chunks/KHR_materials_iridescence-CS0J-SHj.esm.js.map +0 -1
  263. package/dist/chunks/KHR_materials_iridescence-HDqTC5c6.esm.min.js +0 -2
  264. package/dist/chunks/KHR_materials_iridescence-HDqTC5c6.esm.min.js.map +0 -1
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-C_4MAuDj.esm.js +0 -81
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-C_4MAuDj.esm.js.map +0 -1
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-pWJRVA-C.esm.min.js +0 -2
  268. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-pWJRVA-C.esm.min.js.map +0 -1
  269. package/dist/chunks/KHR_materials_sheen-BrzXyxI9.esm.js +0 -85
  270. package/dist/chunks/KHR_materials_sheen-BrzXyxI9.esm.js.map +0 -1
  271. package/dist/chunks/KHR_materials_sheen-vYnhqBGA.esm.min.js +0 -2
  272. package/dist/chunks/KHR_materials_sheen-vYnhqBGA.esm.min.js.map +0 -1
  273. package/dist/chunks/KHR_materials_specular-Blup6EfD.esm.min.js +0 -2
  274. package/dist/chunks/KHR_materials_specular-Blup6EfD.esm.min.js.map +0 -1
  275. package/dist/chunks/KHR_materials_specular-Dl2VI7fY.esm.js +0 -75
  276. package/dist/chunks/KHR_materials_specular-Dl2VI7fY.esm.js.map +0 -1
  277. package/dist/chunks/KHR_materials_transmission-C0KlwPCn.esm.min.js +0 -2
  278. package/dist/chunks/KHR_materials_transmission-C0KlwPCn.esm.min.js.map +0 -1
  279. package/dist/chunks/KHR_materials_transmission-C8oapAD3.esm.js +0 -307
  280. package/dist/chunks/KHR_materials_transmission-C8oapAD3.esm.js.map +0 -1
  281. package/dist/chunks/KHR_materials_unlit-B0fpQ4zR.esm.js +0 -74
  282. package/dist/chunks/KHR_materials_unlit-B0fpQ4zR.esm.js.map +0 -1
  283. package/dist/chunks/KHR_materials_unlit-DTHggpW9.esm.min.js +0 -2
  284. package/dist/chunks/KHR_materials_unlit-DTHggpW9.esm.min.js.map +0 -1
  285. package/dist/chunks/KHR_materials_variants-BwBEEg3F.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_variants-BwBEEg3F.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_variants-kqYAN68R.esm.js +0 -262
  288. package/dist/chunks/KHR_materials_variants-kqYAN68R.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_volume-Bv-dIh0a.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_volume-Bv-dIh0a.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_volume-ti6cJURc.esm.js +0 -87
  292. package/dist/chunks/KHR_materials_volume-ti6cJURc.esm.js.map +0 -1
  293. package/dist/chunks/KHR_mesh_quantization-nNbC_EwK.esm.js +0 -26
  294. package/dist/chunks/KHR_mesh_quantization-nNbC_EwK.esm.js.map +0 -1
  295. package/dist/chunks/KHR_mesh_quantization-vSwEFku8.esm.min.js +0 -2
  296. package/dist/chunks/KHR_mesh_quantization-vSwEFku8.esm.min.js.map +0 -1
  297. package/dist/chunks/KHR_node_visibility-DLtO1RxY.esm.js +0 -46
  298. package/dist/chunks/KHR_node_visibility-DLtO1RxY.esm.js.map +0 -1
  299. package/dist/chunks/KHR_node_visibility-Hxj5EM8p.esm.min.js +0 -2
  300. package/dist/chunks/KHR_node_visibility-Hxj5EM8p.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_texture_basisu-CqMHceY7.esm.min.js +0 -2
  302. package/dist/chunks/KHR_texture_basisu-CqMHceY7.esm.min.js.map +0 -1
  303. package/dist/chunks/KHR_texture_basisu-lMocQO9p.esm.js +0 -43
  304. package/dist/chunks/KHR_texture_basisu-lMocQO9p.esm.js.map +0 -1
  305. package/dist/chunks/KHR_texture_transform-CgdcLEoa.esm.min.js +0 -2
  306. package/dist/chunks/KHR_texture_transform-CgdcLEoa.esm.min.js.map +0 -1
  307. package/dist/chunks/KHR_texture_transform-n58ZXRS4.esm.js +0 -63
  308. package/dist/chunks/KHR_texture_transform-n58ZXRS4.esm.js.map +0 -1
  309. package/dist/chunks/KHR_xmp_json_ld-B7jCJySU.esm.js +0 -51
  310. package/dist/chunks/KHR_xmp_json_ld-B7jCJySU.esm.js.map +0 -1
  311. package/dist/chunks/KHR_xmp_json_ld-D1U6cvWk.esm.min.js +0 -2
  312. package/dist/chunks/KHR_xmp_json_ld-D1U6cvWk.esm.min.js.map +0 -1
  313. package/dist/chunks/MSFT_audio_emitter-BzxTfMT_.esm.min.js +0 -2
  314. package/dist/chunks/MSFT_audio_emitter-BzxTfMT_.esm.min.js.map +0 -1
  315. package/dist/chunks/MSFT_audio_emitter-LEhFqqYK.esm.js +0 -2207
  316. package/dist/chunks/MSFT_audio_emitter-LEhFqqYK.esm.js.map +0 -1
  317. package/dist/chunks/MSFT_lod-BM-YMVLd.esm.min.js +0 -2
  318. package/dist/chunks/MSFT_lod-BM-YMVLd.esm.min.js.map +0 -1
  319. package/dist/chunks/MSFT_lod-D2q1R8JN.esm.js +0 -337
  320. package/dist/chunks/MSFT_lod-D2q1R8JN.esm.js.map +0 -1
  321. package/dist/chunks/MSFT_minecraftMesh-DC1fcmHe.esm.js +0 -46
  322. package/dist/chunks/MSFT_minecraftMesh-DC1fcmHe.esm.js.map +0 -1
  323. package/dist/chunks/MSFT_minecraftMesh-XCJ5CDu9.esm.min.js +0 -2
  324. package/dist/chunks/MSFT_minecraftMesh-XCJ5CDu9.esm.min.js.map +0 -1
  325. package/dist/chunks/MSFT_sRGBFactors-Bd7tUhaC.esm.min.js +0 -2
  326. package/dist/chunks/MSFT_sRGBFactors-Bd7tUhaC.esm.min.js.map +0 -1
  327. package/dist/chunks/MSFT_sRGBFactors-DmtVowk1.esm.js +0 -47
  328. package/dist/chunks/MSFT_sRGBFactors-DmtVowk1.esm.js.map +0 -1
  329. package/dist/chunks/animationGroup-BbuLg7k8.esm.min.js +0 -2
  330. package/dist/chunks/animationGroup-BbuLg7k8.esm.min.js.map +0 -1
  331. package/dist/chunks/animationGroup-CUTGQiZ_.esm.js +0 -2482
  332. package/dist/chunks/animationGroup-CUTGQiZ_.esm.js.map +0 -1
  333. package/dist/chunks/assetContainer-C6ncSoIo.esm.js +0 -1720
  334. package/dist/chunks/assetContainer-C6ncSoIo.esm.js.map +0 -1
  335. package/dist/chunks/assetContainer-UT1ioCCO.esm.min.js +0 -2
  336. package/dist/chunks/assetContainer-UT1ioCCO.esm.min.js.map +0 -1
  337. package/dist/chunks/audioEngine-DoYHGumM.esm.min.js +0 -2
  338. package/dist/chunks/audioEngine-DoYHGumM.esm.min.js.map +0 -1
  339. package/dist/chunks/audioEngine-DyDIVcOT.esm.js +0 -305
  340. package/dist/chunks/audioEngine-DyDIVcOT.esm.js.map +0 -1
  341. package/dist/chunks/bakedVertexAnimation-C2uRoeRk.esm.min.js +0 -2
  342. package/dist/chunks/bakedVertexAnimation-C2uRoeRk.esm.min.js.map +0 -1
  343. package/dist/chunks/bakedVertexAnimation-D_-fGGra.esm.js +0 -114
  344. package/dist/chunks/bakedVertexAnimation-D_-fGGra.esm.js.map +0 -1
  345. package/dist/chunks/basisTextureLoader-B-Qq9Phl.esm.min.js +0 -2
  346. package/dist/chunks/basisTextureLoader-B-Qq9Phl.esm.min.js.map +0 -1
  347. package/dist/chunks/basisTextureLoader-DUlYrghk.esm.js +0 -600
  348. package/dist/chunks/basisTextureLoader-DUlYrghk.esm.js.map +0 -1
  349. package/dist/chunks/dds-D7BAf2ic.esm.min.js +0 -2
  350. package/dist/chunks/dds-D7BAf2ic.esm.min.js.map +0 -1
  351. package/dist/chunks/dds-ZmhdYHuo.esm.js +0 -540
  352. package/dist/chunks/dds-ZmhdYHuo.esm.js.map +0 -1
  353. package/dist/chunks/ddsTextureLoader-BUSqGvB5.esm.min.js +0 -2
  354. package/dist/chunks/ddsTextureLoader-BUSqGvB5.esm.min.js.map +0 -1
  355. package/dist/chunks/ddsTextureLoader-lyR7HTBM.esm.js +0 -88
  356. package/dist/chunks/ddsTextureLoader-lyR7HTBM.esm.js.map +0 -1
  357. package/dist/chunks/decalFragment-C2QiN6EX.esm.js +0 -18
  358. package/dist/chunks/decalFragment-C2QiN6EX.esm.js.map +0 -1
  359. package/dist/chunks/decalFragment-CRRYl1jQ.esm.min.js +0 -2
  360. package/dist/chunks/decalFragment-CRRYl1jQ.esm.min.js.map +0 -1
  361. package/dist/chunks/default.fragment-CH_Cf0sg.esm.min.js +0 -2
  362. package/dist/chunks/default.fragment-CH_Cf0sg.esm.min.js.map +0 -1
  363. package/dist/chunks/default.fragment-CeJlEO99.esm.js +0 -497
  364. package/dist/chunks/default.fragment-CeJlEO99.esm.js.map +0 -1
  365. package/dist/chunks/default.fragment-D6wAQMB6.esm.js +0 -433
  366. package/dist/chunks/default.fragment-D6wAQMB6.esm.js.map +0 -1
  367. package/dist/chunks/default.fragment-Eu9BdybI.esm.min.js +0 -2
  368. package/dist/chunks/default.fragment-Eu9BdybI.esm.min.js.map +0 -1
  369. package/dist/chunks/default.vertex-BOe-Kjvn.esm.js +0 -181
  370. package/dist/chunks/default.vertex-BOe-Kjvn.esm.js.map +0 -1
  371. package/dist/chunks/default.vertex-C65fzv7q.esm.min.js +0 -2
  372. package/dist/chunks/default.vertex-C65fzv7q.esm.min.js.map +0 -1
  373. package/dist/chunks/default.vertex-DA6OA-ns.esm.min.js +0 -2
  374. package/dist/chunks/default.vertex-DA6OA-ns.esm.min.js.map +0 -1
  375. package/dist/chunks/default.vertex-wQDPvDxP.esm.js +0 -201
  376. package/dist/chunks/default.vertex-wQDPvDxP.esm.js.map +0 -1
  377. package/dist/chunks/defaultUboDeclaration-C3dmsgEl.esm.min.js +0 -2
  378. package/dist/chunks/defaultUboDeclaration-C3dmsgEl.esm.min.js.map +0 -1
  379. package/dist/chunks/defaultUboDeclaration-DpFhcCJ9.esm.js +0 -13
  380. package/dist/chunks/defaultUboDeclaration-DpFhcCJ9.esm.js.map +0 -1
  381. package/dist/chunks/defaultUboDeclaration-g0TiNDph.esm.min.js +0 -2
  382. package/dist/chunks/defaultUboDeclaration-g0TiNDph.esm.min.js.map +0 -1
  383. package/dist/chunks/defaultUboDeclaration-oUV2JdnL.esm.js +0 -15
  384. package/dist/chunks/defaultUboDeclaration-oUV2JdnL.esm.js.map +0 -1
  385. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  386. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  387. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  388. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  389. package/dist/chunks/dumpTools-B6MNdEIl.esm.min.js +0 -2
  390. package/dist/chunks/dumpTools-B6MNdEIl.esm.min.js.map +0 -1
  391. package/dist/chunks/dumpTools-BU3EvlD1.esm.js +0 -200
  392. package/dist/chunks/dumpTools-BU3EvlD1.esm.js.map +0 -1
  393. package/dist/chunks/engine-NQcIyL-Q.esm.min.js +0 -2
  394. package/dist/chunks/engine-NQcIyL-Q.esm.min.js.map +0 -1
  395. package/dist/chunks/engine-cANzfga8.esm.js +0 -2216
  396. package/dist/chunks/engine-cANzfga8.esm.js.map +0 -1
  397. package/dist/chunks/engine.common-CgTYVFKn.esm.min.js +0 -2
  398. package/dist/chunks/engine.common-CgTYVFKn.esm.min.js.map +0 -1
  399. package/dist/chunks/engine.common-NSpwQjFN.esm.js +0 -1162
  400. package/dist/chunks/engine.common-NSpwQjFN.esm.js.map +0 -1
  401. package/dist/chunks/envTextureLoader-C84j5KQb.esm.min.js +0 -2
  402. package/dist/chunks/envTextureLoader-C84j5KQb.esm.min.js.map +0 -1
  403. package/dist/chunks/envTextureLoader-RyHxf-NC.esm.js +0 -64
  404. package/dist/chunks/envTextureLoader-RyHxf-NC.esm.js.map +0 -1
  405. package/dist/chunks/environmentTextureTools-ZC_2VGoT.esm.js +0 -382
  406. package/dist/chunks/environmentTextureTools-ZC_2VGoT.esm.js.map +0 -1
  407. package/dist/chunks/environmentTextureTools-xEIMmgGs.esm.min.js +0 -2
  408. package/dist/chunks/environmentTextureTools-xEIMmgGs.esm.min.js.map +0 -1
  409. package/dist/chunks/exrTextureLoader-CIM4Pp17.esm.min.js +0 -2
  410. package/dist/chunks/exrTextureLoader-CIM4Pp17.esm.min.js.map +0 -1
  411. package/dist/chunks/exrTextureLoader-Cat_WsXp.esm.js +0 -1682
  412. package/dist/chunks/exrTextureLoader-Cat_WsXp.esm.js.map +0 -1
  413. package/dist/chunks/fogFragment-BEbpV0WH.esm.js +0 -101
  414. package/dist/chunks/fogFragment-BEbpV0WH.esm.js.map +0 -1
  415. package/dist/chunks/fogFragment-CyuTAIv1.esm.js +0 -102
  416. package/dist/chunks/fogFragment-CyuTAIv1.esm.js.map +0 -1
  417. package/dist/chunks/fogFragment-ORdMXcVF.esm.min.js +0 -2
  418. package/dist/chunks/fogFragment-ORdMXcVF.esm.min.js.map +0 -1
  419. package/dist/chunks/fogFragment-t5lYMUuM.esm.min.js +0 -2
  420. package/dist/chunks/fogFragment-t5lYMUuM.esm.min.js.map +0 -1
  421. package/dist/chunks/fresnelFunction-Duq-aY9I.esm.js +0 -12
  422. package/dist/chunks/fresnelFunction-Duq-aY9I.esm.js.map +0 -1
  423. package/dist/chunks/fresnelFunction-Nl3qJzpP.esm.min.js +0 -2
  424. package/dist/chunks/fresnelFunction-Nl3qJzpP.esm.min.js.map +0 -1
  425. package/dist/chunks/glTFLoader-C-9RyvaX.esm.min.js +0 -2
  426. package/dist/chunks/glTFLoader-C-9RyvaX.esm.min.js.map +0 -1
  427. package/dist/chunks/glTFLoader-CykTOmbH.esm.js +0 -7586
  428. package/dist/chunks/glTFLoader-CykTOmbH.esm.js.map +0 -1
  429. package/dist/chunks/glTFLoaderAnimation-CuAlGu9L.esm.min.js +0 -2
  430. package/dist/chunks/glTFLoaderAnimation-CuAlGu9L.esm.min.js.map +0 -1
  431. package/dist/chunks/glTFLoaderAnimation-D-9sO0SL.esm.js +0 -77
  432. package/dist/chunks/glTFLoaderAnimation-D-9sO0SL.esm.js.map +0 -1
  433. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  434. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  435. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  436. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  437. package/dist/chunks/harmonicsFunctions-63iSgVvj.esm.js +0 -35
  438. package/dist/chunks/harmonicsFunctions-63iSgVvj.esm.js.map +0 -1
  439. package/dist/chunks/harmonicsFunctions-Bii0v1dl.esm.js +0 -34
  440. package/dist/chunks/harmonicsFunctions-Bii0v1dl.esm.js.map +0 -1
  441. package/dist/chunks/harmonicsFunctions-ClUsZp0R.esm.min.js +0 -2
  442. package/dist/chunks/harmonicsFunctions-ClUsZp0R.esm.min.js.map +0 -1
  443. package/dist/chunks/harmonicsFunctions-CtfPmn2Q.esm.min.js +0 -2
  444. package/dist/chunks/harmonicsFunctions-CtfPmn2Q.esm.min.js.map +0 -1
  445. package/dist/chunks/hdrTextureLoader-BN6Y1Lut.esm.js +0 -252
  446. package/dist/chunks/hdrTextureLoader-BN6Y1Lut.esm.js.map +0 -1
  447. package/dist/chunks/hdrTextureLoader-D7RuoX9t.esm.min.js +0 -2
  448. package/dist/chunks/hdrTextureLoader-D7RuoX9t.esm.min.js.map +0 -1
  449. package/dist/chunks/helperFunctions-BEzjtVd_.esm.js +0 -108
  450. package/dist/chunks/helperFunctions-BEzjtVd_.esm.js.map +0 -1
  451. package/dist/chunks/helperFunctions-C_Q-8JFf.esm.min.js +0 -2
  452. package/dist/chunks/helperFunctions-C_Q-8JFf.esm.min.js.map +0 -1
  453. package/dist/chunks/helperFunctions-V-OksA1t.esm.min.js +0 -2
  454. package/dist/chunks/helperFunctions-V-OksA1t.esm.min.js.map +0 -1
  455. package/dist/chunks/helperFunctions-uqYfkFNG.esm.js +0 -80
  456. package/dist/chunks/helperFunctions-uqYfkFNG.esm.js.map +0 -1
  457. package/dist/chunks/iesTextureLoader-BnDWgC_d.esm.js +0 -189
  458. package/dist/chunks/iesTextureLoader-BnDWgC_d.esm.js.map +0 -1
  459. package/dist/chunks/iesTextureLoader-Dd9uqoDf.esm.min.js +0 -2
  460. package/dist/chunks/iesTextureLoader-Dd9uqoDf.esm.min.js.map +0 -1
  461. package/dist/chunks/index-Byr0e55i.esm.min.js +0 -57
  462. package/dist/chunks/index-Byr0e55i.esm.min.js.map +0 -1
  463. package/dist/chunks/index-D2PRSJU-.esm.js +0 -74617
  464. package/dist/chunks/index-D2PRSJU-.esm.js.map +0 -1
  465. package/dist/chunks/ktxTextureLoader-Bedd6RF1.esm.js +0 -814
  466. package/dist/chunks/ktxTextureLoader-Bedd6RF1.esm.js.map +0 -1
  467. package/dist/chunks/ktxTextureLoader-ChbvKkT1.esm.min.js +0 -2
  468. package/dist/chunks/ktxTextureLoader-ChbvKkT1.esm.min.js.map +0 -1
  469. package/dist/chunks/logDepthDeclaration-Bwk-jsOX.esm.js +0 -35
  470. package/dist/chunks/logDepthDeclaration-Bwk-jsOX.esm.js.map +0 -1
  471. package/dist/chunks/logDepthDeclaration-C36eoW9x.esm.min.js +0 -2
  472. package/dist/chunks/logDepthDeclaration-C36eoW9x.esm.min.js.map +0 -1
  473. package/dist/chunks/logDepthDeclaration-D_W5O6rS.esm.min.js +0 -2
  474. package/dist/chunks/logDepthDeclaration-D_W5O6rS.esm.min.js.map +0 -1
  475. package/dist/chunks/logDepthDeclaration-DoIMFd5A.esm.js +0 -11
  476. package/dist/chunks/logDepthDeclaration-DoIMFd5A.esm.js.map +0 -1
  477. package/dist/chunks/logDepthVertex-BWGbf5vd.esm.js +0 -77
  478. package/dist/chunks/logDepthVertex-BWGbf5vd.esm.js.map +0 -1
  479. package/dist/chunks/logDepthVertex-BXDRiqLA.esm.min.js +0 -2
  480. package/dist/chunks/logDepthVertex-BXDRiqLA.esm.min.js.map +0 -1
  481. package/dist/chunks/logDepthVertex-B_gpAch8.esm.js +0 -77
  482. package/dist/chunks/logDepthVertex-B_gpAch8.esm.js.map +0 -1
  483. package/dist/chunks/logDepthVertex-D1HEmqMB.esm.min.js +0 -2
  484. package/dist/chunks/logDepthVertex-D1HEmqMB.esm.min.js.map +0 -1
  485. package/dist/chunks/mainUVVaryingDeclaration-D8J40nds.esm.min.js +0 -2
  486. package/dist/chunks/mainUVVaryingDeclaration-D8J40nds.esm.min.js.map +0 -1
  487. package/dist/chunks/mainUVVaryingDeclaration-DbkJ4skP.esm.js +0 -11
  488. package/dist/chunks/mainUVVaryingDeclaration-DbkJ4skP.esm.js.map +0 -1
  489. package/dist/chunks/mainUVVaryingDeclaration-DyHSx4Dw.esm.min.js +0 -2
  490. package/dist/chunks/mainUVVaryingDeclaration-DyHSx4Dw.esm.min.js.map +0 -1
  491. package/dist/chunks/mainUVVaryingDeclaration-MPfCNdn8.esm.js +0 -11
  492. package/dist/chunks/mainUVVaryingDeclaration-MPfCNdn8.esm.js.map +0 -1
  493. package/dist/chunks/meshUboDeclaration-BVXOzRuY.esm.js +0 -24
  494. package/dist/chunks/meshUboDeclaration-BVXOzRuY.esm.js.map +0 -1
  495. package/dist/chunks/meshUboDeclaration-Ddel-wFh.esm.min.js +0 -2
  496. package/dist/chunks/meshUboDeclaration-Ddel-wFh.esm.min.js.map +0 -1
  497. package/dist/chunks/objFileLoader-CXbhBn7S.esm.min.js +0 -2
  498. package/dist/chunks/objFileLoader-CXbhBn7S.esm.min.js.map +0 -1
  499. package/dist/chunks/objFileLoader-CoVXAnQJ.esm.js +0 -1338
  500. package/dist/chunks/objFileLoader-CoVXAnQJ.esm.js.map +0 -1
  501. package/dist/chunks/oitFragment-BD3r8JAq.esm.min.js +0 -2
  502. package/dist/chunks/oitFragment-BD3r8JAq.esm.min.js.map +0 -1
  503. package/dist/chunks/oitFragment-BbXBMuId.esm.js +0 -1051
  504. package/dist/chunks/oitFragment-BbXBMuId.esm.js.map +0 -1
  505. package/dist/chunks/oitFragment-C2GwnhPD.esm.min.js +0 -2
  506. package/dist/chunks/oitFragment-C2GwnhPD.esm.min.js.map +0 -1
  507. package/dist/chunks/oitFragment-CRPgfH4O.esm.js +0 -1210
  508. package/dist/chunks/oitFragment-CRPgfH4O.esm.js.map +0 -1
  509. package/dist/chunks/pass.fragment-BcR_nZ4s.esm.js +0 -15
  510. package/dist/chunks/pass.fragment-BcR_nZ4s.esm.js.map +0 -1
  511. package/dist/chunks/pass.fragment-CRhtnpSG.esm.min.js +0 -2
  512. package/dist/chunks/pass.fragment-CRhtnpSG.esm.min.js.map +0 -1
  513. package/dist/chunks/pass.fragment-Cey15cSC.esm.min.js +0 -2
  514. package/dist/chunks/pass.fragment-Cey15cSC.esm.min.js.map +0 -1
  515. package/dist/chunks/pass.fragment-DHOBi3Wt.esm.js +0 -15
  516. package/dist/chunks/pass.fragment-DHOBi3Wt.esm.js.map +0 -1
  517. package/dist/chunks/pbr.fragment-BxuhEQ7D.esm.min.js +0 -2
  518. package/dist/chunks/pbr.fragment-BxuhEQ7D.esm.min.js.map +0 -1
  519. package/dist/chunks/pbr.fragment-CC-b5JTF.esm.min.js +0 -2
  520. package/dist/chunks/pbr.fragment-CC-b5JTF.esm.min.js.map +0 -1
  521. package/dist/chunks/pbr.fragment-DmzKiwUI.esm.js +0 -3270
  522. package/dist/chunks/pbr.fragment-DmzKiwUI.esm.js.map +0 -1
  523. package/dist/chunks/pbr.fragment-gRf3Ac1s.esm.js +0 -3230
  524. package/dist/chunks/pbr.fragment-gRf3Ac1s.esm.js.map +0 -1
  525. package/dist/chunks/pbr.vertex-55OushdY.esm.min.js +0 -2
  526. package/dist/chunks/pbr.vertex-55OushdY.esm.min.js.map +0 -1
  527. package/dist/chunks/pbr.vertex-BGZL1vqU.esm.js +0 -214
  528. package/dist/chunks/pbr.vertex-BGZL1vqU.esm.js.map +0 -1
  529. package/dist/chunks/pbr.vertex-BhHlxTgg.esm.min.js +0 -2
  530. package/dist/chunks/pbr.vertex-BhHlxTgg.esm.min.js.map +0 -1
  531. package/dist/chunks/pbr.vertex-D_ImdfjS.esm.js +0 -338
  532. package/dist/chunks/pbr.vertex-D_ImdfjS.esm.js.map +0 -1
  533. package/dist/chunks/postprocess.vertex-BvTgsCF2.esm.js +0 -20
  534. package/dist/chunks/postprocess.vertex-BvTgsCF2.esm.js.map +0 -1
  535. package/dist/chunks/postprocess.vertex-DejxEyI8.esm.min.js +0 -2
  536. package/dist/chunks/postprocess.vertex-DejxEyI8.esm.min.js.map +0 -1
  537. package/dist/chunks/rawTexture-CtZPcsCK.esm.js +0 -191
  538. package/dist/chunks/rawTexture-CtZPcsCK.esm.js.map +0 -1
  539. package/dist/chunks/rawTexture-DiLjtdps.esm.min.js +0 -2
  540. package/dist/chunks/rawTexture-DiLjtdps.esm.min.js.map +0 -1
  541. package/dist/chunks/ray-CUy1_LbY.esm.js +0 -946
  542. package/dist/chunks/ray-CUy1_LbY.esm.js.map +0 -1
  543. package/dist/chunks/ray-CyeV6FXS.esm.min.js +0 -2
  544. package/dist/chunks/ray-CyeV6FXS.esm.min.js.map +0 -1
  545. package/dist/chunks/rgbdDecode.fragment-9u3cq_-K.esm.min.js +0 -2
  546. package/dist/chunks/rgbdDecode.fragment-9u3cq_-K.esm.min.js.map +0 -1
  547. package/dist/chunks/rgbdDecode.fragment-DuoYEzSR.esm.min.js +0 -2
  548. package/dist/chunks/rgbdDecode.fragment-DuoYEzSR.esm.min.js.map +0 -1
  549. package/dist/chunks/rgbdDecode.fragment-gOeaxG0m.esm.js +0 -17
  550. package/dist/chunks/rgbdDecode.fragment-gOeaxG0m.esm.js.map +0 -1
  551. package/dist/chunks/rgbdDecode.fragment-w-H1DVHn.esm.js +0 -17
  552. package/dist/chunks/rgbdDecode.fragment-w-H1DVHn.esm.js.map +0 -1
  553. package/dist/chunks/rgbdEncode.fragment-CUhBDVEY.esm.js +0 -17
  554. package/dist/chunks/rgbdEncode.fragment-CUhBDVEY.esm.js.map +0 -1
  555. package/dist/chunks/rgbdEncode.fragment-CtTGJV2i.esm.js +0 -17
  556. package/dist/chunks/rgbdEncode.fragment-CtTGJV2i.esm.js.map +0 -1
  557. package/dist/chunks/rgbdEncode.fragment-DN2pQGj8.esm.min.js +0 -2
  558. package/dist/chunks/rgbdEncode.fragment-DN2pQGj8.esm.min.js.map +0 -1
  559. package/dist/chunks/rgbdEncode.fragment-DUTaQRsu.esm.min.js +0 -2
  560. package/dist/chunks/rgbdEncode.fragment-DUTaQRsu.esm.min.js.map +0 -1
  561. package/dist/chunks/splatFileLoader-CX6JcFzg.esm.min.js +0 -2
  562. package/dist/chunks/splatFileLoader-CX6JcFzg.esm.min.js.map +0 -1
  563. package/dist/chunks/splatFileLoader-CXNzuJGe.esm.js +0 -3371
  564. package/dist/chunks/splatFileLoader-CXNzuJGe.esm.js.map +0 -1
  565. package/dist/chunks/standardMaterial-BpN5HUFh.esm.js +0 -1805
  566. package/dist/chunks/standardMaterial-BpN5HUFh.esm.js.map +0 -1
  567. package/dist/chunks/standardMaterial-DeIP1NOH.esm.min.js +0 -2
  568. package/dist/chunks/standardMaterial-DeIP1NOH.esm.min.js.map +0 -1
  569. package/dist/chunks/stlFileLoader-CfoonZSR.esm.min.js +0 -2
  570. package/dist/chunks/stlFileLoader-CfoonZSR.esm.min.js.map +0 -1
  571. package/dist/chunks/stlFileLoader-wSWgG8JA.esm.js +0 -238
  572. package/dist/chunks/stlFileLoader-wSWgG8JA.esm.js.map +0 -1
  573. package/dist/chunks/tgaTextureLoader-BYE4YDgZ.esm.js +0 -349
  574. package/dist/chunks/tgaTextureLoader-BYE4YDgZ.esm.js.map +0 -1
  575. package/dist/chunks/tgaTextureLoader-B_XpR0K4.esm.min.js +0 -2
  576. package/dist/chunks/tgaTextureLoader-B_XpR0K4.esm.min.js.map +0 -1
  577. package/dist/chunks/thinEngine-8iySwqjd.esm.js +0 -3842
  578. package/dist/chunks/thinEngine-8iySwqjd.esm.js.map +0 -1
  579. package/dist/chunks/thinEngine-Du1ndWJI.esm.min.js +0 -2
  580. package/dist/chunks/thinEngine-Du1ndWJI.esm.min.js.map +0 -1
  581. package/dist/chunks/thinInstanceMesh-DtDpOkPl.esm.js +0 -314
  582. package/dist/chunks/thinInstanceMesh-DtDpOkPl.esm.js.map +0 -1
  583. package/dist/chunks/thinInstanceMesh-t0q7wKPC.esm.min.js +0 -2
  584. package/dist/chunks/thinInstanceMesh-t0q7wKPC.esm.min.js.map +0 -1
  585. package/dist/chunks/vertexColorMixing-BN_Xutz8.esm.min.js +0 -2
  586. package/dist/chunks/vertexColorMixing-BN_Xutz8.esm.min.js.map +0 -1
  587. package/dist/chunks/vertexColorMixing-C5mIujwe.esm.js +0 -412
  588. package/dist/chunks/vertexColorMixing-C5mIujwe.esm.js.map +0 -1
  589. package/dist/chunks/vertexColorMixing-CiQhM5F5.esm.js +0 -522
  590. package/dist/chunks/vertexColorMixing-CiQhM5F5.esm.js.map +0 -1
  591. package/dist/chunks/vertexColorMixing-CvT4MVXg.esm.min.js +0 -2
  592. package/dist/chunks/vertexColorMixing-CvT4MVXg.esm.min.js.map +0 -1
  593. package/dist/chunks/webgpuEngine-DN2E-dsv.esm.min.js +0 -2
  594. package/dist/chunks/webgpuEngine-DN2E-dsv.esm.min.js.map +0 -1
  595. package/dist/chunks/webgpuEngine-D_dRHnWD.esm.js +0 -11533
  596. package/dist/chunks/webgpuEngine-D_dRHnWD.esm.js.map +0 -1
  597. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  598. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  599. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  600. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  601. package/docs/ViewerDefault.jpg +0 -0
  602. package/docs/ViewerParts.jpg +0 -0
  603. package/docs/ViewerSlots.jpg +0 -0
  604. package/docs/ViewerStyled.jpg +0 -0
  605. package/lib/index.d.ts +0 -568
  606. package/lib/index.js +0 -2067
  607. package/lib/index.js.map +0 -1
@@ -1,1210 +0,0 @@
1
- import { i as ShaderStore } from './index-D2PRSJU-.esm.js';
2
-
3
- // Do not edit.
4
- const name$g = "prePassDeclaration";
5
- const shader$g = `#ifdef PREPASS
6
- #extension GL_EXT_draw_buffers : require
7
- layout(location=0) out highp vec4 glFragData[{X}];highp vec4 gl_FragColor;
8
- #ifdef PREPASS_LOCAL_POSITION
9
- varying highp vec3 vPosition;
10
- #endif
11
- #ifdef PREPASS_DEPTH
12
- varying highp vec3 vViewPos;
13
- #endif
14
- #if defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)
15
- varying highp vec4 vCurrentPosition;varying highp vec4 vPreviousPosition;
16
- #endif
17
- #endif
18
- `;
19
- // Sideeffect
20
- ShaderStore.IncludesShadersStore[name$g] = shader$g;
21
-
22
- // Do not edit.
23
- const name$f = "oitDeclaration";
24
- const shader$f = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
25
- #extension GL_EXT_draw_buffers : require
26
- layout(location=0) out vec2 depth;
27
- layout(location=1) out vec4 frontColor;layout(location=2) out vec4 backColor;
28
- #define MAX_DEPTH 99999.0
29
- highp vec4 gl_FragColor;uniform sampler2D oitDepthSampler;uniform sampler2D oitFrontColorSampler;
30
- #endif
31
- `;
32
- // Sideeffect
33
- ShaderStore.IncludesShadersStore[name$f] = shader$f;
34
-
35
- // Do not edit.
36
- const name$e = "decalFragmentDeclaration";
37
- const shader$e = `#ifdef DECAL
38
- uniform vec4 vDecalInfos;
39
- #endif
40
- `;
41
- // Sideeffect
42
- ShaderStore.IncludesShadersStore[name$e] = shader$e;
43
-
44
- // Do not edit.
45
- const name$d = "lightFragmentDeclaration";
46
- const shader$d = `#ifdef LIGHT{X}
47
- uniform vec4 vLightData{X};uniform vec4 vLightDiffuse{X};
48
- #ifdef SPECULARTERM
49
- uniform vec4 vLightSpecular{X};
50
- #else
51
- vec4 vLightSpecular{X}=vec4(0.);
52
- #endif
53
- #ifdef SHADOW{X}
54
- #ifdef SHADOWCSM{X}
55
- uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];uniform float viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];uniform float frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];uniform float cascadeBlendFactor{X};varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
56
- #if defined(SHADOWPCSS{X})
57
- uniform highp sampler2DArrayShadow shadowTexture{X};uniform highp sampler2DArray depthTexture{X};uniform vec2 lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float penumbraDarkness{X};
58
- #elif defined(SHADOWPCF{X})
59
- uniform highp sampler2DArrayShadow shadowTexture{X};
60
- #else
61
- uniform highp sampler2DArray shadowTexture{X};
62
- #endif
63
- #ifdef SHADOWCSMDEBUG{X}
64
- const vec3 vCascadeColorsMultiplier{X}[8]=vec3[8]
65
- (
66
- vec3 ( 1.5,0.0,0.0 ),
67
- vec3 ( 0.0,1.5,0.0 ),
68
- vec3 ( 0.0,0.0,5.5 ),
69
- vec3 ( 1.5,0.0,5.5 ),
70
- vec3 ( 1.5,1.5,0.0 ),
71
- vec3 ( 1.0,1.0,1.0 ),
72
- vec3 ( 0.0,1.0,5.5 ),
73
- vec3 ( 0.5,3.5,0.75 )
74
- );vec3 shadowDebug{X};
75
- #endif
76
- #ifdef SHADOWCSMUSESHADOWMAXZ{X}
77
- int index{X}=-1;
78
- #else
79
- int index{X}=SHADOWCSMNUM_CASCADES{X}-1;
80
- #endif
81
- float diff{X}=0.;
82
- #elif defined(SHADOWCUBE{X})
83
- uniform samplerCube shadowTexture{X};
84
- #else
85
- varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};
86
- #if defined(SHADOWPCSS{X})
87
- uniform highp sampler2DShadow shadowTexture{X};uniform highp sampler2D depthTexture{X};
88
- #elif defined(SHADOWPCF{X})
89
- uniform highp sampler2DShadow shadowTexture{X};
90
- #else
91
- uniform sampler2D shadowTexture{X};
92
- #endif
93
- uniform mat4 lightMatrix{X};
94
- #endif
95
- uniform vec4 shadowsInfo{X};uniform vec2 depthValues{X};
96
- #endif
97
- #ifdef SPOTLIGHT{X}
98
- uniform vec4 vLightDirection{X};uniform vec4 vLightFalloff{X};
99
- #elif defined(POINTLIGHT{X})
100
- uniform vec4 vLightFalloff{X};
101
- #elif defined(HEMILIGHT{X})
102
- uniform vec3 vLightGround{X};
103
- #endif
104
- #ifdef PROJECTEDLIGHTTEXTURE{X}
105
- uniform mat4 textureProjectionMatrix{X};uniform sampler2D projectionLightTexture{X};
106
- #endif
107
- #endif
108
- `;
109
- // Sideeffect
110
- ShaderStore.IncludesShadersStore[name$d] = shader$d;
111
-
112
- // Do not edit.
113
- const name$c = "lightUboDeclaration";
114
- const shader$c = `#ifdef LIGHT{X}
115
- uniform Light{X}
116
- {vec4 vLightData;vec4 vLightDiffuse;vec4 vLightSpecular;
117
- #ifdef SPOTLIGHT{X}
118
- vec4 vLightDirection;vec4 vLightFalloff;
119
- #elif defined(POINTLIGHT{X})
120
- vec4 vLightFalloff;
121
- #elif defined(HEMILIGHT{X})
122
- vec3 vLightGround;
123
- #endif
124
- vec4 shadowsInfo;vec2 depthValues;} light{X};
125
- #ifdef PROJECTEDLIGHTTEXTURE{X}
126
- uniform mat4 textureProjectionMatrix{X};uniform sampler2D projectionLightTexture{X};
127
- #endif
128
- #ifdef SHADOW{X}
129
- #ifdef SHADOWCSM{X}
130
- uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];uniform float viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];uniform float frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];uniform float cascadeBlendFactor{X};varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
131
- #if defined(SHADOWPCSS{X})
132
- uniform highp sampler2DArrayShadow shadowTexture{X};uniform highp sampler2DArray depthTexture{X};uniform vec2 lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];uniform float penumbraDarkness{X};
133
- #elif defined(SHADOWPCF{X})
134
- uniform highp sampler2DArrayShadow shadowTexture{X};
135
- #else
136
- uniform highp sampler2DArray shadowTexture{X};
137
- #endif
138
- #ifdef SHADOWCSMDEBUG{X}
139
- const vec3 vCascadeColorsMultiplier{X}[8]=vec3[8]
140
- (
141
- vec3 ( 1.5,0.0,0.0 ),
142
- vec3 ( 0.0,1.5,0.0 ),
143
- vec3 ( 0.0,0.0,5.5 ),
144
- vec3 ( 1.5,0.0,5.5 ),
145
- vec3 ( 1.5,1.5,0.0 ),
146
- vec3 ( 1.0,1.0,1.0 ),
147
- vec3 ( 0.0,1.0,5.5 ),
148
- vec3 ( 0.5,3.5,0.75 )
149
- );vec3 shadowDebug{X};
150
- #endif
151
- #ifdef SHADOWCSMUSESHADOWMAXZ{X}
152
- int index{X}=-1;
153
- #else
154
- int index{X}=SHADOWCSMNUM_CASCADES{X}-1;
155
- #endif
156
- float diff{X}=0.;
157
- #elif defined(SHADOWCUBE{X})
158
- uniform samplerCube shadowTexture{X};
159
- #else
160
- varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};
161
- #if defined(SHADOWPCSS{X})
162
- uniform highp sampler2DShadow shadowTexture{X};uniform highp sampler2D depthTexture{X};
163
- #elif defined(SHADOWPCF{X})
164
- uniform highp sampler2DShadow shadowTexture{X};
165
- #else
166
- uniform sampler2D shadowTexture{X};
167
- #endif
168
- uniform mat4 lightMatrix{X};
169
- #endif
170
- #endif
171
- #endif
172
- `;
173
- // Sideeffect
174
- ShaderStore.IncludesShadersStore[name$c] = shader$c;
175
-
176
- // Do not edit.
177
- const name$b = "samplerFragmentDeclaration";
178
- const shader$b = `#ifdef _DEFINENAME_
179
- #if _DEFINENAME_DIRECTUV==1
180
- #define v_VARYINGNAME_UV vMainUV1
181
- #elif _DEFINENAME_DIRECTUV==2
182
- #define v_VARYINGNAME_UV vMainUV2
183
- #elif _DEFINENAME_DIRECTUV==3
184
- #define v_VARYINGNAME_UV vMainUV3
185
- #elif _DEFINENAME_DIRECTUV==4
186
- #define v_VARYINGNAME_UV vMainUV4
187
- #elif _DEFINENAME_DIRECTUV==5
188
- #define v_VARYINGNAME_UV vMainUV5
189
- #elif _DEFINENAME_DIRECTUV==6
190
- #define v_VARYINGNAME_UV vMainUV6
191
- #else
192
- varying vec2 v_VARYINGNAME_UV;
193
- #endif
194
- uniform sampler2D _SAMPLERNAME_Sampler;
195
- #endif
196
- `;
197
- // Sideeffect
198
- ShaderStore.IncludesShadersStore[name$b] = shader$b;
199
-
200
- // Do not edit.
201
- const name$a = "imageProcessingDeclaration";
202
- const shader$a = `#ifdef EXPOSURE
203
- uniform float exposureLinear;
204
- #endif
205
- #ifdef CONTRAST
206
- uniform float contrast;
207
- #endif
208
- #if defined(VIGNETTE) || defined(DITHER)
209
- uniform vec2 vInverseScreenSize;
210
- #endif
211
- #ifdef VIGNETTE
212
- uniform vec4 vignetteSettings1;uniform vec4 vignetteSettings2;
213
- #endif
214
- #ifdef COLORCURVES
215
- uniform vec4 vCameraColorCurveNegative;uniform vec4 vCameraColorCurveNeutral;uniform vec4 vCameraColorCurvePositive;
216
- #endif
217
- #ifdef COLORGRADING
218
- #ifdef COLORGRADING3D
219
- uniform highp sampler3D txColorTransform;
220
- #else
221
- uniform sampler2D txColorTransform;
222
- #endif
223
- uniform vec4 colorTransformSettings;
224
- #endif
225
- #ifdef DITHER
226
- uniform float ditherIntensity;
227
- #endif
228
- `;
229
- // Sideeffect
230
- ShaderStore.IncludesShadersStore[name$a] = shader$a;
231
-
232
- // Do not edit.
233
- const name$9 = "imageProcessingFunctions";
234
- const shader$9 = `#if defined(COLORGRADING) && !defined(COLORGRADING3D)
235
- /**
236
- * Polyfill for SAMPLE_TEXTURE_3D,which is unsupported in WebGL.
237
- * sampler3dSetting.x=textureOffset (0.5/textureSize).
238
- * sampler3dSetting.y=textureSize.
239
- */
240
- #define inline
241
- vec3 sampleTexture3D(sampler2D colorTransform,vec3 color,vec2 sampler3dSetting)
242
- {float sliceSize=2.0*sampler3dSetting.x;
243
- #ifdef SAMPLER3DGREENDEPTH
244
- float sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;
245
- #else
246
- float sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;
247
- #endif
248
- float sliceInteger=floor(sliceContinuous);float sliceFraction=sliceContinuous-sliceInteger;
249
- #ifdef SAMPLER3DGREENDEPTH
250
- vec2 sliceUV=color.rb;
251
- #else
252
- vec2 sliceUV=color.rg;
253
- #endif
254
- sliceUV.x*=sliceSize;sliceUV.x+=sliceInteger*sliceSize;sliceUV=saturate(sliceUV);vec4 slice0Color=texture2D(colorTransform,sliceUV);sliceUV.x+=sliceSize;sliceUV=saturate(sliceUV);vec4 slice1Color=texture2D(colorTransform,sliceUV);vec3 result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);
255
- #ifdef SAMPLER3DBGRMAP
256
- color.rgb=result.rgb;
257
- #else
258
- color.rgb=result.bgr;
259
- #endif
260
- return color;}
261
- #endif
262
- #if TONEMAPPING==3
263
- const float PBRNeutralStartCompression=0.8-0.04;const float PBRNeutralDesaturation=0.15;vec3 PBRNeutralToneMapping( vec3 color ) {float x=min(color.r,min(color.g,color.b));float offset=x<0.08 ? x-6.25*x*x : 0.04;color-=offset;float peak=max(color.r,max(color.g,color.b));if (peak<PBRNeutralStartCompression) return color;float d=1.-PBRNeutralStartCompression;float newPeak=1.-d*d/(peak+d-PBRNeutralStartCompression);color*=newPeak/peak;float g=1.-1./(PBRNeutralDesaturation*(peak-newPeak)+1.);return mix(color,newPeak*vec3(1,1,1),g);}
264
- #endif
265
- #if TONEMAPPING==2
266
- const mat3 ACESInputMat=mat3(
267
- vec3(0.59719,0.07600,0.02840),
268
- vec3(0.35458,0.90834,0.13383),
269
- vec3(0.04823,0.01566,0.83777)
270
- );const mat3 ACESOutputMat=mat3(
271
- vec3( 1.60475,-0.10208,-0.00327),
272
- vec3(-0.53108, 1.10813,-0.07276),
273
- vec3(-0.07367,-0.00605, 1.07602)
274
- );vec3 RRTAndODTFit(vec3 v)
275
- {vec3 a=v*(v+0.0245786)-0.000090537;vec3 b=v*(0.983729*v+0.4329510)+0.238081;return a/b;}
276
- vec3 ACESFitted(vec3 color)
277
- {color=ACESInputMat*color;color=RRTAndODTFit(color);color=ACESOutputMat*color;color=saturate(color);return color;}
278
- #endif
279
- #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS
280
- vec4 applyImageProcessing(vec4 result) {
281
- #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART
282
- #ifdef EXPOSURE
283
- result.rgb*=exposureLinear;
284
- #endif
285
- #ifdef VIGNETTE
286
- vec2 viewportXY=gl_FragCoord.xy*vInverseScreenSize;viewportXY=viewportXY*2.0-1.0;vec3 vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);float vignetteTerm=dot(vignetteXY1,vignetteXY1);float vignette=pow(vignetteTerm,vignetteSettings2.w);vec3 vignetteColor=vignetteSettings2.rgb;
287
- #ifdef VIGNETTEBLENDMODEMULTIPLY
288
- vec3 vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);result.rgb*=vignetteColorMultiplier;
289
- #endif
290
- #ifdef VIGNETTEBLENDMODEOPAQUE
291
- result.rgb=mix(vignetteColor,result.rgb,vignette);
292
- #endif
293
- #endif
294
- #if TONEMAPPING==3
295
- result.rgb=PBRNeutralToneMapping(result.rgb);
296
- #elif TONEMAPPING==2
297
- result.rgb=ACESFitted(result.rgb);
298
- #elif TONEMAPPING==1
299
- const float tonemappingCalibration=1.590579;result.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);
300
- #endif
301
- result.rgb=toGammaSpace(result.rgb);result.rgb=saturate(result.rgb);
302
- #ifdef CONTRAST
303
- vec3 resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);if (contrast<1.0) {result.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);} else {result.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);}
304
- #endif
305
- #ifdef COLORGRADING
306
- vec3 colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;
307
- #ifdef COLORGRADING3D
308
- vec3 colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;
309
- #else
310
- vec3 colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;
311
- #endif
312
- result.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);
313
- #endif
314
- #ifdef COLORCURVES
315
- float luma=getLuminance(result.rgb);vec2 curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));vec4 colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;result.rgb*=colorCurve.rgb;result.rgb=mix(vec3(luma),result.rgb,colorCurve.a);
316
- #endif
317
- #ifdef DITHER
318
- float rand=getRand(gl_FragCoord.xy*vInverseScreenSize);float dither=mix(-ditherIntensity,ditherIntensity,rand);result.rgb=saturate(result.rgb+vec3(dither));
319
- #endif
320
- #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND
321
- return result;}`;
322
- // Sideeffect
323
- ShaderStore.IncludesShadersStore[name$9] = shader$9;
324
-
325
- // Do not edit.
326
- const name$8 = "shadowsFragmentFunctions";
327
- const shader$8 = `#ifdef SHADOWS
328
- #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
329
- #define TEXTUREFUNC(s,c,l) texture2DLodEXT(s,c,l)
330
- #else
331
- #define TEXTUREFUNC(s,c,b) texture2D(s,c,b)
332
- #endif
333
- #ifndef SHADOWFLOAT
334
- float unpack(vec4 color)
335
- {const vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(color,bit_shift);}
336
- #endif
337
- float computeFallOff(float value,vec2 clipSpace,float frustumEdgeFalloff)
338
- {float mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));return mix(value,1.0,mask);}
339
- #define inline
340
- float computeShadowCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,vec2 depthValues)
341
- {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
342
- #ifndef SHADOWFLOAT
343
- float shadow=unpack(textureCube(shadowSampler,directionToLight));
344
- #else
345
- float shadow=textureCube(shadowSampler,directionToLight).x;
346
- #endif
347
- return depth>shadow ? darkness : 1.0;}
348
- #define inline
349
- float computeShadowWithPoissonSamplingCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float mapSize,float darkness,vec2 depthValues)
350
- {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);depth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;float visibility=1.;vec3 poissonDisk[4];poissonDisk[0]=vec3(-1.0,1.0,-1.0);poissonDisk[1]=vec3(1.0,-1.0,-1.0);poissonDisk[2]=vec3(-1.0,-1.0,-1.0);poissonDisk[3]=vec3(1.0,-1.0,1.0);
351
- #ifndef SHADOWFLOAT
352
- if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth) visibility-=0.25;if (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth) visibility-=0.25;
353
- #else
354
- if (textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth) visibility-=0.25;if (textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth) visibility-=0.25;
355
- #endif
356
- return min(1.0,visibility+darkness);}
357
- #define inline
358
- float computeShadowWithESMCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,float depthScale,vec2 depthValues)
359
- {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);float shadowPixelDepth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
360
- #ifndef SHADOWFLOAT
361
- float shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));
362
- #else
363
- float shadowMapSample=textureCube(shadowSampler,directionToLight).x;
364
- #endif
365
- float esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return esm;}
366
- #define inline
367
- float computeShadowWithCloseESMCube(vec3 worldPos,vec3 lightPosition,samplerCube shadowSampler,float darkness,float depthScale,vec2 depthValues)
368
- {vec3 directionToLight=worldPos-lightPosition;float depth=length(directionToLight);depth=(depth+depthValues.x)/(depthValues.y);float shadowPixelDepth=clamp(depth,0.,1.0);directionToLight=normalize(directionToLight);directionToLight.y=-directionToLight.y;
369
- #ifndef SHADOWFLOAT
370
- float shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));
371
- #else
372
- float shadowMapSample=textureCube(shadowSampler,directionToLight).x;
373
- #endif
374
- float esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return esm;}
375
- #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
376
- #define inline
377
- float computeShadowCSM(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray shadowSampler,float darkness,float frustumEdgeFalloff)
378
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);vec3 uvLayer=vec3(uv.x,uv.y,layer);float shadowPixelDepth=clamp(depthMetric,0.,1.0);
379
- #ifndef SHADOWFLOAT
380
- float shadow=unpack(texture2D(shadowSampler,uvLayer));
381
- #else
382
- float shadow=texture2D(shadowSampler,uvLayer).x;
383
- #endif
384
- return shadowPixelDepth>shadow ? computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff) : 1.;}
385
- #endif
386
- #define inline
387
- float computeShadow(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float frustumEdgeFalloff)
388
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
389
- {return 1.0;}
390
- else
391
- {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
392
- #ifndef SHADOWFLOAT
393
- float shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
394
- #else
395
- float shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;
396
- #endif
397
- return shadowPixelDepth>shadow ? computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff) : 1.;}}
398
- #define inline
399
- float computeShadowWithPoissonSampling(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float mapSize,float darkness,float frustumEdgeFalloff)
400
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
401
- {return 1.0;}
402
- else
403
- {float shadowPixelDepth=clamp(depthMetric,0.,1.0);float visibility=1.;vec2 poissonDisk[4];poissonDisk[0]=vec2(-0.94201624,-0.39906216);poissonDisk[1]=vec2(0.94558609,-0.76890725);poissonDisk[2]=vec2(-0.094184101,-0.92938870);poissonDisk[3]=vec2(0.34495938,0.29387760);
404
- #ifndef SHADOWFLOAT
405
- if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;if (unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth) visibility-=0.25;
406
- #else
407
- if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;if (TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth) visibility-=0.25;
408
- #endif
409
- return computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);}}
410
- #define inline
411
- float computeShadowWithESM(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float depthScale,float frustumEdgeFalloff)
412
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
413
- {return 1.0;}
414
- else
415
- {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
416
- #ifndef SHADOWFLOAT
417
- float shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
418
- #else
419
- float shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;
420
- #endif
421
- float esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
422
- #define inline
423
- float computeShadowWithCloseESM(vec4 vPositionFromLight,float depthMetric,sampler2D shadowSampler,float darkness,float depthScale,float frustumEdgeFalloff)
424
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec2 uv=0.5*clipSpace.xy+vec2(0.5);if (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)
425
- {return 1.0;}
426
- else
427
- {float shadowPixelDepth=clamp(depthMetric,0.,1.0);
428
- #ifndef SHADOWFLOAT
429
- float shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));
430
- #else
431
- float shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;
432
- #endif
433
- float esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);return computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);}}
434
- #ifdef IS_NDC_HALF_ZRANGE
435
- #define ZINCLIP clipSpace.z
436
- #else
437
- #define ZINCLIP uvDepth.z
438
- #endif
439
- #if defined(WEBGL2) || defined(WEBGPU) || defined(NATIVE)
440
- #define GREATEST_LESS_THAN_ONE 0.99999994
441
- #define DISABLE_UNIFORMITY_ANALYSIS
442
- #define inline
443
- float computeShadowWithCSMPCF1(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,float darkness,float frustumEdgeFalloff)
444
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec4 uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);float shadow=texture2D(shadowSampler,uvDepthLayer);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
445
- #define inline
446
- float computeShadowWithCSMPCF3(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
447
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
448
- uv+=0.5;
449
- vec2 st=fract(uv);
450
- vec2 base_uv=floor(uv)-0.5;
451
- base_uv*=shadowMapSizeAndInverse.y;
452
- vec2 uvw0=3.-2.*st;vec2 uvw1=1.+2.*st;vec2 u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;vec2 v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));shadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));shadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));shadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
453
- #define inline
454
- float computeShadowWithCSMPCF5(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArrayShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
455
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
456
- uv+=0.5;
457
- vec2 st=fract(uv);
458
- vec2 base_uv=floor(uv)-0.5;
459
- base_uv*=shadowMapSizeAndInverse.y;
460
- vec2 uvw0=4.-3.*st;vec2 uvw1=vec2(7.);vec2 uvw2=1.+3.*st;vec3 u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;vec3 v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));shadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));shadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));shadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));shadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));shadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));shadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));shadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));shadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}
461
- #define inline
462
- float computeShadowWithPCF1(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,float darkness,float frustumEdgeFalloff)
463
- {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
464
- else
465
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;float shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
466
- #define inline
467
- float computeShadowWithPCF3(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
468
- {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
469
- else
470
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
471
- uv+=0.5;
472
- vec2 st=fract(uv);
473
- vec2 base_uv=floor(uv)-0.5;
474
- base_uv*=shadowMapSizeAndInverse.y;
475
- vec2 uvw0=3.-2.*st;vec2 uvw1=1.+2.*st;vec2 u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;vec2 v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);shadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);shadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);shadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);shadow=shadow/16.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
476
- #define inline
477
- float computeShadowWithPCF5(vec4 vPositionFromLight,float depthMetric,highp sampler2DShadow shadowSampler,vec2 shadowMapSizeAndInverse,float darkness,float frustumEdgeFalloff)
478
- {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
479
- else
480
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;vec2 uv=uvDepth.xy*shadowMapSizeAndInverse.x;
481
- uv+=0.5;
482
- vec2 st=fract(uv);
483
- vec2 base_uv=floor(uv)-0.5;
484
- base_uv*=shadowMapSizeAndInverse.y;
485
- vec2 uvw0=4.-3.*st;vec2 uvw1=vec2(7.);vec2 uvw2=1.+3.*st;vec3 u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;vec3 v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;float shadow=0.;shadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);shadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);shadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);shadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);shadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);shadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);shadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);shadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);shadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);shadow=shadow/144.;shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
486
- const vec3 PoissonSamplers32[64]=vec3[64](
487
- vec3(0.06407013,0.05409927,0.),
488
- vec3(0.7366577,0.5789394,0.),
489
- vec3(-0.6270542,-0.5320278,0.),
490
- vec3(-0.4096107,0.8411095,0.),
491
- vec3(0.6849564,-0.4990818,0.),
492
- vec3(-0.874181,-0.04579735,0.),
493
- vec3(0.9989998,0.0009880066,0.),
494
- vec3(-0.004920578,-0.9151649,0.),
495
- vec3(0.1805763,0.9747483,0.),
496
- vec3(-0.2138451,0.2635818,0.),
497
- vec3(0.109845,0.3884785,0.),
498
- vec3(0.06876755,-0.3581074,0.),
499
- vec3(0.374073,-0.7661266,0.),
500
- vec3(0.3079132,-0.1216763,0.),
501
- vec3(-0.3794335,-0.8271583,0.),
502
- vec3(-0.203878,-0.07715034,0.),
503
- vec3(0.5912697,0.1469799,0.),
504
- vec3(-0.88069,0.3031784,0.),
505
- vec3(0.5040108,0.8283722,0.),
506
- vec3(-0.5844124,0.5494877,0.),
507
- vec3(0.6017799,-0.1726654,0.),
508
- vec3(-0.5554981,0.1559997,0.),
509
- vec3(-0.3016369,-0.3900928,0.),
510
- vec3(-0.5550632,-0.1723762,0.),
511
- vec3(0.925029,0.2995041,0.),
512
- vec3(-0.2473137,0.5538505,0.),
513
- vec3(0.9183037,-0.2862392,0.),
514
- vec3(0.2469421,0.6718712,0.),
515
- vec3(0.3916397,-0.4328209,0.),
516
- vec3(-0.03576927,-0.6220032,0.),
517
- vec3(-0.04661255,0.7995201,0.),
518
- vec3(0.4402924,0.3640312,0.),
519
- vec3(0.),
520
- vec3(0.),
521
- vec3(0.),
522
- vec3(0.),
523
- vec3(0.),
524
- vec3(0.),
525
- vec3(0.),
526
- vec3(0.),
527
- vec3(0.),
528
- vec3(0.),
529
- vec3(0.),
530
- vec3(0.),
531
- vec3(0.),
532
- vec3(0.),
533
- vec3(0.),
534
- vec3(0.),
535
- vec3(0.),
536
- vec3(0.),
537
- vec3(0.),
538
- vec3(0.),
539
- vec3(0.),
540
- vec3(0.),
541
- vec3(0.),
542
- vec3(0.),
543
- vec3(0.),
544
- vec3(0.),
545
- vec3(0.),
546
- vec3(0.),
547
- vec3(0.),
548
- vec3(0.),
549
- vec3(0.),
550
- vec3(0.)
551
- );const vec3 PoissonSamplers64[64]=vec3[64](
552
- vec3(-0.613392,0.617481,0.),
553
- vec3(0.170019,-0.040254,0.),
554
- vec3(-0.299417,0.791925,0.),
555
- vec3(0.645680,0.493210,0.),
556
- vec3(-0.651784,0.717887,0.),
557
- vec3(0.421003,0.027070,0.),
558
- vec3(-0.817194,-0.271096,0.),
559
- vec3(-0.705374,-0.668203,0.),
560
- vec3(0.977050,-0.108615,0.),
561
- vec3(0.063326,0.142369,0.),
562
- vec3(0.203528,0.214331,0.),
563
- vec3(-0.667531,0.326090,0.),
564
- vec3(-0.098422,-0.295755,0.),
565
- vec3(-0.885922,0.215369,0.),
566
- vec3(0.566637,0.605213,0.),
567
- vec3(0.039766,-0.396100,0.),
568
- vec3(0.751946,0.453352,0.),
569
- vec3(0.078707,-0.715323,0.),
570
- vec3(-0.075838,-0.529344,0.),
571
- vec3(0.724479,-0.580798,0.),
572
- vec3(0.222999,-0.215125,0.),
573
- vec3(-0.467574,-0.405438,0.),
574
- vec3(-0.248268,-0.814753,0.),
575
- vec3(0.354411,-0.887570,0.),
576
- vec3(0.175817,0.382366,0.),
577
- vec3(0.487472,-0.063082,0.),
578
- vec3(-0.084078,0.898312,0.),
579
- vec3(0.488876,-0.783441,0.),
580
- vec3(0.470016,0.217933,0.),
581
- vec3(-0.696890,-0.549791,0.),
582
- vec3(-0.149693,0.605762,0.),
583
- vec3(0.034211,0.979980,0.),
584
- vec3(0.503098,-0.308878,0.),
585
- vec3(-0.016205,-0.872921,0.),
586
- vec3(0.385784,-0.393902,0.),
587
- vec3(-0.146886,-0.859249,0.),
588
- vec3(0.643361,0.164098,0.),
589
- vec3(0.634388,-0.049471,0.),
590
- vec3(-0.688894,0.007843,0.),
591
- vec3(0.464034,-0.188818,0.),
592
- vec3(-0.440840,0.137486,0.),
593
- vec3(0.364483,0.511704,0.),
594
- vec3(0.034028,0.325968,0.),
595
- vec3(0.099094,-0.308023,0.),
596
- vec3(0.693960,-0.366253,0.),
597
- vec3(0.678884,-0.204688,0.),
598
- vec3(0.001801,0.780328,0.),
599
- vec3(0.145177,-0.898984,0.),
600
- vec3(0.062655,-0.611866,0.),
601
- vec3(0.315226,-0.604297,0.),
602
- vec3(-0.780145,0.486251,0.),
603
- vec3(-0.371868,0.882138,0.),
604
- vec3(0.200476,0.494430,0.),
605
- vec3(-0.494552,-0.711051,0.),
606
- vec3(0.612476,0.705252,0.),
607
- vec3(-0.578845,-0.768792,0.),
608
- vec3(-0.772454,-0.090976,0.),
609
- vec3(0.504440,0.372295,0.),
610
- vec3(0.155736,0.065157,0.),
611
- vec3(0.391522,0.849605,0.),
612
- vec3(-0.620106,-0.328104,0.),
613
- vec3(0.789239,-0.419965,0.),
614
- vec3(-0.545396,0.538133,0.),
615
- vec3(-0.178564,-0.596057,0.)
616
- );
617
- #define inline
618
- float computeShadowWithCSMPCSS(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,int searchTapCount,int pcfTapCount,vec3[64] poissonSamplers,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
619
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);vec4 uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);float blockerDepth=0.0;float sumBlockerDepth=0.0;float numBlocker=0.0;for (int i=0; i<searchTapCount; i ++) {blockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;if (blockerDepth<depthMetric) {sumBlockerDepth+=blockerDepth;numBlocker++;}}
620
- float avgBlockerDepth=sumBlockerDepth/numBlocker;float AAOffset=shadowMapSizeInverse*10.;float penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);vec4 filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);float random=getRand(vPositionFromLight.xy);float rotationAngle=random*3.1415926;vec2 rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));float shadow=0.;for (int i=0; i<pcfTapCount; i++) {vec4 offset=vec4(poissonSamplers[i],0.);offset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);shadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);}
621
- shadow/=float(pcfTapCount);shadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));shadow=mix(darkness,1.,shadow);if (numBlocker<1.0) {return 1.0;}
622
- else
623
- {return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}
624
- #define inline
625
- float computeShadowWithPCSS(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,int searchTapCount,int pcfTapCount,vec3[64] poissonSamplers)
626
- {if (depthMetric>1.0 || depthMetric<0.0) {return 1.0;}
627
- else
628
- {vec3 clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;vec3 uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));uvDepth.z=ZINCLIP;float blockerDepth=0.0;float sumBlockerDepth=0.0;float numBlocker=0.0;for (int i=0; i<searchTapCount; i ++) {blockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;if (blockerDepth<depthMetric) {sumBlockerDepth+=blockerDepth;numBlocker++;}}
629
- if (numBlocker<1.0) {return 1.0;}
630
- else
631
- {float avgBlockerDepth=sumBlockerDepth/numBlocker;float AAOffset=shadowMapSizeInverse*10.;float penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);float filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;float random=getRand(vPositionFromLight.xy);float rotationAngle=random*3.1415926;vec2 rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));float shadow=0.;for (int i=0; i<pcfTapCount; i++) {vec3 offset=poissonSamplers[i];offset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);shadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);}
632
- shadow/=float(pcfTapCount);shadow=mix(shadow,1.,depthMetric-avgBlockerDepth);shadow=mix(darkness,1.,shadow);return computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);}}}
633
- #define inline
634
- float computeShadowWithPCSS16(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
635
- {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);}
636
- #define inline
637
- float computeShadowWithPCSS32(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
638
- {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);}
639
- #define inline
640
- float computeShadowWithPCSS64(vec4 vPositionFromLight,float depthMetric,sampler2D depthSampler,highp sampler2DShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff)
641
- {return computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);}
642
- #define inline
643
- float computeShadowWithCSMPCSS16(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
644
- {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
645
- #define inline
646
- float computeShadowWithCSMPCSS32(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
647
- {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
648
- #define inline
649
- float computeShadowWithCSMPCSS64(float layer,vec4 vPositionFromLight,float depthMetric,highp sampler2DArray depthSampler,highp sampler2DArrayShadow shadowSampler,float shadowMapSizeInverse,float lightSizeUV,float darkness,float frustumEdgeFalloff,vec2 lightSizeUVCorrection,float depthCorrection,float penumbraDarkness)
650
- {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
651
- #endif
652
- #endif
653
- `;
654
- // Sideeffect
655
- ShaderStore.IncludesShadersStore[name$8] = shader$8;
656
-
657
- // Do not edit.
658
- const name$7 = "bumpFragmentMainFunctions";
659
- const shader$7 = `#if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
660
- #if defined(TANGENT) && defined(NORMAL)
661
- varying mat3 vTBN;
662
- #endif
663
- #ifdef OBJECTSPACE_NORMALMAP
664
- uniform mat4 normalMatrix;
665
- #if defined(WEBGL2) || defined(WEBGPU)
666
- mat4 toNormalMatrix(mat4 wMatrix)
667
- {mat4 ret=inverse(wMatrix);ret=transpose(ret);ret[0][3]=0.;ret[1][3]=0.;ret[2][3]=0.;ret[3]=vec4(0.,0.,0.,1.);return ret;}
668
- #else
669
- mat4 toNormalMatrix(mat4 m)
670
- {float
671
- a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],
672
- a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],
673
- a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],
674
- a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],
675
- b00=a00*a11-a01*a10,
676
- b01=a00*a12-a02*a10,
677
- b02=a00*a13-a03*a10,
678
- b03=a01*a12-a02*a11,
679
- b04=a01*a13-a03*a11,
680
- b05=a02*a13-a03*a12,
681
- b06=a20*a31-a21*a30,
682
- b07=a20*a32-a22*a30,
683
- b08=a20*a33-a23*a30,
684
- b09=a21*a32-a22*a31,
685
- b10=a21*a33-a23*a31,
686
- b11=a22*a33-a23*a32,
687
- det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;mat4 mi=mat4(
688
- a11*b11-a12*b10+a13*b09,
689
- a02*b10-a01*b11-a03*b09,
690
- a31*b05-a32*b04+a33*b03,
691
- a22*b04-a21*b05-a23*b03,
692
- a12*b08-a10*b11-a13*b07,
693
- a00*b11-a02*b08+a03*b07,
694
- a32*b02-a30*b05-a33*b01,
695
- a20*b05-a22*b02+a23*b01,
696
- a10*b10-a11*b08+a13*b06,
697
- a01*b08-a00*b10-a03*b06,
698
- a30*b04-a31*b02+a33*b00,
699
- a21*b02-a20*b04-a23*b00,
700
- a11*b07-a10*b09-a12*b06,
701
- a00*b09-a01*b07+a02*b06,
702
- a31*b01-a30*b03-a32*b00,
703
- a20*b03-a21*b01+a22*b00)/det;return mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
704
- mi[0][1],mi[1][1],mi[2][1],mi[3][1],
705
- mi[0][2],mi[1][2],mi[2][2],mi[3][2],
706
- mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
707
- #endif
708
- #endif
709
- vec3 perturbNormalBase(mat3 cotangentFrame,vec3 normal,float scale)
710
- {
711
- #ifdef NORMALXYSCALE
712
- normal=normalize(normal*vec3(scale,scale,1.0));
713
- #endif
714
- return normalize(cotangentFrame*normal);}
715
- vec3 perturbNormal(mat3 cotangentFrame,vec3 textureSample,float scale)
716
- {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
717
- mat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv,vec2 tangentSpaceParams)
718
- {vec3 dp1=dFdx(p);vec3 dp2=dFdy(p);vec2 duv1=dFdx(uv);vec2 duv2=dFdy(uv);vec3 dp2perp=cross(dp2,normal);vec3 dp1perp=cross(normal,dp1);vec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;vec3 bitangent=dp2perp*duv1.y+dp1perp*duv2.y;tangent*=tangentSpaceParams.x;bitangent*=tangentSpaceParams.y;float det=max(dot(tangent,tangent),dot(bitangent,bitangent));float invmax=det==0.0 ? 0.0 : inversesqrt(det);return mat3(tangent*invmax,bitangent*invmax,normal);}
719
- #endif
720
- `;
721
- // Sideeffect
722
- ShaderStore.IncludesShadersStore[name$7] = shader$7;
723
-
724
- // Do not edit.
725
- const name$6 = "bumpFragmentFunctions";
726
- const shader$6 = `#if defined(BUMP)
727
- #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
728
- #endif
729
- #if defined(DETAIL)
730
- #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
731
- #endif
732
- #if defined(BUMP) && defined(PARALLAX)
733
- const float minSamples=4.;const float maxSamples=15.;const int iMaxSamples=15;vec2 parallaxOcclusion(vec3 vViewDirCoT,vec3 vNormalCoT,vec2 texCoord,float parallaxScale) {float parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;parallaxLimit*=parallaxScale;vec2 vOffsetDir=normalize(vViewDirCoT.xy);vec2 vMaxOffset=vOffsetDir*parallaxLimit;float numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));float stepSize=1.0/numSamples;float currRayHeight=1.0;vec2 vCurrOffset=vec2(0,0);vec2 vLastOffset=vec2(0,0);float lastSampledHeight=1.0;float currSampledHeight=1.0;bool keepWorking=true;for (int i=0; i<iMaxSamples; i++)
734
- {currSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;if (!keepWorking)
735
- {}
736
- else if (currSampledHeight>currRayHeight)
737
- {float delta1=currSampledHeight-currRayHeight;float delta2=(currRayHeight+stepSize)-lastSampledHeight;float ratio=delta1/(delta1+delta2);vCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;keepWorking=false;}
738
- else
739
- {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
740
- #ifdef PARALLAX_RHS
741
- vCurrOffset-=stepSize*vMaxOffset;
742
- #else
743
- vCurrOffset+=stepSize*vMaxOffset;
744
- #endif
745
- lastSampledHeight=currSampledHeight;}}
746
- return vCurrOffset;}
747
- vec2 parallaxOffset(vec3 viewDir,float heightScale)
748
- {float height=texture2D(bumpSampler,vBumpUV).w;vec2 texCoordOffset=heightScale*viewDir.xy*height;
749
- #ifdef PARALLAX_RHS
750
- return texCoordOffset;
751
- #else
752
- return -texCoordOffset;
753
- #endif
754
- }
755
- #endif
756
- `;
757
- // Sideeffect
758
- ShaderStore.IncludesShadersStore[name$6] = shader$6;
759
-
760
- // Do not edit.
761
- const name$5 = "reflectionFunction";
762
- const shader$5 = `vec3 computeFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
763
- {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0); }
764
- vec3 computeMirroredFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
765
- {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(1.0-s,t,0); }
766
- vec3 computeEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
767
- {vec3 cameraToVertex=normalize(worldPos.xyz-eyePosition);vec3 r=normalize(reflect(cameraToVertex,worldNormal));r=vec3(reflectionMatrix*vec4(r,0));float lon=atan(r.z,r.x);float lat=acos(r.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0);}
768
- vec3 computeSphericalCoords(vec4 worldPos,vec3 worldNormal,mat4 view,mat4 reflectionMatrix)
769
- {vec3 viewDir=normalize(vec3(view*worldPos));vec3 viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));vec3 r=reflect(viewDir,viewNormal);r=vec3(reflectionMatrix*vec4(r,0));r.z=r.z-1.0;float m=2.0*length(r);return vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);}
770
- vec3 computePlanarCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
771
- {vec3 viewDir=worldPos.xyz-eyePosition;vec3 coords=normalize(reflect(viewDir,worldNormal));return vec3(reflectionMatrix*vec4(coords,1));}
772
- vec3 computeCubicCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
773
- {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=vec3(reflectionMatrix*vec4(coords,0));
774
- #ifdef INVERTCUBICMAP
775
- coords.y*=-1.0;
776
- #endif
777
- return coords;}
778
- vec3 computeCubicLocalCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix,vec3 reflectionSize,vec3 reflectionPosition)
779
- {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);coords=vec3(reflectionMatrix*vec4(coords,0));
780
- #ifdef INVERTCUBICMAP
781
- coords.y*=-1.0;
782
- #endif
783
- return coords;}
784
- vec3 computeProjectionCoords(vec4 worldPos,mat4 view,mat4 reflectionMatrix)
785
- {return vec3(reflectionMatrix*(view*worldPos));}
786
- vec3 computeSkyBoxCoords(vec3 positionW,mat4 reflectionMatrix)
787
- {return vec3(reflectionMatrix*vec4(positionW,1.));}
788
- #ifdef REFLECTION
789
- vec3 computeReflectionCoords(vec4 worldPos,vec3 worldNormal)
790
- {
791
- #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
792
- vec3 direction=normalize(vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
793
- #endif
794
- #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
795
- vec3 direction=normalize(vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
796
- #endif
797
- #ifdef REFLECTIONMAP_EQUIRECTANGULAR
798
- return computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
799
- #endif
800
- #ifdef REFLECTIONMAP_SPHERICAL
801
- return computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);
802
- #endif
803
- #ifdef REFLECTIONMAP_PLANAR
804
- return computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
805
- #endif
806
- #ifdef REFLECTIONMAP_CUBIC
807
- #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
808
- return computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);
809
- #else
810
- return computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
811
- #endif
812
- #endif
813
- #ifdef REFLECTIONMAP_PROJECTION
814
- return computeProjectionCoords(worldPos,view,reflectionMatrix);
815
- #endif
816
- #ifdef REFLECTIONMAP_SKYBOX
817
- return computeSkyBoxCoords(vPositionUVW,reflectionMatrix);
818
- #endif
819
- #ifdef REFLECTIONMAP_EXPLICIT
820
- return vec3(0,0,0);
821
- #endif
822
- }
823
- #endif
824
- `;
825
- // Sideeffect
826
- ShaderStore.IncludesShadersStore[name$5] = shader$5;
827
-
828
- // Do not edit.
829
- const name$4 = "decalFragment";
830
- const shader$4 = `#ifdef DECAL
831
- #ifdef GAMMADECAL
832
- decalColor.rgb=toLinearSpace(decalColor.rgb);
833
- #endif
834
- #ifdef DECAL_SMOOTHALPHA
835
- decalColor.a*=decalColor.a;
836
- #endif
837
- surfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,decalColor.rgb,decalColor.a);
838
- #endif
839
- `;
840
- // Sideeffect
841
- ShaderStore.IncludesShadersStore[name$4] = shader$4;
842
-
843
- // Do not edit.
844
- const name$3 = "bumpFragment";
845
- const shader$3 = `vec2 uvOffset=vec2(0.0,0.0);
846
- #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
847
- #ifdef NORMALXYSCALE
848
- float normalScale=1.0;
849
- #elif defined(BUMP)
850
- float normalScale=vBumpInfos.y;
851
- #else
852
- float normalScale=1.0;
853
- #endif
854
- #if defined(TANGENT) && defined(NORMAL)
855
- mat3 TBN=vTBN;
856
- #elif defined(BUMP)
857
- vec2 TBNUV=gl_FrontFacing ? vBumpUV : -vBumpUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);
858
- #else
859
- vec2 TBNUV=gl_FrontFacing ? vDetailUV : -vDetailUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));
860
- #endif
861
- #elif defined(ANISOTROPIC)
862
- #if defined(TANGENT) && defined(NORMAL)
863
- mat3 TBN=vTBN;
864
- #else
865
- vec2 TBNUV=gl_FrontFacing ? vMainUV1 : -vMainUV1;mat3 TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));
866
- #endif
867
- #endif
868
- #ifdef PARALLAX
869
- mat3 invTBN=transposeMat3(TBN);
870
- #ifdef PARALLAXOCCLUSION
871
- uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);
872
- #else
873
- uvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);
874
- #endif
875
- #endif
876
- #ifdef DETAIL
877
- vec4 detailColor=texture2D(detailSampler,vDetailUV+uvOffset);vec2 detailNormalRG=detailColor.wy*2.0-1.0;float detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));vec3 detailNormal=vec3(detailNormalRG,detailNormalB);
878
- #endif
879
- #ifdef BUMP
880
- #ifdef OBJECTSPACE_NORMALMAP
881
- #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
882
- normalW=normalize(texture2D(bumpSampler,vBumpUV).xyz *2.0-1.0);normalW=normalize(mat3(normalMatrix)*normalW);
883
- #elif !defined(DETAIL)
884
- normalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);
885
- #else
886
- vec3 bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;
887
- #if DETAIL_NORMALBLENDMETHOD==0
888
- detailNormal.xy*=vDetailInfos.z;vec3 blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
889
- #elif DETAIL_NORMALBLENDMETHOD==1
890
- detailNormal.xy*=vDetailInfos.z;bumpNormal+=vec3(0.0,0.0,1.0);detailNormal*=vec3(-1.0,-1.0,1.0);vec3 blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;
891
- #endif
892
- normalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);
893
- #endif
894
- #elif defined(DETAIL)
895
- detailNormal.xy*=vDetailInfos.z;normalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);
896
- #endif
897
- `;
898
- // Sideeffect
899
- ShaderStore.IncludesShadersStore[name$3] = shader$3;
900
-
901
- // Do not edit.
902
- const name$2 = "depthPrePass";
903
- const shader$2 = `#ifdef DEPTHPREPASS
904
- gl_FragColor=vec4(0.,0.,0.,1.0);return;
905
- #endif
906
- `;
907
- // Sideeffect
908
- ShaderStore.IncludesShadersStore[name$2] = shader$2;
909
-
910
- // Do not edit.
911
- const name$1 = "lightFragment";
912
- const shader$1 = `#ifdef LIGHT{X}
913
- #if defined(SHADOWONLY) || defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})
914
- #else
915
- vec4 diffuse{X}=light{X}.vLightDiffuse;
916
- #define CUSTOM_LIGHT{X}_COLOR
917
- #ifdef PBR
918
- #ifdef SPOTLIGHT{X}
919
- preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,vPositionW);
920
- #elif defined(POINTLIGHT{X})
921
- preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,vPositionW);
922
- #elif defined(HEMILIGHT{X})
923
- preInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
924
- #elif defined(DIRLIGHT{X})
925
- preInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
926
- #endif
927
- preInfo.NdotV=NdotV;
928
- #ifdef SPOTLIGHT{X}
929
- #ifdef LIGHT_FALLOFF_GLTF{X}
930
- preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);preInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
931
- #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
932
- preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);preInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);
933
- #elif defined(LIGHT_FALLOFF_STANDARD{X})
934
- preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);preInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);
935
- #else
936
- preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);preInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
937
- #endif
938
- #elif defined(POINTLIGHT{X})
939
- #ifdef LIGHT_FALLOFF_GLTF{X}
940
- preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
941
- #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
942
- preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
943
- #elif defined(LIGHT_FALLOFF_STANDARD{X})
944
- preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
945
- #else
946
- preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
947
- #endif
948
- #else
949
- preInfo.attenuation=1.0;
950
- #endif
951
- #ifdef HEMILIGHT{X}
952
- preInfo.roughness=roughness;
953
- #else
954
- preInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
955
- #endif
956
- #ifdef IRIDESCENCE
957
- preInfo.iridescenceIntensity=iridescenceIntensity;
958
- #endif
959
- #ifdef HEMILIGHT{X}
960
- info.diffuse=computeHemisphericDiffuseLighting(preInfo,diffuse{X}.rgb,light{X}.vLightGround);
961
- #elif defined(SS_TRANSLUCENCY)
962
- info.diffuse=computeDiffuseAndTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
963
- #else
964
- info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb);
965
- #endif
966
- #ifdef SPECULARTERM
967
- #ifdef ANISOTROPIC
968
- info.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
969
- #else
970
- info.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
971
- #endif
972
- #endif
973
- #ifdef SHEEN
974
- #ifdef SHEEN_LINKWITHALBEDO
975
- preInfo.roughness=sheenOut.sheenIntensity;
976
- #else
977
- #ifdef HEMILIGHT{X}
978
- preInfo.roughness=sheenOut.sheenRoughness;
979
- #else
980
- preInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
981
- #endif
982
- #endif
983
- info.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
984
- #endif
985
- #ifdef CLEARCOAT
986
- #ifdef HEMILIGHT{X}
987
- preInfo.roughness=clearcoatOut.clearCoatRoughness;
988
- #else
989
- preInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
990
- #endif
991
- info.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,diffuse{X}.rgb);
992
- #ifdef CLEARCOAT_TINT
993
- absorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);info.diffuse*=absorption;
994
- #ifdef SPECULARTERM
995
- info.specular*=absorption;
996
- #endif
997
- #endif
998
- info.diffuse*=info.clearCoat.w;
999
- #ifdef SPECULARTERM
1000
- info.specular*=info.clearCoat.w;
1001
- #endif
1002
- #ifdef SHEEN
1003
- info.sheen*=info.clearCoat.w;
1004
- #endif
1005
- #endif
1006
- #else
1007
- #ifdef SPOTLIGHT{X}
1008
- info=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
1009
- #elif defined(HEMILIGHT{X})
1010
- info=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);
1011
- #elif defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})
1012
- info=computeLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
1013
- #endif
1014
- #endif
1015
- #ifdef PROJECTEDLIGHTTEXTURE{X}
1016
- info.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightTexture{X},textureProjectionMatrix{X},vPositionW);
1017
- #endif
1018
- #endif
1019
- #ifdef SHADOW{X}
1020
- #ifdef SHADOWCSM{X}
1021
- for (int i=0; i<SHADOWCSMNUM_CASCADES{X}; i++)
1022
- {
1023
- #ifdef SHADOWCSM_RIGHTHANDED{X}
1024
- diff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;
1025
- #else
1026
- diff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;
1027
- #endif
1028
- if (diff{X}>=0.) {index{X}=i;break;}}
1029
- #ifdef SHADOWCSMUSESHADOWMAXZ{X}
1030
- if (index{X}>=0)
1031
- #endif
1032
- {
1033
- #if defined(SHADOWPCF{X})
1034
- #if defined(SHADOWLOWQUALITY{X})
1035
- shadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1036
- #elif defined(SHADOWMEDIUMQUALITY{X})
1037
- shadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1038
- #else
1039
- shadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1040
- #endif
1041
- #elif defined(SHADOWPCSS{X})
1042
- #if defined(SHADOWLOWQUALITY{X})
1043
- shadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1044
- #elif defined(SHADOWMEDIUMQUALITY{X})
1045
- shadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1046
- #else
1047
- shadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1048
- #endif
1049
- #else
1050
- shadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1051
- #endif
1052
- #ifdef SHADOWCSMDEBUG{X}
1053
- shadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];
1054
- #endif
1055
- #ifndef SHADOWCSMNOBLEND{X}
1056
- float frustumLength=frustumLengths{X}[index{X}];float diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};if (index{X}<(SHADOWCSMNUM_CASCADES{X}-1) && diffRatio<1.)
1057
- {index{X}+=1;float nextShadow=0.;
1058
- #if defined(SHADOWPCF{X})
1059
- #if defined(SHADOWLOWQUALITY{X})
1060
- nextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1061
- #elif defined(SHADOWMEDIUMQUALITY{X})
1062
- nextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1063
- #else
1064
- nextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1065
- #endif
1066
- #elif defined(SHADOWPCSS{X})
1067
- #if defined(SHADOWLOWQUALITY{X})
1068
- nextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1069
- #elif defined(SHADOWMEDIUMQUALITY{X})
1070
- nextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1071
- #else
1072
- nextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});
1073
- #endif
1074
- #else
1075
- nextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1076
- #endif
1077
- shadow=mix(nextShadow,shadow,diffRatio);
1078
- #ifdef SHADOWCSMDEBUG{X}
1079
- shadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);
1080
- #endif
1081
- }
1082
- #endif
1083
- }
1084
- #elif defined(SHADOWCLOSEESM{X})
1085
- #if defined(SHADOWCUBE{X})
1086
- shadow=computeShadowWithCloseESMCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
1087
- #else
1088
- shadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
1089
- #endif
1090
- #elif defined(SHADOWESM{X})
1091
- #if defined(SHADOWCUBE{X})
1092
- shadow=computeShadowWithESMCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
1093
- #else
1094
- shadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
1095
- #endif
1096
- #elif defined(SHADOWPOISSON{X})
1097
- #if defined(SHADOWCUBE{X})
1098
- shadow=computeShadowWithPoissonSamplingCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);
1099
- #else
1100
- shadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1101
- #endif
1102
- #elif defined(SHADOWPCF{X})
1103
- #if defined(SHADOWLOWQUALITY{X})
1104
- shadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1105
- #elif defined(SHADOWMEDIUMQUALITY{X})
1106
- shadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1107
- #else
1108
- shadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1109
- #endif
1110
- #elif defined(SHADOWPCSS{X})
1111
- #if defined(SHADOWLOWQUALITY{X})
1112
- shadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1113
- #elif defined(SHADOWMEDIUMQUALITY{X})
1114
- shadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1115
- #else
1116
- shadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthTexture{X},shadowTexture{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1117
- #endif
1118
- #else
1119
- #if defined(SHADOWCUBE{X})
1120
- shadow=computeShadowCube(vPositionW,light{X}.vLightData.xyz,shadowTexture{X},light{X}.shadowsInfo.x,light{X}.depthValues);
1121
- #else
1122
- shadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowTexture{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
1123
- #endif
1124
- #endif
1125
- #ifdef SHADOWONLY
1126
- #ifndef SHADOWINUSE
1127
- #define SHADOWINUSE
1128
- #endif
1129
- globalShadow+=shadow;shadowLightCount+=1.0;
1130
- #endif
1131
- #else
1132
- shadow=1.;
1133
- #endif
1134
- aggShadow+=shadow;numLights+=1.0;
1135
- #ifndef SHADOWONLY
1136
- #ifdef CUSTOMUSERLIGHTING
1137
- diffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);
1138
- #ifdef SPECULARTERM
1139
- specularBase+=computeCustomSpecularLighting(info,specularBase,shadow);
1140
- #endif
1141
- #elif defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})
1142
- diffuseBase+=lightmapColor.rgb*shadow;
1143
- #ifdef SPECULARTERM
1144
- #ifndef LIGHTMAPNOSPECULAR{X}
1145
- specularBase+=info.specular*shadow*lightmapColor.rgb;
1146
- #endif
1147
- #endif
1148
- #ifdef CLEARCOAT
1149
- #ifndef LIGHTMAPNOSPECULAR{X}
1150
- clearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;
1151
- #endif
1152
- #endif
1153
- #ifdef SHEEN
1154
- #ifndef LIGHTMAPNOSPECULAR{X}
1155
- sheenBase+=info.sheen.rgb*shadow;
1156
- #endif
1157
- #endif
1158
- #else
1159
- #ifdef SHADOWCSMDEBUG{X}
1160
- diffuseBase+=info.diffuse*shadowDebug{X};
1161
- #else
1162
- diffuseBase+=info.diffuse*shadow;
1163
- #endif
1164
- #ifdef SPECULARTERM
1165
- specularBase+=info.specular*shadow;
1166
- #endif
1167
- #ifdef CLEARCOAT
1168
- clearCoatBase+=info.clearCoat.rgb*shadow;
1169
- #endif
1170
- #ifdef SHEEN
1171
- sheenBase+=info.sheen.rgb*shadow;
1172
- #endif
1173
- #endif
1174
- #endif
1175
- #endif
1176
- `;
1177
- // Sideeffect
1178
- ShaderStore.IncludesShadersStore[name$1] = shader$1;
1179
-
1180
- // Do not edit.
1181
- const name = "oitFragment";
1182
- const shader = `#ifdef ORDER_INDEPENDENT_TRANSPARENCY
1183
- float fragDepth=gl_FragCoord.z;
1184
- #ifdef ORDER_INDEPENDENT_TRANSPARENCY_16BITS
1185
- uint halfFloat=packHalf2x16(vec2(fragDepth));vec2 full=unpackHalf2x16(halfFloat);fragDepth=full.x;
1186
- #endif
1187
- ivec2 fragCoord=ivec2(gl_FragCoord.xy);vec2 lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;vec4 lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);depth.rg=vec2(-MAX_DEPTH);frontColor=lastFrontColor;backColor=vec4(0.0);
1188
- #ifdef USE_REVERSE_DEPTHBUFFER
1189
- float furthestDepth=-lastDepth.x;float nearestDepth=lastDepth.y;
1190
- #else
1191
- float nearestDepth=-lastDepth.x;float furthestDepth=lastDepth.y;
1192
- #endif
1193
- float alphaMultiplier=1.0-lastFrontColor.a;
1194
- #ifdef USE_REVERSE_DEPTHBUFFER
1195
- if (fragDepth>nearestDepth || fragDepth<furthestDepth) {
1196
- #else
1197
- if (fragDepth<nearestDepth || fragDepth>furthestDepth) {
1198
- #endif
1199
- return;}
1200
- #ifdef USE_REVERSE_DEPTHBUFFER
1201
- if (fragDepth<nearestDepth && fragDepth>furthestDepth) {
1202
- #else
1203
- if (fragDepth>nearestDepth && fragDepth<furthestDepth) {
1204
- #endif
1205
- depth.rg=vec2(-fragDepth,fragDepth);return;}
1206
- #endif
1207
- `;
1208
- // Sideeffect
1209
- ShaderStore.IncludesShadersStore[name] = shader;
1210
- //# sourceMappingURL=oitFragment-CRPgfH4O.esm.js.map