Experimenting with different combinations of shader passes to get a reasonably nice Depth-of-Field (DOF). It's a bit too soft, but it does work.
Choose color scheme: Red | Blue
Choose devicePixelRatio: 1 pixel | Original pixel ratio
Toggle DOF direction | Toggle blur mode
More details...
Path is a THREE.Curves.TorusKnot, and it's used to move the camera and generate a tunel with THREE.TubeGeometry.
The tunnel is rendered to three different framebuffers: diffuse color, only glow textures and depth buffer.
Then glow and diffuse are combined in a pass that uses bias on texture2D to create a soft glow out of the glow texture. The glow texture is smaller than the diffuse texture, but there's no blur involved. The glow strength is used to add a dirt lens texture on top.
Then the combined diffuse+glow texture has a poisson-disc based blur performed, modulated by the depth buffer, to create the DOF efffect.
A final pass performs FXXA, adds a bit of noise and vignetting.
Some discarded ideas are: using a blur framebuffer created with a separable blur (it's faster but the result is less compelling), adding an interlaced effect on top of the final buffer (it looks correct, but it makes DOF unnoticeable), RGB shift / chromatic aberration pass (it was just too much, didn't improve the result).
Credits
Path and tunnel created with the excellent Spline Extrusion by zz85.
Blur: Poisson Disc by hornet, Post process - FXAA by reinder and post: Barrel Blur Chroma by hornet, all from ShaderToy.