Well done for persevering and figuring it out. I hope you’ve learnt a lot!
Attached is a refined technique:
RGB Screen_2.1.blend (518.4 KB)
… this one is a bit more involved in that it does 3 sample passes to ensure only sold dots, and the dots are perfectly circular.
If you check inside the .offsets node-group you’ll see sqrt(2)
and sqrt(3)
make an appearance to adjust for the circle/dot generation (Specifically Dot Size Adjust to make the circle perfect).
I enjoyed doing this exercise and its taught me that Blender’s Shader nodes have a lot of room for improvement. Features that Geometry Nodes editor has that the Shader editor is missing include the ability to specify images as node-group inputs. Without that you are currently not able to make a totally reusable CRT-scanline node-group that you can drop in and then just select an image source. To reuse this you’ll have to manually go into the material and select a new image 3 times (for each sample-source)
Credits: The packed image is from https://thispersondoesnotexist.com/