Hey guys!
I've been using CRT_Emudriver successfully for quite some time. I have a cabinet with a consumer TV as a monitor.
Recently, I aquired a new (to me) Sony CRT with a flat tube. Horizontal linearity on this tube is quite bad, there is significant warping. I saw that this problem is also present on arcade monitors etc and in general, there almost never is an option to adjust this in the service menu.
First, I thought about shaders: There are a couple of barrel distortion shaders to simulate the look of a CRT. I guess it would be possible to compensate for bad linearity by setting up a profile specific to a monitor. Let's say the picture stretches the image in the middle and compresses it on the sides. Then you'd have to set it up inverse to compensate.
Then I thought about Super Resolutions: a classic Super resolution would be 2560 horizontal. If the video signal has 256 pixels, an integer factor of 10 is applied to each of the 256 pixels. If it would now be somehow possible to modify this factor for each pixel, (use 12 for the outer pixels, 8 for the inner pixels), it would compensate the distortion once again.
My question now is: is this feasible to implement? Do you think the feature is too niche to bother? I'd really like to hear some feedback!