three-stdlib 2.25.0 → 2.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (540) hide show
  1. package/controls/OrbitControls.d.ts +1 -0
  2. package/index.cjs +116465 -611
  3. package/index.js +116101 -263
  4. package/package.json +17 -4
  5. package/_polyfill/CapsuleGeometry.cjs +0 -22
  6. package/_polyfill/CapsuleGeometry.js +0 -22
  7. package/_polyfill/CompressedArrayTexture.cjs +0 -12
  8. package/_polyfill/CompressedArrayTexture.js +0 -12
  9. package/_polyfill/Data3DTexture.cjs +0 -17
  10. package/_polyfill/Data3DTexture.js +0 -17
  11. package/animation/AnimationClipCreator.cjs +0 -56
  12. package/animation/AnimationClipCreator.js +0 -56
  13. package/animation/CCDIKSolver.cjs +0 -269
  14. package/animation/CCDIKSolver.js +0 -269
  15. package/animation/MMDAnimationHelper.cjs +0 -688
  16. package/animation/MMDAnimationHelper.js +0 -688
  17. package/animation/MMDPhysics.cjs +0 -830
  18. package/animation/MMDPhysics.js +0 -830
  19. package/cameras/CinematicCamera.cjs +0 -131
  20. package/cameras/CinematicCamera.js +0 -131
  21. package/controls/ArcballControls.cjs +0 -2033
  22. package/controls/ArcballControls.js +0 -2033
  23. package/controls/DeviceOrientationControls.cjs +0 -85
  24. package/controls/DeviceOrientationControls.js +0 -85
  25. package/controls/DragControls.cjs +0 -182
  26. package/controls/DragControls.js +0 -182
  27. package/controls/FirstPersonControls.cjs +0 -229
  28. package/controls/FirstPersonControls.js +0 -229
  29. package/controls/FlyControls.cjs +0 -248
  30. package/controls/FlyControls.js +0 -248
  31. package/controls/OrbitControls.cjs +0 -791
  32. package/controls/OrbitControls.js +0 -791
  33. package/controls/PointerLockControls.cjs +0 -103
  34. package/controls/PointerLockControls.js +0 -103
  35. package/controls/TrackballControls.cjs +0 -502
  36. package/controls/TrackballControls.js +0 -502
  37. package/controls/TransformControls.cjs +0 -1089
  38. package/controls/TransformControls.js +0 -1089
  39. package/controls/experimental/CameraControls.cjs +0 -736
  40. package/controls/experimental/CameraControls.js +0 -736
  41. package/csm/CSM.cjs +0 -244
  42. package/csm/CSM.js +0 -244
  43. package/csm/CSMFrustum.cjs +0 -75
  44. package/csm/CSMFrustum.js +0 -75
  45. package/csm/CSMHelper.cjs +0 -114
  46. package/csm/CSMHelper.js +0 -114
  47. package/csm/CSMShader.cjs +0 -261
  48. package/csm/CSMShader.js +0 -261
  49. package/curves/CurveExtras.cjs +0 -214
  50. package/curves/CurveExtras.js +0 -214
  51. package/curves/NURBSCurve.cjs +0 -35
  52. package/curves/NURBSCurve.js +0 -35
  53. package/curves/NURBSSurface.cjs +0 -28
  54. package/curves/NURBSSurface.js +0 -28
  55. package/curves/NURBSUtils.cjs +0 -226
  56. package/curves/NURBSUtils.js +0 -226
  57. package/deprecated/Geometry.cjs +0 -971
  58. package/deprecated/Geometry.js +0 -971
  59. package/effects/AnaglyphEffect.cjs +0 -102
  60. package/effects/AnaglyphEffect.js +0 -102
  61. package/effects/AsciiEffect.cjs +0 -155
  62. package/effects/AsciiEffect.js +0 -155
  63. package/effects/OutlineEffect.cjs +0 -275
  64. package/effects/OutlineEffect.js +0 -275
  65. package/effects/ParallaxBarrierEffect.cjs +0 -65
  66. package/effects/ParallaxBarrierEffect.js +0 -65
  67. package/effects/PeppersGhostEffect.cjs +0 -88
  68. package/effects/PeppersGhostEffect.js +0 -88
  69. package/effects/StereoEffect.cjs +0 -35
  70. package/effects/StereoEffect.js +0 -35
  71. package/environments/RoomEnvironment.cjs +0 -95
  72. package/environments/RoomEnvironment.js +0 -78
  73. package/exporters/ColladaExporter.cjs +0 -331
  74. package/exporters/ColladaExporter.js +0 -331
  75. package/exporters/DRACOExporter.cjs +0 -141
  76. package/exporters/DRACOExporter.js +0 -141
  77. package/exporters/GLTFExporter.cjs +0 -1909
  78. package/exporters/GLTFExporter.js +0 -1909
  79. package/exporters/MMDExporter.cjs +0 -131
  80. package/exporters/MMDExporter.js +0 -131
  81. package/exporters/OBJExporter.cjs +0 -181
  82. package/exporters/OBJExporter.js +0 -181
  83. package/exporters/PLYExporter.cjs +0 -280
  84. package/exporters/PLYExporter.js +0 -280
  85. package/exporters/STLExporter.cjs +0 -146
  86. package/exporters/STLExporter.js +0 -146
  87. package/exporters/USDZExporter.cjs +0 -340
  88. package/exporters/USDZExporter.js +0 -340
  89. package/geometries/BoxLineGeometry.cjs +0 -45
  90. package/geometries/BoxLineGeometry.js +0 -45
  91. package/geometries/ConvexGeometry.cjs +0 -26
  92. package/geometries/ConvexGeometry.js +0 -26
  93. package/geometries/DecalGeometry.cjs +0 -184
  94. package/geometries/DecalGeometry.js +0 -184
  95. package/geometries/LightningStrike.cjs +0 -553
  96. package/geometries/LightningStrike.js +0 -553
  97. package/geometries/ParametricGeometries.cjs +0 -130
  98. package/geometries/ParametricGeometries.js +0 -130
  99. package/geometries/ParametricGeometry.cjs +0 -63
  100. package/geometries/ParametricGeometry.js +0 -63
  101. package/geometries/RoundedBoxGeometry.cjs +0 -91
  102. package/geometries/RoundedBoxGeometry.js +0 -91
  103. package/geometries/TeapotGeometry.cjs +0 -1563
  104. package/geometries/TeapotGeometry.js +0 -1563
  105. package/geometries/TextGeometry.cjs +0 -27
  106. package/geometries/TextGeometry.js +0 -27
  107. package/helpers/LightProbeHelper.cjs +0 -73
  108. package/helpers/LightProbeHelper.js +0 -73
  109. package/helpers/PositionalAudioHelper.cjs +0 -68
  110. package/helpers/PositionalAudioHelper.js +0 -68
  111. package/helpers/RectAreaLightHelper.cjs +0 -44
  112. package/helpers/RectAreaLightHelper.js +0 -44
  113. package/helpers/VertexNormalsHelper.cjs +0 -47
  114. package/helpers/VertexNormalsHelper.js +0 -47
  115. package/helpers/VertexTangentsHelper.cjs +0 -43
  116. package/helpers/VertexTangentsHelper.js +0 -43
  117. package/interactive/HTMLMesh.cjs +0 -325
  118. package/interactive/HTMLMesh.js +0 -325
  119. package/interactive/InteractiveGroup.cjs +0 -68
  120. package/interactive/InteractiveGroup.js +0 -68
  121. package/interactive/SelectionBox.cjs +0 -134
  122. package/interactive/SelectionBox.js +0 -134
  123. package/interactive/SelectionHelper.cjs +0 -51
  124. package/interactive/SelectionHelper.js +0 -51
  125. package/libs/MeshoptDecoder.cjs +0 -221
  126. package/libs/MeshoptDecoder.js +0 -221
  127. package/libs/MotionControllers.cjs +0 -325
  128. package/libs/MotionControllers.js +0 -325
  129. package/lights/LightProbeGenerator.cjs +0 -145
  130. package/lights/LightProbeGenerator.js +0 -145
  131. package/lights/RectAreaLightUniformsLib.cjs +0 -32846
  132. package/lights/RectAreaLightUniformsLib.js +0 -32846
  133. package/lines/Line2.cjs +0 -13
  134. package/lines/Line2.js +0 -13
  135. package/lines/LineGeometry.cjs +0 -44
  136. package/lines/LineGeometry.js +0 -44
  137. package/lines/LineMaterial.cjs +0 -547
  138. package/lines/LineMaterial.js +0 -547
  139. package/lines/LineSegments2.cjs +0 -203
  140. package/lines/LineSegments2.js +0 -203
  141. package/lines/LineSegmentsGeometry.cjs +0 -124
  142. package/lines/LineSegmentsGeometry.js +0 -124
  143. package/lines/Wireframe.cjs +0 -32
  144. package/lines/Wireframe.js +0 -32
  145. package/lines/WireframeGeometry2.cjs +0 -13
  146. package/lines/WireframeGeometry2.js +0 -13
  147. package/loaders/3DMLoader.cjs +0 -803
  148. package/loaders/3DMLoader.js +0 -803
  149. package/loaders/3MFLoader.cjs +0 -854
  150. package/loaders/3MFLoader.js +0 -854
  151. package/loaders/AMFLoader.cjs +0 -284
  152. package/loaders/AMFLoader.js +0 -284
  153. package/loaders/AssimpLoader.cjs +0 -1434
  154. package/loaders/AssimpLoader.js +0 -1434
  155. package/loaders/BVHLoader.cjs +0 -207
  156. package/loaders/BVHLoader.js +0 -207
  157. package/loaders/BasisTextureLoader.cjs +0 -489
  158. package/loaders/BasisTextureLoader.js +0 -489
  159. package/loaders/ColladaLoader.cjs +0 -2405
  160. package/loaders/ColladaLoader.js +0 -2405
  161. package/loaders/DDSLoader.cjs +0 -148
  162. package/loaders/DDSLoader.js +0 -148
  163. package/loaders/DRACOLoader.cjs +0 -341
  164. package/loaders/DRACOLoader.js +0 -341
  165. package/loaders/EXRLoader.cjs +0 -1356
  166. package/loaders/EXRLoader.js +0 -1356
  167. package/loaders/FBXLoader.cjs +0 -2457
  168. package/loaders/FBXLoader.js +0 -2457
  169. package/loaders/FontLoader.cjs +0 -123
  170. package/loaders/FontLoader.js +0 -123
  171. package/loaders/GCodeLoader.cjs +0 -141
  172. package/loaders/GCodeLoader.js +0 -141
  173. package/loaders/GLTFLoader.cjs +0 -2504
  174. package/loaders/GLTFLoader.js +0 -2504
  175. package/loaders/HDRCubeTextureLoader.cjs +0 -75
  176. package/loaders/HDRCubeTextureLoader.js +0 -75
  177. package/loaders/KMZLoader.cjs +0 -75
  178. package/loaders/KMZLoader.js +0 -75
  179. package/loaders/KTX2Loader.cjs +0 -480
  180. package/loaders/KTX2Loader.js +0 -480
  181. package/loaders/KTXLoader.cjs +0 -93
  182. package/loaders/KTXLoader.js +0 -93
  183. package/loaders/LDrawLoader.cjs +0 -1424
  184. package/loaders/LDrawLoader.js +0 -1424
  185. package/loaders/LUT3dlLoader.cjs +0 -103
  186. package/loaders/LUT3dlLoader.js +0 -103
  187. package/loaders/LUTCubeLoader.cjs +0 -107
  188. package/loaders/LUTCubeLoader.js +0 -107
  189. package/loaders/LWOLoader.cjs +0 -645
  190. package/loaders/LWOLoader.js +0 -645
  191. package/loaders/LottieLoader.cjs +0 -47
  192. package/loaders/LottieLoader.js +0 -47
  193. package/loaders/MD2Loader.cjs +0 -359
  194. package/loaders/MD2Loader.js +0 -359
  195. package/loaders/MDDLoader.cjs +0 -58
  196. package/loaders/MDDLoader.js +0 -58
  197. package/loaders/MMDLoader.cjs +0 -1121
  198. package/loaders/MMDLoader.js +0 -1121
  199. package/loaders/MTLLoader.cjs +0 -304
  200. package/loaders/MTLLoader.js +0 -304
  201. package/loaders/NRRDLoader.cjs +0 -401
  202. package/loaders/NRRDLoader.js +0 -401
  203. package/loaders/OBJLoader.cjs +0 -487
  204. package/loaders/OBJLoader.js +0 -487
  205. package/loaders/PCDLoader.cjs +0 -248
  206. package/loaders/PCDLoader.js +0 -248
  207. package/loaders/PDBLoader.cjs +0 -247
  208. package/loaders/PDBLoader.js +0 -247
  209. package/loaders/PLYLoader.cjs +0 -317
  210. package/loaders/PLYLoader.js +0 -317
  211. package/loaders/PRWMLoader.cjs +0 -160
  212. package/loaders/PRWMLoader.js +0 -160
  213. package/loaders/PVRLoader.cjs +0 -131
  214. package/loaders/PVRLoader.js +0 -131
  215. package/loaders/RGBELoader.cjs +0 -252
  216. package/loaders/RGBELoader.js +0 -252
  217. package/loaders/RGBMLoader.cjs +0 -1004
  218. package/loaders/RGBMLoader.js +0 -1004
  219. package/loaders/STLLoader.cjs +0 -190
  220. package/loaders/STLLoader.js +0 -190
  221. package/loaders/SVGLoader.cjs +0 -1712
  222. package/loaders/SVGLoader.js +0 -1712
  223. package/loaders/TDSLoader.cjs +0 -650
  224. package/loaders/TDSLoader.js +0 -650
  225. package/loaders/TGALoader.cjs +0 -285
  226. package/loaders/TGALoader.js +0 -285
  227. package/loaders/TTFLoader.cjs +0 -131
  228. package/loaders/TTFLoader.js +0 -131
  229. package/loaders/TiltLoader.cjs +0 -375
  230. package/loaders/TiltLoader.js +0 -375
  231. package/loaders/VOXLoader.cjs +0 -432
  232. package/loaders/VOXLoader.js +0 -432
  233. package/loaders/VRMLLoader.cjs +0 -2105
  234. package/loaders/VRMLLoader.js +0 -2105
  235. package/loaders/VRMLoader.cjs +0 -38
  236. package/loaders/VRMLoader.js +0 -38
  237. package/loaders/VTKLoader.cjs +0 -648
  238. package/loaders/VTKLoader.js +0 -648
  239. package/loaders/XLoader.cjs +0 -1258
  240. package/loaders/XLoader.js +0 -1258
  241. package/loaders/XYZLoader.cjs +0 -60
  242. package/loaders/XYZLoader.js +0 -60
  243. package/loaders/lwo/IFFParser.cjs +0 -743
  244. package/loaders/lwo/IFFParser.js +0 -743
  245. package/loaders/lwo/LWO2Parser.cjs +0 -312
  246. package/loaders/lwo/LWO2Parser.js +0 -312
  247. package/loaders/lwo/LWO3Parser.cjs +0 -282
  248. package/loaders/lwo/LWO3Parser.js +0 -282
  249. package/math/Capsule.cjs +0 -98
  250. package/math/Capsule.js +0 -98
  251. package/math/ColorConverter.cjs +0 -42
  252. package/math/ColorConverter.js +0 -42
  253. package/math/ConvexHull.cjs +0 -596
  254. package/math/ConvexHull.js +0 -596
  255. package/math/ImprovedNoise.cjs +0 -304
  256. package/math/ImprovedNoise.js +0 -304
  257. package/math/Lut.cjs +0 -137
  258. package/math/Lut.js +0 -137
  259. package/math/MeshSurfaceSampler.cjs +0 -103
  260. package/math/MeshSurfaceSampler.js +0 -103
  261. package/math/OBB.cjs +0 -242
  262. package/math/OBB.js +0 -242
  263. package/math/Octree.cjs +0 -273
  264. package/math/Octree.js +0 -273
  265. package/math/SimplexNoise.cjs +0 -440
  266. package/math/SimplexNoise.js +0 -440
  267. package/misc/ConvexObjectBreaker.cjs +0 -292
  268. package/misc/ConvexObjectBreaker.js +0 -292
  269. package/misc/GPUComputationRenderer.cjs +0 -205
  270. package/misc/GPUComputationRenderer.js +0 -205
  271. package/misc/Gyroscope.cjs +0 -33
  272. package/misc/Gyroscope.js +0 -33
  273. package/misc/MD2Character.cjs +0 -167
  274. package/misc/MD2Character.js +0 -167
  275. package/misc/MD2CharacterComplex.cjs +0 -332
  276. package/misc/MD2CharacterComplex.js +0 -332
  277. package/misc/MorphAnimMesh.cjs +0 -40
  278. package/misc/MorphAnimMesh.js +0 -40
  279. package/misc/MorphBlendMesh.cjs +0 -179
  280. package/misc/MorphBlendMesh.js +0 -179
  281. package/misc/ProgressiveLightmap.cjs +0 -186
  282. package/misc/ProgressiveLightmap.js +0 -186
  283. package/misc/RollerCoaster.cjs +0 -353
  284. package/misc/RollerCoaster.js +0 -353
  285. package/misc/Timer.cjs +0 -101
  286. package/misc/Timer.js +0 -101
  287. package/misc/TubePainter.cjs +0 -123
  288. package/misc/TubePainter.js +0 -123
  289. package/misc/Volume.cjs +0 -305
  290. package/misc/Volume.js +0 -305
  291. package/misc/VolumeSlice.cjs +0 -114
  292. package/misc/VolumeSlice.js +0 -114
  293. package/misc/WebGL.cjs +0 -74
  294. package/misc/WebGL.js +0 -74
  295. package/modifiers/CurveModifier.cjs +0 -232
  296. package/modifiers/CurveModifier.js +0 -232
  297. package/modifiers/EdgeSplitModifier.cjs +0 -167
  298. package/modifiers/EdgeSplitModifier.js +0 -168
  299. package/modifiers/SimplifyModifier.cjs +0 -301
  300. package/modifiers/SimplifyModifier.js +0 -301
  301. package/modifiers/TessellateModifier.cjs +0 -214
  302. package/modifiers/TessellateModifier.js +0 -214
  303. package/objects/GroundProjectedEnv.cjs +0 -134
  304. package/objects/GroundProjectedEnv.js +0 -134
  305. package/objects/Lensflare.cjs +0 -291
  306. package/objects/Lensflare.js +0 -291
  307. package/objects/LightningStorm.cjs +0 -110
  308. package/objects/LightningStorm.js +0 -110
  309. package/objects/MarchingCubes.cjs +0 -4809
  310. package/objects/MarchingCubes.js +0 -4809
  311. package/objects/Reflector.cjs +0 -202
  312. package/objects/Reflector.js +0 -202
  313. package/objects/ReflectorForSSRPass.cjs +0 -260
  314. package/objects/ReflectorForSSRPass.js +0 -260
  315. package/objects/ReflectorRTT.cjs +0 -10
  316. package/objects/ReflectorRTT.js +0 -10
  317. package/objects/Refractor.cjs +0 -215
  318. package/objects/Refractor.js +0 -215
  319. package/objects/ShadowMesh.cjs +0 -45
  320. package/objects/ShadowMesh.js +0 -45
  321. package/objects/Sky.cjs +0 -200
  322. package/objects/Sky.js +0 -200
  323. package/objects/Water.cjs +0 -242
  324. package/objects/Water.js +0 -242
  325. package/objects/Water2.cjs +0 -256
  326. package/objects/Water2.js +0 -256
  327. package/physics/AmmoPhysics.cjs +0 -166
  328. package/physics/AmmoPhysics.js +0 -166
  329. package/postprocessing/AdaptiveToneMappingPass.cjs +0 -218
  330. package/postprocessing/AdaptiveToneMappingPass.js +0 -218
  331. package/postprocessing/AfterimagePass.cjs +0 -68
  332. package/postprocessing/AfterimagePass.js +0 -68
  333. package/postprocessing/BloomPass.cjs +0 -109
  334. package/postprocessing/BloomPass.js +0 -109
  335. package/postprocessing/BokehPass.cjs +0 -90
  336. package/postprocessing/BokehPass.js +0 -90
  337. package/postprocessing/ClearPass.cjs +0 -36
  338. package/postprocessing/ClearPass.js +0 -36
  339. package/postprocessing/CubeTexturePass.cjs +0 -53
  340. package/postprocessing/CubeTexturePass.js +0 -53
  341. package/postprocessing/DotScreenPass.cjs +0 -49
  342. package/postprocessing/DotScreenPass.js +0 -49
  343. package/postprocessing/EffectComposer.cjs +0 -157
  344. package/postprocessing/EffectComposer.js +0 -157
  345. package/postprocessing/FilmPass.cjs +0 -51
  346. package/postprocessing/FilmPass.js +0 -51
  347. package/postprocessing/GlitchPass.cjs +0 -84
  348. package/postprocessing/GlitchPass.js +0 -84
  349. package/postprocessing/HalftonePass.cjs +0 -53
  350. package/postprocessing/HalftonePass.js +0 -53
  351. package/postprocessing/LUTPass.cjs +0 -142
  352. package/postprocessing/LUTPass.js +0 -142
  353. package/postprocessing/MaskPass.cjs +0 -69
  354. package/postprocessing/MaskPass.js +0 -69
  355. package/postprocessing/OutlinePass.cjs +0 -479
  356. package/postprocessing/OutlinePass.js +0 -479
  357. package/postprocessing/Pass.cjs +0 -48
  358. package/postprocessing/Pass.js +0 -48
  359. package/postprocessing/RenderPass.cjs +0 -59
  360. package/postprocessing/RenderPass.js +0 -59
  361. package/postprocessing/RenderPixelatedPass.cjs +0 -199
  362. package/postprocessing/RenderPixelatedPass.js +0 -199
  363. package/postprocessing/SAOPass.cjs +0 -288
  364. package/postprocessing/SAOPass.js +0 -288
  365. package/postprocessing/SMAAPass.cjs +0 -112
  366. package/postprocessing/SMAAPass.js +0 -112
  367. package/postprocessing/SSAARenderPass.cjs +0 -189
  368. package/postprocessing/SSAARenderPass.js +0 -189
  369. package/postprocessing/SSAOPass.cjs +0 -272
  370. package/postprocessing/SSAOPass.js +0 -272
  371. package/postprocessing/SSRPass.cjs +0 -411
  372. package/postprocessing/SSRPass.js +0 -411
  373. package/postprocessing/SavePass.cjs +0 -38
  374. package/postprocessing/SavePass.js +0 -38
  375. package/postprocessing/ShaderPass.cjs +0 -49
  376. package/postprocessing/ShaderPass.js +0 -49
  377. package/postprocessing/TAARenderPass.cjs +0 -174
  378. package/postprocessing/TAARenderPass.js +0 -174
  379. package/postprocessing/TexturePass.cjs +0 -42
  380. package/postprocessing/TexturePass.js +0 -42
  381. package/postprocessing/UnrealBloomPass.cjs +0 -277
  382. package/postprocessing/UnrealBloomPass.js +0 -277
  383. package/postprocessing/WaterPass.cjs +0 -72
  384. package/postprocessing/WaterPass.js +0 -72
  385. package/renderers/CSS2DRenderer.cjs +0 -122
  386. package/renderers/CSS2DRenderer.js +0 -122
  387. package/renderers/CSS3DRenderer.cjs +0 -167
  388. package/renderers/CSS3DRenderer.js +0 -167
  389. package/renderers/Projector.cjs +0 -499
  390. package/renderers/Projector.js +0 -499
  391. package/renderers/SVGRenderer.cjs +0 -311
  392. package/renderers/SVGRenderer.js +0 -311
  393. package/shaders/ACESFilmicToneMappingShader.cjs +0 -55
  394. package/shaders/ACESFilmicToneMappingShader.js +0 -55
  395. package/shaders/AfterimageShader.cjs +0 -32
  396. package/shaders/AfterimageShader.js +0 -32
  397. package/shaders/BasicShader.cjs +0 -12
  398. package/shaders/BasicShader.js +0 -12
  399. package/shaders/BleachBypassShader.cjs +0 -35
  400. package/shaders/BleachBypassShader.js +0 -35
  401. package/shaders/BlendShader.cjs +0 -30
  402. package/shaders/BlendShader.js +0 -30
  403. package/shaders/BokehShader.cjs +0 -109
  404. package/shaders/BokehShader.js +0 -109
  405. package/shaders/BokehShader2.cjs +0 -269
  406. package/shaders/BokehShader2.js +0 -269
  407. package/shaders/BrightnessContrastShader.cjs +0 -32
  408. package/shaders/BrightnessContrastShader.js +0 -32
  409. package/shaders/ColorCorrectionShader.cjs +0 -30
  410. package/shaders/ColorCorrectionShader.js +0 -30
  411. package/shaders/ColorifyShader.cjs +0 -28
  412. package/shaders/ColorifyShader.js +0 -28
  413. package/shaders/ConvolutionShader.cjs +0 -55
  414. package/shaders/ConvolutionShader.js +0 -55
  415. package/shaders/CopyShader.cjs +0 -25
  416. package/shaders/CopyShader.js +0 -25
  417. package/shaders/DOFMipMapShader.cjs +0 -32
  418. package/shaders/DOFMipMapShader.js +0 -32
  419. package/shaders/DepthLimitedBlurShader.cjs +0 -114
  420. package/shaders/DepthLimitedBlurShader.js +0 -114
  421. package/shaders/DigitalGlitch.cjs +0 -85
  422. package/shaders/DigitalGlitch.js +0 -85
  423. package/shaders/DotScreenShader.cjs +0 -39
  424. package/shaders/DotScreenShader.js +0 -39
  425. package/shaders/FXAAShader.cjs +0 -1098
  426. package/shaders/FXAAShader.js +0 -1098
  427. package/shaders/FilmShader.cjs +0 -53
  428. package/shaders/FilmShader.js +0 -53
  429. package/shaders/FocusShader.cjs +0 -55
  430. package/shaders/FocusShader.js +0 -55
  431. package/shaders/FreiChenShader.cjs +0 -64
  432. package/shaders/FreiChenShader.js +0 -64
  433. package/shaders/FresnelShader.cjs +0 -47
  434. package/shaders/FresnelShader.js +0 -47
  435. package/shaders/GammaCorrectionShader.cjs +0 -23
  436. package/shaders/GammaCorrectionShader.js +0 -23
  437. package/shaders/GodRaysShader.cjs +0 -183
  438. package/shaders/GodRaysShader.js +0 -183
  439. package/shaders/HalftoneShader.cjs +0 -228
  440. package/shaders/HalftoneShader.js +0 -228
  441. package/shaders/HorizontalBlurShader.cjs +0 -49
  442. package/shaders/HorizontalBlurShader.js +0 -49
  443. package/shaders/HorizontalTiltShiftShader.cjs +0 -37
  444. package/shaders/HorizontalTiltShiftShader.js +0 -37
  445. package/shaders/HueSaturationShader.cjs +0 -43
  446. package/shaders/HueSaturationShader.js +0 -43
  447. package/shaders/KaleidoShader.cjs +0 -34
  448. package/shaders/KaleidoShader.js +0 -34
  449. package/shaders/LuminosityHighPassShader.cjs +0 -37
  450. package/shaders/LuminosityHighPassShader.js +0 -37
  451. package/shaders/LuminosityShader.cjs +0 -25
  452. package/shaders/LuminosityShader.js +0 -25
  453. package/shaders/MirrorShader.cjs +0 -35
  454. package/shaders/MirrorShader.js +0 -35
  455. package/shaders/NormalMapShader.cjs +0 -31
  456. package/shaders/NormalMapShader.js +0 -31
  457. package/shaders/ParallaxShader.cjs +0 -133
  458. package/shaders/ParallaxShader.js +0 -133
  459. package/shaders/PixelShader.cjs +0 -28
  460. package/shaders/PixelShader.js +0 -28
  461. package/shaders/RGBShiftShader.cjs +0 -30
  462. package/shaders/RGBShiftShader.js +0 -30
  463. package/shaders/SAOShader.cjs +0 -144
  464. package/shaders/SAOShader.js +0 -144
  465. package/shaders/SMAAShader.cjs +0 -358
  466. package/shaders/SMAAShader.js +0 -358
  467. package/shaders/SSAOShader.cjs +0 -182
  468. package/shaders/SSAOShader.js +0 -182
  469. package/shaders/SSRShader.cjs +0 -342
  470. package/shaders/SSRShader.js +0 -342
  471. package/shaders/SepiaShader.cjs +0 -29
  472. package/shaders/SepiaShader.js +0 -29
  473. package/shaders/SobelOperatorShader.cjs +0 -54
  474. package/shaders/SobelOperatorShader.js +0 -54
  475. package/shaders/SubsurfaceScatteringShader.cjs +0 -98
  476. package/shaders/SubsurfaceScatteringShader.js +0 -98
  477. package/shaders/TechnicolorShader.cjs +0 -24
  478. package/shaders/TechnicolorShader.js +0 -24
  479. package/shaders/ToneMapShader.cjs +0 -51
  480. package/shaders/ToneMapShader.js +0 -51
  481. package/shaders/ToonShader.cjs +0 -188
  482. package/shaders/ToonShader.js +0 -188
  483. package/shaders/TriangleBlurShader.cjs +0 -37
  484. package/shaders/TriangleBlurShader.js +0 -37
  485. package/shaders/UnpackDepthRGBAShader.cjs +0 -26
  486. package/shaders/UnpackDepthRGBAShader.js +0 -26
  487. package/shaders/VerticalBlurShader.cjs +0 -50
  488. package/shaders/VerticalBlurShader.js +0 -50
  489. package/shaders/VerticalTiltShiftShader.cjs +0 -37
  490. package/shaders/VerticalTiltShiftShader.js +0 -37
  491. package/shaders/VignetteShader.cjs +0 -38
  492. package/shaders/VignetteShader.js +0 -38
  493. package/shaders/VolumeShader.cjs +0 -225
  494. package/shaders/VolumeShader.js +0 -225
  495. package/shaders/WaterRefractionShader.cjs +0 -59
  496. package/shaders/WaterRefractionShader.js +0 -59
  497. package/shaders/types.cjs +0 -1
  498. package/shaders/types.js +0 -1
  499. package/textures/FlakesTexture.cjs +0 -30
  500. package/textures/FlakesTexture.js +0 -30
  501. package/types/helpers.cjs +0 -4
  502. package/types/helpers.js +0 -4
  503. package/utils/BufferGeometryUtils.cjs +0 -636
  504. package/utils/BufferGeometryUtils.js +0 -636
  505. package/utils/GeometryCompressionUtils.cjs +0 -573
  506. package/utils/GeometryCompressionUtils.js +0 -573
  507. package/utils/GeometryUtils.cjs +0 -109
  508. package/utils/GeometryUtils.js +0 -109
  509. package/utils/RoughnessMipmapper.cjs +0 -223
  510. package/utils/RoughnessMipmapper.js +0 -223
  511. package/utils/SceneUtils.cjs +0 -36
  512. package/utils/SceneUtils.js +0 -36
  513. package/utils/ShadowMapViewer.cjs +0 -111
  514. package/utils/ShadowMapViewer.js +0 -111
  515. package/utils/SkeletonUtils.cjs +0 -211
  516. package/utils/SkeletonUtils.js +0 -211
  517. package/utils/UVsDebug.cjs +0 -80
  518. package/utils/UVsDebug.js +0 -80
  519. package/utils/WorkerPool.cjs +0 -62
  520. package/utils/WorkerPool.js +0 -62
  521. package/webxr/ARButton.cjs +0 -119
  522. package/webxr/ARButton.js +0 -119
  523. package/webxr/OculusHandModel.cjs +0 -82
  524. package/webxr/OculusHandModel.js +0 -82
  525. package/webxr/OculusHandPointerModel.cjs +0 -241
  526. package/webxr/OculusHandPointerModel.js +0 -224
  527. package/webxr/Text2D.cjs +0 -48
  528. package/webxr/Text2D.js +0 -31
  529. package/webxr/VRButton.cjs +0 -111
  530. package/webxr/VRButton.js +0 -111
  531. package/webxr/XRControllerModelFactory.cjs +0 -174
  532. package/webxr/XRControllerModelFactory.js +0 -174
  533. package/webxr/XREstimatedLight.cjs +0 -126
  534. package/webxr/XREstimatedLight.js +0 -126
  535. package/webxr/XRHandMeshModel.cjs +0 -82
  536. package/webxr/XRHandMeshModel.js +0 -82
  537. package/webxr/XRHandModelFactory.cjs +0 -61
  538. package/webxr/XRHandModelFactory.js +0 -61
  539. package/webxr/XRHandPrimitiveModel.cjs +0 -68
  540. package/webxr/XRHandPrimitiveModel.js +0 -68
@@ -1,1098 +0,0 @@
1
- import { Vector2 } from "three";
2
- const FXAAShader = {
3
- uniforms: {
4
- tDiffuse: { value: null },
5
- resolution: { value: /* @__PURE__ */ new Vector2(1 / 1024, 1 / 512) }
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
- "precision highp float;",
16
- "",
17
- "uniform sampler2D tDiffuse;",
18
- "",
19
- "uniform vec2 resolution;",
20
- "",
21
- "varying vec2 vUv;",
22
- "",
23
- "// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)",
24
- "",
25
- "//----------------------------------------------------------------------------------",
26
- "// File: es3-keplerFXAAassetsshaders/FXAA_DefaultES.frag",
27
- "// SDK Version: v3.00",
28
- "// Email: gameworks@nvidia.com",
29
- "// Site: http://developer.nvidia.com/",
30
- "//",
31
- "// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.",
32
- "//",
33
- "// Redistribution and use in source and binary forms, with or without",
34
- "// modification, are permitted provided that the following conditions",
35
- "// are met:",
36
- "// * Redistributions of source code must retain the above copyright",
37
- "// notice, this list of conditions and the following disclaimer.",
38
- "// * Redistributions in binary form must reproduce the above copyright",
39
- "// notice, this list of conditions and the following disclaimer in the",
40
- "// documentation and/or other materials provided with the distribution.",
41
- "// * Neither the name of NVIDIA CORPORATION nor the names of its",
42
- "// contributors may be used to endorse or promote products derived",
43
- "// from this software without specific prior written permission.",
44
- "//",
45
- "// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY",
46
- "// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE",
47
- "// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR",
48
- "// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR",
49
- "// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,",
50
- "// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,",
51
- "// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR",
52
- "// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY",
53
- "// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT",
54
- "// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE",
55
- "// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
56
- "//",
57
- "//----------------------------------------------------------------------------------",
58
- "",
59
- "#define FXAA_PC 1",
60
- "#define FXAA_GLSL_100 1",
61
- "#define FXAA_QUALITY_PRESET 12",
62
- "",
63
- "#define FXAA_GREEN_AS_LUMA 1",
64
- "",
65
- "/*--------------------------------------------------------------------------*/",
66
- "#ifndef FXAA_PC_CONSOLE",
67
- " //",
68
- " // The console algorithm for PC is included",
69
- " // for developers targeting really low spec machines.",
70
- " // Likely better to just run FXAA_PC, and use a really low preset.",
71
- " //",
72
- " #define FXAA_PC_CONSOLE 0",
73
- "#endif",
74
- "/*--------------------------------------------------------------------------*/",
75
- "#ifndef FXAA_GLSL_120",
76
- " #define FXAA_GLSL_120 0",
77
- "#endif",
78
- "/*--------------------------------------------------------------------------*/",
79
- "#ifndef FXAA_GLSL_130",
80
- " #define FXAA_GLSL_130 0",
81
- "#endif",
82
- "/*--------------------------------------------------------------------------*/",
83
- "#ifndef FXAA_HLSL_3",
84
- " #define FXAA_HLSL_3 0",
85
- "#endif",
86
- "/*--------------------------------------------------------------------------*/",
87
- "#ifndef FXAA_HLSL_4",
88
- " #define FXAA_HLSL_4 0",
89
- "#endif",
90
- "/*--------------------------------------------------------------------------*/",
91
- "#ifndef FXAA_HLSL_5",
92
- " #define FXAA_HLSL_5 0",
93
- "#endif",
94
- "/*==========================================================================*/",
95
- "#ifndef FXAA_GREEN_AS_LUMA",
96
- " //",
97
- " // For those using non-linear color,",
98
- " // and either not able to get luma in alpha, or not wanting to,",
99
- " // this enables FXAA to run using green as a proxy for luma.",
100
- " // So with this enabled, no need to pack luma in alpha.",
101
- " //",
102
- " // This will turn off AA on anything which lacks some amount of green.",
103
- " // Pure red and blue or combination of only R and B, will get no AA.",
104
- " //",
105
- " // Might want to lower the settings for both,",
106
- " // fxaaConsoleEdgeThresholdMin",
107
- " // fxaaQualityEdgeThresholdMin",
108
- " // In order to insure AA does not get turned off on colors",
109
- " // which contain a minor amount of green.",
110
- " //",
111
- " // 1 = On.",
112
- " // 0 = Off.",
113
- " //",
114
- " #define FXAA_GREEN_AS_LUMA 0",
115
- "#endif",
116
- "/*--------------------------------------------------------------------------*/",
117
- "#ifndef FXAA_EARLY_EXIT",
118
- " //",
119
- " // Controls algorithm's early exit path.",
120
- " // On PS3 turning this ON adds 2 cycles to the shader.",
121
- " // On 360 turning this OFF adds 10ths of a millisecond to the shader.",
122
- " // Turning this off on console will result in a more blurry image.",
123
- " // So this defaults to on.",
124
- " //",
125
- " // 1 = On.",
126
- " // 0 = Off.",
127
- " //",
128
- " #define FXAA_EARLY_EXIT 1",
129
- "#endif",
130
- "/*--------------------------------------------------------------------------*/",
131
- "#ifndef FXAA_DISCARD",
132
- " //",
133
- " // Only valid for PC OpenGL currently.",
134
- " // Probably will not work when FXAA_GREEN_AS_LUMA = 1.",
135
- " //",
136
- " // 1 = Use discard on pixels which don't need AA.",
137
- " // For APIs which enable concurrent TEX+ROP from same surface.",
138
- " // 0 = Return unchanged color on pixels which don't need AA.",
139
- " //",
140
- " #define FXAA_DISCARD 0",
141
- "#endif",
142
- "/*--------------------------------------------------------------------------*/",
143
- "#ifndef FXAA_FAST_PIXEL_OFFSET",
144
- " //",
145
- " // Used for GLSL 120 only.",
146
- " //",
147
- " // 1 = GL API supports fast pixel offsets",
148
- " // 0 = do not use fast pixel offsets",
149
- " //",
150
- " #ifdef GL_EXT_gpu_shader4",
151
- " #define FXAA_FAST_PIXEL_OFFSET 1",
152
- " #endif",
153
- " #ifdef GL_NV_gpu_shader5",
154
- " #define FXAA_FAST_PIXEL_OFFSET 1",
155
- " #endif",
156
- " #ifdef GL_ARB_gpu_shader5",
157
- " #define FXAA_FAST_PIXEL_OFFSET 1",
158
- " #endif",
159
- " #ifndef FXAA_FAST_PIXEL_OFFSET",
160
- " #define FXAA_FAST_PIXEL_OFFSET 0",
161
- " #endif",
162
- "#endif",
163
- "/*--------------------------------------------------------------------------*/",
164
- "#ifndef FXAA_GATHER4_ALPHA",
165
- " //",
166
- " // 1 = API supports gather4 on alpha channel.",
167
- " // 0 = API does not support gather4 on alpha channel.",
168
- " //",
169
- " #if (FXAA_HLSL_5 == 1)",
170
- " #define FXAA_GATHER4_ALPHA 1",
171
- " #endif",
172
- " #ifdef GL_ARB_gpu_shader5",
173
- " #define FXAA_GATHER4_ALPHA 1",
174
- " #endif",
175
- " #ifdef GL_NV_gpu_shader5",
176
- " #define FXAA_GATHER4_ALPHA 1",
177
- " #endif",
178
- " #ifndef FXAA_GATHER4_ALPHA",
179
- " #define FXAA_GATHER4_ALPHA 0",
180
- " #endif",
181
- "#endif",
182
- "",
183
- "",
184
- "/*============================================================================",
185
- " FXAA QUALITY - TUNING KNOBS",
186
- "------------------------------------------------------------------------------",
187
- "NOTE the other tuning knobs are now in the shader function inputs!",
188
- "============================================================================*/",
189
- "#ifndef FXAA_QUALITY_PRESET",
190
- " //",
191
- " // Choose the quality preset.",
192
- " // This needs to be compiled into the shader as it effects code.",
193
- " // Best option to include multiple presets is to",
194
- " // in each shader define the preset, then include this file.",
195
- " //",
196
- " // OPTIONS",
197
- " // -----------------------------------------------------------------------",
198
- " // 10 to 15 - default medium dither (10=fastest, 15=highest quality)",
199
- " // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)",
200
- " // 39 - no dither, very expensive",
201
- " //",
202
- " // NOTES",
203
- " // -----------------------------------------------------------------------",
204
- " // 12 = slightly faster then FXAA 3.9 and higher edge quality (default)",
205
- " // 13 = about same speed as FXAA 3.9 and better than 12",
206
- " // 23 = closest to FXAA 3.9 visually and performance wise",
207
- " // _ = the lowest digit is directly related to performance",
208
- " // _ = the highest digit is directly related to style",
209
- " //",
210
- " #define FXAA_QUALITY_PRESET 12",
211
- "#endif",
212
- "",
213
- "",
214
- "/*============================================================================",
215
- "",
216
- " FXAA QUALITY - PRESETS",
217
- "",
218
- "============================================================================*/",
219
- "",
220
- "/*============================================================================",
221
- " FXAA QUALITY - MEDIUM DITHER PRESETS",
222
- "============================================================================*/",
223
- "#if (FXAA_QUALITY_PRESET == 10)",
224
- " #define FXAA_QUALITY_PS 3",
225
- " #define FXAA_QUALITY_P0 1.5",
226
- " #define FXAA_QUALITY_P1 3.0",
227
- " #define FXAA_QUALITY_P2 12.0",
228
- "#endif",
229
- "/*--------------------------------------------------------------------------*/",
230
- "#if (FXAA_QUALITY_PRESET == 11)",
231
- " #define FXAA_QUALITY_PS 4",
232
- " #define FXAA_QUALITY_P0 1.0",
233
- " #define FXAA_QUALITY_P1 1.5",
234
- " #define FXAA_QUALITY_P2 3.0",
235
- " #define FXAA_QUALITY_P3 12.0",
236
- "#endif",
237
- "/*--------------------------------------------------------------------------*/",
238
- "#if (FXAA_QUALITY_PRESET == 12)",
239
- " #define FXAA_QUALITY_PS 5",
240
- " #define FXAA_QUALITY_P0 1.0",
241
- " #define FXAA_QUALITY_P1 1.5",
242
- " #define FXAA_QUALITY_P2 2.0",
243
- " #define FXAA_QUALITY_P3 4.0",
244
- " #define FXAA_QUALITY_P4 12.0",
245
- "#endif",
246
- "/*--------------------------------------------------------------------------*/",
247
- "#if (FXAA_QUALITY_PRESET == 13)",
248
- " #define FXAA_QUALITY_PS 6",
249
- " #define FXAA_QUALITY_P0 1.0",
250
- " #define FXAA_QUALITY_P1 1.5",
251
- " #define FXAA_QUALITY_P2 2.0",
252
- " #define FXAA_QUALITY_P3 2.0",
253
- " #define FXAA_QUALITY_P4 4.0",
254
- " #define FXAA_QUALITY_P5 12.0",
255
- "#endif",
256
- "/*--------------------------------------------------------------------------*/",
257
- "#if (FXAA_QUALITY_PRESET == 14)",
258
- " #define FXAA_QUALITY_PS 7",
259
- " #define FXAA_QUALITY_P0 1.0",
260
- " #define FXAA_QUALITY_P1 1.5",
261
- " #define FXAA_QUALITY_P2 2.0",
262
- " #define FXAA_QUALITY_P3 2.0",
263
- " #define FXAA_QUALITY_P4 2.0",
264
- " #define FXAA_QUALITY_P5 4.0",
265
- " #define FXAA_QUALITY_P6 12.0",
266
- "#endif",
267
- "/*--------------------------------------------------------------------------*/",
268
- "#if (FXAA_QUALITY_PRESET == 15)",
269
- " #define FXAA_QUALITY_PS 8",
270
- " #define FXAA_QUALITY_P0 1.0",
271
- " #define FXAA_QUALITY_P1 1.5",
272
- " #define FXAA_QUALITY_P2 2.0",
273
- " #define FXAA_QUALITY_P3 2.0",
274
- " #define FXAA_QUALITY_P4 2.0",
275
- " #define FXAA_QUALITY_P5 2.0",
276
- " #define FXAA_QUALITY_P6 4.0",
277
- " #define FXAA_QUALITY_P7 12.0",
278
- "#endif",
279
- "",
280
- "/*============================================================================",
281
- " FXAA QUALITY - LOW DITHER PRESETS",
282
- "============================================================================*/",
283
- "#if (FXAA_QUALITY_PRESET == 20)",
284
- " #define FXAA_QUALITY_PS 3",
285
- " #define FXAA_QUALITY_P0 1.5",
286
- " #define FXAA_QUALITY_P1 2.0",
287
- " #define FXAA_QUALITY_P2 8.0",
288
- "#endif",
289
- "/*--------------------------------------------------------------------------*/",
290
- "#if (FXAA_QUALITY_PRESET == 21)",
291
- " #define FXAA_QUALITY_PS 4",
292
- " #define FXAA_QUALITY_P0 1.0",
293
- " #define FXAA_QUALITY_P1 1.5",
294
- " #define FXAA_QUALITY_P2 2.0",
295
- " #define FXAA_QUALITY_P3 8.0",
296
- "#endif",
297
- "/*--------------------------------------------------------------------------*/",
298
- "#if (FXAA_QUALITY_PRESET == 22)",
299
- " #define FXAA_QUALITY_PS 5",
300
- " #define FXAA_QUALITY_P0 1.0",
301
- " #define FXAA_QUALITY_P1 1.5",
302
- " #define FXAA_QUALITY_P2 2.0",
303
- " #define FXAA_QUALITY_P3 2.0",
304
- " #define FXAA_QUALITY_P4 8.0",
305
- "#endif",
306
- "/*--------------------------------------------------------------------------*/",
307
- "#if (FXAA_QUALITY_PRESET == 23)",
308
- " #define FXAA_QUALITY_PS 6",
309
- " #define FXAA_QUALITY_P0 1.0",
310
- " #define FXAA_QUALITY_P1 1.5",
311
- " #define FXAA_QUALITY_P2 2.0",
312
- " #define FXAA_QUALITY_P3 2.0",
313
- " #define FXAA_QUALITY_P4 2.0",
314
- " #define FXAA_QUALITY_P5 8.0",
315
- "#endif",
316
- "/*--------------------------------------------------------------------------*/",
317
- "#if (FXAA_QUALITY_PRESET == 24)",
318
- " #define FXAA_QUALITY_PS 7",
319
- " #define FXAA_QUALITY_P0 1.0",
320
- " #define FXAA_QUALITY_P1 1.5",
321
- " #define FXAA_QUALITY_P2 2.0",
322
- " #define FXAA_QUALITY_P3 2.0",
323
- " #define FXAA_QUALITY_P4 2.0",
324
- " #define FXAA_QUALITY_P5 3.0",
325
- " #define FXAA_QUALITY_P6 8.0",
326
- "#endif",
327
- "/*--------------------------------------------------------------------------*/",
328
- "#if (FXAA_QUALITY_PRESET == 25)",
329
- " #define FXAA_QUALITY_PS 8",
330
- " #define FXAA_QUALITY_P0 1.0",
331
- " #define FXAA_QUALITY_P1 1.5",
332
- " #define FXAA_QUALITY_P2 2.0",
333
- " #define FXAA_QUALITY_P3 2.0",
334
- " #define FXAA_QUALITY_P4 2.0",
335
- " #define FXAA_QUALITY_P5 2.0",
336
- " #define FXAA_QUALITY_P6 4.0",
337
- " #define FXAA_QUALITY_P7 8.0",
338
- "#endif",
339
- "/*--------------------------------------------------------------------------*/",
340
- "#if (FXAA_QUALITY_PRESET == 26)",
341
- " #define FXAA_QUALITY_PS 9",
342
- " #define FXAA_QUALITY_P0 1.0",
343
- " #define FXAA_QUALITY_P1 1.5",
344
- " #define FXAA_QUALITY_P2 2.0",
345
- " #define FXAA_QUALITY_P3 2.0",
346
- " #define FXAA_QUALITY_P4 2.0",
347
- " #define FXAA_QUALITY_P5 2.0",
348
- " #define FXAA_QUALITY_P6 2.0",
349
- " #define FXAA_QUALITY_P7 4.0",
350
- " #define FXAA_QUALITY_P8 8.0",
351
- "#endif",
352
- "/*--------------------------------------------------------------------------*/",
353
- "#if (FXAA_QUALITY_PRESET == 27)",
354
- " #define FXAA_QUALITY_PS 10",
355
- " #define FXAA_QUALITY_P0 1.0",
356
- " #define FXAA_QUALITY_P1 1.5",
357
- " #define FXAA_QUALITY_P2 2.0",
358
- " #define FXAA_QUALITY_P3 2.0",
359
- " #define FXAA_QUALITY_P4 2.0",
360
- " #define FXAA_QUALITY_P5 2.0",
361
- " #define FXAA_QUALITY_P6 2.0",
362
- " #define FXAA_QUALITY_P7 2.0",
363
- " #define FXAA_QUALITY_P8 4.0",
364
- " #define FXAA_QUALITY_P9 8.0",
365
- "#endif",
366
- "/*--------------------------------------------------------------------------*/",
367
- "#if (FXAA_QUALITY_PRESET == 28)",
368
- " #define FXAA_QUALITY_PS 11",
369
- " #define FXAA_QUALITY_P0 1.0",
370
- " #define FXAA_QUALITY_P1 1.5",
371
- " #define FXAA_QUALITY_P2 2.0",
372
- " #define FXAA_QUALITY_P3 2.0",
373
- " #define FXAA_QUALITY_P4 2.0",
374
- " #define FXAA_QUALITY_P5 2.0",
375
- " #define FXAA_QUALITY_P6 2.0",
376
- " #define FXAA_QUALITY_P7 2.0",
377
- " #define FXAA_QUALITY_P8 2.0",
378
- " #define FXAA_QUALITY_P9 4.0",
379
- " #define FXAA_QUALITY_P10 8.0",
380
- "#endif",
381
- "/*--------------------------------------------------------------------------*/",
382
- "#if (FXAA_QUALITY_PRESET == 29)",
383
- " #define FXAA_QUALITY_PS 12",
384
- " #define FXAA_QUALITY_P0 1.0",
385
- " #define FXAA_QUALITY_P1 1.5",
386
- " #define FXAA_QUALITY_P2 2.0",
387
- " #define FXAA_QUALITY_P3 2.0",
388
- " #define FXAA_QUALITY_P4 2.0",
389
- " #define FXAA_QUALITY_P5 2.0",
390
- " #define FXAA_QUALITY_P6 2.0",
391
- " #define FXAA_QUALITY_P7 2.0",
392
- " #define FXAA_QUALITY_P8 2.0",
393
- " #define FXAA_QUALITY_P9 2.0",
394
- " #define FXAA_QUALITY_P10 4.0",
395
- " #define FXAA_QUALITY_P11 8.0",
396
- "#endif",
397
- "",
398
- "/*============================================================================",
399
- " FXAA QUALITY - EXTREME QUALITY",
400
- "============================================================================*/",
401
- "#if (FXAA_QUALITY_PRESET == 39)",
402
- " #define FXAA_QUALITY_PS 12",
403
- " #define FXAA_QUALITY_P0 1.0",
404
- " #define FXAA_QUALITY_P1 1.0",
405
- " #define FXAA_QUALITY_P2 1.0",
406
- " #define FXAA_QUALITY_P3 1.0",
407
- " #define FXAA_QUALITY_P4 1.0",
408
- " #define FXAA_QUALITY_P5 1.5",
409
- " #define FXAA_QUALITY_P6 2.0",
410
- " #define FXAA_QUALITY_P7 2.0",
411
- " #define FXAA_QUALITY_P8 2.0",
412
- " #define FXAA_QUALITY_P9 2.0",
413
- " #define FXAA_QUALITY_P10 4.0",
414
- " #define FXAA_QUALITY_P11 8.0",
415
- "#endif",
416
- "",
417
- "",
418
- "",
419
- "/*============================================================================",
420
- "",
421
- " API PORTING",
422
- "",
423
- "============================================================================*/",
424
- "#if (FXAA_GLSL_100 == 1) || (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1)",
425
- " #define FxaaBool bool",
426
- " #define FxaaDiscard discard",
427
- " #define FxaaFloat float",
428
- " #define FxaaFloat2 vec2",
429
- " #define FxaaFloat3 vec3",
430
- " #define FxaaFloat4 vec4",
431
- " #define FxaaHalf float",
432
- " #define FxaaHalf2 vec2",
433
- " #define FxaaHalf3 vec3",
434
- " #define FxaaHalf4 vec4",
435
- " #define FxaaInt2 ivec2",
436
- " #define FxaaSat(x) clamp(x, 0.0, 1.0)",
437
- " #define FxaaTex sampler2D",
438
- "#else",
439
- " #define FxaaBool bool",
440
- " #define FxaaDiscard clip(-1)",
441
- " #define FxaaFloat float",
442
- " #define FxaaFloat2 float2",
443
- " #define FxaaFloat3 float3",
444
- " #define FxaaFloat4 float4",
445
- " #define FxaaHalf half",
446
- " #define FxaaHalf2 half2",
447
- " #define FxaaHalf3 half3",
448
- " #define FxaaHalf4 half4",
449
- " #define FxaaSat(x) saturate(x)",
450
- "#endif",
451
- "/*--------------------------------------------------------------------------*/",
452
- "#if (FXAA_GLSL_100 == 1)",
453
- " #define FxaaTexTop(t, p) texture2D(t, p, 0.0)",
454
- " #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), 0.0)",
455
- "#endif",
456
- "/*--------------------------------------------------------------------------*/",
457
- "#if (FXAA_GLSL_120 == 1)",
458
- " // Requires,",
459
- " // #version 120",
460
- " // And at least,",
461
- " // #extension GL_EXT_gpu_shader4 : enable",
462
- " // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9)",
463
- " #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)",
464
- " #if (FXAA_FAST_PIXEL_OFFSET == 1)",
465
- " #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)",
466
- " #else",
467
- " #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)",
468
- " #endif",
469
- " #if (FXAA_GATHER4_ALPHA == 1)",
470
- " // use #extension GL_ARB_gpu_shader5 : enable",
471
- " #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)",
472
- " #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)",
473
- " #define FxaaTexGreen4(t, p) textureGather(t, p, 1)",
474
- " #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)",
475
- " #endif",
476
- "#endif",
477
- "/*--------------------------------------------------------------------------*/",
478
- "#if (FXAA_GLSL_130 == 1)",
479
- ' // Requires "#version 130" or better',
480
- " #define FxaaTexTop(t, p) textureLod(t, p, 0.0)",
481
- " #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)",
482
- " #if (FXAA_GATHER4_ALPHA == 1)",
483
- " // use #extension GL_ARB_gpu_shader5 : enable",
484
- " #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)",
485
- " #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)",
486
- " #define FxaaTexGreen4(t, p) textureGather(t, p, 1)",
487
- " #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)",
488
- " #endif",
489
- "#endif",
490
- "/*--------------------------------------------------------------------------*/",
491
- "#if (FXAA_HLSL_3 == 1)",
492
- " #define FxaaInt2 float2",
493
- " #define FxaaTex sampler2D",
494
- " #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))",
495
- " #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))",
496
- "#endif",
497
- "/*--------------------------------------------------------------------------*/",
498
- "#if (FXAA_HLSL_4 == 1)",
499
- " #define FxaaInt2 int2",
500
- " struct FxaaTex { SamplerState smpl; Texture2D tex; };",
501
- " #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)",
502
- " #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)",
503
- "#endif",
504
- "/*--------------------------------------------------------------------------*/",
505
- "#if (FXAA_HLSL_5 == 1)",
506
- " #define FxaaInt2 int2",
507
- " struct FxaaTex { SamplerState smpl; Texture2D tex; };",
508
- " #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)",
509
- " #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)",
510
- " #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p)",
511
- " #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o)",
512
- " #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p)",
513
- " #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o)",
514
- "#endif",
515
- "",
516
- "",
517
- "/*============================================================================",
518
- " GREEN AS LUMA OPTION SUPPORT FUNCTION",
519
- "============================================================================*/",
520
- "#if (FXAA_GREEN_AS_LUMA == 0)",
521
- " FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }",
522
- "#else",
523
- " FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }",
524
- "#endif",
525
- "",
526
- "",
527
- "",
528
- "",
529
- "/*============================================================================",
530
- "",
531
- " FXAA3 QUALITY - PC",
532
- "",
533
- "============================================================================*/",
534
- "#if (FXAA_PC == 1)",
535
- "/*--------------------------------------------------------------------------*/",
536
- "FxaaFloat4 FxaaPixelShader(",
537
- " //",
538
- " // Use noperspective interpolation here (turn off perspective interpolation).",
539
- " // {xy} = center of pixel",
540
- " FxaaFloat2 pos,",
541
- " //",
542
- " // Used only for FXAA Console, and not used on the 360 version.",
543
- " // Use noperspective interpolation here (turn off perspective interpolation).",
544
- " // {xy_} = upper left of pixel",
545
- " // {_zw} = lower right of pixel",
546
- " FxaaFloat4 fxaaConsolePosPos,",
547
- " //",
548
- " // Input color texture.",
549
- " // {rgb_} = color in linear or perceptual color space",
550
- " // if (FXAA_GREEN_AS_LUMA == 0)",
551
- " // {__a} = luma in perceptual color space (not linear)",
552
- " FxaaTex tex,",
553
- " //",
554
- " // Only used on the optimized 360 version of FXAA Console.",
555
- ' // For everything but 360, just use the same input here as for "tex".',
556
- " // For 360, same texture, just alias with a 2nd sampler.",
557
- " // This sampler needs to have an exponent bias of -1.",
558
- " FxaaTex fxaaConsole360TexExpBiasNegOne,",
559
- " //",
560
- " // Only used on the optimized 360 version of FXAA Console.",
561
- ' // For everything but 360, just use the same input here as for "tex".',
562
- " // For 360, same texture, just alias with a 3nd sampler.",
563
- " // This sampler needs to have an exponent bias of -2.",
564
- " FxaaTex fxaaConsole360TexExpBiasNegTwo,",
565
- " //",
566
- " // Only used on FXAA Quality.",
567
- " // This must be from a constant/uniform.",
568
- " // {x_} = 1.0/screenWidthInPixels",
569
- " // {_y} = 1.0/screenHeightInPixels",
570
- " FxaaFloat2 fxaaQualityRcpFrame,",
571
- " //",
572
- " // Only used on FXAA Console.",
573
- " // This must be from a constant/uniform.",
574
- " // This effects sub-pixel AA quality and inversely sharpness.",
575
- " // Where N ranges between,",
576
- " // N = 0.50 (default)",
577
- " // N = 0.33 (sharper)",
578
- " // {x__} = -N/screenWidthInPixels",
579
- " // {_y_} = -N/screenHeightInPixels",
580
- " // {_z_} = N/screenWidthInPixels",
581
- " // {__w} = N/screenHeightInPixels",
582
- " FxaaFloat4 fxaaConsoleRcpFrameOpt,",
583
- " //",
584
- " // Only used on FXAA Console.",
585
- " // Not used on 360, but used on PS3 and PC.",
586
- " // This must be from a constant/uniform.",
587
- " // {x__} = -2.0/screenWidthInPixels",
588
- " // {_y_} = -2.0/screenHeightInPixels",
589
- " // {_z_} = 2.0/screenWidthInPixels",
590
- " // {__w} = 2.0/screenHeightInPixels",
591
- " FxaaFloat4 fxaaConsoleRcpFrameOpt2,",
592
- " //",
593
- " // Only used on FXAA Console.",
594
- " // Only used on 360 in place of fxaaConsoleRcpFrameOpt2.",
595
- " // This must be from a constant/uniform.",
596
- " // {x__} = 8.0/screenWidthInPixels",
597
- " // {_y_} = 8.0/screenHeightInPixels",
598
- " // {_z_} = -4.0/screenWidthInPixels",
599
- " // {__w} = -4.0/screenHeightInPixels",
600
- " FxaaFloat4 fxaaConsole360RcpFrameOpt2,",
601
- " //",
602
- " // Only used on FXAA Quality.",
603
- " // This used to be the FXAA_QUALITY_SUBPIX define.",
604
- " // It is here now to allow easier tuning.",
605
- " // Choose the amount of sub-pixel aliasing removal.",
606
- " // This can effect sharpness.",
607
- " // 1.00 - upper limit (softer)",
608
- " // 0.75 - default amount of filtering",
609
- " // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)",
610
- " // 0.25 - almost off",
611
- " // 0.00 - completely off",
612
- " FxaaFloat fxaaQualitySubpix,",
613
- " //",
614
- " // Only used on FXAA Quality.",
615
- " // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define.",
616
- " // It is here now to allow easier tuning.",
617
- " // The minimum amount of local contrast required to apply algorithm.",
618
- " // 0.333 - too little (faster)",
619
- " // 0.250 - low quality",
620
- " // 0.166 - default",
621
- " // 0.125 - high quality",
622
- " // 0.063 - overkill (slower)",
623
- " FxaaFloat fxaaQualityEdgeThreshold,",
624
- " //",
625
- " // Only used on FXAA Quality.",
626
- " // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define.",
627
- " // It is here now to allow easier tuning.",
628
- " // Trims the algorithm from processing darks.",
629
- " // 0.0833 - upper limit (default, the start of visible unfiltered edges)",
630
- " // 0.0625 - high quality (faster)",
631
- " // 0.0312 - visible limit (slower)",
632
- " // Special notes when using FXAA_GREEN_AS_LUMA,",
633
- " // Likely want to set this to zero.",
634
- " // As colors that are mostly not-green",
635
- " // will appear very dark in the green channel!",
636
- " // Tune by looking at mostly non-green content,",
637
- " // then start at zero and increase until aliasing is a problem.",
638
- " FxaaFloat fxaaQualityEdgeThresholdMin,",
639
- " //",
640
- " // Only used on FXAA Console.",
641
- " // This used to be the FXAA_CONSOLE_EDGE_SHARPNESS define.",
642
- " // It is here now to allow easier tuning.",
643
- " // This does not effect PS3, as this needs to be compiled in.",
644
- " // Use FXAA_CONSOLE_PS3_EDGE_SHARPNESS for PS3.",
645
- " // Due to the PS3 being ALU bound,",
646
- " // there are only three safe values here: 2 and 4 and 8.",
647
- " // These options use the shaders ability to a free *|/ by 2|4|8.",
648
- " // For all other platforms can be a non-power of two.",
649
- " // 8.0 is sharper (default!!!)",
650
- " // 4.0 is softer",
651
- " // 2.0 is really soft (good only for vector graphics inputs)",
652
- " FxaaFloat fxaaConsoleEdgeSharpness,",
653
- " //",
654
- " // Only used on FXAA Console.",
655
- " // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD define.",
656
- " // It is here now to allow easier tuning.",
657
- " // This does not effect PS3, as this needs to be compiled in.",
658
- " // Use FXAA_CONSOLE_PS3_EDGE_THRESHOLD for PS3.",
659
- " // Due to the PS3 being ALU bound,",
660
- " // there are only two safe values here: 1/4 and 1/8.",
661
- " // These options use the shaders ability to a free *|/ by 2|4|8.",
662
- " // The console setting has a different mapping than the quality setting.",
663
- " // Other platforms can use other values.",
664
- " // 0.125 leaves less aliasing, but is softer (default!!!)",
665
- " // 0.25 leaves more aliasing, and is sharper",
666
- " FxaaFloat fxaaConsoleEdgeThreshold,",
667
- " //",
668
- " // Only used on FXAA Console.",
669
- " // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD_MIN define.",
670
- " // It is here now to allow easier tuning.",
671
- " // Trims the algorithm from processing darks.",
672
- " // The console setting has a different mapping than the quality setting.",
673
- " // This only applies when FXAA_EARLY_EXIT is 1.",
674
- " // This does not apply to PS3,",
675
- " // PS3 was simplified to avoid more shader instructions.",
676
- " // 0.06 - faster but more aliasing in darks",
677
- " // 0.05 - default",
678
- " // 0.04 - slower and less aliasing in darks",
679
- " // Special notes when using FXAA_GREEN_AS_LUMA,",
680
- " // Likely want to set this to zero.",
681
- " // As colors that are mostly not-green",
682
- " // will appear very dark in the green channel!",
683
- " // Tune by looking at mostly non-green content,",
684
- " // then start at zero and increase until aliasing is a problem.",
685
- " FxaaFloat fxaaConsoleEdgeThresholdMin,",
686
- " //",
687
- " // Extra constants for 360 FXAA Console only.",
688
- " // Use zeros or anything else for other platforms.",
689
- " // These must be in physical constant registers and NOT immediates.",
690
- " // Immediates will result in compiler un-optimizing.",
691
- " // {xyzw} = float4(1.0, -1.0, 0.25, -0.25)",
692
- " FxaaFloat4 fxaaConsole360ConstDir",
693
- ") {",
694
- "/*--------------------------------------------------------------------------*/",
695
- " FxaaFloat2 posM;",
696
- " posM.x = pos.x;",
697
- " posM.y = pos.y;",
698
- " #if (FXAA_GATHER4_ALPHA == 1)",
699
- " #if (FXAA_DISCARD == 0)",
700
- " FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);",
701
- " #if (FXAA_GREEN_AS_LUMA == 0)",
702
- " #define lumaM rgbyM.w",
703
- " #else",
704
- " #define lumaM rgbyM.y",
705
- " #endif",
706
- " #endif",
707
- " #if (FXAA_GREEN_AS_LUMA == 0)",
708
- " FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM);",
709
- " FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1));",
710
- " #else",
711
- " FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM);",
712
- " FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1));",
713
- " #endif",
714
- " #if (FXAA_DISCARD == 1)",
715
- " #define lumaM luma4A.w",
716
- " #endif",
717
- " #define lumaE luma4A.z",
718
- " #define lumaS luma4A.x",
719
- " #define lumaSE luma4A.y",
720
- " #define lumaNW luma4B.w",
721
- " #define lumaN luma4B.z",
722
- " #define lumaW luma4B.x",
723
- " #else",
724
- " FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);",
725
- " #if (FXAA_GREEN_AS_LUMA == 0)",
726
- " #define lumaM rgbyM.w",
727
- " #else",
728
- " #define lumaM rgbyM.y",
729
- " #endif",
730
- " #if (FXAA_GLSL_100 == 1)",
731
- " FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0, 1.0), fxaaQualityRcpFrame.xy));",
732
- " FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 0.0), fxaaQualityRcpFrame.xy));",
733
- " FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0,-1.0), fxaaQualityRcpFrame.xy));",
734
- " FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 0.0), fxaaQualityRcpFrame.xy));",
735
- " #else",
736
- " FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));",
737
- " FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));",
738
- " FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));",
739
- " FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));",
740
- " #endif",
741
- " #endif",
742
- "/*--------------------------------------------------------------------------*/",
743
- " FxaaFloat maxSM = max(lumaS, lumaM);",
744
- " FxaaFloat minSM = min(lumaS, lumaM);",
745
- " FxaaFloat maxESM = max(lumaE, maxSM);",
746
- " FxaaFloat minESM = min(lumaE, minSM);",
747
- " FxaaFloat maxWN = max(lumaN, lumaW);",
748
- " FxaaFloat minWN = min(lumaN, lumaW);",
749
- " FxaaFloat rangeMax = max(maxWN, maxESM);",
750
- " FxaaFloat rangeMin = min(minWN, minESM);",
751
- " FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;",
752
- " FxaaFloat range = rangeMax - rangeMin;",
753
- " FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);",
754
- " FxaaBool earlyExit = range < rangeMaxClamped;",
755
- "/*--------------------------------------------------------------------------*/",
756
- " if(earlyExit)",
757
- " #if (FXAA_DISCARD == 1)",
758
- " FxaaDiscard;",
759
- " #else",
760
- " return rgbyM;",
761
- " #endif",
762
- "/*--------------------------------------------------------------------------*/",
763
- " #if (FXAA_GATHER4_ALPHA == 0)",
764
- " #if (FXAA_GLSL_100 == 1)",
765
- " FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0,-1.0), fxaaQualityRcpFrame.xy));",
766
- " FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 1.0), fxaaQualityRcpFrame.xy));",
767
- " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0,-1.0), fxaaQualityRcpFrame.xy));",
768
- " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 1.0), fxaaQualityRcpFrame.xy));",
769
- " #else",
770
- " FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));",
771
- " FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));",
772
- " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));",
773
- " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));",
774
- " #endif",
775
- " #else",
776
- " FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy));",
777
- " FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));",
778
- " #endif",
779
- "/*--------------------------------------------------------------------------*/",
780
- " FxaaFloat lumaNS = lumaN + lumaS;",
781
- " FxaaFloat lumaWE = lumaW + lumaE;",
782
- " FxaaFloat subpixRcpRange = 1.0/range;",
783
- " FxaaFloat subpixNSWE = lumaNS + lumaWE;",
784
- " FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;",
785
- " FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;",
786
- "/*--------------------------------------------------------------------------*/",
787
- " FxaaFloat lumaNESE = lumaNE + lumaSE;",
788
- " FxaaFloat lumaNWNE = lumaNW + lumaNE;",
789
- " FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;",
790
- " FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;",
791
- "/*--------------------------------------------------------------------------*/",
792
- " FxaaFloat lumaNWSW = lumaNW + lumaSW;",
793
- " FxaaFloat lumaSWSE = lumaSW + lumaSE;",
794
- " FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);",
795
- " FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);",
796
- " FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;",
797
- " FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;",
798
- " FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;",
799
- " FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;",
800
- "/*--------------------------------------------------------------------------*/",
801
- " FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;",
802
- " FxaaFloat lengthSign = fxaaQualityRcpFrame.x;",
803
- " FxaaBool horzSpan = edgeHorz >= edgeVert;",
804
- " FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;",
805
- "/*--------------------------------------------------------------------------*/",
806
- " if(!horzSpan) lumaN = lumaW;",
807
- " if(!horzSpan) lumaS = lumaE;",
808
- " if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;",
809
- " FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;",
810
- "/*--------------------------------------------------------------------------*/",
811
- " FxaaFloat gradientN = lumaN - lumaM;",
812
- " FxaaFloat gradientS = lumaS - lumaM;",
813
- " FxaaFloat lumaNN = lumaN + lumaM;",
814
- " FxaaFloat lumaSS = lumaS + lumaM;",
815
- " FxaaBool pairN = abs(gradientN) >= abs(gradientS);",
816
- " FxaaFloat gradient = max(abs(gradientN), abs(gradientS));",
817
- " if(pairN) lengthSign = -lengthSign;",
818
- " FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);",
819
- "/*--------------------------------------------------------------------------*/",
820
- " FxaaFloat2 posB;",
821
- " posB.x = posM.x;",
822
- " posB.y = posM.y;",
823
- " FxaaFloat2 offNP;",
824
- " offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;",
825
- " offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;",
826
- " if(!horzSpan) posB.x += lengthSign * 0.5;",
827
- " if( horzSpan) posB.y += lengthSign * 0.5;",
828
- "/*--------------------------------------------------------------------------*/",
829
- " FxaaFloat2 posN;",
830
- " posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;",
831
- " posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;",
832
- " FxaaFloat2 posP;",
833
- " posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;",
834
- " posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;",
835
- " FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;",
836
- " FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));",
837
- " FxaaFloat subpixE = subpixC * subpixC;",
838
- " FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));",
839
- "/*--------------------------------------------------------------------------*/",
840
- " if(!pairN) lumaNN = lumaSS;",
841
- " FxaaFloat gradientScaled = gradient * 1.0/4.0;",
842
- " FxaaFloat lumaMM = lumaM - lumaNN * 0.5;",
843
- " FxaaFloat subpixF = subpixD * subpixE;",
844
- " FxaaBool lumaMLTZero = lumaMM < 0.0;",
845
- "/*--------------------------------------------------------------------------*/",
846
- " lumaEndN -= lumaNN * 0.5;",
847
- " lumaEndP -= lumaNN * 0.5;",
848
- " FxaaBool doneN = abs(lumaEndN) >= gradientScaled;",
849
- " FxaaBool doneP = abs(lumaEndP) >= gradientScaled;",
850
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;",
851
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;",
852
- " FxaaBool doneNP = (!doneN) || (!doneP);",
853
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;",
854
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;",
855
- "/*--------------------------------------------------------------------------*/",
856
- " if(doneNP) {",
857
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
858
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
859
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
860
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
861
- " doneN = abs(lumaEndN) >= gradientScaled;",
862
- " doneP = abs(lumaEndP) >= gradientScaled;",
863
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;",
864
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;",
865
- " doneNP = (!doneN) || (!doneP);",
866
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;",
867
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;",
868
- "/*--------------------------------------------------------------------------*/",
869
- " #if (FXAA_QUALITY_PS > 3)",
870
- " if(doneNP) {",
871
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
872
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
873
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
874
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
875
- " doneN = abs(lumaEndN) >= gradientScaled;",
876
- " doneP = abs(lumaEndP) >= gradientScaled;",
877
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;",
878
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;",
879
- " doneNP = (!doneN) || (!doneP);",
880
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;",
881
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;",
882
- "/*--------------------------------------------------------------------------*/",
883
- " #if (FXAA_QUALITY_PS > 4)",
884
- " if(doneNP) {",
885
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
886
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
887
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
888
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
889
- " doneN = abs(lumaEndN) >= gradientScaled;",
890
- " doneP = abs(lumaEndP) >= gradientScaled;",
891
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;",
892
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;",
893
- " doneNP = (!doneN) || (!doneP);",
894
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;",
895
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;",
896
- "/*--------------------------------------------------------------------------*/",
897
- " #if (FXAA_QUALITY_PS > 5)",
898
- " if(doneNP) {",
899
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
900
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
901
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
902
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
903
- " doneN = abs(lumaEndN) >= gradientScaled;",
904
- " doneP = abs(lumaEndP) >= gradientScaled;",
905
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;",
906
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;",
907
- " doneNP = (!doneN) || (!doneP);",
908
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;",
909
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;",
910
- "/*--------------------------------------------------------------------------*/",
911
- " #if (FXAA_QUALITY_PS > 6)",
912
- " if(doneNP) {",
913
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
914
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
915
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
916
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
917
- " doneN = abs(lumaEndN) >= gradientScaled;",
918
- " doneP = abs(lumaEndP) >= gradientScaled;",
919
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;",
920
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;",
921
- " doneNP = (!doneN) || (!doneP);",
922
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;",
923
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;",
924
- "/*--------------------------------------------------------------------------*/",
925
- " #if (FXAA_QUALITY_PS > 7)",
926
- " if(doneNP) {",
927
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
928
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
929
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
930
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
931
- " doneN = abs(lumaEndN) >= gradientScaled;",
932
- " doneP = abs(lumaEndP) >= gradientScaled;",
933
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;",
934
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;",
935
- " doneNP = (!doneN) || (!doneP);",
936
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;",
937
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;",
938
- "/*--------------------------------------------------------------------------*/",
939
- " #if (FXAA_QUALITY_PS > 8)",
940
- " if(doneNP) {",
941
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
942
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
943
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
944
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
945
- " doneN = abs(lumaEndN) >= gradientScaled;",
946
- " doneP = abs(lumaEndP) >= gradientScaled;",
947
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;",
948
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;",
949
- " doneNP = (!doneN) || (!doneP);",
950
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;",
951
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;",
952
- "/*--------------------------------------------------------------------------*/",
953
- " #if (FXAA_QUALITY_PS > 9)",
954
- " if(doneNP) {",
955
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
956
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
957
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
958
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
959
- " doneN = abs(lumaEndN) >= gradientScaled;",
960
- " doneP = abs(lumaEndP) >= gradientScaled;",
961
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;",
962
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;",
963
- " doneNP = (!doneN) || (!doneP);",
964
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;",
965
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;",
966
- "/*--------------------------------------------------------------------------*/",
967
- " #if (FXAA_QUALITY_PS > 10)",
968
- " if(doneNP) {",
969
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
970
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
971
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
972
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
973
- " doneN = abs(lumaEndN) >= gradientScaled;",
974
- " doneP = abs(lumaEndP) >= gradientScaled;",
975
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;",
976
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;",
977
- " doneNP = (!doneN) || (!doneP);",
978
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;",
979
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;",
980
- "/*--------------------------------------------------------------------------*/",
981
- " #if (FXAA_QUALITY_PS > 11)",
982
- " if(doneNP) {",
983
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
984
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
985
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
986
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
987
- " doneN = abs(lumaEndN) >= gradientScaled;",
988
- " doneP = abs(lumaEndP) >= gradientScaled;",
989
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;",
990
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;",
991
- " doneNP = (!doneN) || (!doneP);",
992
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;",
993
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;",
994
- "/*--------------------------------------------------------------------------*/",
995
- " #if (FXAA_QUALITY_PS > 12)",
996
- " if(doneNP) {",
997
- " if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));",
998
- " if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));",
999
- " if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;",
1000
- " if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;",
1001
- " doneN = abs(lumaEndN) >= gradientScaled;",
1002
- " doneP = abs(lumaEndP) >= gradientScaled;",
1003
- " if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;",
1004
- " if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;",
1005
- " doneNP = (!doneN) || (!doneP);",
1006
- " if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;",
1007
- " if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;",
1008
- "/*--------------------------------------------------------------------------*/",
1009
- " }",
1010
- " #endif",
1011
- "/*--------------------------------------------------------------------------*/",
1012
- " }",
1013
- " #endif",
1014
- "/*--------------------------------------------------------------------------*/",
1015
- " }",
1016
- " #endif",
1017
- "/*--------------------------------------------------------------------------*/",
1018
- " }",
1019
- " #endif",
1020
- "/*--------------------------------------------------------------------------*/",
1021
- " }",
1022
- " #endif",
1023
- "/*--------------------------------------------------------------------------*/",
1024
- " }",
1025
- " #endif",
1026
- "/*--------------------------------------------------------------------------*/",
1027
- " }",
1028
- " #endif",
1029
- "/*--------------------------------------------------------------------------*/",
1030
- " }",
1031
- " #endif",
1032
- "/*--------------------------------------------------------------------------*/",
1033
- " }",
1034
- " #endif",
1035
- "/*--------------------------------------------------------------------------*/",
1036
- " }",
1037
- " #endif",
1038
- "/*--------------------------------------------------------------------------*/",
1039
- " }",
1040
- "/*--------------------------------------------------------------------------*/",
1041
- " FxaaFloat dstN = posM.x - posN.x;",
1042
- " FxaaFloat dstP = posP.x - posM.x;",
1043
- " if(!horzSpan) dstN = posM.y - posN.y;",
1044
- " if(!horzSpan) dstP = posP.y - posM.y;",
1045
- "/*--------------------------------------------------------------------------*/",
1046
- " FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;",
1047
- " FxaaFloat spanLength = (dstP + dstN);",
1048
- " FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;",
1049
- " FxaaFloat spanLengthRcp = 1.0/spanLength;",
1050
- "/*--------------------------------------------------------------------------*/",
1051
- " FxaaBool directionN = dstN < dstP;",
1052
- " FxaaFloat dst = min(dstN, dstP);",
1053
- " FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;",
1054
- " FxaaFloat subpixG = subpixF * subpixF;",
1055
- " FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;",
1056
- " FxaaFloat subpixH = subpixG * fxaaQualitySubpix;",
1057
- "/*--------------------------------------------------------------------------*/",
1058
- " FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;",
1059
- " FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);",
1060
- " if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;",
1061
- " if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;",
1062
- " #if (FXAA_DISCARD == 1)",
1063
- " return FxaaTexTop(tex, posM);",
1064
- " #else",
1065
- " return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);",
1066
- " #endif",
1067
- "}",
1068
- "/*==========================================================================*/",
1069
- "#endif",
1070
- "",
1071
- "void main() {",
1072
- " gl_FragColor = FxaaPixelShader(",
1073
- " vUv,",
1074
- " vec4(0.0),",
1075
- " tDiffuse,",
1076
- " tDiffuse,",
1077
- " tDiffuse,",
1078
- " resolution,",
1079
- " vec4(0.0),",
1080
- " vec4(0.0),",
1081
- " vec4(0.0),",
1082
- " 0.75,",
1083
- " 0.166,",
1084
- " 0.0833,",
1085
- " 0.0,",
1086
- " 0.0,",
1087
- " 0.0,",
1088
- " vec4(0.0)",
1089
- " );",
1090
- "",
1091
- " // TODO avoid querying texture twice for same texel",
1092
- " gl_FragColor.a = texture2D(tDiffuse, vUv).a;",
1093
- "}"
1094
- ].join("\n")
1095
- };
1096
- export {
1097
- FXAAShader
1098
- };