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
@@ -5,100 +5,72 @@ const SMAAEdgesShader = {
5
5
  },
6
6
  uniforms: {
7
7
  tDiffuse: { value: null },
8
- resolution: { value: /* @__PURE__ */ new Vector2(1 / 1024, 1 / 512) }
8
+ resolution: { value: new Vector2(1 / 1024, 1 / 512) }
9
9
  },
10
- vertexShader: (
11
- /* glsl */
12
- `
13
- uniform vec2 resolution;
14
-
15
- varying vec2 vUv;
16
- varying vec4 vOffset[ 3 ];
17
-
18
- void SMAAEdgeDetectionVS( vec2 texcoord ) {
19
- vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component
20
- vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
21
- vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 ); // WebGL port note: Changed sign in W component
22
- }
23
-
24
- void main() {
25
-
26
- vUv = uv;
27
-
28
- SMAAEdgeDetectionVS( vUv );
29
-
30
- gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
31
-
32
- }
33
- `
34
- ),
35
- fragmentShader: (
36
- /* glsl */
37
- `
38
- uniform sampler2D tDiffuse;
39
-
40
- varying vec2 vUv;
41
- varying vec4 vOffset[ 3 ];
42
-
43
- vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {
44
- vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );
45
-
10
+ vertexShader: [
11
+ "uniform vec2 resolution;",
12
+ "varying vec2 vUv;",
13
+ "varying vec4 vOffset[ 3 ];",
14
+ "void SMAAEdgeDetectionVS( vec2 texcoord ) {",
15
+ " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );",
16
+ // WebGL port note: Changed sign in W component
17
+ " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );",
18
+ // WebGL port note: Changed sign in W component
19
+ " vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 );",
20
+ // WebGL port note: Changed sign in W component
21
+ "}",
22
+ "void main() {",
23
+ " vUv = uv;",
24
+ " SMAAEdgeDetectionVS( vUv );",
25
+ " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
26
+ "}"
27
+ ].join("\n"),
28
+ fragmentShader: [
29
+ "uniform sampler2D tDiffuse;",
30
+ "varying vec2 vUv;",
31
+ "varying vec4 vOffset[ 3 ];",
32
+ "vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {",
33
+ " vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );",
46
34
  // Calculate color deltas:
47
- vec4 delta;
48
- vec3 C = texture2D( colorTex, texcoord ).rgb;
49
-
50
- vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;
51
- vec3 t = abs( C - Cleft );
52
- delta.x = max( max( t.r, t.g ), t.b );
53
-
54
- vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;
55
- t = abs( C - Ctop );
56
- delta.y = max( max( t.r, t.g ), t.b );
57
-
35
+ " vec4 delta;",
36
+ " vec3 C = texture2D( colorTex, texcoord ).rgb;",
37
+ " vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;",
38
+ " vec3 t = abs( C - Cleft );",
39
+ " delta.x = max( max( t.r, t.g ), t.b );",
40
+ " vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;",
41
+ " t = abs( C - Ctop );",
42
+ " delta.y = max( max( t.r, t.g ), t.b );",
58
43
  // We do the usual threshold:
59
- vec2 edges = step( threshold, delta.xy );
60
-
44
+ " vec2 edges = step( threshold, delta.xy );",
61
45
  // Then discard if there is no edge:
62
- if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )
63
- discard;
64
-
46
+ " if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )",
47
+ " discard;",
65
48
  // Calculate right and bottom deltas:
66
- vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;
67
- t = abs( C - Cright );
68
- delta.z = max( max( t.r, t.g ), t.b );
69
-
70
- vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb;
71
- t = abs( C - Cbottom );
72
- delta.w = max( max( t.r, t.g ), t.b );
73
-
49
+ " vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;",
50
+ " t = abs( C - Cright );",
51
+ " delta.z = max( max( t.r, t.g ), t.b );",
52
+ " vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb;",
53
+ " t = abs( C - Cbottom );",
54
+ " delta.w = max( max( t.r, t.g ), t.b );",
74
55
  // Calculate the maximum delta in the direct neighborhood:
75
- float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );
76
-
56
+ " float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );",
77
57
  // Calculate left-left and top-top deltas:
78
- vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb;
79
- t = abs( C - Cleftleft );
80
- delta.z = max( max( t.r, t.g ), t.b );
81
-
82
- vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;
83
- t = abs( C - Ctoptop );
84
- delta.w = max( max( t.r, t.g ), t.b );
85
-
58
+ " vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb;",
59
+ " t = abs( C - Cleftleft );",
60
+ " delta.z = max( max( t.r, t.g ), t.b );",
61
+ " vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;",
62
+ " t = abs( C - Ctoptop );",
63
+ " delta.w = max( max( t.r, t.g ), t.b );",
86
64
  // Calculate the final maximum delta:
87
- maxDelta = max( max( maxDelta, delta.z ), delta.w );
88
-
65
+ " maxDelta = max( max( maxDelta, delta.z ), delta.w );",
89
66
  // Local contrast adaptation in action:
90
- edges.xy *= step( 0.5 * maxDelta, delta.xy );
91
-
92
- return vec4( edges, 0.0, 0.0 );
93
- }
94
-
95
- void main() {
96
-
97
- gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );
98
-
99
- }
100
- `
101
- )
67
+ " edges.xy *= step( 0.5 * maxDelta, delta.xy );",
68
+ " return vec4( edges, 0.0, 0.0 );",
69
+ "}",
70
+ "void main() {",
71
+ " gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );",
72
+ "}"
73
+ ].join("\n")
102
74
  };
103
75
  const SMAAWeightsShader = {
104
76
  defines: {
@@ -111,70 +83,52 @@ const SMAAWeightsShader = {
111
83
  tDiffuse: { value: null },
112
84
  tArea: { value: null },
113
85
  tSearch: { value: null },
114
- resolution: { value: /* @__PURE__ */ new Vector2(1 / 1024, 1 / 512) }
86
+ resolution: { value: new Vector2(1 / 1024, 1 / 512) }
115
87
  },
116
- vertexShader: (
117
- /* glsl */
118
- `
119
- uniform vec2 resolution;
120
-
121
- varying vec2 vUv;
122
- varying vec4 vOffset[ 3 ];
123
- varying vec2 vPixcoord;
124
-
125
- void SMAABlendingWeightCalculationVS( vec2 texcoord ) {
126
- vPixcoord = texcoord / resolution;
127
-
88
+ vertexShader: [
89
+ "uniform vec2 resolution;",
90
+ "varying vec2 vUv;",
91
+ "varying vec4 vOffset[ 3 ];",
92
+ "varying vec2 vPixcoord;",
93
+ "void SMAABlendingWeightCalculationVS( vec2 texcoord ) {",
94
+ " vPixcoord = texcoord / resolution;",
128
95
  // We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
129
- vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components
130
- vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components
131
-
96
+ " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 );",
97
+ // WebGL port note: Changed sign in Y and W components
98
+ " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 );",
99
+ // WebGL port note: Changed sign in Y and W components
132
100
  // And these for the searches, they indicate the ends of the loops:
133
- vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );
134
-
135
- }
136
-
137
- void main() {
138
-
139
- vUv = uv;
140
-
141
- SMAABlendingWeightCalculationVS( vUv );
142
-
143
- gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
144
-
145
- }
146
- `
147
- ),
148
- fragmentShader: (
149
- /* glsl */
150
- `
151
- #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )
152
-
153
- uniform sampler2D tDiffuse;
154
- uniform sampler2D tArea;
155
- uniform sampler2D tSearch;
156
- uniform vec2 resolution;
157
-
158
- varying vec2 vUv;
159
- varying vec4 vOffset[3];
160
- varying vec2 vPixcoord;
161
-
162
- #if __VERSION__ == 100
163
- vec2 round( vec2 x ) {
164
- return sign( x ) * floor( abs( x ) + 0.5 );
165
- }
166
- #endif
167
-
168
- float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {
101
+ " vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );",
102
+ "}",
103
+ "void main() {",
104
+ " vUv = uv;",
105
+ " SMAABlendingWeightCalculationVS( vUv );",
106
+ " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
107
+ "}"
108
+ ].join("\n"),
109
+ fragmentShader: [
110
+ "#define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )",
111
+ "uniform sampler2D tDiffuse;",
112
+ "uniform sampler2D tArea;",
113
+ "uniform sampler2D tSearch;",
114
+ "uniform vec2 resolution;",
115
+ "varying vec2 vUv;",
116
+ "varying vec4 vOffset[3];",
117
+ "varying vec2 vPixcoord;",
118
+ "#if __VERSION__ == 100",
119
+ "vec2 round( vec2 x ) {",
120
+ " return sign( x ) * floor( abs( x ) + 0.5 );",
121
+ "}",
122
+ "#endif",
123
+ "float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {",
169
124
  // Not required if searchTex accesses are set to point:
170
125
  // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0);
171
126
  // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE +
172
127
  // e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE;
173
- e.r = bias + e.r * scale;
174
- return 255.0 * texture2D( searchTex, e, 0.0 ).r;
175
- }
176
-
177
- float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
128
+ " e.r = bias + e.r * scale;",
129
+ " return 255.0 * texture2D( searchTex, e, 0.0 ).r;",
130
+ "}",
131
+ "float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {",
178
132
  /**
179
133
  * @PSEUDO_GATHER4
180
134
  * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to
@@ -182,262 +136,220 @@ const SMAAWeightsShader = {
182
136
  * Sampling with different offsets in each direction allows to disambiguate
183
137
  * which edges are active from the four fetched ones.
184
138
  */
185
- vec2 e = vec2( 0.0, 1.0 );
186
-
187
- for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
188
- e = texture2D( edgesTex, texcoord, 0.0 ).rg;
189
- texcoord -= vec2( 2.0, 0.0 ) * resolution;
190
- if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;
191
- }
192
-
139
+ " vec2 e = vec2( 0.0, 1.0 );",
140
+ " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {",
141
+ // WebGL port note: Changed while to for
142
+ " e = texture2D( edgesTex, texcoord, 0.0 ).rg;",
143
+ " texcoord -= vec2( 2.0, 0.0 ) * resolution;",
144
+ " if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;",
145
+ " }",
193
146
  // We correct the previous (-0.25, -0.125) offset we applied:
194
- texcoord.x += 0.25 * resolution.x;
195
-
147
+ " texcoord.x += 0.25 * resolution.x;",
196
148
  // The searches are bias by 1, so adjust the coords accordingly:
197
- texcoord.x += resolution.x;
198
-
149
+ " texcoord.x += resolution.x;",
199
150
  // Disambiguate the length added by the last step:
200
- texcoord.x += 2.0 * resolution.x; // Undo last step
201
- texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);
202
-
203
- return texcoord.x;
204
- }
205
-
206
- float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
207
- vec2 e = vec2( 0.0, 1.0 );
208
-
209
- for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
210
- e = texture2D( edgesTex, texcoord, 0.0 ).rg;
211
- texcoord += vec2( 2.0, 0.0 ) * resolution;
212
- if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;
213
- }
214
-
215
- texcoord.x -= 0.25 * resolution.x;
216
- texcoord.x -= resolution.x;
217
- texcoord.x -= 2.0 * resolution.x;
218
- texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );
219
-
220
- return texcoord.x;
221
- }
222
-
223
- float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
224
- vec2 e = vec2( 1.0, 0.0 );
225
-
226
- for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
227
- e = texture2D( edgesTex, texcoord, 0.0 ).rg;
228
- texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
229
- if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;
230
- }
231
-
232
- texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign
233
- texcoord.y -= resolution.y; // WebGL port note: Changed sign
234
- texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign
235
- texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign
236
-
237
- return texcoord.y;
238
- }
239
-
240
- float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
241
- vec2 e = vec2( 1.0, 0.0 );
242
-
243
- for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
244
- e = texture2D( edgesTex, texcoord, 0.0 ).rg;
245
- texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
246
- if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;
247
- }
248
-
249
- texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign
250
- texcoord.y += resolution.y; // WebGL port note: Changed sign
251
- texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign
252
- texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign
253
-
254
- return texcoord.y;
255
- }
256
-
257
- vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {
151
+ " texcoord.x += 2.0 * resolution.x;",
152
+ // Undo last step
153
+ " texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);",
154
+ " return texcoord.x;",
155
+ "}",
156
+ "float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {",
157
+ " vec2 e = vec2( 0.0, 1.0 );",
158
+ " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {",
159
+ // WebGL port note: Changed while to for
160
+ " e = texture2D( edgesTex, texcoord, 0.0 ).rg;",
161
+ " texcoord += vec2( 2.0, 0.0 ) * resolution;",
162
+ " if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;",
163
+ " }",
164
+ " texcoord.x -= 0.25 * resolution.x;",
165
+ " texcoord.x -= resolution.x;",
166
+ " texcoord.x -= 2.0 * resolution.x;",
167
+ " texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );",
168
+ " return texcoord.x;",
169
+ "}",
170
+ "float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {",
171
+ " vec2 e = vec2( 1.0, 0.0 );",
172
+ " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {",
173
+ // WebGL port note: Changed while to for
174
+ " e = texture2D( edgesTex, texcoord, 0.0 ).rg;",
175
+ " texcoord += vec2( 0.0, 2.0 ) * resolution;",
176
+ // WebGL port note: Changed sign
177
+ " if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;",
178
+ " }",
179
+ " texcoord.y -= 0.25 * resolution.y;",
180
+ // WebGL port note: Changed sign
181
+ " texcoord.y -= resolution.y;",
182
+ // WebGL port note: Changed sign
183
+ " texcoord.y -= 2.0 * resolution.y;",
184
+ // WebGL port note: Changed sign
185
+ " texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 );",
186
+ // WebGL port note: Changed sign
187
+ " return texcoord.y;",
188
+ "}",
189
+ "float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {",
190
+ " vec2 e = vec2( 1.0, 0.0 );",
191
+ " for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) {",
192
+ // WebGL port note: Changed while to for
193
+ " e = texture2D( edgesTex, texcoord, 0.0 ).rg;",
194
+ " texcoord -= vec2( 0.0, 2.0 ) * resolution;",
195
+ // WebGL port note: Changed sign
196
+ " if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;",
197
+ " }",
198
+ " texcoord.y += 0.25 * resolution.y;",
199
+ // WebGL port note: Changed sign
200
+ " texcoord.y += resolution.y;",
201
+ // WebGL port note: Changed sign
202
+ " texcoord.y += 2.0 * resolution.y;",
203
+ // WebGL port note: Changed sign
204
+ " texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 );",
205
+ // WebGL port note: Changed sign
206
+ " return texcoord.y;",
207
+ "}",
208
+ "vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {",
258
209
  // Rounding prevents precision errors of bilinear filtering:
259
- vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;
260
-
210
+ " vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;",
261
211
  // We do a scale and bias for mapping to texel space:
262
- texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );
263
-
212
+ " texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );",
264
213
  // Move to proper place, according to the subpixel offset:
265
- texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;
266
-
267
- return texture2D( areaTex, texcoord, 0.0 ).rg;
268
- }
269
-
270
- vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {
271
- vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );
272
-
273
- vec2 e = texture2D( edgesTex, texcoord ).rg;
274
-
275
- if ( e.g > 0.0 ) { // Edge at north
276
- vec2 d;
277
-
214
+ " texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;",
215
+ " return texture2D( areaTex, texcoord, 0.0 ).rg;",
216
+ "}",
217
+ "vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {",
218
+ " vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );",
219
+ " vec2 e = texture2D( edgesTex, texcoord ).rg;",
220
+ " if ( e.g > 0.0 ) {",
221
+ // Edge at north
222
+ " vec2 d;",
278
223
  // Find the distance to the left:
279
- vec2 coords;
280
- coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );
281
- coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
282
- d.x = coords.x;
283
-
224
+ " vec2 coords;",
225
+ " coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );",
226
+ " coords.y = offset[ 1 ].y;",
227
+ // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
228
+ " d.x = coords.x;",
284
229
  // Now fetch the left crossing edges, two at a time using bilinear
285
230
  // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to
286
231
  // discern what value each edge has:
287
- float e1 = texture2D( edgesTex, coords, 0.0 ).r;
288
-
232
+ " float e1 = texture2D( edgesTex, coords, 0.0 ).r;",
289
233
  // Find the distance to the right:
290
- coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );
291
- d.y = coords.x;
292
-
234
+ " coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );",
235
+ " d.y = coords.x;",
293
236
  // We want the distances to be in pixel units (doing this here allow to
294
237
  // better interleave arithmetic and memory accesses):
295
- d = d / resolution.x - pixcoord.x;
296
-
238
+ " d = d / resolution.x - pixcoord.x;",
297
239
  // SMAAArea below needs a sqrt, as the areas texture is compressed
298
240
  // quadratically:
299
- vec2 sqrt_d = sqrt( abs( d ) );
300
-
241
+ " vec2 sqrt_d = sqrt( abs( d ) );",
301
242
  // Fetch the right crossing edges:
302
- coords.y -= 1.0 * resolution.y; // WebGL port note: Added
303
- float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;
304
-
243
+ " coords.y -= 1.0 * resolution.y;",
244
+ // WebGL port note: Added
245
+ " float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;",
305
246
  // Ok, we know how this pattern looks like, now it is time for getting
306
247
  // the actual area:
307
- weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );
308
- }
309
-
310
- if ( e.r > 0.0 ) { // Edge at west
311
- vec2 d;
312
-
248
+ " weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );",
249
+ " }",
250
+ " if ( e.r > 0.0 ) {",
251
+ // Edge at west
252
+ " vec2 d;",
313
253
  // Find the distance to the top:
314
- vec2 coords;
315
-
316
- coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );
317
- coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x;
318
- d.x = coords.y;
319
-
254
+ " vec2 coords;",
255
+ " coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );",
256
+ " coords.x = offset[ 0 ].x;",
257
+ // offset[1].x = texcoord.x - 0.25 * resolution.x;
258
+ " d.x = coords.y;",
320
259
  // Fetch the top crossing edges:
321
- float e1 = texture2D( edgesTex, coords, 0.0 ).g;
322
-
260
+ " float e1 = texture2D( edgesTex, coords, 0.0 ).g;",
323
261
  // Find the distance to the bottom:
324
- coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );
325
- d.y = coords.y;
326
-
262
+ " coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );",
263
+ " d.y = coords.y;",
327
264
  // We want the distances to be in pixel units:
328
- d = d / resolution.y - pixcoord.y;
329
-
265
+ " d = d / resolution.y - pixcoord.y;",
330
266
  // SMAAArea below needs a sqrt, as the areas texture is compressed
331
267
  // quadratically:
332
- vec2 sqrt_d = sqrt( abs( d ) );
333
-
268
+ " vec2 sqrt_d = sqrt( abs( d ) );",
334
269
  // Fetch the bottom crossing edges:
335
- coords.y -= 1.0 * resolution.y; // WebGL port note: Added
336
- float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;
337
-
270
+ " coords.y -= 1.0 * resolution.y;",
271
+ // WebGL port note: Added
272
+ " float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;",
338
273
  // Get the area for this direction:
339
- weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );
340
- }
341
-
342
- return weights;
343
- }
344
-
345
- void main() {
346
-
347
- gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );
348
-
349
- }
350
- `
351
- )
274
+ " weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );",
275
+ " }",
276
+ " return weights;",
277
+ "}",
278
+ "void main() {",
279
+ " gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );",
280
+ "}"
281
+ ].join("\n")
352
282
  };
353
283
  const SMAABlendShader = {
354
284
  uniforms: {
355
285
  tDiffuse: { value: null },
356
286
  tColor: { value: null },
357
- resolution: { value: /* @__PURE__ */ new Vector2(1 / 1024, 1 / 512) }
287
+ resolution: { value: new Vector2(1 / 1024, 1 / 512) }
358
288
  },
359
- vertexShader: (
360
- /* glsl */
361
- `
362
- uniform vec2 resolution;
363
-
364
- varying vec2 vUv;
365
- varying vec4 vOffset[ 2 ];
366
-
367
- void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
368
- vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component
369
- vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
370
- }
371
-
372
- void main() {
373
-
374
- vUv = uv;
375
-
376
- SMAANeighborhoodBlendingVS( vUv );
377
-
378
- gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
379
-
380
- }
381
- `
382
- ),
383
- fragmentShader: (
384
- /* glsl */
385
- `
386
- uniform sampler2D tDiffuse;
387
- uniform sampler2D tColor;
388
- uniform vec2 resolution;
389
-
390
- varying vec2 vUv;
391
- varying vec4 vOffset[ 2 ];
392
-
393
- vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {
289
+ vertexShader: [
290
+ "uniform vec2 resolution;",
291
+ "varying vec2 vUv;",
292
+ "varying vec4 vOffset[ 2 ];",
293
+ "void SMAANeighborhoodBlendingVS( vec2 texcoord ) {",
294
+ " vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 );",
295
+ // WebGL port note: Changed sign in W component
296
+ " vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 );",
297
+ // WebGL port note: Changed sign in W component
298
+ "}",
299
+ "void main() {",
300
+ " vUv = uv;",
301
+ " SMAANeighborhoodBlendingVS( vUv );",
302
+ " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
303
+ "}"
304
+ ].join("\n"),
305
+ fragmentShader: [
306
+ "uniform sampler2D tDiffuse;",
307
+ "uniform sampler2D tColor;",
308
+ "uniform vec2 resolution;",
309
+ "varying vec2 vUv;",
310
+ "varying vec4 vOffset[ 2 ];",
311
+ "vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {",
394
312
  // Fetch the blending weights for current pixel:
395
- vec4 a;
396
- a.xz = texture2D( blendTex, texcoord ).xz;
397
- a.y = texture2D( blendTex, offset[ 1 ].zw ).g;
398
- a.w = texture2D( blendTex, offset[ 1 ].xy ).a;
399
-
313
+ " vec4 a;",
314
+ " a.xz = texture2D( blendTex, texcoord ).xz;",
315
+ " a.y = texture2D( blendTex, offset[ 1 ].zw ).g;",
316
+ " a.w = texture2D( blendTex, offset[ 1 ].xy ).a;",
400
317
  // Is there any blending weight with a value greater than 0.0?
401
- if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {
402
- return texture2D( colorTex, texcoord, 0.0 );
403
- } else {
318
+ " if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {",
319
+ " return texture2D( colorTex, texcoord, 0.0 );",
320
+ " } else {",
404
321
  // Up to 4 lines can be crossing a pixel (one through each edge). We
405
322
  // favor blending by choosing the line with the maximum weight for each
406
323
  // direction:
407
- vec2 offset;
408
- offset.x = a.a > a.b ? a.a : -a.b; // left vs. right
409
- offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs
410
-
324
+ " vec2 offset;",
325
+ " offset.x = a.a > a.b ? a.a : -a.b;",
326
+ // left vs. right
327
+ " offset.y = a.g > a.r ? -a.g : a.r;",
328
+ // top vs. bottom // WebGL port note: Changed signs
411
329
  // Then we go in the direction that has the maximum weight:
412
- if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical
413
- offset.y = 0.0;
414
- } else {
415
- offset.x = 0.0;
416
- }
417
-
330
+ " if ( abs( offset.x ) > abs( offset.y )) {",
331
+ // horizontal vs. vertical
332
+ " offset.y = 0.0;",
333
+ " } else {",
334
+ " offset.x = 0.0;",
335
+ " }",
418
336
  // Fetch the opposite color and lerp by hand:
419
- vec4 C = texture2D( colorTex, texcoord, 0.0 );
420
- texcoord += sign( offset ) * resolution;
421
- vec4 Cop = texture2D( colorTex, texcoord, 0.0 );
422
- float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );
423
-
337
+ " vec4 C = texture2D( colorTex, texcoord, 0.0 );",
338
+ " texcoord += sign( offset ) * resolution;",
339
+ " vec4 Cop = texture2D( colorTex, texcoord, 0.0 );",
340
+ " float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );",
424
341
  // WebGL port note: Added gamma correction
425
- C.xyz = pow(C.xyz, vec3(2.2));
426
- Cop.xyz = pow(Cop.xyz, vec3(2.2));
427
- vec4 mixed = mix(C, Cop, s);
428
- mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));
429
-
430
- return mixed;
431
- }
432
- }
433
-
434
- void main() {
435
-
436
- gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );
437
-
438
- }
439
- `
440
- )
342
+ " C.xyz = pow(C.xyz, vec3(2.2));",
343
+ " Cop.xyz = pow(Cop.xyz, vec3(2.2));",
344
+ " vec4 mixed = mix(C, Cop, s);",
345
+ " mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));",
346
+ " return mixed;",
347
+ " }",
348
+ "}",
349
+ "void main() {",
350
+ " gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );",
351
+ "}"
352
+ ].join("\n")
441
353
  };
442
354
  export {
443
355
  SMAABlendShader,