three-stdlib 2.35.3 → 2.35.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/_polyfill/CapsuleGeometry.cjs +20 -17
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +20 -17
  4. package/_polyfill/CapsuleGeometry.js.map +1 -1
  5. package/_polyfill/constants.cjs +1 -1
  6. package/_polyfill/constants.cjs.map +1 -1
  7. package/_polyfill/constants.js +1 -1
  8. package/_polyfill/constants.js.map +1 -1
  9. package/animation/AnimationClipCreator.cjs +13 -13
  10. package/animation/AnimationClipCreator.cjs.map +1 -1
  11. package/animation/AnimationClipCreator.js +13 -13
  12. package/animation/AnimationClipCreator.js.map +1 -1
  13. package/animation/CCDIKSolver.cjs +11 -11
  14. package/animation/CCDIKSolver.cjs.map +1 -1
  15. package/animation/CCDIKSolver.js +12 -12
  16. package/animation/CCDIKSolver.js.map +1 -1
  17. package/animation/MMDAnimationHelper.cjs +1 -1
  18. package/animation/MMDAnimationHelper.cjs.map +1 -1
  19. package/animation/MMDAnimationHelper.js +1 -1
  20. package/animation/MMDAnimationHelper.js.map +1 -1
  21. package/animation/MMDPhysics.cjs +4 -4
  22. package/animation/MMDPhysics.cjs.map +1 -1
  23. package/animation/MMDPhysics.js +4 -4
  24. package/animation/MMDPhysics.js.map +1 -1
  25. package/controls/ArcballControls.cjs +2 -2
  26. package/controls/ArcballControls.cjs.map +1 -1
  27. package/controls/ArcballControls.js +3 -3
  28. package/controls/ArcballControls.js.map +1 -1
  29. package/controls/FirstPersonControls.cjs +1 -1
  30. package/controls/FirstPersonControls.cjs.map +1 -1
  31. package/controls/FirstPersonControls.js +1 -1
  32. package/controls/FirstPersonControls.js.map +1 -1
  33. package/controls/OrbitControls.cjs +2 -2
  34. package/controls/OrbitControls.cjs.map +1 -1
  35. package/controls/OrbitControls.js +3 -3
  36. package/controls/OrbitControls.js.map +1 -1
  37. package/controls/PointerLockControls.cjs +2 -2
  38. package/controls/PointerLockControls.cjs.map +1 -1
  39. package/controls/PointerLockControls.js +3 -3
  40. package/controls/PointerLockControls.js.map +1 -1
  41. package/csm/CSM.cjs +4 -4
  42. package/csm/CSM.cjs.map +1 -1
  43. package/csm/CSM.js +5 -5
  44. package/csm/CSM.js.map +1 -1
  45. package/csm/CSMFrustum.cjs +1 -1
  46. package/csm/CSMFrustum.cjs.map +1 -1
  47. package/csm/CSMFrustum.js +2 -2
  48. package/csm/CSMFrustum.js.map +1 -1
  49. package/deprecated/Geometry.cjs +722 -715
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +723 -716
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +2 -1
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +3 -2
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +2 -1
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +3 -2
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +2 -1
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +3 -2
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +133 -122
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +23 -21
  68. package/exporters/DRACOExporter.js +133 -122
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +170 -167
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +170 -167
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +524 -515
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +524 -515
  77. package/geometries/LightningStrike.js.map +1 -1
  78. package/geometries/RoundedBoxGeometry.cjs +1 -1
  79. package/geometries/RoundedBoxGeometry.cjs.map +1 -1
  80. package/geometries/RoundedBoxGeometry.js +2 -2
  81. package/geometries/RoundedBoxGeometry.js.map +1 -1
  82. package/helpers/RaycasterHelper.cjs +2 -2
  83. package/helpers/RaycasterHelper.cjs.map +1 -1
  84. package/helpers/RaycasterHelper.js +3 -3
  85. package/helpers/RaycasterHelper.js.map +1 -1
  86. package/helpers/VertexNormalsHelper.cjs +3 -3
  87. package/helpers/VertexNormalsHelper.cjs.map +1 -1
  88. package/helpers/VertexNormalsHelper.js +4 -4
  89. package/helpers/VertexNormalsHelper.js.map +1 -1
  90. package/helpers/VertexTangentsHelper.cjs +2 -2
  91. package/helpers/VertexTangentsHelper.cjs.map +1 -1
  92. package/helpers/VertexTangentsHelper.js +3 -3
  93. package/helpers/VertexTangentsHelper.js.map +1 -1
  94. package/interactive/InteractiveGroup.cjs +1 -1
  95. package/interactive/InteractiveGroup.cjs.map +1 -1
  96. package/interactive/InteractiveGroup.js +2 -2
  97. package/interactive/InteractiveGroup.js.map +1 -1
  98. package/interactive/SelectionBox.cjs +15 -15
  99. package/interactive/SelectionBox.cjs.map +1 -1
  100. package/interactive/SelectionBox.js +16 -16
  101. package/interactive/SelectionBox.js.map +1 -1
  102. package/libs/chevrotain.cjs +1 -1
  103. package/libs/chevrotain.cjs.map +1 -1
  104. package/libs/chevrotain.js +1 -1
  105. package/libs/chevrotain.js.map +1 -1
  106. package/libs/lottie.cjs +1 -1
  107. package/libs/lottie.cjs.map +1 -1
  108. package/libs/lottie.js +1 -1
  109. package/libs/lottie.js.map +1 -1
  110. package/libs/opentype.cjs +1 -1
  111. package/libs/opentype.cjs.map +1 -1
  112. package/libs/opentype.js +1 -1
  113. package/libs/opentype.js.map +1 -1
  114. package/lights/LightProbeGenerator.cjs +5 -5
  115. package/lights/LightProbeGenerator.cjs.map +1 -1
  116. package/lights/LightProbeGenerator.js +5 -5
  117. package/lights/LightProbeGenerator.js.map +1 -1
  118. package/lights/RectAreaLightUniformsLib.cjs +3 -3
  119. package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
  120. package/lights/RectAreaLightUniformsLib.js +3 -3
  121. package/lights/RectAreaLightUniformsLib.js.map +1 -1
  122. package/lines/LineMaterial.cjs +2 -1
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +3 -2
  125. package/lines/LineMaterial.js.map +1 -1
  126. package/lines/LineSegments2.cjs +13 -13
  127. package/lines/LineSegments2.cjs.map +1 -1
  128. package/lines/LineSegments2.js +14 -14
  129. package/lines/LineSegments2.js.map +1 -1
  130. package/lines/LineSegmentsGeometry.cjs +2 -2
  131. package/lines/LineSegmentsGeometry.cjs.map +1 -1
  132. package/lines/LineSegmentsGeometry.js +3 -3
  133. package/lines/LineSegmentsGeometry.js.map +1 -1
  134. package/lines/Wireframe.cjs +3 -3
  135. package/lines/Wireframe.cjs.map +1 -1
  136. package/lines/Wireframe.js +4 -4
  137. package/lines/Wireframe.js.map +1 -1
  138. package/loaders/BasisTextureLoader.cjs +441 -435
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +441 -435
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +2 -1
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +3 -2
  145. package/loaders/EXRLoader.js.map +1 -1
  146. package/loaders/FBXLoader.cjs +2 -2
  147. package/loaders/FBXLoader.cjs.map +1 -1
  148. package/loaders/FBXLoader.js +2 -2
  149. package/loaders/FBXLoader.js.map +1 -1
  150. package/loaders/FontLoader.cjs +2 -2
  151. package/loaders/FontLoader.cjs.map +1 -1
  152. package/loaders/FontLoader.d.ts +2 -2
  153. package/loaders/FontLoader.js +2 -2
  154. package/loaders/FontLoader.js.map +1 -1
  155. package/loaders/GLTFLoader.cjs +2 -2
  156. package/loaders/GLTFLoader.cjs.map +1 -1
  157. package/loaders/GLTFLoader.js +2 -2
  158. package/loaders/GLTFLoader.js.map +1 -1
  159. package/loaders/KTX2Loader.cjs +377 -374
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +377 -374
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +5 -4
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +6 -5
  166. package/loaders/LDrawLoader.js.map +1 -1
  167. package/loaders/OBJLoader.cjs +5 -5
  168. package/loaders/OBJLoader.cjs.map +1 -1
  169. package/loaders/OBJLoader.js +6 -6
  170. package/loaders/OBJLoader.js.map +1 -1
  171. package/loaders/PRWMLoader.cjs +46 -43
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +46 -43
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1694 -1688
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1694 -1688
  178. package/loaders/SVGLoader.js.map +1 -1
  179. package/loaders/XLoader.cjs +1 -1
  180. package/loaders/XLoader.cjs.map +1 -1
  181. package/loaders/XLoader.js +1 -1
  182. package/loaders/XLoader.js.map +1 -1
  183. package/math/Capsule.cjs +3 -3
  184. package/math/Capsule.cjs.map +1 -1
  185. package/math/Capsule.js +3 -3
  186. package/math/Capsule.js.map +1 -1
  187. package/math/ColorConverter.cjs +9 -9
  188. package/math/ColorConverter.cjs.map +1 -1
  189. package/math/ColorConverter.js +9 -9
  190. package/math/ColorConverter.js.map +1 -1
  191. package/math/ConvexHull.cjs +53 -50
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +53 -50
  194. package/math/ConvexHull.js.map +1 -1
  195. package/math/ImprovedNoise.cjs +1 -1
  196. package/math/ImprovedNoise.cjs.map +1 -1
  197. package/math/ImprovedNoise.js +1 -1
  198. package/math/ImprovedNoise.js.map +1 -1
  199. package/math/MeshSurfaceSampler.cjs +2 -2
  200. package/math/MeshSurfaceSampler.cjs.map +1 -1
  201. package/math/MeshSurfaceSampler.js +2 -2
  202. package/math/MeshSurfaceSampler.js.map +1 -1
  203. package/math/OBB.cjs +14 -14
  204. package/math/OBB.cjs.map +1 -1
  205. package/math/OBB.js +15 -15
  206. package/math/OBB.js.map +1 -1
  207. package/math/Octree.cjs +7 -7
  208. package/math/Octree.cjs.map +1 -1
  209. package/math/Octree.js +8 -8
  210. package/math/Octree.js.map +1 -1
  211. package/misc/ConvexObjectBreaker.cjs +271 -268
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +272 -269
  214. package/misc/ConvexObjectBreaker.js.map +1 -1
  215. package/misc/Gyroscope.cjs +6 -6
  216. package/misc/Gyroscope.cjs.map +1 -1
  217. package/misc/Gyroscope.js +7 -7
  218. package/misc/Gyroscope.js.map +1 -1
  219. package/modifiers/CurveModifier.cjs +1 -1
  220. package/modifiers/CurveModifier.cjs.map +1 -1
  221. package/modifiers/CurveModifier.js +2 -2
  222. package/modifiers/CurveModifier.js.map +1 -1
  223. package/modifiers/SimplifyModifier.cjs +2 -2
  224. package/modifiers/SimplifyModifier.cjs.map +1 -1
  225. package/modifiers/SimplifyModifier.js +2 -2
  226. package/modifiers/SimplifyModifier.js.map +1 -1
  227. package/objects/BatchedMesh.cjs +2 -2
  228. package/objects/BatchedMesh.cjs.map +1 -1
  229. package/objects/BatchedMesh.js +3 -3
  230. package/objects/BatchedMesh.js.map +1 -1
  231. package/objects/GroundProjectedEnv.cjs +2 -1
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +3 -2
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +209 -206
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +209 -206
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +154 -146
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +154 -146
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +183 -180
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +183 -180
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +164 -161
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +164 -161
  250. package/objects/Refractor.js.map +1 -1
  251. package/objects/ShadowMesh.cjs +1 -1
  252. package/objects/ShadowMesh.cjs.map +1 -1
  253. package/objects/ShadowMesh.js +2 -2
  254. package/objects/ShadowMesh.js.map +1 -1
  255. package/objects/Sky.cjs +35 -32
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +100 -6
  258. package/objects/Sky.js +35 -32
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +2 -1
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +3 -2
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +143 -140
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +143 -140
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/SAOPass.cjs +267 -264
  270. package/postprocessing/SAOPass.cjs.map +1 -1
  271. package/postprocessing/SAOPass.js +267 -264
  272. package/postprocessing/SAOPass.js.map +1 -1
  273. package/postprocessing/SSAOPass.cjs +253 -250
  274. package/postprocessing/SSAOPass.cjs.map +1 -1
  275. package/postprocessing/SSAOPass.js +253 -250
  276. package/postprocessing/SSAOPass.js.map +1 -1
  277. package/postprocessing/SSRPass.cjs +379 -376
  278. package/postprocessing/SSRPass.cjs.map +1 -1
  279. package/postprocessing/SSRPass.js +379 -376
  280. package/postprocessing/SSRPass.js.map +1 -1
  281. package/postprocessing/UnrealBloomPass.cjs +205 -202
  282. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  283. package/postprocessing/UnrealBloomPass.js +205 -202
  284. package/postprocessing/UnrealBloomPass.js.map +1 -1
  285. package/renderers/CSS2DRenderer.cjs +5 -5
  286. package/renderers/CSS2DRenderer.cjs.map +1 -1
  287. package/renderers/CSS2DRenderer.js +5 -5
  288. package/renderers/CSS2DRenderer.js.map +1 -1
  289. package/renderers/CSS3DRenderer.cjs +5 -5
  290. package/renderers/CSS3DRenderer.cjs.map +1 -1
  291. package/renderers/CSS3DRenderer.js +6 -6
  292. package/renderers/CSS3DRenderer.js.map +1 -1
  293. package/shaders/ACESFilmicToneMappingShader.cjs +71 -46
  294. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  295. package/shaders/ACESFilmicToneMappingShader.js +71 -46
  296. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  297. package/shaders/AfterimageShader.cjs +41 -22
  298. package/shaders/AfterimageShader.cjs.map +1 -1
  299. package/shaders/AfterimageShader.js +41 -22
  300. package/shaders/AfterimageShader.js.map +1 -1
  301. package/shaders/BasicShader.cjs +20 -6
  302. package/shaders/BasicShader.cjs.map +1 -1
  303. package/shaders/BasicShader.js +20 -6
  304. package/shaders/BasicShader.js.map +1 -1
  305. package/shaders/BleachBypassShader.cjs +46 -26
  306. package/shaders/BleachBypassShader.cjs.map +1 -1
  307. package/shaders/BleachBypassShader.js +46 -26
  308. package/shaders/BleachBypassShader.js.map +1 -1
  309. package/shaders/BlendShader.cjs +33 -19
  310. package/shaders/BlendShader.cjs.map +1 -1
  311. package/shaders/BlendShader.js +33 -19
  312. package/shaders/BlendShader.js.map +1 -1
  313. package/shaders/BokehShader.cjs +117 -90
  314. package/shaders/BokehShader.cjs.map +1 -1
  315. package/shaders/BokehShader.js +117 -90
  316. package/shaders/BokehShader.js.map +1 -1
  317. package/shaders/BokehShader2.cjs +333 -232
  318. package/shaders/BokehShader2.cjs.map +1 -1
  319. package/shaders/BokehShader2.js +333 -232
  320. package/shaders/BokehShader2.js.map +1 -1
  321. package/shaders/BrightnessContrastShader.cjs +38 -22
  322. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  323. package/shaders/BrightnessContrastShader.js +38 -22
  324. package/shaders/BrightnessContrastShader.js.map +1 -1
  325. package/shaders/ColorCorrectionShader.cjs +35 -21
  326. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  327. package/shaders/ColorCorrectionShader.js +35 -21
  328. package/shaders/ColorCorrectionShader.js.map +1 -1
  329. package/shaders/ColorifyShader.cjs +34 -19
  330. package/shaders/ColorifyShader.cjs.map +1 -1
  331. package/shaders/ColorifyShader.js +34 -19
  332. package/shaders/ColorifyShader.js.map +1 -1
  333. package/shaders/ConvolutionShader.cjs +43 -24
  334. package/shaders/ConvolutionShader.cjs.map +1 -1
  335. package/shaders/ConvolutionShader.js +43 -24
  336. package/shaders/ConvolutionShader.js.map +1 -1
  337. package/shaders/CopyShader.cjs +30 -16
  338. package/shaders/CopyShader.cjs.map +1 -1
  339. package/shaders/CopyShader.js +30 -16
  340. package/shaders/CopyShader.js.map +1 -1
  341. package/shaders/DOFMipMapShader.cjs +38 -21
  342. package/shaders/DOFMipMapShader.cjs.map +1 -1
  343. package/shaders/DOFMipMapShader.js +38 -21
  344. package/shaders/DOFMipMapShader.js.map +1 -1
  345. package/shaders/DepthLimitedBlurShader.cjs +98 -69
  346. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  347. package/shaders/DepthLimitedBlurShader.js +98 -69
  348. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  349. package/shaders/DigitalGlitch.cjs +70 -59
  350. package/shaders/DigitalGlitch.cjs.map +1 -1
  351. package/shaders/DigitalGlitch.js +70 -59
  352. package/shaders/DigitalGlitch.js.map +1 -1
  353. package/shaders/DotScreenShader.cjs +49 -28
  354. package/shaders/DotScreenShader.cjs.map +1 -1
  355. package/shaders/DotScreenShader.js +49 -28
  356. package/shaders/DotScreenShader.js.map +1 -1
  357. package/shaders/FXAAShader.cjs +1098 -1089
  358. package/shaders/FXAAShader.cjs.map +1 -1
  359. package/shaders/FXAAShader.js +1098 -1089
  360. package/shaders/FXAAShader.js.map +1 -1
  361. package/shaders/FilmShader.cjs +57 -29
  362. package/shaders/FilmShader.cjs.map +1 -1
  363. package/shaders/FilmShader.js +57 -29
  364. package/shaders/FilmShader.js.map +1 -1
  365. package/shaders/FocusShader.cjs +70 -43
  366. package/shaders/FocusShader.cjs.map +1 -1
  367. package/shaders/FocusShader.js +70 -43
  368. package/shaders/FocusShader.js.map +1 -1
  369. package/shaders/FreiChenShader.cjs +74 -53
  370. package/shaders/FreiChenShader.cjs.map +1 -1
  371. package/shaders/FreiChenShader.js +74 -53
  372. package/shaders/FreiChenShader.js.map +1 -1
  373. package/shaders/FresnelShader.cjs +55 -35
  374. package/shaders/FresnelShader.cjs.map +1 -1
  375. package/shaders/FresnelShader.js +55 -35
  376. package/shaders/FresnelShader.js.map +1 -1
  377. package/shaders/GammaCorrectionShader.cjs +33 -19
  378. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  379. package/shaders/GammaCorrectionShader.js +33 -19
  380. package/shaders/GammaCorrectionShader.js.map +1 -1
  381. package/shaders/GodRaysShader.cjs +193 -116
  382. package/shaders/GodRaysShader.cjs.map +1 -1
  383. package/shaders/GodRaysShader.js +193 -116
  384. package/shaders/GodRaysShader.js.map +1 -1
  385. package/shaders/HalftoneShader.cjs +270 -192
  386. package/shaders/HalftoneShader.cjs.map +1 -1
  387. package/shaders/HalftoneShader.js +270 -192
  388. package/shaders/HalftoneShader.js.map +1 -1
  389. package/shaders/HorizontalTiltShiftShader.cjs +43 -27
  390. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  391. package/shaders/HorizontalTiltShiftShader.js +43 -27
  392. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  393. package/shaders/HueSaturationShader.cjs +47 -31
  394. package/shaders/HueSaturationShader.cjs.map +1 -1
  395. package/shaders/HueSaturationShader.js +47 -31
  396. package/shaders/HueSaturationShader.js.map +1 -1
  397. package/shaders/KaleidoShader.cjs +37 -24
  398. package/shaders/KaleidoShader.cjs.map +1 -1
  399. package/shaders/KaleidoShader.js +37 -24
  400. package/shaders/KaleidoShader.js.map +1 -1
  401. package/shaders/LuminosityHighPassShader.cjs +43 -24
  402. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  403. package/shaders/LuminosityHighPassShader.js +43 -24
  404. package/shaders/LuminosityHighPassShader.js.map +1 -1
  405. package/shaders/LuminosityShader.cjs +34 -17
  406. package/shaders/LuminosityShader.cjs.map +1 -1
  407. package/shaders/LuminosityShader.js +34 -17
  408. package/shaders/LuminosityShader.js.map +1 -1
  409. package/shaders/MirrorShader.cjs +39 -26
  410. package/shaders/MirrorShader.cjs.map +1 -1
  411. package/shaders/MirrorShader.js +39 -26
  412. package/shaders/MirrorShader.js.map +1 -1
  413. package/shaders/NormalMapShader.cjs +36 -21
  414. package/shaders/NormalMapShader.cjs.map +1 -1
  415. package/shaders/NormalMapShader.js +36 -21
  416. package/shaders/NormalMapShader.js.map +1 -1
  417. package/shaders/ParallaxShader.cjs +147 -97
  418. package/shaders/ParallaxShader.cjs.map +1 -1
  419. package/shaders/ParallaxShader.js +147 -97
  420. package/shaders/ParallaxShader.js.map +1 -1
  421. package/shaders/PixelShader.cjs +31 -18
  422. package/shaders/PixelShader.cjs.map +1 -1
  423. package/shaders/PixelShader.js +31 -18
  424. package/shaders/PixelShader.js.map +1 -1
  425. package/shaders/RGBShiftShader.cjs +33 -20
  426. package/shaders/RGBShiftShader.cjs.map +1 -1
  427. package/shaders/RGBShiftShader.js +33 -20
  428. package/shaders/RGBShiftShader.js.map +1 -1
  429. package/shaders/SAOShader.cjs +154 -117
  430. package/shaders/SAOShader.cjs.map +1 -1
  431. package/shaders/SAOShader.js +154 -117
  432. package/shaders/SAOShader.js.map +1 -1
  433. package/shaders/SMAAShader.cjs +358 -270
  434. package/shaders/SMAAShader.cjs.map +1 -1
  435. package/shaders/SMAAShader.js +358 -270
  436. package/shaders/SMAAShader.js.map +1 -1
  437. package/shaders/SSAOShader.cjs +236 -142
  438. package/shaders/SSAOShader.cjs.map +1 -1
  439. package/shaders/SSAOShader.js +236 -142
  440. package/shaders/SSAOShader.js.map +1 -1
  441. package/shaders/SSRShader.cjs +4 -4
  442. package/shaders/SSRShader.cjs.map +1 -1
  443. package/shaders/SSRShader.js +4 -4
  444. package/shaders/SSRShader.js.map +1 -1
  445. package/shaders/SepiaShader.cjs +36 -20
  446. package/shaders/SepiaShader.cjs.map +1 -1
  447. package/shaders/SepiaShader.js +36 -20
  448. package/shaders/SepiaShader.js.map +1 -1
  449. package/shaders/SobelOperatorShader.cjs +64 -37
  450. package/shaders/SobelOperatorShader.cjs.map +1 -1
  451. package/shaders/SobelOperatorShader.js +64 -37
  452. package/shaders/SobelOperatorShader.js.map +1 -1
  453. package/shaders/TechnicolorShader.cjs +29 -16
  454. package/shaders/TechnicolorShader.cjs.map +1 -1
  455. package/shaders/TechnicolorShader.js +29 -16
  456. package/shaders/TechnicolorShader.js.map +1 -1
  457. package/shaders/ToneMapShader.cjs +55 -35
  458. package/shaders/ToneMapShader.cjs.map +1 -1
  459. package/shaders/ToneMapShader.js +55 -35
  460. package/shaders/ToneMapShader.js.map +1 -1
  461. package/shaders/ToonShader.cjs +275 -165
  462. package/shaders/ToonShader.cjs.map +1 -1
  463. package/shaders/ToonShader.js +275 -165
  464. package/shaders/ToonShader.js.map +1 -1
  465. package/shaders/TriangleBlurShader.cjs +50 -27
  466. package/shaders/TriangleBlurShader.cjs.map +1 -1
  467. package/shaders/TriangleBlurShader.js +50 -27
  468. package/shaders/TriangleBlurShader.js.map +1 -1
  469. package/shaders/UnpackDepthRGBAShader.cjs +32 -17
  470. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  471. package/shaders/UnpackDepthRGBAShader.js +32 -17
  472. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  473. package/shaders/VerticalTiltShiftShader.cjs +43 -27
  474. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  475. package/shaders/VerticalTiltShiftShader.js +43 -27
  476. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  477. package/shaders/VignetteShader.cjs +43 -27
  478. package/shaders/VignetteShader.cjs.map +1 -1
  479. package/shaders/VignetteShader.js +43 -27
  480. package/shaders/VignetteShader.js.map +1 -1
  481. package/shaders/VolumeShader.cjs +264 -213
  482. package/shaders/VolumeShader.cjs.map +1 -1
  483. package/shaders/VolumeShader.js +264 -213
  484. package/shaders/VolumeShader.js.map +1 -1
  485. package/shaders/WaterRefractionShader.cjs +63 -35
  486. package/shaders/WaterRefractionShader.cjs.map +1 -1
  487. package/shaders/WaterRefractionShader.js +63 -35
  488. package/shaders/WaterRefractionShader.js.map +1 -1
  489. package/utils/GeometryCompressionUtils.cjs +2 -1
  490. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  491. package/utils/GeometryCompressionUtils.js +3 -2
  492. package/utils/GeometryCompressionUtils.js.map +1 -1
  493. package/utils/RoughnessMipmapper.cjs +3 -3
  494. package/utils/RoughnessMipmapper.cjs.map +1 -1
  495. package/utils/RoughnessMipmapper.js +4 -4
  496. package/utils/RoughnessMipmapper.js.map +1 -1
  497. package/webxr/ARButton.cjs +109 -106
  498. package/webxr/ARButton.cjs.map +1 -1
  499. package/webxr/ARButton.d.ts +4 -3
  500. package/webxr/ARButton.js +109 -106
  501. package/webxr/ARButton.js.map +1 -1
  502. package/webxr/OculusHandPointerModel.cjs +2 -2
  503. package/webxr/OculusHandPointerModel.cjs.map +1 -1
  504. package/webxr/OculusHandPointerModel.js +2 -2
  505. package/webxr/OculusHandPointerModel.js.map +1 -1
  506. package/webxr/VRButton.cjs +98 -95
  507. package/webxr/VRButton.cjs.map +1 -1
  508. package/webxr/VRButton.d.ts +6 -5
  509. package/webxr/VRButton.js +98 -95
  510. package/webxr/VRButton.js.map +1 -1
  511. package/webxr/XRHandPrimitiveModel.cjs +2 -2
  512. package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
  513. package/webxr/XRHandPrimitiveModel.js +3 -3
  514. package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BokehShader2.js","sources":["../../src/shaders/BokehShader2.ts"],"sourcesContent":["import { IUniform, Texture, Vector2 } from 'three'\n\nexport interface BokehShader2Uniforms {\n textureWidth: IUniform<number>\n textureHeight: IUniform<number>\n\n focalDepth: IUniform<number>\n focalLength: IUniform<number>\n fstop: IUniform<number>\n\n tColor: IUniform<Texture | null>\n tDepth: IUniform<Texture | null>\n\n maxblur: IUniform<number>\n\n showFocus: IUniform<number>\n manualdof: IUniform<number>\n vignetting: IUniform<number>\n depthblur: IUniform<number>\n\n threshold: IUniform<number>\n gain: IUniform<number>\n bias: IUniform<number>\n fringe: IUniform<number>\n\n znear: IUniform<number>\n zfar: IUniform<number>\n\n noise: IUniform<number>\n dithering: IUniform<number>\n pentagon: IUniform<number>\n\n shaderFocus: IUniform<number>\n focusCoords: IUniform<Vector2>\n}\n\n/**\n * Depth-of-field shader with bokeh\n * ported from GLSL shader by Martins Upitis\n * http://blenderartists.org/forum/showthread.php?237488-GLSL-depth-of-field-with-bokeh-v2-4-(update)\n *\n * Requires #define RINGS and SAMPLES integers\n */\n\nexport const BokehShader2: {\n uniforms: BokehShader2Uniforms\n vertexShader: string\n fragmentShader: string\n} = {\n uniforms: {\n textureWidth: { value: 1.0 },\n textureHeight: { value: 1.0 },\n\n focalDepth: { value: 1.0 },\n focalLength: { value: 24.0 },\n fstop: { value: 0.9 },\n\n tColor: { value: null },\n tDepth: { value: null },\n\n maxblur: { value: 1.0 },\n\n showFocus: { value: 0 },\n manualdof: { value: 0 },\n vignetting: { value: 0 },\n depthblur: { value: 0 },\n\n threshold: { value: 0.5 },\n gain: { value: 2.0 },\n bias: { value: 0.5 },\n fringe: { value: 0.7 },\n\n znear: { value: 0.1 },\n zfar: { value: 100 },\n\n noise: { value: 1 },\n dithering: { value: 0.0001 },\n pentagon: { value: 0 },\n\n shaderFocus: { value: 1 },\n focusCoords: { value: new Vector2() },\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 '#include <common>',\n\n 'varying vec2 vUv;',\n\n 'uniform sampler2D tColor;',\n 'uniform sampler2D tDepth;',\n 'uniform float textureWidth;',\n 'uniform float textureHeight;',\n\n 'uniform float focalDepth; //focal distance value in meters, but you may use autofocus option below',\n 'uniform float focalLength; //focal length in mm',\n 'uniform float fstop; //f-stop value',\n 'uniform bool showFocus; //show debug focus point and focal range (red = focal point, green = focal range)',\n\n '/*',\n 'make sure that these two values are the same for your camera, otherwise distances will be wrong.',\n '*/',\n\n 'uniform float znear; // camera clipping start',\n 'uniform float zfar; // camera clipping end',\n\n '//------------------------------------------',\n '//user variables',\n\n 'const int samples = SAMPLES; //samples on the first ring',\n 'const int rings = RINGS; //ring count',\n\n 'const int maxringsamples = rings * samples;',\n\n 'uniform bool manualdof; // manual dof calculation',\n 'float ndofstart = 1.0; // near dof blur start',\n 'float ndofdist = 2.0; // near dof blur falloff distance',\n 'float fdofstart = 1.0; // far dof blur start',\n 'float fdofdist = 3.0; // far dof blur falloff distance',\n\n 'float CoC = 0.03; //circle of confusion size in mm (35mm film = 0.03mm)',\n\n 'uniform bool vignetting; // use optical lens vignetting',\n\n 'float vignout = 1.3; // vignetting outer border',\n 'float vignin = 0.0; // vignetting inner border',\n 'float vignfade = 22.0; // f-stops till vignete fades',\n\n 'uniform bool shaderFocus;',\n '// disable if you use external focalDepth value',\n\n 'uniform vec2 focusCoords;',\n '// autofocus point on screen (0.0,0.0 - left lower corner, 1.0,1.0 - upper right)',\n '// if center of screen use vec2(0.5, 0.5);',\n\n 'uniform float maxblur;',\n '//clamp value of max blur (0.0 = no blur, 1.0 default)',\n\n 'uniform float threshold; // highlight threshold;',\n 'uniform float gain; // highlight gain;',\n\n 'uniform float bias; // bokeh edge bias',\n 'uniform float fringe; // bokeh chromatic aberration / fringing',\n\n 'uniform bool noise; //use noise instead of pattern for sample dithering',\n\n 'uniform float dithering;',\n\n 'uniform bool depthblur; // blur the depth buffer',\n 'float dbsize = 1.25; // depth blur size',\n\n '/*',\n 'next part is experimental',\n 'not looking good with small sample and ring count',\n 'looks okay starting from samples = 4, rings = 4',\n '*/',\n\n 'uniform bool pentagon; //use pentagon as bokeh shape?',\n 'float feather = 0.4; //pentagon shape feather',\n\n '//------------------------------------------',\n\n 'float penta(vec2 coords) {',\n '\t//pentagonal shape',\n '\tfloat scale = float(rings) - 1.3;',\n '\tvec4 HS0 = vec4( 1.0, 0.0, 0.0, 1.0);',\n '\tvec4 HS1 = vec4( 0.309016994, 0.951056516, 0.0, 1.0);',\n '\tvec4 HS2 = vec4(-0.809016994, 0.587785252, 0.0, 1.0);',\n '\tvec4 HS3 = vec4(-0.809016994,-0.587785252, 0.0, 1.0);',\n '\tvec4 HS4 = vec4( 0.309016994,-0.951056516, 0.0, 1.0);',\n '\tvec4 HS5 = vec4( 0.0 ,0.0 , 1.0, 1.0);',\n\n '\tvec4 one = vec4( 1.0 );',\n\n '\tvec4 P = vec4((coords),vec2(scale, scale));',\n\n '\tvec4 dist = vec4(0.0);',\n '\tfloat inorout = -4.0;',\n\n '\tdist.x = dot( P, HS0 );',\n '\tdist.y = dot( P, HS1 );',\n '\tdist.z = dot( P, HS2 );',\n '\tdist.w = dot( P, HS3 );',\n\n '\tdist = smoothstep( -feather, feather, dist );',\n\n '\tinorout += dot( dist, one );',\n\n '\tdist.x = dot( P, HS4 );',\n '\tdist.y = HS5.w - abs( P.z );',\n\n '\tdist = smoothstep( -feather, feather, dist );',\n '\tinorout += dist.x;',\n\n '\treturn clamp( inorout, 0.0, 1.0 );',\n '}',\n\n 'float bdepth(vec2 coords) {',\n '\t// Depth buffer blur',\n '\tfloat d = 0.0;',\n '\tfloat kernel[9];',\n '\tvec2 offset[9];',\n\n '\tvec2 wh = vec2(1.0/textureWidth,1.0/textureHeight) * dbsize;',\n\n '\toffset[0] = vec2(-wh.x,-wh.y);',\n '\toffset[1] = vec2( 0.0, -wh.y);',\n '\toffset[2] = vec2( wh.x -wh.y);',\n\n '\toffset[3] = vec2(-wh.x, 0.0);',\n '\toffset[4] = vec2( 0.0, 0.0);',\n '\toffset[5] = vec2( wh.x, 0.0);',\n\n '\toffset[6] = vec2(-wh.x, wh.y);',\n '\toffset[7] = vec2( 0.0, wh.y);',\n '\toffset[8] = vec2( wh.x, wh.y);',\n\n '\tkernel[0] = 1.0/16.0; kernel[1] = 2.0/16.0; kernel[2] = 1.0/16.0;',\n '\tkernel[3] = 2.0/16.0; kernel[4] = 4.0/16.0; kernel[5] = 2.0/16.0;',\n '\tkernel[6] = 1.0/16.0; kernel[7] = 2.0/16.0; kernel[8] = 1.0/16.0;',\n\n '\tfor( int i=0; i<9; i++ ) {',\n '\t\tfloat tmp = texture2D(tDepth, coords + offset[i]).r;',\n '\t\td += tmp * kernel[i];',\n '\t}',\n\n '\treturn d;',\n '}',\n\n 'vec3 color(vec2 coords,float blur) {',\n '\t//processing the sample',\n\n '\tvec3 col = vec3(0.0);',\n '\tvec2 texel = vec2(1.0/textureWidth,1.0/textureHeight);',\n\n '\tcol.r = texture2D(tColor,coords + vec2(0.0,1.0)*texel*fringe*blur).r;',\n '\tcol.g = texture2D(tColor,coords + vec2(-0.866,-0.5)*texel*fringe*blur).g;',\n '\tcol.b = texture2D(tColor,coords + vec2(0.866,-0.5)*texel*fringe*blur).b;',\n\n '\tvec3 lumcoeff = vec3(0.299,0.587,0.114);',\n '\tfloat lum = dot(col.rgb, lumcoeff);',\n '\tfloat thresh = max((lum-threshold)*gain, 0.0);',\n '\treturn col+mix(vec3(0.0),col,thresh*blur);',\n '}',\n\n 'vec3 debugFocus(vec3 col, float blur, float depth) {',\n '\tfloat edge = 0.002*depth; //distance based edge smoothing',\n '\tfloat m = clamp(smoothstep(0.0,edge,blur),0.0,1.0);',\n '\tfloat e = clamp(smoothstep(1.0-edge,1.0,blur),0.0,1.0);',\n\n '\tcol = mix(col,vec3(1.0,0.5,0.0),(1.0-m)*0.6);',\n '\tcol = mix(col,vec3(0.0,0.5,1.0),((1.0-e)-(1.0-m))*0.2);',\n\n '\treturn col;',\n '}',\n\n 'float linearize(float depth) {',\n '\treturn -zfar * znear / (depth * (zfar - znear) - zfar);',\n '}',\n\n 'float vignette() {',\n '\tfloat dist = distance(vUv.xy, vec2(0.5,0.5));',\n '\tdist = smoothstep(vignout+(fstop/vignfade), vignin+(fstop/vignfade), dist);',\n '\treturn clamp(dist,0.0,1.0);',\n '}',\n\n 'float gather(float i, float j, int ringsamples, inout vec3 col, float w, float h, float blur) {',\n '\tfloat rings2 = float(rings);',\n '\tfloat step = PI*2.0 / float(ringsamples);',\n '\tfloat pw = cos(j*step)*i;',\n '\tfloat ph = sin(j*step)*i;',\n '\tfloat p = 1.0;',\n '\tif (pentagon) {',\n '\t\tp = penta(vec2(pw,ph));',\n '\t}',\n '\tcol += color(vUv.xy + vec2(pw*w,ph*h), blur) * mix(1.0, i/rings2, bias) * p;',\n '\treturn 1.0 * mix(1.0, i /rings2, bias) * p;',\n '}',\n\n 'void main() {',\n '\t//scene depth calculation',\n\n '\tfloat depth = linearize(texture2D(tDepth,vUv.xy).x);',\n\n '\t// Blur depth?',\n '\tif ( depthblur ) {',\n '\t\tdepth = linearize(bdepth(vUv.xy));',\n '\t}',\n\n '\t//focal plane calculation',\n\n '\tfloat fDepth = focalDepth;',\n\n '\tif (shaderFocus) {',\n\n '\t\tfDepth = linearize(texture2D(tDepth,focusCoords).x);',\n\n '\t}',\n\n '\t// dof blur factor calculation',\n\n '\tfloat blur = 0.0;',\n\n '\tif (manualdof) {',\n '\t\tfloat a = depth-fDepth; // Focal plane',\n '\t\tfloat b = (a-fdofstart)/fdofdist; // Far DoF',\n '\t\tfloat c = (-a-ndofstart)/ndofdist; // Near Dof',\n '\t\tblur = (a>0.0) ? b : c;',\n '\t} else {',\n '\t\tfloat f = focalLength; // focal length in mm',\n '\t\tfloat d = fDepth*1000.0; // focal plane in mm',\n '\t\tfloat o = depth*1000.0; // depth in mm',\n\n '\t\tfloat a = (o*f)/(o-f);',\n '\t\tfloat b = (d*f)/(d-f);',\n '\t\tfloat c = (d-f)/(d*fstop*CoC);',\n\n '\t\tblur = abs(a-b)*c;',\n '\t}',\n\n '\tblur = clamp(blur,0.0,1.0);',\n\n '\t// calculation of pattern for dithering',\n\n '\tvec2 noise = vec2(rand(vUv.xy), rand( vUv.xy + vec2( 0.4, 0.6 ) ) )*dithering*blur;',\n\n '\t// getting blur x and y step factor',\n\n '\tfloat w = (1.0/textureWidth)*blur*maxblur+noise.x;',\n '\tfloat h = (1.0/textureHeight)*blur*maxblur+noise.y;',\n\n '\t// calculation of final color',\n\n '\tvec3 col = vec3(0.0);',\n\n '\tif(blur < 0.05) {',\n '\t\t//some optimization thingy',\n '\t\tcol = texture2D(tColor, vUv.xy).rgb;',\n '\t} else {',\n '\t\tcol = texture2D(tColor, vUv.xy).rgb;',\n '\t\tfloat s = 1.0;',\n '\t\tint ringsamples;',\n\n '\t\tfor (int i = 1; i <= rings; i++) {',\n '\t\t\t/*unboxstart*/',\n '\t\t\tringsamples = i * samples;',\n\n '\t\t\tfor (int j = 0 ; j < maxringsamples ; j++) {',\n '\t\t\t\tif (j >= ringsamples) break;',\n '\t\t\t\ts += gather(float(i), float(j), ringsamples, col, w, h, blur);',\n '\t\t\t}',\n '\t\t\t/*unboxend*/',\n '\t\t}',\n\n '\t\tcol /= s; //divide by sample count',\n '\t}',\n\n '\tif (showFocus) {',\n '\t\tcol = debugFocus(col, blur, depth);',\n '\t}',\n\n '\tif (vignetting) {',\n '\t\tcol *= vignette();',\n '\t}',\n\n '\tgl_FragColor.rgb = col;',\n '\tgl_FragColor.a = 1.0;',\n '} ',\n ].join('\\n'),\n}\n\nexport const BokehDepthShader = {\n uniforms: {\n mNear: { value: 1.0 },\n mFar: { value: 1000.0 },\n },\n\n vertexShader: [\n 'varying float vViewZDepth;',\n\n 'void main() {',\n\n '\t#include <begin_vertex>',\n '\t#include <project_vertex>',\n\n '\tvViewZDepth = - mvPosition.z;',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform float mNear;',\n 'uniform float mFar;',\n\n 'varying float vViewZDepth;',\n\n 'void main() {',\n\n '\tfloat color = 1.0 - smoothstep( mNear, mFar, vViewZDepth );',\n '\tgl_FragColor = vec4( vec3( color ), 1.0 );',\n\n '} ',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";AA4CO,MAAM,eAIT;AAAA,EACF,UAAU;AAAA,IACR,cAAc,EAAE,OAAO,EAAI;AAAA,IAC3B,eAAe,EAAE,OAAO,EAAI;AAAA,IAE5B,YAAY,EAAE,OAAO,EAAI;AAAA,IACzB,aAAa,EAAE,OAAO,GAAK;AAAA,IAC3B,OAAO,EAAE,OAAO,IAAI;AAAA,IAEpB,QAAQ,EAAE,OAAO,KAAK;AAAA,IACtB,QAAQ,EAAE,OAAO,KAAK;AAAA,IAEtB,SAAS,EAAE,OAAO,EAAI;AAAA,IAEtB,WAAW,EAAE,OAAO,EAAE;AAAA,IACtB,WAAW,EAAE,OAAO,EAAE;AAAA,IACtB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,WAAW,EAAE,OAAO,EAAE;AAAA,IAEtB,WAAW,EAAE,OAAO,IAAI;AAAA,IACxB,MAAM,EAAE,OAAO,EAAI;AAAA,IACnB,MAAM,EAAE,OAAO,IAAI;AAAA,IACnB,QAAQ,EAAE,OAAO,IAAI;AAAA,IAErB,OAAO,EAAE,OAAO,IAAI;AAAA,IACpB,MAAM,EAAE,OAAO,IAAI;AAAA,IAEnB,OAAO,EAAE,OAAO,EAAE;AAAA,IAClB,WAAW,EAAE,OAAO,KAAO;AAAA,IAC3B,UAAU,EAAE,OAAO,EAAE;AAAA,IAErB,aAAa,EAAE,OAAO,EAAE;AAAA,IACxB,aAAa,EAAE,OAAO,IAAI,UAAU;AAAA,EACtC;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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;AAEO,MAAM,mBAAmB;AAAA,EAC9B,UAAU;AAAA,IACR,OAAO,EAAE,OAAO,EAAI;AAAA,IACpB,MAAM,EAAE,OAAO,IAAO;AAAA,EACxB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"BokehShader2.js","sources":["../../src/shaders/BokehShader2.ts"],"sourcesContent":["import { IUniform, Texture, Vector2 } from 'three'\n\nexport interface BokehShader2Uniforms {\n textureWidth: IUniform<number>\n textureHeight: IUniform<number>\n\n focalDepth: IUniform<number>\n focalLength: IUniform<number>\n fstop: IUniform<number>\n\n tColor: IUniform<Texture | null>\n tDepth: IUniform<Texture | null>\n\n maxblur: IUniform<number>\n\n showFocus: IUniform<number>\n manualdof: IUniform<number>\n vignetting: IUniform<number>\n depthblur: IUniform<number>\n\n threshold: IUniform<number>\n gain: IUniform<number>\n bias: IUniform<number>\n fringe: IUniform<number>\n\n znear: IUniform<number>\n zfar: IUniform<number>\n\n noise: IUniform<number>\n dithering: IUniform<number>\n pentagon: IUniform<number>\n\n shaderFocus: IUniform<number>\n focusCoords: IUniform<Vector2>\n}\n\n/**\n * Depth-of-field shader with bokeh\n * ported from GLSL shader by Martins Upitis\n * http://blenderartists.org/forum/showthread.php?237488-GLSL-depth-of-field-with-bokeh-v2-4-(update)\n *\n * Requires #define RINGS and SAMPLES integers\n */\n\nexport const BokehShader2: {\n uniforms: BokehShader2Uniforms\n vertexShader: string\n fragmentShader: string\n} = {\n uniforms: {\n textureWidth: { value: 1.0 },\n textureHeight: { value: 1.0 },\n\n focalDepth: { value: 1.0 },\n focalLength: { value: 24.0 },\n fstop: { value: 0.9 },\n\n tColor: { value: null },\n tDepth: { value: null },\n\n maxblur: { value: 1.0 },\n\n showFocus: { value: 0 },\n manualdof: { value: 0 },\n vignetting: { value: 0 },\n depthblur: { value: 0 },\n\n threshold: { value: 0.5 },\n gain: { value: 2.0 },\n bias: { value: 0.5 },\n fringe: { value: 0.7 },\n\n znear: { value: 0.1 },\n zfar: { value: 100 },\n\n noise: { value: 1 },\n dithering: { value: 0.0001 },\n pentagon: { value: 0 },\n\n shaderFocus: { value: 1 },\n focusCoords: { value: /* @__PURE__ */ new Vector2() },\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 #include <common>\n\n varying vec2 vUv;\n\n uniform sampler2D tColor;\n uniform sampler2D tDepth;\n uniform float textureWidth;\n uniform float textureHeight;\n\n uniform float focalDepth; //focal distance value in meters, but you may use autofocus option below\n uniform float focalLength; //focal length in mm\n uniform float fstop; //f-stop value\n uniform bool showFocus; //show debug focus point and focal range (red = focal point, green = focal range)\n\n /*\n make sure that these two values are the same for your camera, otherwise distances will be wrong.\n */\n\n uniform float znear; // camera clipping start\n uniform float zfar; // camera clipping end\n\n //------------------------------------------\n //user variables\n\n const int samples = SAMPLES; //samples on the first ring\n const int rings = RINGS; //ring count\n\n const int maxringsamples = rings * samples;\n\n uniform bool manualdof; // manual dof calculation\n float ndofstart = 1.0; // near dof blur start\n float ndofdist = 2.0; // near dof blur falloff distance\n float fdofstart = 1.0; // far dof blur start\n float fdofdist = 3.0; // far dof blur falloff distance\n\n float CoC = 0.03; //circle of confusion size in mm (35mm film = 0.03mm)\n\n uniform bool vignetting; // use optical lens vignetting\n\n float vignout = 1.3; // vignetting outer border\n float vignin = 0.0; // vignetting inner border\n float vignfade = 22.0; // f-stops till vignete fades\n\n uniform bool shaderFocus;\n // disable if you use external focalDepth value\n\n uniform vec2 focusCoords;\n // autofocus point on screen (0.0,0.0 - left lower corner, 1.0,1.0 - upper right)\n // if center of screen use vec2(0.5, 0.5);\n\n uniform float maxblur;\n //clamp value of max blur (0.0 = no blur, 1.0 default)\n\n uniform float threshold; // highlight threshold;\n uniform float gain; // highlight gain;\n\n uniform float bias; // bokeh edge bias\n uniform float fringe; // bokeh chromatic aberration / fringing\n\n uniform bool noise; //use noise instead of pattern for sample dithering\n\n uniform float dithering;\n\n uniform bool depthblur; // blur the depth buffer\n float dbsize = 1.25; // depth blur size\n\n /*\n next part is experimental\n not looking good with small sample and ring count\n looks okay starting from samples = 4, rings = 4\n */\n\n uniform bool pentagon; //use pentagon as bokeh shape?\n float feather = 0.4; //pentagon shape feather\n\n //------------------------------------------\n\n float penta(vec2 coords) {\n \t//pentagonal shape\n \tfloat scale = float(rings) - 1.3;\n \tvec4 HS0 = vec4( 1.0, 0.0, 0.0, 1.0);\n \tvec4 HS1 = vec4( 0.309016994, 0.951056516, 0.0, 1.0);\n \tvec4 HS2 = vec4(-0.809016994, 0.587785252, 0.0, 1.0);\n \tvec4 HS3 = vec4(-0.809016994,-0.587785252, 0.0, 1.0);\n \tvec4 HS4 = vec4( 0.309016994,-0.951056516, 0.0, 1.0);\n \tvec4 HS5 = vec4( 0.0 ,0.0 , 1.0, 1.0);\n\n \tvec4 one = vec4( 1.0 );\n\n \tvec4 P = vec4((coords),vec2(scale, scale));\n\n \tvec4 dist = vec4(0.0);\n \tfloat inorout = -4.0;\n\n \tdist.x = dot( P, HS0 );\n \tdist.y = dot( P, HS1 );\n \tdist.z = dot( P, HS2 );\n \tdist.w = dot( P, HS3 );\n\n \tdist = smoothstep( -feather, feather, dist );\n\n \tinorout += dot( dist, one );\n\n \tdist.x = dot( P, HS4 );\n \tdist.y = HS5.w - abs( P.z );\n\n \tdist = smoothstep( -feather, feather, dist );\n \tinorout += dist.x;\n\n \treturn clamp( inorout, 0.0, 1.0 );\n }\n\n float bdepth(vec2 coords) {\n \t// Depth buffer blur\n \tfloat d = 0.0;\n \tfloat kernel[9];\n \tvec2 offset[9];\n\n \tvec2 wh = vec2(1.0/textureWidth,1.0/textureHeight) * dbsize;\n\n \toffset[0] = vec2(-wh.x,-wh.y);\n \toffset[1] = vec2( 0.0, -wh.y);\n \toffset[2] = vec2( wh.x -wh.y);\n\n \toffset[3] = vec2(-wh.x, 0.0);\n \toffset[4] = vec2( 0.0, 0.0);\n \toffset[5] = vec2( wh.x, 0.0);\n\n \toffset[6] = vec2(-wh.x, wh.y);\n \toffset[7] = vec2( 0.0, wh.y);\n \toffset[8] = vec2( wh.x, wh.y);\n\n \tkernel[0] = 1.0/16.0; kernel[1] = 2.0/16.0; kernel[2] = 1.0/16.0;\n \tkernel[3] = 2.0/16.0; kernel[4] = 4.0/16.0; kernel[5] = 2.0/16.0;\n \tkernel[6] = 1.0/16.0; kernel[7] = 2.0/16.0; kernel[8] = 1.0/16.0;\n\n \tfor( int i=0; i<9; i++ ) {\n \t\tfloat tmp = texture2D(tDepth, coords + offset[i]).r;\n \t\td += tmp * kernel[i];\n \t}\n\n \treturn d;\n }\n\n vec3 color(vec2 coords,float blur) {\n \t//processing the sample\n\n \tvec3 col = vec3(0.0);\n \tvec2 texel = vec2(1.0/textureWidth,1.0/textureHeight);\n\n \tcol.r = texture2D(tColor,coords + vec2(0.0,1.0)*texel*fringe*blur).r;\n \tcol.g = texture2D(tColor,coords + vec2(-0.866,-0.5)*texel*fringe*blur).g;\n \tcol.b = texture2D(tColor,coords + vec2(0.866,-0.5)*texel*fringe*blur).b;\n\n \tvec3 lumcoeff = vec3(0.299,0.587,0.114);\n \tfloat lum = dot(col.rgb, lumcoeff);\n \tfloat thresh = max((lum-threshold)*gain, 0.0);\n \treturn col+mix(vec3(0.0),col,thresh*blur);\n }\n\n vec3 debugFocus(vec3 col, float blur, float depth) {\n \tfloat edge = 0.002*depth; //distance based edge smoothing\n \tfloat m = clamp(smoothstep(0.0,edge,blur),0.0,1.0);\n \tfloat e = clamp(smoothstep(1.0-edge,1.0,blur),0.0,1.0);\n\n \tcol = mix(col,vec3(1.0,0.5,0.0),(1.0-m)*0.6);\n \tcol = mix(col,vec3(0.0,0.5,1.0),((1.0-e)-(1.0-m))*0.2);\n\n \treturn col;\n }\n\n float linearize(float depth) {\n \treturn -zfar * znear / (depth * (zfar - znear) - zfar);\n }\n\n float vignette() {\n \tfloat dist = distance(vUv.xy, vec2(0.5,0.5));\n \tdist = smoothstep(vignout+(fstop/vignfade), vignin+(fstop/vignfade), dist);\n \treturn clamp(dist,0.0,1.0);\n }\n\n float gather(float i, float j, int ringsamples, inout vec3 col, float w, float h, float blur) {\n \tfloat rings2 = float(rings);\n \tfloat step = PI*2.0 / float(ringsamples);\n \tfloat pw = cos(j*step)*i;\n \tfloat ph = sin(j*step)*i;\n \tfloat p = 1.0;\n \tif (pentagon) {\n \t\tp = penta(vec2(pw,ph));\n \t}\n \tcol += color(vUv.xy + vec2(pw*w,ph*h), blur) * mix(1.0, i/rings2, bias) * p;\n \treturn 1.0 * mix(1.0, i /rings2, bias) * p;\n }\n\n void main() {\n \t//scene depth calculation\n\n \tfloat depth = linearize(texture2D(tDepth,vUv.xy).x);\n\n \t// Blur depth?\n \tif ( depthblur ) {\n \t\tdepth = linearize(bdepth(vUv.xy));\n \t}\n\n \t//focal plane calculation\n\n \tfloat fDepth = focalDepth;\n\n \tif (shaderFocus) {\n\n \t\tfDepth = linearize(texture2D(tDepth,focusCoords).x);\n\n \t}\n\n \t// dof blur factor calculation\n\n \tfloat blur = 0.0;\n\n \tif (manualdof) {\n \t\tfloat a = depth-fDepth; // Focal plane\n \t\tfloat b = (a-fdofstart)/fdofdist; // Far DoF\n \t\tfloat c = (-a-ndofstart)/ndofdist; // Near Dof\n \t\tblur = (a>0.0) ? b : c;\n \t} else {\n \t\tfloat f = focalLength; // focal length in mm\n \t\tfloat d = fDepth*1000.0; // focal plane in mm\n \t\tfloat o = depth*1000.0; // depth in mm\n\n \t\tfloat a = (o*f)/(o-f);\n \t\tfloat b = (d*f)/(d-f);\n \t\tfloat c = (d-f)/(d*fstop*CoC);\n\n \t\tblur = abs(a-b)*c;\n \t}\n\n \tblur = clamp(blur,0.0,1.0);\n\n \t// calculation of pattern for dithering\n\n \tvec2 noise = vec2(rand(vUv.xy), rand( vUv.xy + vec2( 0.4, 0.6 ) ) )*dithering*blur;\n\n \t// getting blur x and y step factor\n\n \tfloat w = (1.0/textureWidth)*blur*maxblur+noise.x;\n \tfloat h = (1.0/textureHeight)*blur*maxblur+noise.y;\n\n \t// calculation of final color\n\n \tvec3 col = vec3(0.0);\n\n \tif(blur < 0.05) {\n \t\t//some optimization thingy\n \t\tcol = texture2D(tColor, vUv.xy).rgb;\n \t} else {\n \t\tcol = texture2D(tColor, vUv.xy).rgb;\n \t\tfloat s = 1.0;\n \t\tint ringsamples;\n\n \t\tfor (int i = 1; i <= rings; i++) {\n \t\t\t/*unboxstart*/\n \t\t\tringsamples = i * samples;\n\n \t\t\tfor (int j = 0 ; j < maxringsamples ; j++) {\n \t\t\t\tif (j >= ringsamples) break;\n \t\t\t\ts += gather(float(i), float(j), ringsamples, col, w, h, blur);\n \t\t\t}\n \t\t\t/*unboxend*/\n \t\t}\n\n \t\tcol /= s; //divide by sample count\n \t}\n\n \tif (showFocus) {\n \t\tcol = debugFocus(col, blur, depth);\n \t}\n\n \tif (vignetting) {\n \t\tcol *= vignette();\n \t}\n\n \tgl_FragColor.rgb = col;\n \tgl_FragColor.a = 1.0;\n } \n `,\n}\n\nexport const BokehDepthShader = {\n uniforms: {\n mNear: { value: 1.0 },\n mFar: { value: 1000.0 },\n },\n\n vertexShader: /* glsl */ `\n varying float vViewZDepth;\n\n void main() {\n\n \t#include <begin_vertex>\n \t#include <project_vertex>\n\n \tvViewZDepth = - mvPosition.z;\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform float mNear;\n uniform float mFar;\n\n varying float vViewZDepth;\n\n void main() {\n\n \tfloat color = 1.0 - smoothstep( mNear, mFar, vViewZDepth );\n \tgl_FragColor = vec4( vec3( color ), 1.0 );\n\n } \n `,\n}\n"],"names":[],"mappings":";AA4CO,MAAM,eAIT;AAAA,EACF,UAAU;AAAA,IACR,cAAc,EAAE,OAAO,EAAI;AAAA,IAC3B,eAAe,EAAE,OAAO,EAAI;AAAA,IAE5B,YAAY,EAAE,OAAO,EAAI;AAAA,IACzB,aAAa,EAAE,OAAO,GAAK;AAAA,IAC3B,OAAO,EAAE,OAAO,IAAI;AAAA,IAEpB,QAAQ,EAAE,OAAO,KAAK;AAAA,IACtB,QAAQ,EAAE,OAAO,KAAK;AAAA,IAEtB,SAAS,EAAE,OAAO,EAAI;AAAA,IAEtB,WAAW,EAAE,OAAO,EAAE;AAAA,IACtB,WAAW,EAAE,OAAO,EAAE;AAAA,IACtB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,WAAW,EAAE,OAAO,EAAE;AAAA,IAEtB,WAAW,EAAE,OAAO,IAAI;AAAA,IACxB,MAAM,EAAE,OAAO,EAAI;AAAA,IACnB,MAAM,EAAE,OAAO,IAAI;AAAA,IACnB,QAAQ,EAAE,OAAO,IAAI;AAAA,IAErB,OAAO,EAAE,OAAO,IAAI;AAAA,IACpB,MAAM,EAAE,OAAO,IAAI;AAAA,IAEnB,OAAO,EAAE,OAAO,EAAE;AAAA,IAClB,WAAW,EAAE,OAAO,KAAO;AAAA,IAC3B,UAAU,EAAE,OAAO,EAAE;AAAA,IAErB,aAAa,EAAE,OAAO,EAAE;AAAA,IACxB,aAAa,EAAE,OAAuB,oBAAI,UAAU;AAAA,EACtD;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;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;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;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;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;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;AA6R7B;AAEO,MAAM,mBAAmB;AAAA,EAC9B,UAAU;AAAA,IACR,OAAO,EAAE,OAAO,EAAI;AAAA,IACpB,MAAM,EAAE,OAAO,IAAO;AAAA,EACxB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAazB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa7B;"}
@@ -6,28 +6,44 @@ const BrightnessContrastShader = {
6
6
  brightness: { value: 0 },
7
7
  contrast: { value: 0 }
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 sampler2D tDiffuse;",
18
- "uniform float brightness;",
19
- "uniform float contrast;",
20
- "varying vec2 vUv;",
21
- "void main() {",
22
- " gl_FragColor = texture2D( tDiffuse, vUv );",
23
- " gl_FragColor.rgb += brightness;",
24
- " if (contrast > 0.0) {",
25
- " gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;",
26
- " } else {",
27
- " gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;",
28
- " }",
29
- "}"
30
- ].join("\n")
9
+ vertexShader: (
10
+ /* glsl */
11
+ `
12
+ varying vec2 vUv;
13
+
14
+ void main() {
15
+
16
+ vUv = uv;
17
+
18
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
19
+
20
+ }
21
+ `
22
+ ),
23
+ fragmentShader: (
24
+ /* glsl */
25
+ `
26
+ uniform sampler2D tDiffuse;
27
+ uniform float brightness;
28
+ uniform float contrast;
29
+
30
+ varying vec2 vUv;
31
+
32
+ void main() {
33
+
34
+ gl_FragColor = texture2D( tDiffuse, vUv );
35
+
36
+ gl_FragColor.rgb += brightness;
37
+
38
+ if (contrast > 0.0) {
39
+ gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;
40
+ } else {
41
+ gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;
42
+ }
43
+
44
+ }
45
+ `
46
+ )
31
47
  };
32
48
  exports.BrightnessContrastShader = BrightnessContrastShader;
33
49
  //# sourceMappingURL=BrightnessContrastShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrightnessContrastShader.cjs","sources":["../../src/shaders/BrightnessContrastShader.ts"],"sourcesContent":["/**\n * Brightness and contrast adjustment\n * https://github.com/evanw/glfx.js\n * brightness: -1 to 1 (-1 is solid black, 0 is no change, and 1 is solid white)\n * contrast: -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)\n */\n\nexport const BrightnessContrastShader = {\n uniforms: {\n tDiffuse: { value: null },\n brightness: { value: 0 },\n contrast: { value: 0 },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform sampler2D tDiffuse;',\n 'uniform float brightness;',\n 'uniform float contrast;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tgl_FragColor = texture2D( tDiffuse, vUv );',\n\n '\tgl_FragColor.rgb += brightness;',\n\n '\tif (contrast > 0.0) {',\n '\t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;',\n '\t} else {',\n '\t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;',\n '\t}',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";;AAOO,MAAM,2BAA2B;AAAA,EACtC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,UAAU,EAAE,OAAO,EAAE;AAAA,EACvB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;;"}
1
+ {"version":3,"file":"BrightnessContrastShader.cjs","sources":["../../src/shaders/BrightnessContrastShader.ts"],"sourcesContent":["/**\n * Brightness and contrast adjustment\n * https://github.com/evanw/glfx.js\n * brightness: -1 to 1 (-1 is solid black, 0 is no change, and 1 is solid white)\n * contrast: -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)\n */\n\nexport const BrightnessContrastShader = {\n uniforms: {\n tDiffuse: { value: null },\n brightness: { value: 0 },\n contrast: { value: 0 },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform sampler2D tDiffuse;\n uniform float brightness;\n uniform float contrast;\n\n varying vec2 vUv;\n\n void main() {\n\n \tgl_FragColor = texture2D( tDiffuse, vUv );\n\n \tgl_FragColor.rgb += brightness;\n\n \tif (contrast > 0.0) {\n \t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;\n \t} else {\n \t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;\n \t}\n\n }\n `,\n}\n"],"names":[],"mappings":";;AAOO,MAAM,2BAA2B;AAAA,EACtC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,UAAU,EAAE,OAAO,EAAE;AAAA,EACvB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB7B;;"}
@@ -4,28 +4,44 @@ const BrightnessContrastShader = {
4
4
  brightness: { value: 0 },
5
5
  contrast: { value: 0 }
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 sampler2D tDiffuse;",
16
- "uniform float brightness;",
17
- "uniform float contrast;",
18
- "varying vec2 vUv;",
19
- "void main() {",
20
- " gl_FragColor = texture2D( tDiffuse, vUv );",
21
- " gl_FragColor.rgb += brightness;",
22
- " if (contrast > 0.0) {",
23
- " gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;",
24
- " } else {",
25
- " gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;",
26
- " }",
27
- "}"
28
- ].join("\n")
7
+ vertexShader: (
8
+ /* glsl */
9
+ `
10
+ varying vec2 vUv;
11
+
12
+ void main() {
13
+
14
+ vUv = uv;
15
+
16
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
17
+
18
+ }
19
+ `
20
+ ),
21
+ fragmentShader: (
22
+ /* glsl */
23
+ `
24
+ uniform sampler2D tDiffuse;
25
+ uniform float brightness;
26
+ uniform float contrast;
27
+
28
+ varying vec2 vUv;
29
+
30
+ void main() {
31
+
32
+ gl_FragColor = texture2D( tDiffuse, vUv );
33
+
34
+ gl_FragColor.rgb += brightness;
35
+
36
+ if (contrast > 0.0) {
37
+ gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;
38
+ } else {
39
+ gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;
40
+ }
41
+
42
+ }
43
+ `
44
+ )
29
45
  };
30
46
  export {
31
47
  BrightnessContrastShader
@@ -1 +1 @@
1
- {"version":3,"file":"BrightnessContrastShader.js","sources":["../../src/shaders/BrightnessContrastShader.ts"],"sourcesContent":["/**\n * Brightness and contrast adjustment\n * https://github.com/evanw/glfx.js\n * brightness: -1 to 1 (-1 is solid black, 0 is no change, and 1 is solid white)\n * contrast: -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)\n */\n\nexport const BrightnessContrastShader = {\n uniforms: {\n tDiffuse: { value: null },\n brightness: { value: 0 },\n contrast: { value: 0 },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform sampler2D tDiffuse;',\n 'uniform float brightness;',\n 'uniform float contrast;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tgl_FragColor = texture2D( tDiffuse, vUv );',\n\n '\tgl_FragColor.rgb += brightness;',\n\n '\tif (contrast > 0.0) {',\n '\t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;',\n '\t} else {',\n '\t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;',\n '\t}',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":"AAOO,MAAM,2BAA2B;AAAA,EACtC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,UAAU,EAAE,OAAO,EAAE;AAAA,EACvB;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"BrightnessContrastShader.js","sources":["../../src/shaders/BrightnessContrastShader.ts"],"sourcesContent":["/**\n * Brightness and contrast adjustment\n * https://github.com/evanw/glfx.js\n * brightness: -1 to 1 (-1 is solid black, 0 is no change, and 1 is solid white)\n * contrast: -1 to 1 (-1 is solid gray, 0 is no change, and 1 is maximum contrast)\n */\n\nexport const BrightnessContrastShader = {\n uniforms: {\n tDiffuse: { value: null },\n brightness: { value: 0 },\n contrast: { value: 0 },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform sampler2D tDiffuse;\n uniform float brightness;\n uniform float contrast;\n\n varying vec2 vUv;\n\n void main() {\n\n \tgl_FragColor = texture2D( tDiffuse, vUv );\n\n \tgl_FragColor.rgb += brightness;\n\n \tif (contrast > 0.0) {\n \t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;\n \t} else {\n \t\tgl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;\n \t}\n\n }\n `,\n}\n"],"names":[],"mappings":"AAOO,MAAM,2BAA2B;AAAA,EACtC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,YAAY,EAAE,OAAO,EAAE;AAAA,IACvB,UAAU,EAAE,OAAO,EAAE;AAAA,EACvB;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB7B;"}
@@ -4,28 +4,42 @@ const THREE = require("three");
4
4
  const ColorCorrectionShader = {
5
5
  uniforms: {
6
6
  tDiffuse: { value: null },
7
- powRGB: { value: new THREE.Vector3(2, 2, 2) },
8
- mulRGB: { value: new THREE.Vector3(1, 1, 1) },
9
- addRGB: { value: new THREE.Vector3(0, 0, 0) }
7
+ powRGB: { value: /* @__PURE__ */ new THREE.Vector3(2, 2, 2) },
8
+ mulRGB: { value: /* @__PURE__ */ new THREE.Vector3(1, 1, 1) },
9
+ addRGB: { value: /* @__PURE__ */ new THREE.Vector3(0, 0, 0) }
10
10
  },
11
- vertexShader: [
12
- "varying vec2 vUv;",
13
- "void main() {",
14
- " vUv = uv;",
15
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
16
- "}"
17
- ].join("\n"),
18
- fragmentShader: [
19
- "uniform sampler2D tDiffuse;",
20
- "uniform vec3 powRGB;",
21
- "uniform vec3 mulRGB;",
22
- "uniform vec3 addRGB;",
23
- "varying vec2 vUv;",
24
- "void main() {",
25
- " gl_FragColor = texture2D( tDiffuse, vUv );",
26
- " gl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );",
27
- "}"
28
- ].join("\n")
11
+ vertexShader: (
12
+ /* glsl */
13
+ `
14
+ varying vec2 vUv;
15
+
16
+ void main() {
17
+
18
+ vUv = uv;
19
+
20
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
21
+
22
+ }
23
+ `
24
+ ),
25
+ fragmentShader: (
26
+ /* glsl */
27
+ `
28
+ uniform sampler2D tDiffuse;
29
+ uniform vec3 powRGB;
30
+ uniform vec3 mulRGB;
31
+ uniform vec3 addRGB;
32
+
33
+ varying vec2 vUv;
34
+
35
+ void main() {
36
+
37
+ gl_FragColor = texture2D( tDiffuse, vUv );
38
+ gl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );
39
+
40
+ }
41
+ `
42
+ )
29
43
  };
30
44
  exports.ColorCorrectionShader = ColorCorrectionShader;
31
45
  //# sourceMappingURL=ColorCorrectionShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorCorrectionShader.cjs","sources":["../../src/shaders/ColorCorrectionShader.ts"],"sourcesContent":["import { Vector3 } from 'three'\n\n/**\n * Color correction\n */\n\nexport const ColorCorrectionShader = {\n uniforms: {\n tDiffuse: { value: null },\n powRGB: { value: new Vector3(2, 2, 2) },\n mulRGB: { value: new Vector3(1, 1, 1) },\n addRGB: { value: new Vector3(0, 0, 0) },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform sampler2D tDiffuse;',\n 'uniform vec3 powRGB;',\n 'uniform vec3 mulRGB;',\n 'uniform vec3 addRGB;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tgl_FragColor = texture2D( tDiffuse, vUv );',\n '\tgl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":["Vector3"],"mappings":";;;AAMO,MAAM,wBAAwB;AAAA,EACnC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,QAAQ,EAAE,OAAO,IAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtC,QAAQ,EAAE,OAAO,IAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtC,QAAQ,EAAE,OAAO,IAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,EACxC;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;;"}
1
+ {"version":3,"file":"ColorCorrectionShader.cjs","sources":["../../src/shaders/ColorCorrectionShader.ts"],"sourcesContent":["import { Vector3 } from 'three'\n\n/**\n * Color correction\n */\n\nexport const ColorCorrectionShader = {\n uniforms: {\n tDiffuse: { value: null },\n powRGB: { value: /* @__PURE__ */ new Vector3(2, 2, 2) },\n mulRGB: { value: /* @__PURE__ */ new Vector3(1, 1, 1) },\n addRGB: { value: /* @__PURE__ */ new Vector3(0, 0, 0) },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform sampler2D tDiffuse;\n uniform vec3 powRGB;\n uniform vec3 mulRGB;\n uniform vec3 addRGB;\n\n varying vec2 vUv;\n\n void main() {\n\n \tgl_FragColor = texture2D( tDiffuse, vUv );\n \tgl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );\n\n }\n `,\n}\n"],"names":["Vector3"],"mappings":";;;AAMO,MAAM,wBAAwB;AAAA,EACnC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,QAAQ,EAAE,OAAuB,oBAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtD,QAAQ,EAAE,OAAuB,oBAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtD,QAAQ,EAAE,OAAuB,oBAAIA,MAAAA,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,EACxD;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe7B;;"}
@@ -2,28 +2,42 @@ import { Vector3 } from "three";
2
2
  const ColorCorrectionShader = {
3
3
  uniforms: {
4
4
  tDiffuse: { value: null },
5
- powRGB: { value: new Vector3(2, 2, 2) },
6
- mulRGB: { value: new Vector3(1, 1, 1) },
7
- addRGB: { value: new Vector3(0, 0, 0) }
5
+ powRGB: { value: /* @__PURE__ */ new Vector3(2, 2, 2) },
6
+ mulRGB: { value: /* @__PURE__ */ new Vector3(1, 1, 1) },
7
+ addRGB: { value: /* @__PURE__ */ new Vector3(0, 0, 0) }
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 sampler2D tDiffuse;",
18
- "uniform vec3 powRGB;",
19
- "uniform vec3 mulRGB;",
20
- "uniform vec3 addRGB;",
21
- "varying vec2 vUv;",
22
- "void main() {",
23
- " gl_FragColor = texture2D( tDiffuse, vUv );",
24
- " gl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );",
25
- "}"
26
- ].join("\n")
9
+ vertexShader: (
10
+ /* glsl */
11
+ `
12
+ varying vec2 vUv;
13
+
14
+ void main() {
15
+
16
+ vUv = uv;
17
+
18
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
19
+
20
+ }
21
+ `
22
+ ),
23
+ fragmentShader: (
24
+ /* glsl */
25
+ `
26
+ uniform sampler2D tDiffuse;
27
+ uniform vec3 powRGB;
28
+ uniform vec3 mulRGB;
29
+ uniform vec3 addRGB;
30
+
31
+ varying vec2 vUv;
32
+
33
+ void main() {
34
+
35
+ gl_FragColor = texture2D( tDiffuse, vUv );
36
+ gl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );
37
+
38
+ }
39
+ `
40
+ )
27
41
  };
28
42
  export {
29
43
  ColorCorrectionShader
@@ -1 +1 @@
1
- {"version":3,"file":"ColorCorrectionShader.js","sources":["../../src/shaders/ColorCorrectionShader.ts"],"sourcesContent":["import { Vector3 } from 'three'\n\n/**\n * Color correction\n */\n\nexport const ColorCorrectionShader = {\n uniforms: {\n tDiffuse: { value: null },\n powRGB: { value: new Vector3(2, 2, 2) },\n mulRGB: { value: new Vector3(1, 1, 1) },\n addRGB: { value: new Vector3(0, 0, 0) },\n },\n\n vertexShader: [\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvUv = uv;',\n\n '\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',\n\n '}',\n ].join('\\n'),\n\n fragmentShader: [\n 'uniform sampler2D tDiffuse;',\n 'uniform vec3 powRGB;',\n 'uniform vec3 mulRGB;',\n 'uniform vec3 addRGB;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tgl_FragColor = texture2D( tDiffuse, vUv );',\n '\tgl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";AAMO,MAAM,wBAAwB;AAAA,EACnC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,QAAQ,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtC,QAAQ,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtC,QAAQ,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,EACxC;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"ColorCorrectionShader.js","sources":["../../src/shaders/ColorCorrectionShader.ts"],"sourcesContent":["import { Vector3 } from 'three'\n\n/**\n * Color correction\n */\n\nexport const ColorCorrectionShader = {\n uniforms: {\n tDiffuse: { value: null },\n powRGB: { value: /* @__PURE__ */ new Vector3(2, 2, 2) },\n mulRGB: { value: /* @__PURE__ */ new Vector3(1, 1, 1) },\n addRGB: { value: /* @__PURE__ */ new Vector3(0, 0, 0) },\n },\n\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n\n void main() {\n\n \tvUv = uv;\n\n \tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n uniform sampler2D tDiffuse;\n uniform vec3 powRGB;\n uniform vec3 mulRGB;\n uniform vec3 addRGB;\n\n varying vec2 vUv;\n\n void main() {\n\n \tgl_FragColor = texture2D( tDiffuse, vUv );\n \tgl_FragColor.rgb = mulRGB * pow( ( gl_FragColor.rgb + addRGB ), powRGB );\n\n }\n `,\n}\n"],"names":[],"mappings":";AAMO,MAAM,wBAAwB;AAAA,EACnC,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,QAAQ,EAAE,OAAuB,oBAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtD,QAAQ,EAAE,OAAuB,oBAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,IACtD,QAAQ,EAAE,OAAuB,oBAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;AAAA,EACxD;AAAA,EAEA;AAAA;AAAA,IAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzB;AAAA;AAAA,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe7B;"}
@@ -4,26 +4,41 @@ const THREE = require("three");
4
4
  const ColorifyShader = {
5
5
  uniforms: {
6
6
  tDiffuse: { value: null },
7
- color: { value: new THREE.Color(16777215) }
7
+ color: { value: /* @__PURE__ */ new THREE.Color(16777215) }
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 vec3 color;",
18
- "uniform sampler2D tDiffuse;",
19
- "varying vec2 vUv;",
20
- "void main() {",
21
- " vec4 texel = texture2D( tDiffuse, vUv );",
22
- " vec3 luma = vec3( 0.299, 0.587, 0.114 );",
23
- " float v = dot( texel.xyz, luma );",
24
- " gl_FragColor = vec4( v * color, texel.w );",
25
- "}"
26
- ].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 vec3 color;
26
+ uniform sampler2D tDiffuse;
27
+
28
+ varying vec2 vUv;
29
+
30
+ void main() {
31
+
32
+ vec4 texel = texture2D( tDiffuse, vUv );
33
+
34
+ vec3 luma = vec3( 0.299, 0.587, 0.114 );
35
+ float v = dot( texel.xyz, luma );
36
+
37
+ gl_FragColor = vec4( v * color, texel.w );
38
+
39
+ }
40
+ `
41
+ )
27
42
  };
28
43
  exports.ColorifyShader = ColorifyShader;
29
44
  //# sourceMappingURL=ColorifyShader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorifyShader.cjs","sources":["../../src/shaders/ColorifyShader.ts"],"sourcesContent":["import { Color } from 'three'\n\n/**\n * Colorify shader\n */\n\nexport const ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: new Color(0xffffff) },\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 vec3 color;',\n 'uniform sampler2D tDiffuse;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvec4 texel = texture2D( tDiffuse, vUv );',\n\n '\tvec3 luma = vec3( 0.299, 0.587, 0.114 );',\n '\tfloat v = dot( texel.xyz, luma );',\n\n '\tgl_FragColor = vec4( v * color, texel.w );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":["Color"],"mappings":";;;AAMO,MAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,OAAO,EAAE,OAAO,IAAIA,MAAA,MAAM,QAAQ,EAAE;AAAA,EACtC;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;;"}
1
+ {"version":3,"file":"ColorifyShader.cjs","sources":["../../src/shaders/ColorifyShader.ts"],"sourcesContent":["import { Color } from 'three'\n\n/**\n * Colorify shader\n */\n\nexport const ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: /* @__PURE__ */ new Color(0xffffff) },\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 vec3 color;\n uniform sampler2D tDiffuse;\n\n varying vec2 vUv;\n\n void main() {\n\n \tvec4 texel = texture2D( tDiffuse, vUv );\n\n \tvec3 luma = vec3( 0.299, 0.587, 0.114 );\n \tfloat v = dot( texel.xyz, luma );\n\n \tgl_FragColor = vec4( v * color, texel.w );\n\n }\n `,\n}\n"],"names":["Color"],"mappings":";;;AAMO,MAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,OAAO,EAAE,OAA2B,oBAAAA,MAAA,MAAM,QAAQ,EAAE;AAAA,EACtD;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;AAiB7B;;"}
@@ -2,26 +2,41 @@ import { Color } from "three";
2
2
  const ColorifyShader = {
3
3
  uniforms: {
4
4
  tDiffuse: { value: null },
5
- color: { value: new Color(16777215) }
5
+ color: { value: /* @__PURE__ */ new Color(16777215) }
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 vec3 color;",
16
- "uniform sampler2D tDiffuse;",
17
- "varying vec2 vUv;",
18
- "void main() {",
19
- " vec4 texel = texture2D( tDiffuse, vUv );",
20
- " vec3 luma = vec3( 0.299, 0.587, 0.114 );",
21
- " float v = dot( texel.xyz, luma );",
22
- " gl_FragColor = vec4( v * color, texel.w );",
23
- "}"
24
- ].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 vec3 color;
24
+ uniform sampler2D tDiffuse;
25
+
26
+ varying vec2 vUv;
27
+
28
+ void main() {
29
+
30
+ vec4 texel = texture2D( tDiffuse, vUv );
31
+
32
+ vec3 luma = vec3( 0.299, 0.587, 0.114 );
33
+ float v = dot( texel.xyz, luma );
34
+
35
+ gl_FragColor = vec4( v * color, texel.w );
36
+
37
+ }
38
+ `
39
+ )
25
40
  };
26
41
  export {
27
42
  ColorifyShader
@@ -1 +1 @@
1
- {"version":3,"file":"ColorifyShader.js","sources":["../../src/shaders/ColorifyShader.ts"],"sourcesContent":["import { Color } from 'three'\n\n/**\n * Colorify shader\n */\n\nexport const ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: new Color(0xffffff) },\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 vec3 color;',\n 'uniform sampler2D tDiffuse;',\n\n 'varying vec2 vUv;',\n\n 'void main() {',\n\n '\tvec4 texel = texture2D( tDiffuse, vUv );',\n\n '\tvec3 luma = vec3( 0.299, 0.587, 0.114 );',\n '\tfloat v = dot( texel.xyz, luma );',\n\n '\tgl_FragColor = vec4( v * color, texel.w );',\n\n '}',\n ].join('\\n'),\n}\n"],"names":[],"mappings":";AAMO,MAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,OAAO,EAAE,OAAO,IAAI,MAAM,QAAQ,EAAE;AAAA,EACtC;AAAA,EAEA,cAAc;AAAA,IACZ;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AAAA,EAEX,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,IAAI;AACb;"}
1
+ {"version":3,"file":"ColorifyShader.js","sources":["../../src/shaders/ColorifyShader.ts"],"sourcesContent":["import { Color } from 'three'\n\n/**\n * Colorify shader\n */\n\nexport const ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: /* @__PURE__ */ new Color(0xffffff) },\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 vec3 color;\n uniform sampler2D tDiffuse;\n\n varying vec2 vUv;\n\n void main() {\n\n \tvec4 texel = texture2D( tDiffuse, vUv );\n\n \tvec3 luma = vec3( 0.299, 0.587, 0.114 );\n \tfloat v = dot( texel.xyz, luma );\n\n \tgl_FragColor = vec4( v * color, texel.w );\n\n }\n `,\n}\n"],"names":[],"mappings":";AAMO,MAAM,iBAAiB;AAAA,EAC5B,UAAU;AAAA,IACR,UAAU,EAAE,OAAO,KAAK;AAAA,IACxB,OAAO,EAAE,OAA2B,oBAAA,MAAM,QAAQ,EAAE;AAAA,EACtD;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;AAiB7B;"}
@@ -8,32 +8,51 @@ const ConvolutionShader = {
8
8
  },
9
9
  uniforms: {
10
10
  tDiffuse: { value: null },
11
- uImageIncrement: { value: new THREE.Vector2(1953125e-9, 0) },
11
+ uImageIncrement: { value: /* @__PURE__ */ new THREE.Vector2(1953125e-9, 0) },
12
12
  cKernel: { value: [] }
13
13
  },
14
- vertexShader: [
15
- "uniform vec2 uImageIncrement;",
16
- "varying vec2 vUv;",
17
- "void main() {",
18
- " vUv = uv - ( ( KERNEL_SIZE_FLOAT - 1.0 ) / 2.0 ) * uImageIncrement;",
19
- " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
20
- "}"
21
- ].join("\n"),
22
- fragmentShader: [
23
- "uniform float cKernel[ KERNEL_SIZE_INT ];",
24
- "uniform sampler2D tDiffuse;",
25
- "uniform vec2 uImageIncrement;",
26
- "varying vec2 vUv;",
27
- "void main() {",
28
- " vec2 imageCoord = vUv;",
29
- " vec4 sum = vec4( 0.0, 0.0, 0.0, 0.0 );",
30
- " for( int i = 0; i < KERNEL_SIZE_INT; i ++ ) {",
31
- " sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];",
32
- " imageCoord += uImageIncrement;",
33
- " }",
34
- " gl_FragColor = sum;",
35
- "}"
36
- ].join("\n"),
14
+ vertexShader: (
15
+ /* glsl */
16
+ `
17
+ uniform vec2 uImageIncrement;
18
+
19
+ varying vec2 vUv;
20
+
21
+ void main() {
22
+
23
+ vUv = uv - ( ( KERNEL_SIZE_FLOAT - 1.0 ) / 2.0 ) * uImageIncrement;
24
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
25
+
26
+ }
27
+ `
28
+ ),
29
+ fragmentShader: (
30
+ /* glsl */
31
+ `
32
+ uniform float cKernel[ KERNEL_SIZE_INT ];
33
+
34
+ uniform sampler2D tDiffuse;
35
+ uniform vec2 uImageIncrement;
36
+
37
+ varying vec2 vUv;
38
+
39
+ void main() {
40
+
41
+ vec2 imageCoord = vUv;
42
+ vec4 sum = vec4( 0.0, 0.0, 0.0, 0.0 );
43
+
44
+ for( int i = 0; i < KERNEL_SIZE_INT; i ++ ) {
45
+
46
+ sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];
47
+ imageCoord += uImageIncrement;
48
+
49
+ }
50
+
51
+ gl_FragColor = sum;
52
+
53
+ }
54
+ `
55
+ ),
37
56
  buildKernel: function(sigma) {
38
57
  function gauss(x, sigma2) {
39
58
  return Math.exp(-(x * x) / (2 * sigma2 * sigma2));