This is just a little test of using WebGL fragment shaders to dither a THREE.js scene using the same simple THREE.PlaneGeometry rendering of a selected image as my pixel sort demo. I gave up on this in 2019 when I got it to, at best, posterize the test image; however, I decided to see it through to completion in 2023!
Most of the shader code is based on Dithermark's shaders, with a decent amount of modification for the simpler use case. More specifically, the JavaScript used to send the Bayer matrix as a texture to WebGL is using THREE.DataTexture rather than the direct WebGL methods used by Dithermark.