three-stdlib 2.35.3 → 2.35.4

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 (514) hide show
  1. package/_polyfill/CapsuleGeometry.cjs +20 -17
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +20 -17
  4. package/_polyfill/CapsuleGeometry.js.map +1 -1
  5. package/_polyfill/constants.cjs +1 -1
  6. package/_polyfill/constants.cjs.map +1 -1
  7. package/_polyfill/constants.js +1 -1
  8. package/_polyfill/constants.js.map +1 -1
  9. package/animation/AnimationClipCreator.cjs +13 -13
  10. package/animation/AnimationClipCreator.cjs.map +1 -1
  11. package/animation/AnimationClipCreator.js +13 -13
  12. package/animation/AnimationClipCreator.js.map +1 -1
  13. package/animation/CCDIKSolver.cjs +11 -11
  14. package/animation/CCDIKSolver.cjs.map +1 -1
  15. package/animation/CCDIKSolver.js +12 -12
  16. package/animation/CCDIKSolver.js.map +1 -1
  17. package/animation/MMDAnimationHelper.cjs +1 -1
  18. package/animation/MMDAnimationHelper.cjs.map +1 -1
  19. package/animation/MMDAnimationHelper.js +1 -1
  20. package/animation/MMDAnimationHelper.js.map +1 -1
  21. package/animation/MMDPhysics.cjs +4 -4
  22. package/animation/MMDPhysics.cjs.map +1 -1
  23. package/animation/MMDPhysics.js +4 -4
  24. package/animation/MMDPhysics.js.map +1 -1
  25. package/controls/ArcballControls.cjs +2 -2
  26. package/controls/ArcballControls.cjs.map +1 -1
  27. package/controls/ArcballControls.js +3 -3
  28. package/controls/ArcballControls.js.map +1 -1
  29. package/controls/FirstPersonControls.cjs +1 -1
  30. package/controls/FirstPersonControls.cjs.map +1 -1
  31. package/controls/FirstPersonControls.js +1 -1
  32. package/controls/FirstPersonControls.js.map +1 -1
  33. package/controls/OrbitControls.cjs +2 -2
  34. package/controls/OrbitControls.cjs.map +1 -1
  35. package/controls/OrbitControls.js +3 -3
  36. package/controls/OrbitControls.js.map +1 -1
  37. package/controls/PointerLockControls.cjs +2 -2
  38. package/controls/PointerLockControls.cjs.map +1 -1
  39. package/controls/PointerLockControls.js +3 -3
  40. package/controls/PointerLockControls.js.map +1 -1
  41. package/csm/CSM.cjs +4 -4
  42. package/csm/CSM.cjs.map +1 -1
  43. package/csm/CSM.js +5 -5
  44. package/csm/CSM.js.map +1 -1
  45. package/csm/CSMFrustum.cjs +1 -1
  46. package/csm/CSMFrustum.cjs.map +1 -1
  47. package/csm/CSMFrustum.js +2 -2
  48. package/csm/CSMFrustum.js.map +1 -1
  49. package/deprecated/Geometry.cjs +722 -715
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +723 -716
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +2 -1
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +3 -2
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +2 -1
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +3 -2
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +2 -1
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +3 -2
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +133 -122
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +23 -21
  68. package/exporters/DRACOExporter.js +133 -122
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +170 -167
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +170 -167
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +524 -515
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +524 -515
  77. package/geometries/LightningStrike.js.map +1 -1
  78. package/geometries/RoundedBoxGeometry.cjs +1 -1
  79. package/geometries/RoundedBoxGeometry.cjs.map +1 -1
  80. package/geometries/RoundedBoxGeometry.js +2 -2
  81. package/geometries/RoundedBoxGeometry.js.map +1 -1
  82. package/helpers/RaycasterHelper.cjs +2 -2
  83. package/helpers/RaycasterHelper.cjs.map +1 -1
  84. package/helpers/RaycasterHelper.js +3 -3
  85. package/helpers/RaycasterHelper.js.map +1 -1
  86. package/helpers/VertexNormalsHelper.cjs +3 -3
  87. package/helpers/VertexNormalsHelper.cjs.map +1 -1
  88. package/helpers/VertexNormalsHelper.js +4 -4
  89. package/helpers/VertexNormalsHelper.js.map +1 -1
  90. package/helpers/VertexTangentsHelper.cjs +2 -2
  91. package/helpers/VertexTangentsHelper.cjs.map +1 -1
  92. package/helpers/VertexTangentsHelper.js +3 -3
  93. package/helpers/VertexTangentsHelper.js.map +1 -1
  94. package/interactive/InteractiveGroup.cjs +1 -1
  95. package/interactive/InteractiveGroup.cjs.map +1 -1
  96. package/interactive/InteractiveGroup.js +2 -2
  97. package/interactive/InteractiveGroup.js.map +1 -1
  98. package/interactive/SelectionBox.cjs +15 -15
  99. package/interactive/SelectionBox.cjs.map +1 -1
  100. package/interactive/SelectionBox.js +16 -16
  101. package/interactive/SelectionBox.js.map +1 -1
  102. package/libs/chevrotain.cjs +1 -1
  103. package/libs/chevrotain.cjs.map +1 -1
  104. package/libs/chevrotain.js +1 -1
  105. package/libs/chevrotain.js.map +1 -1
  106. package/libs/lottie.cjs +1 -1
  107. package/libs/lottie.cjs.map +1 -1
  108. package/libs/lottie.js +1 -1
  109. package/libs/lottie.js.map +1 -1
  110. package/libs/opentype.cjs +1 -1
  111. package/libs/opentype.cjs.map +1 -1
  112. package/libs/opentype.js +1 -1
  113. package/libs/opentype.js.map +1 -1
  114. package/lights/LightProbeGenerator.cjs +5 -5
  115. package/lights/LightProbeGenerator.cjs.map +1 -1
  116. package/lights/LightProbeGenerator.js +5 -5
  117. package/lights/LightProbeGenerator.js.map +1 -1
  118. package/lights/RectAreaLightUniformsLib.cjs +3 -3
  119. package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
  120. package/lights/RectAreaLightUniformsLib.js +3 -3
  121. package/lights/RectAreaLightUniformsLib.js.map +1 -1
  122. package/lines/LineMaterial.cjs +2 -1
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +3 -2
  125. package/lines/LineMaterial.js.map +1 -1
  126. package/lines/LineSegments2.cjs +13 -13
  127. package/lines/LineSegments2.cjs.map +1 -1
  128. package/lines/LineSegments2.js +14 -14
  129. package/lines/LineSegments2.js.map +1 -1
  130. package/lines/LineSegmentsGeometry.cjs +2 -2
  131. package/lines/LineSegmentsGeometry.cjs.map +1 -1
  132. package/lines/LineSegmentsGeometry.js +3 -3
  133. package/lines/LineSegmentsGeometry.js.map +1 -1
  134. package/lines/Wireframe.cjs +3 -3
  135. package/lines/Wireframe.cjs.map +1 -1
  136. package/lines/Wireframe.js +4 -4
  137. package/lines/Wireframe.js.map +1 -1
  138. package/loaders/BasisTextureLoader.cjs +441 -435
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +441 -435
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +2 -1
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +3 -2
  145. package/loaders/EXRLoader.js.map +1 -1
  146. package/loaders/FBXLoader.cjs +2 -2
  147. package/loaders/FBXLoader.cjs.map +1 -1
  148. package/loaders/FBXLoader.js +2 -2
  149. package/loaders/FBXLoader.js.map +1 -1
  150. package/loaders/FontLoader.cjs +2 -2
  151. package/loaders/FontLoader.cjs.map +1 -1
  152. package/loaders/FontLoader.d.ts +2 -2
  153. package/loaders/FontLoader.js +2 -2
  154. package/loaders/FontLoader.js.map +1 -1
  155. package/loaders/GLTFLoader.cjs +2 -2
  156. package/loaders/GLTFLoader.cjs.map +1 -1
  157. package/loaders/GLTFLoader.js +2 -2
  158. package/loaders/GLTFLoader.js.map +1 -1
  159. package/loaders/KTX2Loader.cjs +377 -374
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +377 -374
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +5 -4
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +6 -5
  166. package/loaders/LDrawLoader.js.map +1 -1
  167. package/loaders/OBJLoader.cjs +5 -5
  168. package/loaders/OBJLoader.cjs.map +1 -1
  169. package/loaders/OBJLoader.js +6 -6
  170. package/loaders/OBJLoader.js.map +1 -1
  171. package/loaders/PRWMLoader.cjs +46 -43
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +46 -43
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1694 -1688
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1694 -1688
  178. package/loaders/SVGLoader.js.map +1 -1
  179. package/loaders/XLoader.cjs +1 -1
  180. package/loaders/XLoader.cjs.map +1 -1
  181. package/loaders/XLoader.js +1 -1
  182. package/loaders/XLoader.js.map +1 -1
  183. package/math/Capsule.cjs +3 -3
  184. package/math/Capsule.cjs.map +1 -1
  185. package/math/Capsule.js +3 -3
  186. package/math/Capsule.js.map +1 -1
  187. package/math/ColorConverter.cjs +9 -9
  188. package/math/ColorConverter.cjs.map +1 -1
  189. package/math/ColorConverter.js +9 -9
  190. package/math/ColorConverter.js.map +1 -1
  191. package/math/ConvexHull.cjs +53 -50
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +53 -50
  194. package/math/ConvexHull.js.map +1 -1
  195. package/math/ImprovedNoise.cjs +1 -1
  196. package/math/ImprovedNoise.cjs.map +1 -1
  197. package/math/ImprovedNoise.js +1 -1
  198. package/math/ImprovedNoise.js.map +1 -1
  199. package/math/MeshSurfaceSampler.cjs +2 -2
  200. package/math/MeshSurfaceSampler.cjs.map +1 -1
  201. package/math/MeshSurfaceSampler.js +2 -2
  202. package/math/MeshSurfaceSampler.js.map +1 -1
  203. package/math/OBB.cjs +14 -14
  204. package/math/OBB.cjs.map +1 -1
  205. package/math/OBB.js +15 -15
  206. package/math/OBB.js.map +1 -1
  207. package/math/Octree.cjs +7 -7
  208. package/math/Octree.cjs.map +1 -1
  209. package/math/Octree.js +8 -8
  210. package/math/Octree.js.map +1 -1
  211. package/misc/ConvexObjectBreaker.cjs +271 -268
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +272 -269
  214. package/misc/ConvexObjectBreaker.js.map +1 -1
  215. package/misc/Gyroscope.cjs +6 -6
  216. package/misc/Gyroscope.cjs.map +1 -1
  217. package/misc/Gyroscope.js +7 -7
  218. package/misc/Gyroscope.js.map +1 -1
  219. package/modifiers/CurveModifier.cjs +1 -1
  220. package/modifiers/CurveModifier.cjs.map +1 -1
  221. package/modifiers/CurveModifier.js +2 -2
  222. package/modifiers/CurveModifier.js.map +1 -1
  223. package/modifiers/SimplifyModifier.cjs +2 -2
  224. package/modifiers/SimplifyModifier.cjs.map +1 -1
  225. package/modifiers/SimplifyModifier.js +2 -2
  226. package/modifiers/SimplifyModifier.js.map +1 -1
  227. package/objects/BatchedMesh.cjs +2 -2
  228. package/objects/BatchedMesh.cjs.map +1 -1
  229. package/objects/BatchedMesh.js +3 -3
  230. package/objects/BatchedMesh.js.map +1 -1
  231. package/objects/GroundProjectedEnv.cjs +2 -1
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +3 -2
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +209 -206
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +209 -206
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +154 -146
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +154 -146
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +183 -180
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +183 -180
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +164 -161
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +164 -161
  250. package/objects/Refractor.js.map +1 -1
  251. package/objects/ShadowMesh.cjs +1 -1
  252. package/objects/ShadowMesh.cjs.map +1 -1
  253. package/objects/ShadowMesh.js +2 -2
  254. package/objects/ShadowMesh.js.map +1 -1
  255. package/objects/Sky.cjs +35 -32
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +100 -6
  258. package/objects/Sky.js +35 -32
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +2 -1
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +3 -2
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +143 -140
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +143 -140
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/SAOPass.cjs +267 -264
  270. package/postprocessing/SAOPass.cjs.map +1 -1
  271. package/postprocessing/SAOPass.js +267 -264
  272. package/postprocessing/SAOPass.js.map +1 -1
  273. package/postprocessing/SSAOPass.cjs +253 -250
  274. package/postprocessing/SSAOPass.cjs.map +1 -1
  275. package/postprocessing/SSAOPass.js +253 -250
  276. package/postprocessing/SSAOPass.js.map +1 -1
  277. package/postprocessing/SSRPass.cjs +379 -376
  278. package/postprocessing/SSRPass.cjs.map +1 -1
  279. package/postprocessing/SSRPass.js +379 -376
  280. package/postprocessing/SSRPass.js.map +1 -1
  281. package/postprocessing/UnrealBloomPass.cjs +205 -202
  282. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  283. package/postprocessing/UnrealBloomPass.js +205 -202
  284. package/postprocessing/UnrealBloomPass.js.map +1 -1
  285. package/renderers/CSS2DRenderer.cjs +5 -5
  286. package/renderers/CSS2DRenderer.cjs.map +1 -1
  287. package/renderers/CSS2DRenderer.js +5 -5
  288. package/renderers/CSS2DRenderer.js.map +1 -1
  289. package/renderers/CSS3DRenderer.cjs +5 -5
  290. package/renderers/CSS3DRenderer.cjs.map +1 -1
  291. package/renderers/CSS3DRenderer.js +6 -6
  292. package/renderers/CSS3DRenderer.js.map +1 -1
  293. package/shaders/ACESFilmicToneMappingShader.cjs +71 -46
  294. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  295. package/shaders/ACESFilmicToneMappingShader.js +71 -46
  296. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  297. package/shaders/AfterimageShader.cjs +41 -22
  298. package/shaders/AfterimageShader.cjs.map +1 -1
  299. package/shaders/AfterimageShader.js +41 -22
  300. package/shaders/AfterimageShader.js.map +1 -1
  301. package/shaders/BasicShader.cjs +20 -6
  302. package/shaders/BasicShader.cjs.map +1 -1
  303. package/shaders/BasicShader.js +20 -6
  304. package/shaders/BasicShader.js.map +1 -1
  305. package/shaders/BleachBypassShader.cjs +46 -26
  306. package/shaders/BleachBypassShader.cjs.map +1 -1
  307. package/shaders/BleachBypassShader.js +46 -26
  308. package/shaders/BleachBypassShader.js.map +1 -1
  309. package/shaders/BlendShader.cjs +33 -19
  310. package/shaders/BlendShader.cjs.map +1 -1
  311. package/shaders/BlendShader.js +33 -19
  312. package/shaders/BlendShader.js.map +1 -1
  313. package/shaders/BokehShader.cjs +117 -90
  314. package/shaders/BokehShader.cjs.map +1 -1
  315. package/shaders/BokehShader.js +117 -90
  316. package/shaders/BokehShader.js.map +1 -1
  317. package/shaders/BokehShader2.cjs +333 -232
  318. package/shaders/BokehShader2.cjs.map +1 -1
  319. package/shaders/BokehShader2.js +333 -232
  320. package/shaders/BokehShader2.js.map +1 -1
  321. package/shaders/BrightnessContrastShader.cjs +38 -22
  322. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  323. package/shaders/BrightnessContrastShader.js +38 -22
  324. package/shaders/BrightnessContrastShader.js.map +1 -1
  325. package/shaders/ColorCorrectionShader.cjs +35 -21
  326. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  327. package/shaders/ColorCorrectionShader.js +35 -21
  328. package/shaders/ColorCorrectionShader.js.map +1 -1
  329. package/shaders/ColorifyShader.cjs +34 -19
  330. package/shaders/ColorifyShader.cjs.map +1 -1
  331. package/shaders/ColorifyShader.js +34 -19
  332. package/shaders/ColorifyShader.js.map +1 -1
  333. package/shaders/ConvolutionShader.cjs +43 -24
  334. package/shaders/ConvolutionShader.cjs.map +1 -1
  335. package/shaders/ConvolutionShader.js +43 -24
  336. package/shaders/ConvolutionShader.js.map +1 -1
  337. package/shaders/CopyShader.cjs +30 -16
  338. package/shaders/CopyShader.cjs.map +1 -1
  339. package/shaders/CopyShader.js +30 -16
  340. package/shaders/CopyShader.js.map +1 -1
  341. package/shaders/DOFMipMapShader.cjs +38 -21
  342. package/shaders/DOFMipMapShader.cjs.map +1 -1
  343. package/shaders/DOFMipMapShader.js +38 -21
  344. package/shaders/DOFMipMapShader.js.map +1 -1
  345. package/shaders/DepthLimitedBlurShader.cjs +98 -69
  346. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  347. package/shaders/DepthLimitedBlurShader.js +98 -69
  348. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  349. package/shaders/DigitalGlitch.cjs +70 -59
  350. package/shaders/DigitalGlitch.cjs.map +1 -1
  351. package/shaders/DigitalGlitch.js +70 -59
  352. package/shaders/DigitalGlitch.js.map +1 -1
  353. package/shaders/DotScreenShader.cjs +49 -28
  354. package/shaders/DotScreenShader.cjs.map +1 -1
  355. package/shaders/DotScreenShader.js +49 -28
  356. package/shaders/DotScreenShader.js.map +1 -1
  357. package/shaders/FXAAShader.cjs +1098 -1089
  358. package/shaders/FXAAShader.cjs.map +1 -1
  359. package/shaders/FXAAShader.js +1098 -1089
  360. package/shaders/FXAAShader.js.map +1 -1
  361. package/shaders/FilmShader.cjs +57 -29
  362. package/shaders/FilmShader.cjs.map +1 -1
  363. package/shaders/FilmShader.js +57 -29
  364. package/shaders/FilmShader.js.map +1 -1
  365. package/shaders/FocusShader.cjs +70 -43
  366. package/shaders/FocusShader.cjs.map +1 -1
  367. package/shaders/FocusShader.js +70 -43
  368. package/shaders/FocusShader.js.map +1 -1
  369. package/shaders/FreiChenShader.cjs +74 -53
  370. package/shaders/FreiChenShader.cjs.map +1 -1
  371. package/shaders/FreiChenShader.js +74 -53
  372. package/shaders/FreiChenShader.js.map +1 -1
  373. package/shaders/FresnelShader.cjs +55 -35
  374. package/shaders/FresnelShader.cjs.map +1 -1
  375. package/shaders/FresnelShader.js +55 -35
  376. package/shaders/FresnelShader.js.map +1 -1
  377. package/shaders/GammaCorrectionShader.cjs +33 -19
  378. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  379. package/shaders/GammaCorrectionShader.js +33 -19
  380. package/shaders/GammaCorrectionShader.js.map +1 -1
  381. package/shaders/GodRaysShader.cjs +193 -116
  382. package/shaders/GodRaysShader.cjs.map +1 -1
  383. package/shaders/GodRaysShader.js +193 -116
  384. package/shaders/GodRaysShader.js.map +1 -1
  385. package/shaders/HalftoneShader.cjs +270 -192
  386. package/shaders/HalftoneShader.cjs.map +1 -1
  387. package/shaders/HalftoneShader.js +270 -192
  388. package/shaders/HalftoneShader.js.map +1 -1
  389. package/shaders/HorizontalTiltShiftShader.cjs +43 -27
  390. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  391. package/shaders/HorizontalTiltShiftShader.js +43 -27
  392. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  393. package/shaders/HueSaturationShader.cjs +47 -31
  394. package/shaders/HueSaturationShader.cjs.map +1 -1
  395. package/shaders/HueSaturationShader.js +47 -31
  396. package/shaders/HueSaturationShader.js.map +1 -1
  397. package/shaders/KaleidoShader.cjs +37 -24
  398. package/shaders/KaleidoShader.cjs.map +1 -1
  399. package/shaders/KaleidoShader.js +37 -24
  400. package/shaders/KaleidoShader.js.map +1 -1
  401. package/shaders/LuminosityHighPassShader.cjs +43 -24
  402. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  403. package/shaders/LuminosityHighPassShader.js +43 -24
  404. package/shaders/LuminosityHighPassShader.js.map +1 -1
  405. package/shaders/LuminosityShader.cjs +34 -17
  406. package/shaders/LuminosityShader.cjs.map +1 -1
  407. package/shaders/LuminosityShader.js +34 -17
  408. package/shaders/LuminosityShader.js.map +1 -1
  409. package/shaders/MirrorShader.cjs +39 -26
  410. package/shaders/MirrorShader.cjs.map +1 -1
  411. package/shaders/MirrorShader.js +39 -26
  412. package/shaders/MirrorShader.js.map +1 -1
  413. package/shaders/NormalMapShader.cjs +36 -21
  414. package/shaders/NormalMapShader.cjs.map +1 -1
  415. package/shaders/NormalMapShader.js +36 -21
  416. package/shaders/NormalMapShader.js.map +1 -1
  417. package/shaders/ParallaxShader.cjs +147 -97
  418. package/shaders/ParallaxShader.cjs.map +1 -1
  419. package/shaders/ParallaxShader.js +147 -97
  420. package/shaders/ParallaxShader.js.map +1 -1
  421. package/shaders/PixelShader.cjs +31 -18
  422. package/shaders/PixelShader.cjs.map +1 -1
  423. package/shaders/PixelShader.js +31 -18
  424. package/shaders/PixelShader.js.map +1 -1
  425. package/shaders/RGBShiftShader.cjs +33 -20
  426. package/shaders/RGBShiftShader.cjs.map +1 -1
  427. package/shaders/RGBShiftShader.js +33 -20
  428. package/shaders/RGBShiftShader.js.map +1 -1
  429. package/shaders/SAOShader.cjs +154 -117
  430. package/shaders/SAOShader.cjs.map +1 -1
  431. package/shaders/SAOShader.js +154 -117
  432. package/shaders/SAOShader.js.map +1 -1
  433. package/shaders/SMAAShader.cjs +358 -270
  434. package/shaders/SMAAShader.cjs.map +1 -1
  435. package/shaders/SMAAShader.js +358 -270
  436. package/shaders/SMAAShader.js.map +1 -1
  437. package/shaders/SSAOShader.cjs +236 -142
  438. package/shaders/SSAOShader.cjs.map +1 -1
  439. package/shaders/SSAOShader.js +236 -142
  440. package/shaders/SSAOShader.js.map +1 -1
  441. package/shaders/SSRShader.cjs +4 -4
  442. package/shaders/SSRShader.cjs.map +1 -1
  443. package/shaders/SSRShader.js +4 -4
  444. package/shaders/SSRShader.js.map +1 -1
  445. package/shaders/SepiaShader.cjs +36 -20
  446. package/shaders/SepiaShader.cjs.map +1 -1
  447. package/shaders/SepiaShader.js +36 -20
  448. package/shaders/SepiaShader.js.map +1 -1
  449. package/shaders/SobelOperatorShader.cjs +64 -37
  450. package/shaders/SobelOperatorShader.cjs.map +1 -1
  451. package/shaders/SobelOperatorShader.js +64 -37
  452. package/shaders/SobelOperatorShader.js.map +1 -1
  453. package/shaders/TechnicolorShader.cjs +29 -16
  454. package/shaders/TechnicolorShader.cjs.map +1 -1
  455. package/shaders/TechnicolorShader.js +29 -16
  456. package/shaders/TechnicolorShader.js.map +1 -1
  457. package/shaders/ToneMapShader.cjs +55 -35
  458. package/shaders/ToneMapShader.cjs.map +1 -1
  459. package/shaders/ToneMapShader.js +55 -35
  460. package/shaders/ToneMapShader.js.map +1 -1
  461. package/shaders/ToonShader.cjs +275 -165
  462. package/shaders/ToonShader.cjs.map +1 -1
  463. package/shaders/ToonShader.js +275 -165
  464. package/shaders/ToonShader.js.map +1 -1
  465. package/shaders/TriangleBlurShader.cjs +50 -27
  466. package/shaders/TriangleBlurShader.cjs.map +1 -1
  467. package/shaders/TriangleBlurShader.js +50 -27
  468. package/shaders/TriangleBlurShader.js.map +1 -1
  469. package/shaders/UnpackDepthRGBAShader.cjs +32 -17
  470. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  471. package/shaders/UnpackDepthRGBAShader.js +32 -17
  472. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  473. package/shaders/VerticalTiltShiftShader.cjs +43 -27
  474. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  475. package/shaders/VerticalTiltShiftShader.js +43 -27
  476. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  477. package/shaders/VignetteShader.cjs +43 -27
  478. package/shaders/VignetteShader.cjs.map +1 -1
  479. package/shaders/VignetteShader.js +43 -27
  480. package/shaders/VignetteShader.js.map +1 -1
  481. package/shaders/VolumeShader.cjs +264 -213
  482. package/shaders/VolumeShader.cjs.map +1 -1
  483. package/shaders/VolumeShader.js +264 -213
  484. package/shaders/VolumeShader.js.map +1 -1
  485. package/shaders/WaterRefractionShader.cjs +63 -35
  486. package/shaders/WaterRefractionShader.cjs.map +1 -1
  487. package/shaders/WaterRefractionShader.js +63 -35
  488. package/shaders/WaterRefractionShader.js.map +1 -1
  489. package/utils/GeometryCompressionUtils.cjs +2 -1
  490. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  491. package/utils/GeometryCompressionUtils.js +3 -2
  492. package/utils/GeometryCompressionUtils.js.map +1 -1
  493. package/utils/RoughnessMipmapper.cjs +3 -3
  494. package/utils/RoughnessMipmapper.cjs.map +1 -1
  495. package/utils/RoughnessMipmapper.js +4 -4
  496. package/utils/RoughnessMipmapper.js.map +1 -1
  497. package/webxr/ARButton.cjs +109 -106
  498. package/webxr/ARButton.cjs.map +1 -1
  499. package/webxr/ARButton.d.ts +4 -3
  500. package/webxr/ARButton.js +109 -106
  501. package/webxr/ARButton.js.map +1 -1
  502. package/webxr/OculusHandPointerModel.cjs +2 -2
  503. package/webxr/OculusHandPointerModel.cjs.map +1 -1
  504. package/webxr/OculusHandPointerModel.js +2 -2
  505. package/webxr/OculusHandPointerModel.js.map +1 -1
  506. package/webxr/VRButton.cjs +98 -95
  507. package/webxr/VRButton.cjs.map +1 -1
  508. package/webxr/VRButton.d.ts +6 -5
  509. package/webxr/VRButton.js +98 -95
  510. package/webxr/VRButton.js.map +1 -1
  511. package/webxr/XRHandPrimitiveModel.cjs +2 -2
  512. package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
  513. package/webxr/XRHandPrimitiveModel.js +3 -3
  514. package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -10,144 +10,145 @@ const THREE = require("three");
10
10
  const Reflector = require("./Reflector.cjs");
11
11
  const Refractor = require("./Refractor.cjs");
12
12
  const constants = require("../_polyfill/constants.cjs");
13
- const _Water2 = class extends THREE.Mesh {
14
- constructor(geometry, options = {}) {
15
- super(geometry);
16
- this.isWater = true;
17
- this.type = "Water";
18
- const scope = this;
19
- const color = options.color !== void 0 ? new THREE.Color(options.color) : new THREE.Color(16777215);
20
- const textureWidth = options.textureWidth || 512;
21
- const textureHeight = options.textureHeight || 512;
22
- const clipBias = options.clipBias || 0;
23
- const flowDirection = options.flowDirection || new THREE.Vector2(1, 0);
24
- const flowSpeed = options.flowSpeed || 0.03;
25
- const reflectivity = options.reflectivity || 0.02;
26
- const scale = options.scale || 1;
27
- const shader = options.shader || _Water2.WaterShader;
28
- const encoding = options.encoding !== void 0 ? options.encoding : 3e3;
29
- const flowMap = options.flowMap || void 0;
30
- const normalMap0 = options.normalMap0;
31
- const normalMap1 = options.normalMap1;
32
- const cycle = 0.15;
33
- const halfCycle = cycle * 0.5;
34
- const textureMatrix = new THREE.Matrix4();
35
- const clock = new THREE.Clock();
36
- if (Reflector.Reflector === void 0) {
37
- console.error("THREE.Water: Required component Reflector not found.");
38
- return;
39
- }
40
- if (Refractor.Refractor === void 0) {
41
- console.error("THREE.Water: Required component Refractor not found.");
42
- return;
43
- }
44
- const reflector = new Reflector.Reflector(geometry, {
45
- textureWidth,
46
- textureHeight,
47
- clipBias,
48
- encoding
49
- });
50
- const refractor = new Refractor.Refractor(geometry, {
51
- textureWidth,
52
- textureHeight,
53
- clipBias,
54
- encoding
55
- });
56
- reflector.matrixAutoUpdate = false;
57
- refractor.matrixAutoUpdate = false;
58
- this.material = new THREE.ShaderMaterial({
59
- uniforms: THREE.UniformsUtils.merge([THREE.UniformsLib["fog"], shader.uniforms]),
60
- vertexShader: shader.vertexShader,
61
- fragmentShader: shader.fragmentShader,
62
- transparent: true,
63
- fog: true
64
- });
65
- if (flowMap !== void 0) {
66
- this.material.defines.USE_FLOWMAP = "";
67
- this.material.uniforms["tFlowMap"] = {
68
- type: "t",
69
- value: flowMap
70
- };
71
- } else {
72
- this.material.uniforms["flowDirection"] = {
73
- type: "v2",
74
- value: flowDirection
13
+ const Water2 = /* @__PURE__ */ (() => {
14
+ const _Water2 = class extends THREE.Mesh {
15
+ constructor(geometry, options = {}) {
16
+ super(geometry);
17
+ this.isWater = true;
18
+ this.type = "Water";
19
+ const scope = this;
20
+ const color = options.color !== void 0 ? new THREE.Color(options.color) : new THREE.Color(16777215);
21
+ const textureWidth = options.textureWidth || 512;
22
+ const textureHeight = options.textureHeight || 512;
23
+ const clipBias = options.clipBias || 0;
24
+ const flowDirection = options.flowDirection || new THREE.Vector2(1, 0);
25
+ const flowSpeed = options.flowSpeed || 0.03;
26
+ const reflectivity = options.reflectivity || 0.02;
27
+ const scale = options.scale || 1;
28
+ const shader = options.shader || _Water2.WaterShader;
29
+ const encoding = options.encoding !== void 0 ? options.encoding : 3e3;
30
+ const flowMap = options.flowMap || void 0;
31
+ const normalMap0 = options.normalMap0;
32
+ const normalMap1 = options.normalMap1;
33
+ const cycle = 0.15;
34
+ const halfCycle = cycle * 0.5;
35
+ const textureMatrix = new THREE.Matrix4();
36
+ const clock = new THREE.Clock();
37
+ if (Reflector.Reflector === void 0) {
38
+ console.error("THREE.Water: Required component Reflector not found.");
39
+ return;
40
+ }
41
+ if (Refractor.Refractor === void 0) {
42
+ console.error("THREE.Water: Required component Refractor not found.");
43
+ return;
44
+ }
45
+ const reflector = new Reflector.Reflector(geometry, {
46
+ textureWidth,
47
+ textureHeight,
48
+ clipBias,
49
+ encoding
50
+ });
51
+ const refractor = new Refractor.Refractor(geometry, {
52
+ textureWidth,
53
+ textureHeight,
54
+ clipBias,
55
+ encoding
56
+ });
57
+ reflector.matrixAutoUpdate = false;
58
+ refractor.matrixAutoUpdate = false;
59
+ this.material = new THREE.ShaderMaterial({
60
+ uniforms: THREE.UniformsUtils.merge([THREE.UniformsLib["fog"], shader.uniforms]),
61
+ vertexShader: shader.vertexShader,
62
+ fragmentShader: shader.fragmentShader,
63
+ transparent: true,
64
+ fog: true
65
+ });
66
+ if (flowMap !== void 0) {
67
+ this.material.defines.USE_FLOWMAP = "";
68
+ this.material.uniforms["tFlowMap"] = {
69
+ type: "t",
70
+ value: flowMap
71
+ };
72
+ } else {
73
+ this.material.uniforms["flowDirection"] = {
74
+ type: "v2",
75
+ value: flowDirection
76
+ };
77
+ }
78
+ normalMap0.wrapS = normalMap0.wrapT = THREE.RepeatWrapping;
79
+ normalMap1.wrapS = normalMap1.wrapT = THREE.RepeatWrapping;
80
+ this.material.uniforms["tReflectionMap"].value = reflector.getRenderTarget().texture;
81
+ this.material.uniforms["tRefractionMap"].value = refractor.getRenderTarget().texture;
82
+ this.material.uniforms["tNormalMap0"].value = normalMap0;
83
+ this.material.uniforms["tNormalMap1"].value = normalMap1;
84
+ this.material.uniforms["color"].value = color;
85
+ this.material.uniforms["reflectivity"].value = reflectivity;
86
+ this.material.uniforms["textureMatrix"].value = textureMatrix;
87
+ this.material.uniforms["config"].value.x = 0;
88
+ this.material.uniforms["config"].value.y = halfCycle;
89
+ this.material.uniforms["config"].value.z = halfCycle;
90
+ this.material.uniforms["config"].value.w = scale;
91
+ function updateTextureMatrix(camera) {
92
+ textureMatrix.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1);
93
+ textureMatrix.multiply(camera.projectionMatrix);
94
+ textureMatrix.multiply(camera.matrixWorldInverse);
95
+ textureMatrix.multiply(scope.matrixWorld);
96
+ }
97
+ function updateFlow() {
98
+ const delta = clock.getDelta();
99
+ const config = scope.material.uniforms["config"];
100
+ config.value.x += flowSpeed * delta;
101
+ config.value.y = config.value.x + halfCycle;
102
+ if (config.value.x >= cycle) {
103
+ config.value.x = 0;
104
+ config.value.y = halfCycle;
105
+ } else if (config.value.y >= cycle) {
106
+ config.value.y = config.value.y - cycle;
107
+ }
108
+ }
109
+ this.onBeforeRender = function(renderer, scene, camera) {
110
+ updateTextureMatrix(camera);
111
+ updateFlow();
112
+ scope.visible = false;
113
+ reflector.matrixWorld.copy(scope.matrixWorld);
114
+ refractor.matrixWorld.copy(scope.matrixWorld);
115
+ reflector.onBeforeRender(renderer, scene, camera);
116
+ refractor.onBeforeRender(renderer, scene, camera);
117
+ scope.visible = true;
75
118
  };
76
119
  }
77
- normalMap0.wrapS = normalMap0.wrapT = THREE.RepeatWrapping;
78
- normalMap1.wrapS = normalMap1.wrapT = THREE.RepeatWrapping;
79
- this.material.uniforms["tReflectionMap"].value = reflector.getRenderTarget().texture;
80
- this.material.uniforms["tRefractionMap"].value = refractor.getRenderTarget().texture;
81
- this.material.uniforms["tNormalMap0"].value = normalMap0;
82
- this.material.uniforms["tNormalMap1"].value = normalMap1;
83
- this.material.uniforms["color"].value = color;
84
- this.material.uniforms["reflectivity"].value = reflectivity;
85
- this.material.uniforms["textureMatrix"].value = textureMatrix;
86
- this.material.uniforms["config"].value.x = 0;
87
- this.material.uniforms["config"].value.y = halfCycle;
88
- this.material.uniforms["config"].value.z = halfCycle;
89
- this.material.uniforms["config"].value.w = scale;
90
- function updateTextureMatrix(camera) {
91
- textureMatrix.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1);
92
- textureMatrix.multiply(camera.projectionMatrix);
93
- textureMatrix.multiply(camera.matrixWorldInverse);
94
- textureMatrix.multiply(scope.matrixWorld);
95
- }
96
- function updateFlow() {
97
- const delta = clock.getDelta();
98
- const config = scope.material.uniforms["config"];
99
- config.value.x += flowSpeed * delta;
100
- config.value.y = config.value.x + halfCycle;
101
- if (config.value.x >= cycle) {
102
- config.value.x = 0;
103
- config.value.y = halfCycle;
104
- } else if (config.value.y >= cycle) {
105
- config.value.y = config.value.y - cycle;
120
+ };
121
+ let Water22 = _Water2;
122
+ __publicField(Water22, "WaterShader", {
123
+ uniforms: {
124
+ color: {
125
+ value: null
126
+ },
127
+ reflectivity: {
128
+ value: 0
129
+ },
130
+ tReflectionMap: {
131
+ value: null
132
+ },
133
+ tRefractionMap: {
134
+ value: null
135
+ },
136
+ tNormalMap0: {
137
+ value: null
138
+ },
139
+ tNormalMap1: {
140
+ value: null
141
+ },
142
+ textureMatrix: {
143
+ value: null
144
+ },
145
+ config: {
146
+ value: /* @__PURE__ */ new THREE.Vector4()
106
147
  }
107
- }
108
- this.onBeforeRender = function(renderer, scene, camera) {
109
- updateTextureMatrix(camera);
110
- updateFlow();
111
- scope.visible = false;
112
- reflector.matrixWorld.copy(scope.matrixWorld);
113
- refractor.matrixWorld.copy(scope.matrixWorld);
114
- reflector.onBeforeRender(renderer, scene, camera);
115
- refractor.onBeforeRender(renderer, scene, camera);
116
- scope.visible = true;
117
- };
118
- }
119
- };
120
- let Water2 = _Water2;
121
- __publicField(Water2, "WaterShader", {
122
- uniforms: {
123
- color: {
124
- value: null
125
- },
126
- reflectivity: {
127
- value: 0
128
- },
129
- tReflectionMap: {
130
- value: null
131
- },
132
- tRefractionMap: {
133
- value: null
134
148
  },
135
- tNormalMap0: {
136
- value: null
137
- },
138
- tNormalMap1: {
139
- value: null
140
- },
141
- textureMatrix: {
142
- value: null
143
- },
144
- config: {
145
- value: new THREE.Vector4()
146
- }
147
- },
148
- vertexShader: (
149
- /* glsl */
150
- `
149
+ vertexShader: (
150
+ /* glsl */
151
+ `
151
152
 
152
153
  #include <common>
153
154
  #include <fog_pars_vertex>
@@ -174,10 +175,10 @@ __publicField(Water2, "WaterShader", {
174
175
  #include <fog_vertex>
175
176
 
176
177
  }`
177
- ),
178
- fragmentShader: (
179
- /* glsl */
180
- `
178
+ ),
179
+ fragmentShader: (
180
+ /* glsl */
181
+ `
181
182
 
182
183
  #include <common>
183
184
  #include <fog_pars_fragment>
@@ -252,7 +253,9 @@ __publicField(Water2, "WaterShader", {
252
253
  #include <fog_fragment>
253
254
 
254
255
  }`
255
- )
256
- });
256
+ )
257
+ });
258
+ return Water22;
259
+ })();
257
260
  exports.Water2 = Water2;
258
261
  //# sourceMappingURL=Water2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Water2.cjs","sources":["../../src/objects/Water2.js"],"sourcesContent":["import {\n Clock,\n Color,\n Matrix4,\n Mesh,\n RepeatWrapping,\n ShaderMaterial,\n UniformsLib,\n UniformsUtils,\n Vector2,\n Vector4,\n} from 'three'\nimport { Reflector } from './Reflector'\nimport { Refractor } from './Refractor'\nimport { version } from '../_polyfill/constants'\n\n/**\n * References:\n *\thttp://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf\n * \thttp://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html\n *\n */\n\nclass Water2 extends Mesh {\n static WaterShader = {\n uniforms: {\n color: {\n value: null,\n },\n\n reflectivity: {\n value: 0,\n },\n\n tReflectionMap: {\n value: null,\n },\n\n tRefractionMap: {\n value: null,\n },\n\n tNormalMap0: {\n value: null,\n },\n\n tNormalMap1: {\n value: null,\n },\n\n textureMatrix: {\n value: null,\n },\n\n config: {\n value: new Vector4(),\n },\n },\n\n vertexShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\n\t\tuniform mat4 textureMatrix;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tvCoord = textureMatrix * vec4( position, 1.0 );\n\n\t\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t\t\tvToEye = cameraPosition - worldPosition.xyz;\n\n\t\t\tvec4 mvPosition = viewMatrix * worldPosition; // used in fog_vertex\n\t\t\tgl_Position = projectionMatrix * mvPosition;\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\n\t\tuniform sampler2D tReflectionMap;\n\t\tuniform sampler2D tRefractionMap;\n\t\tuniform sampler2D tNormalMap0;\n\t\tuniform sampler2D tNormalMap1;\n\n\t\t#ifdef USE_FLOWMAP\n\t\t\tuniform sampler2D tFlowMap;\n\t\t#else\n\t\t\tuniform vec2 flowDirection;\n\t\t#endif\n\n\t\tuniform vec3 color;\n\t\tuniform float reflectivity;\n\t\tuniform vec4 config;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\t#include <logdepthbuf_fragment>\n\n\t\t\tfloat flowMapOffset0 = config.x;\n\t\t\tfloat flowMapOffset1 = config.y;\n\t\t\tfloat halfCycle = config.z;\n\t\t\tfloat scale = config.w;\n\n\t\t\tvec3 toEye = normalize( vToEye );\n\n\t\t\t// determine flow direction\n\t\t\tvec2 flow;\n\t\t\t#ifdef USE_FLOWMAP\n\t\t\t\tflow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;\n\t\t\t#else\n\t\t\t\tflow = flowDirection;\n\t\t\t#endif\n\t\t\tflow.x *= - 1.0;\n\n\t\t\t// sample normal maps (distort uvs with flowdata)\n\t\t\tvec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );\n\t\t\tvec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );\n\n\t\t\t// linear interpolate to get the final normal color\n\t\t\tfloat flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;\n\t\t\tvec4 normalColor = mix( normalColor0, normalColor1, flowLerp );\n\n\t\t\t// calculate normal vector\n\t\t\tvec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n\n\t\t\t// calculate the fresnel term to blend reflection and refraction maps\n\t\t\tfloat theta = max( dot( toEye, normal ), 0.0 );\n\t\t\tfloat reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );\n\n\t\t\t// calculate final uv coords\n\t\t\tvec3 coord = vCoord.xyz / vCoord.w;\n\t\t\tvec2 uv = coord.xy + coord.z * normal.xz * 0.05;\n\n\t\t\tvec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );\n\t\t\tvec4 refractColor = texture2D( tRefractionMap, uv );\n\n\t\t\t// multiply water color with the mix of both textures\n\t\t\tgl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>\n\t\t\t#include <fog_fragment>\n\n\t\t}`,\n }\n\n constructor(geometry, options = {}) {\n super(geometry)\n\n this.isWater = true\n\n this.type = 'Water'\n\n const scope = this\n\n const color = options.color !== undefined ? new Color(options.color) : new Color(0xffffff)\n const textureWidth = options.textureWidth || 512\n const textureHeight = options.textureHeight || 512\n const clipBias = options.clipBias || 0\n const flowDirection = options.flowDirection || new Vector2(1, 0)\n const flowSpeed = options.flowSpeed || 0.03\n const reflectivity = options.reflectivity || 0.02\n const scale = options.scale || 1\n const shader = options.shader || Water2.WaterShader\n const encoding = options.encoding !== undefined ? options.encoding : 3000\n\n const flowMap = options.flowMap || undefined\n const normalMap0 = options.normalMap0\n const normalMap1 = options.normalMap1\n\n const cycle = 0.15 // a cycle of a flow map phase\n const halfCycle = cycle * 0.5\n const textureMatrix = new Matrix4()\n const clock = new Clock()\n\n // internal components\n\n if (Reflector === undefined) {\n console.error('THREE.Water: Required component Reflector not found.')\n return\n }\n\n if (Refractor === undefined) {\n console.error('THREE.Water: Required component Refractor not found.')\n return\n }\n\n const reflector = new Reflector(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n const refractor = new Refractor(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n reflector.matrixAutoUpdate = false\n refractor.matrixAutoUpdate = false\n\n // material\n\n this.material = new ShaderMaterial({\n uniforms: UniformsUtils.merge([UniformsLib['fog'], shader.uniforms]),\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n fog: true,\n })\n\n if (flowMap !== undefined) {\n this.material.defines.USE_FLOWMAP = ''\n this.material.uniforms['tFlowMap'] = {\n type: 't',\n value: flowMap,\n }\n } else {\n this.material.uniforms['flowDirection'] = {\n type: 'v2',\n value: flowDirection,\n }\n }\n\n // maps\n\n normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping\n normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping\n\n this.material.uniforms['tReflectionMap'].value = reflector.getRenderTarget().texture\n this.material.uniforms['tRefractionMap'].value = refractor.getRenderTarget().texture\n this.material.uniforms['tNormalMap0'].value = normalMap0\n this.material.uniforms['tNormalMap1'].value = normalMap1\n\n // water\n\n this.material.uniforms['color'].value = color\n this.material.uniforms['reflectivity'].value = reflectivity\n this.material.uniforms['textureMatrix'].value = textureMatrix\n\n // inital values\n\n this.material.uniforms['config'].value.x = 0 // flowMapOffset0\n this.material.uniforms['config'].value.y = halfCycle // flowMapOffset1\n this.material.uniforms['config'].value.z = halfCycle // halfCycle\n this.material.uniforms['config'].value.w = scale // scale\n\n // functions\n\n function updateTextureMatrix(camera) {\n textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0)\n\n textureMatrix.multiply(camera.projectionMatrix)\n textureMatrix.multiply(camera.matrixWorldInverse)\n textureMatrix.multiply(scope.matrixWorld)\n }\n\n function updateFlow() {\n const delta = clock.getDelta()\n const config = scope.material.uniforms['config']\n\n config.value.x += flowSpeed * delta // flowMapOffset0\n config.value.y = config.value.x + halfCycle // flowMapOffset1\n\n // Important: The distance between offsets should be always the value of \"halfCycle\".\n // Moreover, both offsets should be in the range of [ 0, cycle ].\n // This approach ensures a smooth water flow and avoids \"reset\" effects.\n\n if (config.value.x >= cycle) {\n config.value.x = 0\n config.value.y = halfCycle\n } else if (config.value.y >= cycle) {\n config.value.y = config.value.y - cycle\n }\n }\n\n //\n\n this.onBeforeRender = function (renderer, scene, camera) {\n updateTextureMatrix(camera)\n updateFlow()\n\n scope.visible = false\n\n reflector.matrixWorld.copy(scope.matrixWorld)\n refractor.matrixWorld.copy(scope.matrixWorld)\n\n reflector.onBeforeRender(renderer, scene, camera)\n refractor.onBeforeRender(renderer, scene, camera)\n\n scope.visible = true\n }\n }\n}\n\nexport { Water2 }\n"],"names":["Mesh","Color","Vector2","Matrix4","Clock","Reflector","Refractor","ShaderMaterial","UniformsUtils","UniformsLib","RepeatWrapping","Vector4","version"],"mappings":"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"}
1
+ {"version":3,"file":"Water2.cjs","sources":["../../src/objects/Water2.js"],"sourcesContent":["import {\n Clock,\n Color,\n Matrix4,\n Mesh,\n RepeatWrapping,\n ShaderMaterial,\n UniformsLib,\n UniformsUtils,\n Vector2,\n Vector4,\n} from 'three'\nimport { Reflector } from './Reflector'\nimport { Refractor } from './Refractor'\nimport { version } from '../_polyfill/constants'\n\n/**\n * References:\n *\thttp://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf\n * \thttp://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html\n *\n */\n\nconst Water2 = /* @__PURE__ */ (() => {\n class Water2 extends Mesh {\n static WaterShader = {\n uniforms: {\n color: {\n value: null,\n },\n\n reflectivity: {\n value: 0,\n },\n\n tReflectionMap: {\n value: null,\n },\n\n tRefractionMap: {\n value: null,\n },\n\n tNormalMap0: {\n value: null,\n },\n\n tNormalMap1: {\n value: null,\n },\n\n textureMatrix: {\n value: null,\n },\n\n config: {\n value: /* @__PURE__ */ new Vector4(),\n },\n },\n\n vertexShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\n\t\tuniform mat4 textureMatrix;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tvCoord = textureMatrix * vec4( position, 1.0 );\n\n\t\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t\t\tvToEye = cameraPosition - worldPosition.xyz;\n\n\t\t\tvec4 mvPosition = viewMatrix * worldPosition; // used in fog_vertex\n\t\t\tgl_Position = projectionMatrix * mvPosition;\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\n\t\tuniform sampler2D tReflectionMap;\n\t\tuniform sampler2D tRefractionMap;\n\t\tuniform sampler2D tNormalMap0;\n\t\tuniform sampler2D tNormalMap1;\n\n\t\t#ifdef USE_FLOWMAP\n\t\t\tuniform sampler2D tFlowMap;\n\t\t#else\n\t\t\tuniform vec2 flowDirection;\n\t\t#endif\n\n\t\tuniform vec3 color;\n\t\tuniform float reflectivity;\n\t\tuniform vec4 config;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\t#include <logdepthbuf_fragment>\n\n\t\t\tfloat flowMapOffset0 = config.x;\n\t\t\tfloat flowMapOffset1 = config.y;\n\t\t\tfloat halfCycle = config.z;\n\t\t\tfloat scale = config.w;\n\n\t\t\tvec3 toEye = normalize( vToEye );\n\n\t\t\t// determine flow direction\n\t\t\tvec2 flow;\n\t\t\t#ifdef USE_FLOWMAP\n\t\t\t\tflow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;\n\t\t\t#else\n\t\t\t\tflow = flowDirection;\n\t\t\t#endif\n\t\t\tflow.x *= - 1.0;\n\n\t\t\t// sample normal maps (distort uvs with flowdata)\n\t\t\tvec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );\n\t\t\tvec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );\n\n\t\t\t// linear interpolate to get the final normal color\n\t\t\tfloat flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;\n\t\t\tvec4 normalColor = mix( normalColor0, normalColor1, flowLerp );\n\n\t\t\t// calculate normal vector\n\t\t\tvec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n\n\t\t\t// calculate the fresnel term to blend reflection and refraction maps\n\t\t\tfloat theta = max( dot( toEye, normal ), 0.0 );\n\t\t\tfloat reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );\n\n\t\t\t// calculate final uv coords\n\t\t\tvec3 coord = vCoord.xyz / vCoord.w;\n\t\t\tvec2 uv = coord.xy + coord.z * normal.xz * 0.05;\n\n\t\t\tvec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );\n\t\t\tvec4 refractColor = texture2D( tRefractionMap, uv );\n\n\t\t\t// multiply water color with the mix of both textures\n\t\t\tgl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>\n\t\t\t#include <fog_fragment>\n\n\t\t}`,\n }\n\n constructor(geometry, options = {}) {\n super(geometry)\n\n this.isWater = true\n\n this.type = 'Water'\n\n const scope = this\n\n const color = options.color !== undefined ? new Color(options.color) : new Color(0xffffff)\n const textureWidth = options.textureWidth || 512\n const textureHeight = options.textureHeight || 512\n const clipBias = options.clipBias || 0\n const flowDirection = options.flowDirection || new Vector2(1, 0)\n const flowSpeed = options.flowSpeed || 0.03\n const reflectivity = options.reflectivity || 0.02\n const scale = options.scale || 1\n const shader = options.shader || Water2.WaterShader\n const encoding = options.encoding !== undefined ? options.encoding : 3000\n\n const flowMap = options.flowMap || undefined\n const normalMap0 = options.normalMap0\n const normalMap1 = options.normalMap1\n\n const cycle = 0.15 // a cycle of a flow map phase\n const halfCycle = cycle * 0.5\n const textureMatrix = new Matrix4()\n const clock = new Clock()\n\n // internal components\n\n if (Reflector === undefined) {\n console.error('THREE.Water: Required component Reflector not found.')\n return\n }\n\n if (Refractor === undefined) {\n console.error('THREE.Water: Required component Refractor not found.')\n return\n }\n\n const reflector = new Reflector(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n const refractor = new Refractor(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n reflector.matrixAutoUpdate = false\n refractor.matrixAutoUpdate = false\n\n // material\n\n this.material = new ShaderMaterial({\n uniforms: UniformsUtils.merge([UniformsLib['fog'], shader.uniforms]),\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n fog: true,\n })\n\n if (flowMap !== undefined) {\n this.material.defines.USE_FLOWMAP = ''\n this.material.uniforms['tFlowMap'] = {\n type: 't',\n value: flowMap,\n }\n } else {\n this.material.uniforms['flowDirection'] = {\n type: 'v2',\n value: flowDirection,\n }\n }\n\n // maps\n\n normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping\n normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping\n\n this.material.uniforms['tReflectionMap'].value = reflector.getRenderTarget().texture\n this.material.uniforms['tRefractionMap'].value = refractor.getRenderTarget().texture\n this.material.uniforms['tNormalMap0'].value = normalMap0\n this.material.uniforms['tNormalMap1'].value = normalMap1\n\n // water\n\n this.material.uniforms['color'].value = color\n this.material.uniforms['reflectivity'].value = reflectivity\n this.material.uniforms['textureMatrix'].value = textureMatrix\n\n // inital values\n\n this.material.uniforms['config'].value.x = 0 // flowMapOffset0\n this.material.uniforms['config'].value.y = halfCycle // flowMapOffset1\n this.material.uniforms['config'].value.z = halfCycle // halfCycle\n this.material.uniforms['config'].value.w = scale // scale\n\n // functions\n\n function updateTextureMatrix(camera) {\n textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0)\n\n textureMatrix.multiply(camera.projectionMatrix)\n textureMatrix.multiply(camera.matrixWorldInverse)\n textureMatrix.multiply(scope.matrixWorld)\n }\n\n function updateFlow() {\n const delta = clock.getDelta()\n const config = scope.material.uniforms['config']\n\n config.value.x += flowSpeed * delta // flowMapOffset0\n config.value.y = config.value.x + halfCycle // flowMapOffset1\n\n // Important: The distance between offsets should be always the value of \"halfCycle\".\n // Moreover, both offsets should be in the range of [ 0, cycle ].\n // This approach ensures a smooth water flow and avoids \"reset\" effects.\n\n if (config.value.x >= cycle) {\n config.value.x = 0\n config.value.y = halfCycle\n } else if (config.value.y >= cycle) {\n config.value.y = config.value.y - cycle\n }\n }\n\n //\n\n this.onBeforeRender = function (renderer, scene, camera) {\n updateTextureMatrix(camera)\n updateFlow()\n\n scope.visible = false\n\n reflector.matrixWorld.copy(scope.matrixWorld)\n refractor.matrixWorld.copy(scope.matrixWorld)\n\n reflector.onBeforeRender(renderer, scene, camera)\n refractor.onBeforeRender(renderer, scene, camera)\n\n scope.visible = true\n }\n }\n }\n\n return Water2\n})()\n\nexport { Water2 }\n"],"names":["Mesh","Color","Vector2","Matrix4","Clock","Reflector","Refractor","ShaderMaterial","UniformsUtils","UniformsLib","RepeatWrapping","Water2","Vector4","version"],"mappings":"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"}