I started to experiment with simplest CRT shader I found, author: Themaister
By default it also renders vertical scanlines.
I found that if I replace calculation of omega variable:
omega = vec2(3.1415 * rubyOutputSize.x * rubyTextureSize.x / rubyInputSize.x, 2.0 * 3.1415 * rubyTextureSize.y);
omega = vec2(2.0 * 3.1415 * rubyOutputSize.x * rubyTextureSize.x / rubyInputSize.x, 3.1415 * rubyTextureSize.y);
it fixes scanlines:
It's good, but I want to use more advanced shader, like cgwg, Themaister and DOLLS CRT shader.
However, it uses more complex mathematics, and I can't find where to tune it to get needed result.
Other question: why these filters work for bsnes? What did I wrong with OpenGL parameters to get this curse? The OpenGL code is very basic - just draw textured rectangle with CRT shader enabled.