three-stdlib 2.35.2 → 2.35.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/_polyfill/CapsuleGeometry.cjs +20 -17
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +20 -17
  4. package/_polyfill/CapsuleGeometry.js.map +1 -1
  5. package/_polyfill/constants.cjs +1 -1
  6. package/_polyfill/constants.cjs.map +1 -1
  7. package/_polyfill/constants.js +1 -1
  8. package/_polyfill/constants.js.map +1 -1
  9. package/animation/AnimationClipCreator.cjs +13 -13
  10. package/animation/AnimationClipCreator.cjs.map +1 -1
  11. package/animation/AnimationClipCreator.js +13 -13
  12. package/animation/AnimationClipCreator.js.map +1 -1
  13. package/animation/CCDIKSolver.cjs +11 -11
  14. package/animation/CCDIKSolver.cjs.map +1 -1
  15. package/animation/CCDIKSolver.js +12 -12
  16. package/animation/CCDIKSolver.js.map +1 -1
  17. package/animation/MMDAnimationHelper.cjs +1 -1
  18. package/animation/MMDAnimationHelper.cjs.map +1 -1
  19. package/animation/MMDAnimationHelper.js +1 -1
  20. package/animation/MMDAnimationHelper.js.map +1 -1
  21. package/animation/MMDPhysics.cjs +4 -4
  22. package/animation/MMDPhysics.cjs.map +1 -1
  23. package/animation/MMDPhysics.js +4 -4
  24. package/animation/MMDPhysics.js.map +1 -1
  25. package/controls/ArcballControls.cjs +2 -2
  26. package/controls/ArcballControls.cjs.map +1 -1
  27. package/controls/ArcballControls.js +3 -3
  28. package/controls/ArcballControls.js.map +1 -1
  29. package/controls/FirstPersonControls.cjs +1 -1
  30. package/controls/FirstPersonControls.cjs.map +1 -1
  31. package/controls/FirstPersonControls.js +1 -1
  32. package/controls/FirstPersonControls.js.map +1 -1
  33. package/controls/OrbitControls.cjs +2 -2
  34. package/controls/OrbitControls.cjs.map +1 -1
  35. package/controls/OrbitControls.js +3 -3
  36. package/controls/OrbitControls.js.map +1 -1
  37. package/controls/PointerLockControls.cjs +2 -2
  38. package/controls/PointerLockControls.cjs.map +1 -1
  39. package/controls/PointerLockControls.js +3 -3
  40. package/controls/PointerLockControls.js.map +1 -1
  41. package/csm/CSM.cjs +4 -4
  42. package/csm/CSM.cjs.map +1 -1
  43. package/csm/CSM.js +5 -5
  44. package/csm/CSM.js.map +1 -1
  45. package/csm/CSMFrustum.cjs +1 -1
  46. package/csm/CSMFrustum.cjs.map +1 -1
  47. package/csm/CSMFrustum.js +2 -2
  48. package/csm/CSMFrustum.js.map +1 -1
  49. package/deprecated/Geometry.cjs +722 -715
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +723 -716
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +2 -1
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +3 -2
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +2 -1
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +3 -2
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +2 -1
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +3 -2
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +133 -122
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +23 -21
  68. package/exporters/DRACOExporter.js +133 -122
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +170 -167
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +170 -167
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +524 -515
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +524 -515
  77. package/geometries/LightningStrike.js.map +1 -1
  78. package/geometries/RoundedBoxGeometry.cjs +1 -1
  79. package/geometries/RoundedBoxGeometry.cjs.map +1 -1
  80. package/geometries/RoundedBoxGeometry.js +2 -2
  81. package/geometries/RoundedBoxGeometry.js.map +1 -1
  82. package/helpers/RaycasterHelper.cjs +2 -2
  83. package/helpers/RaycasterHelper.cjs.map +1 -1
  84. package/helpers/RaycasterHelper.js +3 -3
  85. package/helpers/RaycasterHelper.js.map +1 -1
  86. package/helpers/VertexNormalsHelper.cjs +3 -3
  87. package/helpers/VertexNormalsHelper.cjs.map +1 -1
  88. package/helpers/VertexNormalsHelper.js +4 -4
  89. package/helpers/VertexNormalsHelper.js.map +1 -1
  90. package/helpers/VertexTangentsHelper.cjs +2 -2
  91. package/helpers/VertexTangentsHelper.cjs.map +1 -1
  92. package/helpers/VertexTangentsHelper.js +3 -3
  93. package/helpers/VertexTangentsHelper.js.map +1 -1
  94. package/interactive/InteractiveGroup.cjs +1 -1
  95. package/interactive/InteractiveGroup.cjs.map +1 -1
  96. package/interactive/InteractiveGroup.js +2 -2
  97. package/interactive/InteractiveGroup.js.map +1 -1
  98. package/interactive/SelectionBox.cjs +15 -15
  99. package/interactive/SelectionBox.cjs.map +1 -1
  100. package/interactive/SelectionBox.js +16 -16
  101. package/interactive/SelectionBox.js.map +1 -1
  102. package/libs/chevrotain.cjs +1 -1
  103. package/libs/chevrotain.cjs.map +1 -1
  104. package/libs/chevrotain.js +1 -1
  105. package/libs/chevrotain.js.map +1 -1
  106. package/libs/lottie.cjs +1 -1
  107. package/libs/lottie.cjs.map +1 -1
  108. package/libs/lottie.js +1 -1
  109. package/libs/lottie.js.map +1 -1
  110. package/libs/opentype.cjs +1 -1
  111. package/libs/opentype.cjs.map +1 -1
  112. package/libs/opentype.js +1 -1
  113. package/libs/opentype.js.map +1 -1
  114. package/lights/LightProbeGenerator.cjs +5 -5
  115. package/lights/LightProbeGenerator.cjs.map +1 -1
  116. package/lights/LightProbeGenerator.js +5 -5
  117. package/lights/LightProbeGenerator.js.map +1 -1
  118. package/lights/RectAreaLightUniformsLib.cjs +3 -3
  119. package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
  120. package/lights/RectAreaLightUniformsLib.js +3 -3
  121. package/lights/RectAreaLightUniformsLib.js.map +1 -1
  122. package/lines/LineMaterial.cjs +2 -1
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +3 -2
  125. package/lines/LineMaterial.js.map +1 -1
  126. package/lines/LineSegments2.cjs +13 -13
  127. package/lines/LineSegments2.cjs.map +1 -1
  128. package/lines/LineSegments2.js +14 -14
  129. package/lines/LineSegments2.js.map +1 -1
  130. package/lines/LineSegmentsGeometry.cjs +2 -2
  131. package/lines/LineSegmentsGeometry.cjs.map +1 -1
  132. package/lines/LineSegmentsGeometry.js +3 -3
  133. package/lines/LineSegmentsGeometry.js.map +1 -1
  134. package/lines/Wireframe.cjs +3 -3
  135. package/lines/Wireframe.cjs.map +1 -1
  136. package/lines/Wireframe.js +4 -4
  137. package/lines/Wireframe.js.map +1 -1
  138. package/loaders/BasisTextureLoader.cjs +441 -435
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +441 -435
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +2 -1
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +3 -2
  145. package/loaders/EXRLoader.js.map +1 -1
  146. package/loaders/FBXLoader.cjs +2 -2
  147. package/loaders/FBXLoader.cjs.map +1 -1
  148. package/loaders/FBXLoader.js +2 -2
  149. package/loaders/FBXLoader.js.map +1 -1
  150. package/loaders/FontLoader.cjs +2 -2
  151. package/loaders/FontLoader.cjs.map +1 -1
  152. package/loaders/FontLoader.d.ts +2 -2
  153. package/loaders/FontLoader.js +2 -2
  154. package/loaders/FontLoader.js.map +1 -1
  155. package/loaders/GLTFLoader.cjs +2 -2
  156. package/loaders/GLTFLoader.cjs.map +1 -1
  157. package/loaders/GLTFLoader.js +2 -2
  158. package/loaders/GLTFLoader.js.map +1 -1
  159. package/loaders/KTX2Loader.cjs +377 -374
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +377 -374
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +5 -4
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +6 -5
  166. package/loaders/LDrawLoader.js.map +1 -1
  167. package/loaders/OBJLoader.cjs +5 -5
  168. package/loaders/OBJLoader.cjs.map +1 -1
  169. package/loaders/OBJLoader.js +6 -6
  170. package/loaders/OBJLoader.js.map +1 -1
  171. package/loaders/PRWMLoader.cjs +46 -43
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +46 -43
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1694 -1688
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1694 -1688
  178. package/loaders/SVGLoader.js.map +1 -1
  179. package/loaders/XLoader.cjs +1 -1
  180. package/loaders/XLoader.cjs.map +1 -1
  181. package/loaders/XLoader.js +1 -1
  182. package/loaders/XLoader.js.map +1 -1
  183. package/math/Capsule.cjs +3 -3
  184. package/math/Capsule.cjs.map +1 -1
  185. package/math/Capsule.js +3 -3
  186. package/math/Capsule.js.map +1 -1
  187. package/math/ColorConverter.cjs +9 -9
  188. package/math/ColorConverter.cjs.map +1 -1
  189. package/math/ColorConverter.js +9 -9
  190. package/math/ColorConverter.js.map +1 -1
  191. package/math/ConvexHull.cjs +53 -50
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +53 -50
  194. package/math/ConvexHull.js.map +1 -1
  195. package/math/ImprovedNoise.cjs +1 -1
  196. package/math/ImprovedNoise.cjs.map +1 -1
  197. package/math/ImprovedNoise.js +1 -1
  198. package/math/ImprovedNoise.js.map +1 -1
  199. package/math/MeshSurfaceSampler.cjs +2 -2
  200. package/math/MeshSurfaceSampler.cjs.map +1 -1
  201. package/math/MeshSurfaceSampler.js +2 -2
  202. package/math/MeshSurfaceSampler.js.map +1 -1
  203. package/math/OBB.cjs +14 -14
  204. package/math/OBB.cjs.map +1 -1
  205. package/math/OBB.js +15 -15
  206. package/math/OBB.js.map +1 -1
  207. package/math/Octree.cjs +7 -7
  208. package/math/Octree.cjs.map +1 -1
  209. package/math/Octree.js +8 -8
  210. package/math/Octree.js.map +1 -1
  211. package/misc/ConvexObjectBreaker.cjs +271 -268
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +272 -269
  214. package/misc/ConvexObjectBreaker.js.map +1 -1
  215. package/misc/Gyroscope.cjs +6 -6
  216. package/misc/Gyroscope.cjs.map +1 -1
  217. package/misc/Gyroscope.js +7 -7
  218. package/misc/Gyroscope.js.map +1 -1
  219. package/modifiers/CurveModifier.cjs +1 -1
  220. package/modifiers/CurveModifier.cjs.map +1 -1
  221. package/modifiers/CurveModifier.js +2 -2
  222. package/modifiers/CurveModifier.js.map +1 -1
  223. package/modifiers/SimplifyModifier.cjs +2 -2
  224. package/modifiers/SimplifyModifier.cjs.map +1 -1
  225. package/modifiers/SimplifyModifier.js +2 -2
  226. package/modifiers/SimplifyModifier.js.map +1 -1
  227. package/objects/BatchedMesh.cjs +2 -2
  228. package/objects/BatchedMesh.cjs.map +1 -1
  229. package/objects/BatchedMesh.js +3 -3
  230. package/objects/BatchedMesh.js.map +1 -1
  231. package/objects/GroundProjectedEnv.cjs +2 -1
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +3 -2
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +209 -206
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +209 -206
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +154 -146
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +154 -146
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +183 -180
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +183 -180
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +164 -161
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +164 -161
  250. package/objects/Refractor.js.map +1 -1
  251. package/objects/ShadowMesh.cjs +1 -1
  252. package/objects/ShadowMesh.cjs.map +1 -1
  253. package/objects/ShadowMesh.js +2 -2
  254. package/objects/ShadowMesh.js.map +1 -1
  255. package/objects/Sky.cjs +35 -32
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +100 -6
  258. package/objects/Sky.js +35 -32
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +2 -1
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +3 -2
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +143 -140
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +143 -140
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/Pass.cjs.map +1 -1
  270. package/postprocessing/Pass.d.ts +2 -2
  271. package/postprocessing/Pass.js.map +1 -1
  272. package/postprocessing/SAOPass.cjs +267 -264
  273. package/postprocessing/SAOPass.cjs.map +1 -1
  274. package/postprocessing/SAOPass.js +267 -264
  275. package/postprocessing/SAOPass.js.map +1 -1
  276. package/postprocessing/SSAOPass.cjs +253 -250
  277. package/postprocessing/SSAOPass.cjs.map +1 -1
  278. package/postprocessing/SSAOPass.js +253 -250
  279. package/postprocessing/SSAOPass.js.map +1 -1
  280. package/postprocessing/SSRPass.cjs +379 -376
  281. package/postprocessing/SSRPass.cjs.map +1 -1
  282. package/postprocessing/SSRPass.js +379 -376
  283. package/postprocessing/SSRPass.js.map +1 -1
  284. package/postprocessing/UnrealBloomPass.cjs +205 -202
  285. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  286. package/postprocessing/UnrealBloomPass.js +205 -202
  287. package/postprocessing/UnrealBloomPass.js.map +1 -1
  288. package/renderers/CSS2DRenderer.cjs +5 -5
  289. package/renderers/CSS2DRenderer.cjs.map +1 -1
  290. package/renderers/CSS2DRenderer.js +5 -5
  291. package/renderers/CSS2DRenderer.js.map +1 -1
  292. package/renderers/CSS3DRenderer.cjs +5 -5
  293. package/renderers/CSS3DRenderer.cjs.map +1 -1
  294. package/renderers/CSS3DRenderer.js +6 -6
  295. package/renderers/CSS3DRenderer.js.map +1 -1
  296. package/shaders/ACESFilmicToneMappingShader.cjs +71 -46
  297. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  298. package/shaders/ACESFilmicToneMappingShader.js +71 -46
  299. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  300. package/shaders/AfterimageShader.cjs +41 -22
  301. package/shaders/AfterimageShader.cjs.map +1 -1
  302. package/shaders/AfterimageShader.js +41 -22
  303. package/shaders/AfterimageShader.js.map +1 -1
  304. package/shaders/BasicShader.cjs +20 -6
  305. package/shaders/BasicShader.cjs.map +1 -1
  306. package/shaders/BasicShader.js +20 -6
  307. package/shaders/BasicShader.js.map +1 -1
  308. package/shaders/BleachBypassShader.cjs +46 -26
  309. package/shaders/BleachBypassShader.cjs.map +1 -1
  310. package/shaders/BleachBypassShader.js +46 -26
  311. package/shaders/BleachBypassShader.js.map +1 -1
  312. package/shaders/BlendShader.cjs +33 -19
  313. package/shaders/BlendShader.cjs.map +1 -1
  314. package/shaders/BlendShader.js +33 -19
  315. package/shaders/BlendShader.js.map +1 -1
  316. package/shaders/BokehShader.cjs +117 -90
  317. package/shaders/BokehShader.cjs.map +1 -1
  318. package/shaders/BokehShader.js +117 -90
  319. package/shaders/BokehShader.js.map +1 -1
  320. package/shaders/BokehShader2.cjs +333 -232
  321. package/shaders/BokehShader2.cjs.map +1 -1
  322. package/shaders/BokehShader2.js +333 -232
  323. package/shaders/BokehShader2.js.map +1 -1
  324. package/shaders/BrightnessContrastShader.cjs +38 -22
  325. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  326. package/shaders/BrightnessContrastShader.js +38 -22
  327. package/shaders/BrightnessContrastShader.js.map +1 -1
  328. package/shaders/ColorCorrectionShader.cjs +35 -21
  329. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  330. package/shaders/ColorCorrectionShader.js +35 -21
  331. package/shaders/ColorCorrectionShader.js.map +1 -1
  332. package/shaders/ColorifyShader.cjs +34 -19
  333. package/shaders/ColorifyShader.cjs.map +1 -1
  334. package/shaders/ColorifyShader.js +34 -19
  335. package/shaders/ColorifyShader.js.map +1 -1
  336. package/shaders/ConvolutionShader.cjs +43 -24
  337. package/shaders/ConvolutionShader.cjs.map +1 -1
  338. package/shaders/ConvolutionShader.js +43 -24
  339. package/shaders/ConvolutionShader.js.map +1 -1
  340. package/shaders/CopyShader.cjs +30 -16
  341. package/shaders/CopyShader.cjs.map +1 -1
  342. package/shaders/CopyShader.js +30 -16
  343. package/shaders/CopyShader.js.map +1 -1
  344. package/shaders/DOFMipMapShader.cjs +38 -21
  345. package/shaders/DOFMipMapShader.cjs.map +1 -1
  346. package/shaders/DOFMipMapShader.js +38 -21
  347. package/shaders/DOFMipMapShader.js.map +1 -1
  348. package/shaders/DepthLimitedBlurShader.cjs +98 -69
  349. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  350. package/shaders/DepthLimitedBlurShader.js +98 -69
  351. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  352. package/shaders/DigitalGlitch.cjs +70 -59
  353. package/shaders/DigitalGlitch.cjs.map +1 -1
  354. package/shaders/DigitalGlitch.js +70 -59
  355. package/shaders/DigitalGlitch.js.map +1 -1
  356. package/shaders/DotScreenShader.cjs +49 -28
  357. package/shaders/DotScreenShader.cjs.map +1 -1
  358. package/shaders/DotScreenShader.js +49 -28
  359. package/shaders/DotScreenShader.js.map +1 -1
  360. package/shaders/FXAAShader.cjs +1098 -1089
  361. package/shaders/FXAAShader.cjs.map +1 -1
  362. package/shaders/FXAAShader.js +1098 -1089
  363. package/shaders/FXAAShader.js.map +1 -1
  364. package/shaders/FilmShader.cjs +57 -29
  365. package/shaders/FilmShader.cjs.map +1 -1
  366. package/shaders/FilmShader.js +57 -29
  367. package/shaders/FilmShader.js.map +1 -1
  368. package/shaders/FocusShader.cjs +70 -43
  369. package/shaders/FocusShader.cjs.map +1 -1
  370. package/shaders/FocusShader.js +70 -43
  371. package/shaders/FocusShader.js.map +1 -1
  372. package/shaders/FreiChenShader.cjs +74 -53
  373. package/shaders/FreiChenShader.cjs.map +1 -1
  374. package/shaders/FreiChenShader.js +74 -53
  375. package/shaders/FreiChenShader.js.map +1 -1
  376. package/shaders/FresnelShader.cjs +55 -35
  377. package/shaders/FresnelShader.cjs.map +1 -1
  378. package/shaders/FresnelShader.js +55 -35
  379. package/shaders/FresnelShader.js.map +1 -1
  380. package/shaders/GammaCorrectionShader.cjs +33 -19
  381. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  382. package/shaders/GammaCorrectionShader.js +33 -19
  383. package/shaders/GammaCorrectionShader.js.map +1 -1
  384. package/shaders/GodRaysShader.cjs +193 -116
  385. package/shaders/GodRaysShader.cjs.map +1 -1
  386. package/shaders/GodRaysShader.js +193 -116
  387. package/shaders/GodRaysShader.js.map +1 -1
  388. package/shaders/HalftoneShader.cjs +270 -192
  389. package/shaders/HalftoneShader.cjs.map +1 -1
  390. package/shaders/HalftoneShader.js +270 -192
  391. package/shaders/HalftoneShader.js.map +1 -1
  392. package/shaders/HorizontalTiltShiftShader.cjs +43 -27
  393. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  394. package/shaders/HorizontalTiltShiftShader.js +43 -27
  395. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  396. package/shaders/HueSaturationShader.cjs +47 -31
  397. package/shaders/HueSaturationShader.cjs.map +1 -1
  398. package/shaders/HueSaturationShader.js +47 -31
  399. package/shaders/HueSaturationShader.js.map +1 -1
  400. package/shaders/KaleidoShader.cjs +37 -24
  401. package/shaders/KaleidoShader.cjs.map +1 -1
  402. package/shaders/KaleidoShader.js +37 -24
  403. package/shaders/KaleidoShader.js.map +1 -1
  404. package/shaders/LuminosityHighPassShader.cjs +43 -24
  405. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  406. package/shaders/LuminosityHighPassShader.js +43 -24
  407. package/shaders/LuminosityHighPassShader.js.map +1 -1
  408. package/shaders/LuminosityShader.cjs +34 -17
  409. package/shaders/LuminosityShader.cjs.map +1 -1
  410. package/shaders/LuminosityShader.js +34 -17
  411. package/shaders/LuminosityShader.js.map +1 -1
  412. package/shaders/MirrorShader.cjs +39 -26
  413. package/shaders/MirrorShader.cjs.map +1 -1
  414. package/shaders/MirrorShader.js +39 -26
  415. package/shaders/MirrorShader.js.map +1 -1
  416. package/shaders/NormalMapShader.cjs +36 -21
  417. package/shaders/NormalMapShader.cjs.map +1 -1
  418. package/shaders/NormalMapShader.js +36 -21
  419. package/shaders/NormalMapShader.js.map +1 -1
  420. package/shaders/ParallaxShader.cjs +147 -97
  421. package/shaders/ParallaxShader.cjs.map +1 -1
  422. package/shaders/ParallaxShader.js +147 -97
  423. package/shaders/ParallaxShader.js.map +1 -1
  424. package/shaders/PixelShader.cjs +31 -18
  425. package/shaders/PixelShader.cjs.map +1 -1
  426. package/shaders/PixelShader.js +31 -18
  427. package/shaders/PixelShader.js.map +1 -1
  428. package/shaders/RGBShiftShader.cjs +33 -20
  429. package/shaders/RGBShiftShader.cjs.map +1 -1
  430. package/shaders/RGBShiftShader.js +33 -20
  431. package/shaders/RGBShiftShader.js.map +1 -1
  432. package/shaders/SAOShader.cjs +154 -117
  433. package/shaders/SAOShader.cjs.map +1 -1
  434. package/shaders/SAOShader.js +154 -117
  435. package/shaders/SAOShader.js.map +1 -1
  436. package/shaders/SMAAShader.cjs +358 -270
  437. package/shaders/SMAAShader.cjs.map +1 -1
  438. package/shaders/SMAAShader.js +358 -270
  439. package/shaders/SMAAShader.js.map +1 -1
  440. package/shaders/SSAOShader.cjs +236 -142
  441. package/shaders/SSAOShader.cjs.map +1 -1
  442. package/shaders/SSAOShader.js +236 -142
  443. package/shaders/SSAOShader.js.map +1 -1
  444. package/shaders/SSRShader.cjs +4 -4
  445. package/shaders/SSRShader.cjs.map +1 -1
  446. package/shaders/SSRShader.js +4 -4
  447. package/shaders/SSRShader.js.map +1 -1
  448. package/shaders/SepiaShader.cjs +36 -20
  449. package/shaders/SepiaShader.cjs.map +1 -1
  450. package/shaders/SepiaShader.js +36 -20
  451. package/shaders/SepiaShader.js.map +1 -1
  452. package/shaders/SobelOperatorShader.cjs +64 -37
  453. package/shaders/SobelOperatorShader.cjs.map +1 -1
  454. package/shaders/SobelOperatorShader.js +64 -37
  455. package/shaders/SobelOperatorShader.js.map +1 -1
  456. package/shaders/TechnicolorShader.cjs +29 -16
  457. package/shaders/TechnicolorShader.cjs.map +1 -1
  458. package/shaders/TechnicolorShader.js +29 -16
  459. package/shaders/TechnicolorShader.js.map +1 -1
  460. package/shaders/ToneMapShader.cjs +55 -35
  461. package/shaders/ToneMapShader.cjs.map +1 -1
  462. package/shaders/ToneMapShader.js +55 -35
  463. package/shaders/ToneMapShader.js.map +1 -1
  464. package/shaders/ToonShader.cjs +275 -165
  465. package/shaders/ToonShader.cjs.map +1 -1
  466. package/shaders/ToonShader.js +275 -165
  467. package/shaders/ToonShader.js.map +1 -1
  468. package/shaders/TriangleBlurShader.cjs +50 -27
  469. package/shaders/TriangleBlurShader.cjs.map +1 -1
  470. package/shaders/TriangleBlurShader.js +50 -27
  471. package/shaders/TriangleBlurShader.js.map +1 -1
  472. package/shaders/UnpackDepthRGBAShader.cjs +32 -17
  473. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  474. package/shaders/UnpackDepthRGBAShader.js +32 -17
  475. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  476. package/shaders/VerticalTiltShiftShader.cjs +43 -27
  477. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  478. package/shaders/VerticalTiltShiftShader.js +43 -27
  479. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  480. package/shaders/VignetteShader.cjs +43 -27
  481. package/shaders/VignetteShader.cjs.map +1 -1
  482. package/shaders/VignetteShader.js +43 -27
  483. package/shaders/VignetteShader.js.map +1 -1
  484. package/shaders/VolumeShader.cjs +264 -213
  485. package/shaders/VolumeShader.cjs.map +1 -1
  486. package/shaders/VolumeShader.js +264 -213
  487. package/shaders/VolumeShader.js.map +1 -1
  488. package/shaders/WaterRefractionShader.cjs +63 -35
  489. package/shaders/WaterRefractionShader.cjs.map +1 -1
  490. package/shaders/WaterRefractionShader.js +63 -35
  491. package/shaders/WaterRefractionShader.js.map +1 -1
  492. package/utils/GeometryCompressionUtils.cjs +2 -1
  493. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  494. package/utils/GeometryCompressionUtils.js +3 -2
  495. package/utils/GeometryCompressionUtils.js.map +1 -1
  496. package/utils/RoughnessMipmapper.cjs +3 -3
  497. package/utils/RoughnessMipmapper.cjs.map +1 -1
  498. package/utils/RoughnessMipmapper.js +4 -4
  499. package/utils/RoughnessMipmapper.js.map +1 -1
  500. package/utils/ShadowMapViewer.d.ts +2 -2
  501. package/webxr/ARButton.cjs +109 -106
  502. package/webxr/ARButton.cjs.map +1 -1
  503. package/webxr/ARButton.d.ts +4 -3
  504. package/webxr/ARButton.js +109 -106
  505. package/webxr/ARButton.js.map +1 -1
  506. package/webxr/OculusHandPointerModel.cjs +2 -2
  507. package/webxr/OculusHandPointerModel.cjs.map +1 -1
  508. package/webxr/OculusHandPointerModel.js +2 -2
  509. package/webxr/OculusHandPointerModel.js.map +1 -1
  510. package/webxr/VRButton.cjs +98 -95
  511. package/webxr/VRButton.cjs.map +1 -1
  512. package/webxr/VRButton.d.ts +6 -5
  513. package/webxr/VRButton.js +98 -95
  514. package/webxr/VRButton.js.map +1 -1
  515. package/webxr/XRHandPrimitiveModel.cjs +2 -2
  516. package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
  517. package/webxr/XRHandPrimitiveModel.js +3 -3
  518. package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -3,52 +3,77 @@ const ACESFilmicToneMappingShader = {
3
3
  tDiffuse: { value: null },
4
4
  exposure: { value: 1 }
5
5
  },
6
- vertexShader: [
7
- "varying vec2 vUv;",
8
- "void main() {",
9
- " vUv = uv;",
10
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
11
- "}"
12
- ].join("\n"),
13
- fragmentShader: [
14
- "#define saturate(a) clamp( a, 0.0, 1.0 )",
15
- "uniform sampler2D tDiffuse;",
16
- "uniform float exposure;",
17
- "varying vec2 vUv;",
18
- "vec3 RRTAndODTFit( vec3 v ) {",
19
- " vec3 a = v * ( v + 0.0245786 ) - 0.000090537;",
20
- " vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;",
21
- " return a / b;",
22
- "}",
23
- "vec3 ACESFilmicToneMapping( vec3 color ) {",
24
- // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT
25
- " const mat3 ACESInputMat = mat3(",
26
- " vec3( 0.59719, 0.07600, 0.02840 ),",
27
- // transposed from source
28
- " vec3( 0.35458, 0.90834, 0.13383 ),",
29
- " vec3( 0.04823, 0.01566, 0.83777 )",
30
- " );",
31
- // ODT_SAT => XYZ => D60_2_D65 => sRGB
32
- " const mat3 ACESOutputMat = mat3(",
33
- " vec3( 1.60475, -0.10208, -0.00327 ),",
34
- // transposed from source
35
- " vec3( -0.53108, 1.10813, -0.07276 ),",
36
- " vec3( -0.07367, -0.00605, 1.07602 )",
37
- " );",
38
- " color = ACESInputMat * color;",
39
- // Apply RRT and ODT
40
- " color = RRTAndODTFit( color );",
41
- " color = ACESOutputMat * color;",
42
- // Clamp to [0, 1]
43
- " return saturate( color );",
44
- "}",
45
- "void main() {",
46
- " vec4 tex = texture2D( tDiffuse, vUv );",
47
- " tex.rgb *= exposure / 0.6;",
48
- // pre-exposed, outside of the tone mapping function
49
- " gl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );",
50
- "}"
51
- ].join("\n")
6
+ vertexShader: (
7
+ /* glsl */
8
+ `
9
+ varying vec2 vUv;,
10
+
11
+ void main() {,
12
+
13
+ vUv = uv;,
14
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );,
15
+
16
+ },
17
+ `
18
+ ),
19
+ fragmentShader: (
20
+ /* glsl */
21
+ `
22
+ #define saturate(a) clamp( a, 0.0, 1.0 ),
23
+
24
+ uniform sampler2D tDiffuse;,
25
+
26
+ uniform float exposure;,
27
+
28
+ varying vec2 vUv;,
29
+
30
+ vec3 RRTAndODTFit( vec3 v ) {,
31
+
32
+ vec3 a = v * ( v + 0.0245786 ) - 0.000090537;,
33
+ vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;,
34
+ return a / b;,
35
+
36
+ },
37
+
38
+ vec3 ACESFilmicToneMapping( vec3 color ) {,
39
+
40
+ // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT
41
+ const mat3 ACESInputMat = mat3(,
42
+ vec3( 0.59719, 0.07600, 0.02840 ),, // transposed from source
43
+ vec3( 0.35458, 0.90834, 0.13383 ),,
44
+ vec3( 0.04823, 0.01566, 0.83777 ),
45
+ );,
46
+
47
+ // ODT_SAT => XYZ => D60_2_D65 => sRGB
48
+ const mat3 ACESOutputMat = mat3(,
49
+ vec3( 1.60475, -0.10208, -0.00327 ),, // transposed from source
50
+ vec3( -0.53108, 1.10813, -0.07276 ),,
51
+ vec3( -0.07367, -0.00605, 1.07602 ),
52
+ );,
53
+
54
+ color = ACESInputMat * color;,
55
+
56
+ // Apply RRT and ODT
57
+ color = RRTAndODTFit( color );,
58
+
59
+ color = ACESOutputMat * color;,
60
+
61
+ // Clamp to [0, 1]
62
+ return saturate( color );,
63
+
64
+ },
65
+
66
+ void main() {,
67
+
68
+ vec4 tex = texture2D( tDiffuse, vUv );,
69
+
70
+ tex.rgb *= exposure / 0.6;, // pre-exposed, outside of the tone mapping function
71
+
72
+ gl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );,
73
+
74
+ },
75
+ `
76
+ )
52
77
  };
53
78
  export {
54
79
  ACESFilmicToneMappingShader
@@ -1 +1 @@
1
- {"version":3,"file":"ACESFilmicToneMappingShader.js","sources":["../../src/shaders/ACESFilmicToneMappingShader.ts"],"sourcesContent":["/**\n * ACES Filmic Tone Mapping Shader by Stephen Hill\n * source: https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs\n *\n * this implementation of ACES is modified to accommodate a brighter viewing environment.\n * the scale factor of 1/0.6 is subjective. see discussion in #19621.\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type ACESFilmicToneMappingShaderUniforms = {\n exposure: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IACESFilmicToneMappingShader extends IShader<ACESFilmicToneMappingShaderUniforms> {}\n\nexport const ACESFilmicToneMappingShader: IACESFilmicToneMappingShader = {\n uniforms: {\n tDiffuse: { value: null },\n exposure: { value: 1.0 },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n '#define saturate(a) clamp( a, 0.0, 1.0 )',\n\n 'uniform sampler2D tDiffuse;',\n\n 'uniform float exposure;',\n\n 'varying vec2 vUv;',\n\n 'vec3 RRTAndODTFit( vec3 v ) {',\n\n '\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;',\n '\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;',\n '\treturn a / b;',\n\n '}',\n\n 'vec3 ACESFilmicToneMapping( vec3 color ) {',\n\n // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n '\tconst mat3 ACESInputMat = mat3(',\n '\t\tvec3( 0.59719, 0.07600, 0.02840 ),', // transposed from source\n '\t\tvec3( 0.35458, 0.90834, 0.13383 ),',\n '\t\tvec3( 0.04823, 0.01566, 0.83777 )',\n '\t);',\n\n // ODT_SAT => XYZ => D60_2_D65 => sRGB\n '\tconst mat3 ACESOutputMat = mat3(',\n '\t\tvec3( 1.60475, -0.10208, -0.00327 ),', // transposed from source\n '\t\tvec3( -0.53108, 1.10813, -0.07276 ),',\n '\t\tvec3( -0.07367, -0.00605, 1.07602 )',\n '\t);',\n\n '\tcolor = ACESInputMat * color;',\n\n // Apply RRT and ODT\n '\tcolor = RRTAndODTFit( color );',\n\n '\tcolor = ACESOutputMat * color;',\n\n // Clamp to [0, 1]\n '\treturn saturate( color );',\n\n '}',\n\n 'void main() {',\n\n '\tvec4 tex = texture2D( tDiffuse, vUv );',\n\n '\ttex.rgb *= exposure / 0.6;', // pre-exposed, outside of the tone mapping function\n\n '\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":"AAkBO,MAAM,8BAA4D;AAAA,EACvE,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,UAAU,EAAE,OAAO,EAAI;AAAA,EACzB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAGA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA;AAAA,IAGA;AAAA,IAEA;AAAA;AAAA,IAGA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"ACESFilmicToneMappingShader.js","sources":["../../src/shaders/ACESFilmicToneMappingShader.ts"],"sourcesContent":["/**\n * ACES Filmic Tone Mapping Shader by Stephen Hill\n * source: https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs\n *\n * this implementation of ACES is modified to accommodate a brighter viewing environment.\n * the scale factor of 1/0.6 is subjective. see discussion in #19621.\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type ACESFilmicToneMappingShaderUniforms = {\n exposure: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IACESFilmicToneMappingShader extends IShader<ACESFilmicToneMappingShaderUniforms> {}\n\nexport const ACESFilmicToneMappingShader: IACESFilmicToneMappingShader = {\n uniforms: {\n tDiffuse: { value: null },\n exposure: { value: 1.0 },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;,\n\n void main() {,\n\n \tvUv = uv;,\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );,\n\n },\n `,\n fragmentShader: /* glsl */ `\n #define saturate(a) clamp( a, 0.0, 1.0 ),\n\n uniform sampler2D tDiffuse;,\n\n uniform float exposure;,\n\n varying vec2 vUv;,\n\n vec3 RRTAndODTFit( vec3 v ) {,\n\n \tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;,\n \tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;,\n \treturn a / b;,\n\n },\n\n vec3 ACESFilmicToneMapping( vec3 color ) {,\n\n // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n \tconst mat3 ACESInputMat = mat3(,\n \t\tvec3( 0.59719, 0.07600, 0.02840 ),, // transposed from source\n \t\tvec3( 0.35458, 0.90834, 0.13383 ),,\n \t\tvec3( 0.04823, 0.01566, 0.83777 ),\n \t);,\n\n // ODT_SAT => XYZ => D60_2_D65 => sRGB\n \tconst mat3 ACESOutputMat = mat3(,\n \t\tvec3( 1.60475, -0.10208, -0.00327 ),, // transposed from source\n \t\tvec3( -0.53108, 1.10813, -0.07276 ),,\n \t\tvec3( -0.07367, -0.00605, 1.07602 ),\n \t);,\n\n \tcolor = ACESInputMat * color;,\n\n // Apply RRT and ODT\n \tcolor = RRTAndODTFit( color );,\n\n \tcolor = ACESOutputMat * color;,\n\n // Clamp to [0, 1]\n \treturn saturate( color );,\n\n },\n\n void main() {,\n\n \tvec4 tex = texture2D( tDiffuse, vUv );,\n\n \ttex.rgb *= exposure / 0.6;, // pre-exposed, outside of the tone mapping function\n\n \tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );,\n\n },\n `,\n}\n"],"names":[],"mappings":"AAkBO,MAAM,8BAA4D;AAAA,EACvE,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,UAAU,EAAE,OAAO,EAAI;AAAA,EACzB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuD7B;"}
@@ -6,28 +6,47 @@ const AfterimageShader = {
6
6
  tOld: { value: null },
7
7
  tNew: { value: null }
8
8
  },
9
- vertexShader: [
10
- "varying vec2 vUv;",
11
- "void main() {",
12
- " vUv = uv;",
13
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
14
- "}"
15
- ].join("\n"),
16
- fragmentShader: [
17
- "uniform float damp;",
18
- "uniform sampler2D tOld;",
19
- "uniform sampler2D tNew;",
20
- "varying vec2 vUv;",
21
- "vec4 when_gt( vec4 x, float y ) {",
22
- " return max( sign( x - y ), 0.0 );",
23
- "}",
24
- "void main() {",
25
- " vec4 texelOld = texture2D( tOld, vUv );",
26
- " vec4 texelNew = texture2D( tNew, vUv );",
27
- " texelOld *= damp * when_gt( texelOld, 0.1 );",
28
- " gl_FragColor = max(texelNew, texelOld);",
29
- "}"
30
- ].join("\n")
9
+ vertexShader: (
10
+ /* glsl */
11
+ `
12
+ varying vec2 vUv;
13
+
14
+ void main() {
15
+
16
+ vUv = uv;
17
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
18
+
19
+ }
20
+ `
21
+ ),
22
+ fragmentShader: (
23
+ /* glsl */
24
+ `
25
+ uniform float damp;
26
+
27
+ uniform sampler2D tOld;
28
+ uniform sampler2D tNew;
29
+
30
+ varying vec2 vUv;
31
+
32
+ vec4 when_gt( vec4 x, float y ) {
33
+
34
+ return max( sign( x - y ), 0.0 );
35
+
36
+ }
37
+
38
+ void main() {
39
+
40
+ vec4 texelOld = texture2D( tOld, vUv );
41
+ vec4 texelNew = texture2D( tNew, vUv );
42
+
43
+ texelOld *= damp * when_gt( texelOld, 0.1 );
44
+
45
+ gl_FragColor = max(texelNew, texelOld);
46
+
47
+ }
48
+ `
49
+ )
31
50
  };
32
51
  exports.AfterimageShader = AfterimageShader;
33
52
  //# sourceMappingURL=AfterimageShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AfterimageShader.cjs","sources":["../../src/shaders/AfterimageShader.ts"],"sourcesContent":["/**\n * Afterimage shader\n * I created this effect inspired by a demo on codepen:\n * https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type AfterimageShaderUniforms = {\n damp: IUniform<number>\n tNew: IUniform<Texture | null>\n tOld: IUniform<Texture | null>\n}\n\nexport interface IAfterimageShader extends IShader<AfterimageShaderUniforms> {}\n\nexport const AfterimageShader: IAfterimageShader = {\n uniforms: {\n damp: { value: 0.96 },\n tOld: { value: null },\n tNew: { value: null },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform float damp;',\n\n 'uniform sampler2D tOld;',\n 'uniform sampler2D tNew;',\n\n 'varying vec2 vUv;',\n\n 'vec4 when_gt( vec4 x, float y ) {',\n\n '\treturn max( sign( x - y ), 0.0 );',\n\n '}',\n\n 'void main() {',\n\n '\tvec4 texelOld = texture2D( tOld, vUv );',\n '\tvec4 texelNew = texture2D( tNew, vUv );',\n\n '\ttexelOld *= damp * when_gt( texelOld, 0.1 );',\n\n '\tgl_FragColor = max(texelNew, texelOld);',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";;AAiBO,MAAM,mBAAsC;AAAA,EACjD,UAAU;AAAA,IACR,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,EACtB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;;"}
1
+ {"version":3,"file":"AfterimageShader.cjs","sources":["../../src/shaders/AfterimageShader.ts"],"sourcesContent":["/**\n * Afterimage shader\n * I created this effect inspired by a demo on codepen:\n * https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type AfterimageShaderUniforms = {\n damp: IUniform<number>\n tNew: IUniform<Texture | null>\n tOld: IUniform<Texture | null>\n}\n\nexport interface IAfterimageShader extends IShader<AfterimageShaderUniforms> {}\n\nexport const AfterimageShader: IAfterimageShader = {\n uniforms: {\n damp: { value: 0.96 },\n tOld: { value: null },\n tNew: { value: null },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform float damp;\n\n uniform sampler2D tOld;\n uniform sampler2D tNew;\n\n varying vec2 vUv;\n\n vec4 when_gt( vec4 x, float y ) {\n\n \treturn max( sign( x - y ), 0.0 );\n\n }\n\n void main() {\n\n \tvec4 texelOld = texture2D( tOld, vUv );\n \tvec4 texelNew = texture2D( tNew, vUv );\n\n \ttexelOld *= damp * when_gt( texelOld, 0.1 );\n\n \tgl_FragColor = max(texelNew, texelOld);\n\n }\n `,\n}\n"],"names":[],"mappings":";;AAiBO,MAAM,mBAAsC;AAAA,EACjD,UAAU;AAAA,IACR,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,EACtB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyB7B;;"}
@@ -4,28 +4,47 @@ const AfterimageShader = {
4
4
  tOld: { value: null },
5
5
  tNew: { value: null }
6
6
  },
7
- vertexShader: [
8
- "varying vec2 vUv;",
9
- "void main() {",
10
- " vUv = uv;",
11
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
12
- "}"
13
- ].join("\n"),
14
- fragmentShader: [
15
- "uniform float damp;",
16
- "uniform sampler2D tOld;",
17
- "uniform sampler2D tNew;",
18
- "varying vec2 vUv;",
19
- "vec4 when_gt( vec4 x, float y ) {",
20
- " return max( sign( x - y ), 0.0 );",
21
- "}",
22
- "void main() {",
23
- " vec4 texelOld = texture2D( tOld, vUv );",
24
- " vec4 texelNew = texture2D( tNew, vUv );",
25
- " texelOld *= damp * when_gt( texelOld, 0.1 );",
26
- " gl_FragColor = max(texelNew, texelOld);",
27
- "}"
28
- ].join("\n")
7
+ vertexShader: (
8
+ /* glsl */
9
+ `
10
+ varying vec2 vUv;
11
+
12
+ void main() {
13
+
14
+ vUv = uv;
15
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
16
+
17
+ }
18
+ `
19
+ ),
20
+ fragmentShader: (
21
+ /* glsl */
22
+ `
23
+ uniform float damp;
24
+
25
+ uniform sampler2D tOld;
26
+ uniform sampler2D tNew;
27
+
28
+ varying vec2 vUv;
29
+
30
+ vec4 when_gt( vec4 x, float y ) {
31
+
32
+ return max( sign( x - y ), 0.0 );
33
+
34
+ }
35
+
36
+ void main() {
37
+
38
+ vec4 texelOld = texture2D( tOld, vUv );
39
+ vec4 texelNew = texture2D( tNew, vUv );
40
+
41
+ texelOld *= damp * when_gt( texelOld, 0.1 );
42
+
43
+ gl_FragColor = max(texelNew, texelOld);
44
+
45
+ }
46
+ `
47
+ )
29
48
  };
30
49
  export {
31
50
  AfterimageShader
@@ -1 +1 @@
1
- {"version":3,"file":"AfterimageShader.js","sources":["../../src/shaders/AfterimageShader.ts"],"sourcesContent":["/**\n * Afterimage shader\n * I created this effect inspired by a demo on codepen:\n * https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type AfterimageShaderUniforms = {\n damp: IUniform<number>\n tNew: IUniform<Texture | null>\n tOld: IUniform<Texture | null>\n}\n\nexport interface IAfterimageShader extends IShader<AfterimageShaderUniforms> {}\n\nexport const AfterimageShader: IAfterimageShader = {\n uniforms: {\n damp: { value: 0.96 },\n tOld: { value: null },\n tNew: { value: null },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform float damp;',\n\n 'uniform sampler2D tOld;',\n 'uniform sampler2D tNew;',\n\n 'varying vec2 vUv;',\n\n 'vec4 when_gt( vec4 x, float y ) {',\n\n '\treturn max( sign( x - y ), 0.0 );',\n\n '}',\n\n 'void main() {',\n\n '\tvec4 texelOld = texture2D( tOld, vUv );',\n '\tvec4 texelNew = texture2D( tNew, vUv );',\n\n '\ttexelOld *= damp * when_gt( texelOld, 0.1 );',\n\n '\tgl_FragColor = max(texelNew, texelOld);',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":"AAiBO,MAAM,mBAAsC;AAAA,EACjD,UAAU;AAAA,IACR,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,EACtB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"AfterimageShader.js","sources":["../../src/shaders/AfterimageShader.ts"],"sourcesContent":["/**\n * Afterimage shader\n * I created this effect inspired by a demo on codepen:\n * https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type AfterimageShaderUniforms = {\n damp: IUniform<number>\n tNew: IUniform<Texture | null>\n tOld: IUniform<Texture | null>\n}\n\nexport interface IAfterimageShader extends IShader<AfterimageShaderUniforms> {}\n\nexport const AfterimageShader: IAfterimageShader = {\n uniforms: {\n damp: { value: 0.96 },\n tOld: { value: null },\n tNew: { value: null },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform float damp;\n\n uniform sampler2D tOld;\n uniform sampler2D tNew;\n\n varying vec2 vUv;\n\n vec4 when_gt( vec4 x, float y ) {\n\n \treturn max( sign( x - y ), 0.0 );\n\n }\n\n void main() {\n\n \tvec4 texelOld = texture2D( tOld, vUv );\n \tvec4 texelNew = texture2D( tNew, vUv );\n\n \ttexelOld *= damp * when_gt( texelOld, 0.1 );\n\n \tgl_FragColor = max(texelNew, texelOld);\n\n }\n `,\n}\n"],"names":[],"mappings":"AAiBO,MAAM,mBAAsC;AAAA,EACjD,UAAU;AAAA,IACR,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,IACpB,MAAM,EAAE,OAAO,KAAK;AAAA,EACtB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyB7B;"}
@@ -2,12 +2,26 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const BasicShader = {
4
4
  uniforms: {},
5
- vertexShader: [
6
- "void main() {",
7
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
8
- "}"
9
- ].join("\n"),
10
- fragmentShader: ["void main() {", " gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );", "}"].join("\n")
5
+ vertexShader: (
6
+ /* glsl */
7
+ `
8
+ void main() {
9
+
10
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
11
+
12
+ }
13
+ `
14
+ ),
15
+ fragmentShader: (
16
+ /* glsl */
17
+ `
18
+ void main() {
19
+
20
+ gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );
21
+
22
+ }
23
+ `
24
+ )
11
25
  };
12
26
  exports.BasicShader = BasicShader;
13
27
  //# sourceMappingURL=BasicShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicShader.cjs","sources":["../../src/shaders/BasicShader.ts"],"sourcesContent":["/**\n * Simple test shader\n */\n\nimport type { IShader } from './types'\n\nexport type BasicShaderUniforms = {}\n\nexport interface IBasicShader extends IShader<BasicShaderUniforms> {}\n\nexport const BasicShader: IBasicShader = {\n uniforms: {},\n\n vertexShader: [\n 'void main() {',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: ['void main() {', '\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );', '}'].join('\\n'),\n}\n"],"names":[],"mappings":";;AAUO,MAAM,cAA4B;AAAA,EACvC,UAAU,CAAC;AAAA,EAEX,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB,CAAC,iBAAiB,+CAA+C,GAAG,EAAE,KAAK,IAAI;AACjG;;"}
1
+ {"version":3,"file":"BasicShader.cjs","sources":["../../src/shaders/BasicShader.ts"],"sourcesContent":["/**\n * Simple test shader\n */\n\nimport type { IShader } from './types'\n\nexport type BasicShaderUniforms = {}\n\nexport interface IBasicShader extends IShader<BasicShaderUniforms> {}\n\nexport const BasicShader: IBasicShader = {\n uniforms: {},\n\n vertexShader: /* glsl */ `\n void main() {\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n void main() {\n\n gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );\n\n }\n `,\n}\n"],"names":[],"mappings":";;AAUO,MAAM,cAA4B;AAAA,EACvC,UAAU,CAAC;AAAA,EAEX;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7B;;"}
@@ -1,11 +1,25 @@
1
1
  const BasicShader = {
2
2
  uniforms: {},
3
- vertexShader: [
4
- "void main() {",
5
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
6
- "}"
7
- ].join("\n"),
8
- fragmentShader: ["void main() {", " gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );", "}"].join("\n")
3
+ vertexShader: (
4
+ /* glsl */
5
+ `
6
+ void main() {
7
+
8
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
9
+
10
+ }
11
+ `
12
+ ),
13
+ fragmentShader: (
14
+ /* glsl */
15
+ `
16
+ void main() {
17
+
18
+ gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );
19
+
20
+ }
21
+ `
22
+ )
9
23
  };
10
24
  export {
11
25
  BasicShader
@@ -1 +1 @@
1
- {"version":3,"file":"BasicShader.js","sources":["../../src/shaders/BasicShader.ts"],"sourcesContent":["/**\n * Simple test shader\n */\n\nimport type { IShader } from './types'\n\nexport type BasicShaderUniforms = {}\n\nexport interface IBasicShader extends IShader<BasicShaderUniforms> {}\n\nexport const BasicShader: IBasicShader = {\n uniforms: {},\n\n vertexShader: [\n 'void main() {',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: ['void main() {', '\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );', '}'].join('\\n'),\n}\n"],"names":[],"mappings":"AAUO,MAAM,cAA4B;AAAA,EACvC,UAAU,CAAC;AAAA,EAEX,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB,CAAC,iBAAiB,+CAA+C,GAAG,EAAE,KAAK,IAAI;AACjG;"}
1
+ {"version":3,"file":"BasicShader.js","sources":["../../src/shaders/BasicShader.ts"],"sourcesContent":["/**\n * Simple test shader\n */\n\nimport type { IShader } from './types'\n\nexport type BasicShaderUniforms = {}\n\nexport interface IBasicShader extends IShader<BasicShaderUniforms> {}\n\nexport const BasicShader: IBasicShader = {\n uniforms: {},\n\n vertexShader: /* glsl */ `\n void main() {\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n void main() {\n\n gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );\n\n }\n `,\n}\n"],"names":[],"mappings":"AAUO,MAAM,cAA4B;AAAA,EACvC,UAAU,CAAC;AAAA,EAEX;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7B;"}
@@ -5,32 +5,52 @@ const BleachBypassShader = {
5
5
  tDiffuse: { value: null },
6
6
  opacity: { value: 1 }
7
7
  },
8
- vertexShader: [
9
- "varying vec2 vUv;",
10
- "void main() {",
11
- " vUv = uv;",
12
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
13
- "}"
14
- ].join("\n"),
15
- fragmentShader: [
16
- "uniform float opacity;",
17
- "uniform sampler2D tDiffuse;",
18
- "varying vec2 vUv;",
19
- "void main() {",
20
- " vec4 base = texture2D( tDiffuse, vUv );",
21
- " vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );",
22
- " float lum = dot( lumCoeff, base.rgb );",
23
- " vec3 blend = vec3( lum );",
24
- " float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );",
25
- " vec3 result1 = 2.0 * base.rgb * blend;",
26
- " vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );",
27
- " vec3 newColor = mix( result1, result2, L );",
28
- " float A2 = opacity * base.a;",
29
- " vec3 mixRGB = A2 * newColor.rgb;",
30
- " mixRGB += ( ( 1.0 - A2 ) * base.rgb );",
31
- " gl_FragColor = vec4( mixRGB, base.a );",
32
- "}"
33
- ].join("\n")
8
+ vertexShader: (
9
+ /* glsl */
10
+ `
11
+ varying vec2 vUv;
12
+
13
+ void main() {
14
+
15
+ vUv = uv;
16
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
17
+
18
+ }
19
+ `
20
+ ),
21
+ fragmentShader: (
22
+ /* glsl */
23
+ `
24
+ uniform float opacity;
25
+
26
+ uniform sampler2D tDiffuse;
27
+
28
+ varying vec2 vUv;
29
+
30
+ void main() {
31
+
32
+ vec4 base = texture2D( tDiffuse, vUv );
33
+
34
+ vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );
35
+ float lum = dot( lumCoeff, base.rgb );
36
+ vec3 blend = vec3( lum );
37
+
38
+ float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );
39
+
40
+ vec3 result1 = 2.0 * base.rgb * blend;
41
+ vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );
42
+
43
+ vec3 newColor = mix( result1, result2, L );
44
+
45
+ float A2 = opacity * base.a;
46
+ vec3 mixRGB = A2 * newColor.rgb;
47
+ mixRGB += ( ( 1.0 - A2 ) * base.rgb );
48
+
49
+ gl_FragColor = vec4( mixRGB, base.a );
50
+
51
+ }
52
+ `
53
+ )
34
54
  };
35
55
  exports.BleachBypassShader = BleachBypassShader;
36
56
  //# sourceMappingURL=BleachBypassShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleachBypassShader.cjs","sources":["../../src/shaders/BleachBypassShader.ts"],"sourcesContent":["/**\n * Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass]\n * - based on Nvidia example\n * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type BleachBypassShaderUniforms = {\n opacity: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IBleachBypassShader extends IShader<BleachBypassShaderUniforms> {}\n\nexport const BleachBypassShader: IBleachBypassShader = {\n uniforms: {\n tDiffuse: { value: null },\n opacity: { value: 1.0 },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform float opacity;',\n\n 'uniform sampler2D tDiffuse;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvec4 base = texture2D( tDiffuse, vUv );',\n\n '\tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );',\n '\tfloat lum = dot( lumCoeff, base.rgb );',\n '\tvec3 blend = vec3( lum );',\n\n '\tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );',\n\n '\tvec3 result1 = 2.0 * base.rgb * blend;',\n '\tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );',\n\n '\tvec3 newColor = mix( result1, result2, L );',\n\n '\tfloat A2 = opacity * base.a;',\n '\tvec3 mixRGB = A2 * newColor.rgb;',\n '\tmixRGB += ( ( 1.0 - A2 ) * base.rgb );',\n\n '\tgl_FragColor = vec4( mixRGB, base.a );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";;AAgBO,MAAM,qBAA0C;AAAA,EACrD,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,SAAS,EAAE,OAAO,EAAI;AAAA,EACxB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;;"}
1
+ {"version":3,"file":"BleachBypassShader.cjs","sources":["../../src/shaders/BleachBypassShader.ts"],"sourcesContent":["/**\n * Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass]\n * - based on Nvidia example\n * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type BleachBypassShaderUniforms = {\n opacity: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IBleachBypassShader extends IShader<BleachBypassShaderUniforms> {}\n\nexport const BleachBypassShader: IBleachBypassShader = {\n uniforms: {\n tDiffuse: { value: null },\n opacity: { value: 1.0 },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform float opacity;\n\n uniform sampler2D tDiffuse;\n\n varying vec2 vUv;\n\n void main() {\n\n \tvec4 base = texture2D( tDiffuse, vUv );\n\n \tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );\n \tfloat lum = dot( lumCoeff, base.rgb );\n \tvec3 blend = vec3( lum );\n\n \tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );\n\n \tvec3 result1 = 2.0 * base.rgb * blend;\n \tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );\n\n \tvec3 newColor = mix( result1, result2, L );\n\n \tfloat A2 = opacity * base.a;\n \tvec3 mixRGB = A2 * newColor.rgb;\n \tmixRGB += ( ( 1.0 - A2 ) * base.rgb );\n\n \tgl_FragColor = vec4( mixRGB, base.a );\n\n }\n `,\n}\n"],"names":[],"mappings":";;AAgBO,MAAM,qBAA0C;AAAA,EACrD,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,SAAS,EAAE,OAAO,EAAI;AAAA,EACxB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8B7B;;"}
@@ -3,32 +3,52 @@ const BleachBypassShader = {
3
3
  tDiffuse: { value: null },
4
4
  opacity: { value: 1 }
5
5
  },
6
- vertexShader: [
7
- "varying vec2 vUv;",
8
- "void main() {",
9
- " vUv = uv;",
10
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
11
- "}"
12
- ].join("\n"),
13
- fragmentShader: [
14
- "uniform float opacity;",
15
- "uniform sampler2D tDiffuse;",
16
- "varying vec2 vUv;",
17
- "void main() {",
18
- " vec4 base = texture2D( tDiffuse, vUv );",
19
- " vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );",
20
- " float lum = dot( lumCoeff, base.rgb );",
21
- " vec3 blend = vec3( lum );",
22
- " float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );",
23
- " vec3 result1 = 2.0 * base.rgb * blend;",
24
- " vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );",
25
- " vec3 newColor = mix( result1, result2, L );",
26
- " float A2 = opacity * base.a;",
27
- " vec3 mixRGB = A2 * newColor.rgb;",
28
- " mixRGB += ( ( 1.0 - A2 ) * base.rgb );",
29
- " gl_FragColor = vec4( mixRGB, base.a );",
30
- "}"
31
- ].join("\n")
6
+ vertexShader: (
7
+ /* glsl */
8
+ `
9
+ varying vec2 vUv;
10
+
11
+ void main() {
12
+
13
+ vUv = uv;
14
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
15
+
16
+ }
17
+ `
18
+ ),
19
+ fragmentShader: (
20
+ /* glsl */
21
+ `
22
+ uniform float opacity;
23
+
24
+ uniform sampler2D tDiffuse;
25
+
26
+ varying vec2 vUv;
27
+
28
+ void main() {
29
+
30
+ vec4 base = texture2D( tDiffuse, vUv );
31
+
32
+ vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );
33
+ float lum = dot( lumCoeff, base.rgb );
34
+ vec3 blend = vec3( lum );
35
+
36
+ float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );
37
+
38
+ vec3 result1 = 2.0 * base.rgb * blend;
39
+ vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );
40
+
41
+ vec3 newColor = mix( result1, result2, L );
42
+
43
+ float A2 = opacity * base.a;
44
+ vec3 mixRGB = A2 * newColor.rgb;
45
+ mixRGB += ( ( 1.0 - A2 ) * base.rgb );
46
+
47
+ gl_FragColor = vec4( mixRGB, base.a );
48
+
49
+ }
50
+ `
51
+ )
32
52
  };
33
53
  export {
34
54
  BleachBypassShader
@@ -1 +1 @@
1
- {"version":3,"file":"BleachBypassShader.js","sources":["../../src/shaders/BleachBypassShader.ts"],"sourcesContent":["/**\n * Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass]\n * - based on Nvidia example\n * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type BleachBypassShaderUniforms = {\n opacity: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IBleachBypassShader extends IShader<BleachBypassShaderUniforms> {}\n\nexport const BleachBypassShader: IBleachBypassShader = {\n uniforms: {\n tDiffuse: { value: null },\n opacity: { value: 1.0 },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform float opacity;',\n\n 'uniform sampler2D tDiffuse;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvec4 base = texture2D( tDiffuse, vUv );',\n\n '\tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );',\n '\tfloat lum = dot( lumCoeff, base.rgb );',\n '\tvec3 blend = vec3( lum );',\n\n '\tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );',\n\n '\tvec3 result1 = 2.0 * base.rgb * blend;',\n '\tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );',\n\n '\tvec3 newColor = mix( result1, result2, L );',\n\n '\tfloat A2 = opacity * base.a;',\n '\tvec3 mixRGB = A2 * newColor.rgb;',\n '\tmixRGB += ( ( 1.0 - A2 ) * base.rgb );',\n\n '\tgl_FragColor = vec4( mixRGB, base.a );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":"AAgBO,MAAM,qBAA0C;AAAA,EACrD,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,SAAS,EAAE,OAAO,EAAI;AAAA,EACxB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"BleachBypassShader.js","sources":["../../src/shaders/BleachBypassShader.ts"],"sourcesContent":["/**\n * Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass]\n * - based on Nvidia example\n * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass\n */\n\nimport type { IUniform, Texture } from 'three'\nimport type { IShader } from './types'\n\nexport type BleachBypassShaderUniforms = {\n opacity: IUniform<number>\n tDiffuse: IUniform<Texture | null>\n}\n\nexport interface IBleachBypassShader extends IShader<BleachBypassShaderUniforms> {}\n\nexport const BleachBypassShader: IBleachBypassShader = {\n uniforms: {\n tDiffuse: { value: null },\n opacity: { value: 1.0 },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform float opacity;\n\n uniform sampler2D tDiffuse;\n\n varying vec2 vUv;\n\n void main() {\n\n \tvec4 base = texture2D( tDiffuse, vUv );\n\n \tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );\n \tfloat lum = dot( lumCoeff, base.rgb );\n \tvec3 blend = vec3( lum );\n\n \tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );\n\n \tvec3 result1 = 2.0 * base.rgb * blend;\n \tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );\n\n \tvec3 newColor = mix( result1, result2, L );\n\n \tfloat A2 = opacity * base.a;\n \tvec3 mixRGB = A2 * newColor.rgb;\n \tmixRGB += ( ( 1.0 - A2 ) * base.rgb );\n\n \tgl_FragColor = vec4( mixRGB, base.a );\n\n }\n `,\n}\n"],"names":[],"mappings":"AAgBO,MAAM,qBAA0C;AAAA,EACrD,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,SAAS,EAAE,OAAO,EAAI;AAAA,EACxB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8B7B;"}