three-stdlib 2.35.4 → 2.35.5

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 +17 -20
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +17 -20
  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 +715 -722
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +716 -723
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +1 -2
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +2 -3
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +1 -2
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +2 -3
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +1 -2
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +2 -3
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +122 -133
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +21 -23
  68. package/exporters/DRACOExporter.js +122 -133
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +167 -170
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +167 -170
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +515 -524
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +515 -524
  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 +1 -2
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +2 -3
  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 +435 -441
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +435 -441
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +1 -2
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +2 -3
  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 +374 -377
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +374 -377
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +4 -5
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +5 -6
  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 +43 -46
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +43 -46
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1688 -1694
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1688 -1694
  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 +50 -53
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +50 -53
  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 +268 -271
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +269 -272
  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 +1 -2
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +2 -3
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +206 -209
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +206 -209
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +146 -154
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +146 -154
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +180 -183
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +180 -183
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +161 -164
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +161 -164
  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 +32 -35
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +6 -100
  258. package/objects/Sky.js +32 -35
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +1 -2
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +2 -3
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +140 -143
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +140 -143
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/SAOPass.cjs +264 -267
  270. package/postprocessing/SAOPass.cjs.map +1 -1
  271. package/postprocessing/SAOPass.js +264 -267
  272. package/postprocessing/SAOPass.js.map +1 -1
  273. package/postprocessing/SSAOPass.cjs +250 -253
  274. package/postprocessing/SSAOPass.cjs.map +1 -1
  275. package/postprocessing/SSAOPass.js +250 -253
  276. package/postprocessing/SSAOPass.js.map +1 -1
  277. package/postprocessing/SSRPass.cjs +376 -379
  278. package/postprocessing/SSRPass.cjs.map +1 -1
  279. package/postprocessing/SSRPass.js +376 -379
  280. package/postprocessing/SSRPass.js.map +1 -1
  281. package/postprocessing/UnrealBloomPass.cjs +202 -205
  282. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  283. package/postprocessing/UnrealBloomPass.js +202 -205
  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 +46 -71
  294. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  295. package/shaders/ACESFilmicToneMappingShader.js +46 -71
  296. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  297. package/shaders/AfterimageShader.cjs +22 -41
  298. package/shaders/AfterimageShader.cjs.map +1 -1
  299. package/shaders/AfterimageShader.js +22 -41
  300. package/shaders/AfterimageShader.js.map +1 -1
  301. package/shaders/BasicShader.cjs +6 -20
  302. package/shaders/BasicShader.cjs.map +1 -1
  303. package/shaders/BasicShader.js +6 -20
  304. package/shaders/BasicShader.js.map +1 -1
  305. package/shaders/BleachBypassShader.cjs +26 -46
  306. package/shaders/BleachBypassShader.cjs.map +1 -1
  307. package/shaders/BleachBypassShader.js +26 -46
  308. package/shaders/BleachBypassShader.js.map +1 -1
  309. package/shaders/BlendShader.cjs +19 -33
  310. package/shaders/BlendShader.cjs.map +1 -1
  311. package/shaders/BlendShader.js +19 -33
  312. package/shaders/BlendShader.js.map +1 -1
  313. package/shaders/BokehShader.cjs +90 -117
  314. package/shaders/BokehShader.cjs.map +1 -1
  315. package/shaders/BokehShader.js +90 -117
  316. package/shaders/BokehShader.js.map +1 -1
  317. package/shaders/BokehShader2.cjs +232 -333
  318. package/shaders/BokehShader2.cjs.map +1 -1
  319. package/shaders/BokehShader2.js +232 -333
  320. package/shaders/BokehShader2.js.map +1 -1
  321. package/shaders/BrightnessContrastShader.cjs +22 -38
  322. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  323. package/shaders/BrightnessContrastShader.js +22 -38
  324. package/shaders/BrightnessContrastShader.js.map +1 -1
  325. package/shaders/ColorCorrectionShader.cjs +21 -35
  326. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  327. package/shaders/ColorCorrectionShader.js +21 -35
  328. package/shaders/ColorCorrectionShader.js.map +1 -1
  329. package/shaders/ColorifyShader.cjs +19 -34
  330. package/shaders/ColorifyShader.cjs.map +1 -1
  331. package/shaders/ColorifyShader.js +19 -34
  332. package/shaders/ColorifyShader.js.map +1 -1
  333. package/shaders/ConvolutionShader.cjs +24 -43
  334. package/shaders/ConvolutionShader.cjs.map +1 -1
  335. package/shaders/ConvolutionShader.js +24 -43
  336. package/shaders/ConvolutionShader.js.map +1 -1
  337. package/shaders/CopyShader.cjs +16 -30
  338. package/shaders/CopyShader.cjs.map +1 -1
  339. package/shaders/CopyShader.js +16 -30
  340. package/shaders/CopyShader.js.map +1 -1
  341. package/shaders/DOFMipMapShader.cjs +21 -38
  342. package/shaders/DOFMipMapShader.cjs.map +1 -1
  343. package/shaders/DOFMipMapShader.js +21 -38
  344. package/shaders/DOFMipMapShader.js.map +1 -1
  345. package/shaders/DepthLimitedBlurShader.cjs +69 -98
  346. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  347. package/shaders/DepthLimitedBlurShader.js +69 -98
  348. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  349. package/shaders/DigitalGlitch.cjs +59 -70
  350. package/shaders/DigitalGlitch.cjs.map +1 -1
  351. package/shaders/DigitalGlitch.js +59 -70
  352. package/shaders/DigitalGlitch.js.map +1 -1
  353. package/shaders/DotScreenShader.cjs +28 -49
  354. package/shaders/DotScreenShader.cjs.map +1 -1
  355. package/shaders/DotScreenShader.js +28 -49
  356. package/shaders/DotScreenShader.js.map +1 -1
  357. package/shaders/FXAAShader.cjs +1089 -1098
  358. package/shaders/FXAAShader.cjs.map +1 -1
  359. package/shaders/FXAAShader.js +1089 -1098
  360. package/shaders/FXAAShader.js.map +1 -1
  361. package/shaders/FilmShader.cjs +29 -57
  362. package/shaders/FilmShader.cjs.map +1 -1
  363. package/shaders/FilmShader.js +29 -57
  364. package/shaders/FilmShader.js.map +1 -1
  365. package/shaders/FocusShader.cjs +43 -70
  366. package/shaders/FocusShader.cjs.map +1 -1
  367. package/shaders/FocusShader.js +43 -70
  368. package/shaders/FocusShader.js.map +1 -1
  369. package/shaders/FreiChenShader.cjs +53 -74
  370. package/shaders/FreiChenShader.cjs.map +1 -1
  371. package/shaders/FreiChenShader.js +53 -74
  372. package/shaders/FreiChenShader.js.map +1 -1
  373. package/shaders/FresnelShader.cjs +35 -55
  374. package/shaders/FresnelShader.cjs.map +1 -1
  375. package/shaders/FresnelShader.js +35 -55
  376. package/shaders/FresnelShader.js.map +1 -1
  377. package/shaders/GammaCorrectionShader.cjs +19 -33
  378. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  379. package/shaders/GammaCorrectionShader.js +19 -33
  380. package/shaders/GammaCorrectionShader.js.map +1 -1
  381. package/shaders/GodRaysShader.cjs +116 -193
  382. package/shaders/GodRaysShader.cjs.map +1 -1
  383. package/shaders/GodRaysShader.js +116 -193
  384. package/shaders/GodRaysShader.js.map +1 -1
  385. package/shaders/HalftoneShader.cjs +192 -270
  386. package/shaders/HalftoneShader.cjs.map +1 -1
  387. package/shaders/HalftoneShader.js +192 -270
  388. package/shaders/HalftoneShader.js.map +1 -1
  389. package/shaders/HorizontalTiltShiftShader.cjs +27 -43
  390. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  391. package/shaders/HorizontalTiltShiftShader.js +27 -43
  392. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  393. package/shaders/HueSaturationShader.cjs +31 -47
  394. package/shaders/HueSaturationShader.cjs.map +1 -1
  395. package/shaders/HueSaturationShader.js +31 -47
  396. package/shaders/HueSaturationShader.js.map +1 -1
  397. package/shaders/KaleidoShader.cjs +24 -37
  398. package/shaders/KaleidoShader.cjs.map +1 -1
  399. package/shaders/KaleidoShader.js +24 -37
  400. package/shaders/KaleidoShader.js.map +1 -1
  401. package/shaders/LuminosityHighPassShader.cjs +24 -43
  402. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  403. package/shaders/LuminosityHighPassShader.js +24 -43
  404. package/shaders/LuminosityHighPassShader.js.map +1 -1
  405. package/shaders/LuminosityShader.cjs +17 -34
  406. package/shaders/LuminosityShader.cjs.map +1 -1
  407. package/shaders/LuminosityShader.js +17 -34
  408. package/shaders/LuminosityShader.js.map +1 -1
  409. package/shaders/MirrorShader.cjs +26 -39
  410. package/shaders/MirrorShader.cjs.map +1 -1
  411. package/shaders/MirrorShader.js +26 -39
  412. package/shaders/MirrorShader.js.map +1 -1
  413. package/shaders/NormalMapShader.cjs +21 -36
  414. package/shaders/NormalMapShader.cjs.map +1 -1
  415. package/shaders/NormalMapShader.js +21 -36
  416. package/shaders/NormalMapShader.js.map +1 -1
  417. package/shaders/ParallaxShader.cjs +97 -147
  418. package/shaders/ParallaxShader.cjs.map +1 -1
  419. package/shaders/ParallaxShader.js +97 -147
  420. package/shaders/ParallaxShader.js.map +1 -1
  421. package/shaders/PixelShader.cjs +18 -31
  422. package/shaders/PixelShader.cjs.map +1 -1
  423. package/shaders/PixelShader.js +18 -31
  424. package/shaders/PixelShader.js.map +1 -1
  425. package/shaders/RGBShiftShader.cjs +20 -33
  426. package/shaders/RGBShiftShader.cjs.map +1 -1
  427. package/shaders/RGBShiftShader.js +20 -33
  428. package/shaders/RGBShiftShader.js.map +1 -1
  429. package/shaders/SAOShader.cjs +117 -154
  430. package/shaders/SAOShader.cjs.map +1 -1
  431. package/shaders/SAOShader.js +117 -154
  432. package/shaders/SAOShader.js.map +1 -1
  433. package/shaders/SMAAShader.cjs +270 -358
  434. package/shaders/SMAAShader.cjs.map +1 -1
  435. package/shaders/SMAAShader.js +270 -358
  436. package/shaders/SMAAShader.js.map +1 -1
  437. package/shaders/SSAOShader.cjs +142 -236
  438. package/shaders/SSAOShader.cjs.map +1 -1
  439. package/shaders/SSAOShader.js +142 -236
  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 +20 -36
  446. package/shaders/SepiaShader.cjs.map +1 -1
  447. package/shaders/SepiaShader.js +20 -36
  448. package/shaders/SepiaShader.js.map +1 -1
  449. package/shaders/SobelOperatorShader.cjs +37 -64
  450. package/shaders/SobelOperatorShader.cjs.map +1 -1
  451. package/shaders/SobelOperatorShader.js +37 -64
  452. package/shaders/SobelOperatorShader.js.map +1 -1
  453. package/shaders/TechnicolorShader.cjs +16 -29
  454. package/shaders/TechnicolorShader.cjs.map +1 -1
  455. package/shaders/TechnicolorShader.js +16 -29
  456. package/shaders/TechnicolorShader.js.map +1 -1
  457. package/shaders/ToneMapShader.cjs +35 -55
  458. package/shaders/ToneMapShader.cjs.map +1 -1
  459. package/shaders/ToneMapShader.js +35 -55
  460. package/shaders/ToneMapShader.js.map +1 -1
  461. package/shaders/ToonShader.cjs +165 -275
  462. package/shaders/ToonShader.cjs.map +1 -1
  463. package/shaders/ToonShader.js +165 -275
  464. package/shaders/ToonShader.js.map +1 -1
  465. package/shaders/TriangleBlurShader.cjs +27 -50
  466. package/shaders/TriangleBlurShader.cjs.map +1 -1
  467. package/shaders/TriangleBlurShader.js +27 -50
  468. package/shaders/TriangleBlurShader.js.map +1 -1
  469. package/shaders/UnpackDepthRGBAShader.cjs +17 -32
  470. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  471. package/shaders/UnpackDepthRGBAShader.js +17 -32
  472. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  473. package/shaders/VerticalTiltShiftShader.cjs +27 -43
  474. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  475. package/shaders/VerticalTiltShiftShader.js +27 -43
  476. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  477. package/shaders/VignetteShader.cjs +27 -43
  478. package/shaders/VignetteShader.cjs.map +1 -1
  479. package/shaders/VignetteShader.js +27 -43
  480. package/shaders/VignetteShader.js.map +1 -1
  481. package/shaders/VolumeShader.cjs +213 -264
  482. package/shaders/VolumeShader.cjs.map +1 -1
  483. package/shaders/VolumeShader.js +213 -264
  484. package/shaders/VolumeShader.js.map +1 -1
  485. package/shaders/WaterRefractionShader.cjs +35 -63
  486. package/shaders/WaterRefractionShader.cjs.map +1 -1
  487. package/shaders/WaterRefractionShader.js +35 -63
  488. package/shaders/WaterRefractionShader.js.map +1 -1
  489. package/utils/GeometryCompressionUtils.cjs +1 -2
  490. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  491. package/utils/GeometryCompressionUtils.js +2 -3
  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 +106 -109
  498. package/webxr/ARButton.cjs.map +1 -1
  499. package/webxr/ARButton.d.ts +3 -4
  500. package/webxr/ARButton.js +106 -109
  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 +95 -98
  507. package/webxr/VRButton.cjs.map +1 -1
  508. package/webxr/VRButton.d.ts +5 -6
  509. package/webxr/VRButton.js +95 -98
  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,145 +10,144 @@ 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 = /* @__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;
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
118
70
  };
71
+ } else {
72
+ this.material.uniforms["flowDirection"] = {
73
+ type: "v2",
74
+ value: flowDirection
75
+ };
76
+ }
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);
119
95
  }
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()
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;
147
106
  }
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
148
134
  },
149
- vertexShader: (
150
- /* glsl */
151
- `
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
+ `
152
151
 
153
152
  #include <common>
154
153
  #include <fog_pars_vertex>
@@ -175,10 +174,10 @@ const Water2 = /* @__PURE__ */ (() => {
175
174
  #include <fog_vertex>
176
175
 
177
176
  }`
178
- ),
179
- fragmentShader: (
180
- /* glsl */
181
- `
177
+ ),
178
+ fragmentShader: (
179
+ /* glsl */
180
+ `
182
181
 
183
182
  #include <common>
184
183
  #include <fog_pars_fragment>
@@ -253,9 +252,7 @@ const Water2 = /* @__PURE__ */ (() => {
253
252
  #include <fog_fragment>
254
253
 
255
254
  }`
256
- )
257
- });
258
- return Water22;
259
- })();
255
+ )
256
+ });
260
257
  exports.Water2 = Water2;
261
258
  //# 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\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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"}
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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"}