Sony Megatron Colour Video Monitor

Are you sure it curves in the x axis and not the z axis? This is a 3 dimensional object. It might be across the x axis but the direction of the curve is into the z axis, not so?

https://images.app.goo.gl/x69ksANSf5QGZaEW7

1 Like

What I meant by this is that the sharpness of the scanlines do not bother me as much with a darker color palette. In games where the scanlines are more apparent my eyes start to bother me after a while, even if I lower the brightness. This has happened with other shaders that have very sharp scanlines (ex kurozumi), not something exclusive to this one.

Well you could argue it’s the y axis but yes you’re right X is definitely the wrong axis - I knew what I meant in my head even though no one else did :joy:

1 Like

You’ll be glad to hear I’m currently working on that and the next version will have more accurate scan lines to my PVM.

1 Like

You see, I think everyone understands what we’re talking about but it’s time we start addressing this concept of proper perspective correct curvature and usher in the next generation of curvature techniques. The current ones with the fishbowl effect still leave a bit to be desired but I haven’t really heard anyone else say what I’ve been saying about the way I have perceived curvature of the in game image as opposed to curvature of the screen. Thankfully @HyperspaceMadness has begun to address this in his awesome HSM Mega Bezel Reflection Shader with his implementation of independent image and CRT Bezel curvature, which is a great step in the right direction but the next generation might hopefully go as far as attempting to simulate proper, realistic geometry distortion for example. Sometimes, instead of a curved lines near the borders people’s sets ended up with a wavy line at the edges as they tried their best to get that geometry dialed in correctly. So we would need similar pin cushion controls and trapezoidal controls like on computer monitors.

What we have now is just people slapping on curvature and adjusting the strength of their bends and saying, "Oh what a good boy/girl am I! I just made a CRT. Then they proceed to play games using those bent out shape settings that warp and magnify the images in ways that old TV’s and monitors never did (at least not by that amount).

If you look at a CRT with an image on it from the bottom or top, depending on if you’re higher or lower, either the top or bottom might be flatter or more curved than the other. What we have now are static bends in the x and y axis, (which is technically incorrect, it might only appear that way if not looking at a screen head on.) The perspective and curve doesn’t change with respect to the actual viewing angle, and perspective of the viewer.

2 Likes

Edit: I’ll rephrase:

These two are the most accurate curvature I’ve seen done by examining real world hardware:

Shader is here: shaders_slang\anti-aliasing\shaders\ewa_curvature.slang


The shader is here: shaders_slang/crt/crt-yo6-KV-M1420B.slangp


Royale does a 3D projection which looks good and can respond to curvature, viewing distance and tilt but is slow.

5 Likes

Yes so my old 2730’s (I luckily have two of them) have an absolute ton of pots for the things you mention and more but I have little idea how they are implemented in practice. I can see what their end results are but is that enough?

In terms of what you’re saying is not a 3D projection of a curved surface enough?

I’ve implemented basic convergence in my shader now as I believe that is pretty crucial to the 2730s look as they ALWAYS have convergence issues especially at the edges. They also always have geometry issues too - you’re just trying to minimise them.

1 Like

Ah thanks for these links I’ll have a read. What are the other methods to 3D projection? I would have thought that is the only way to do this?

2 Likes

Maybe, the issue I mainly have is that most examples of curvature I see are really examples of what uncorrected severe pincushion distortion would look like.

That was never my experience playing games on a CRT. Even if playing on a curved CRT, my horizontal and vertical lines looked relatively straight going across the screen. Sideways scrolling didn’t look like things were going around a bulb or bulge like they do with most of the curvature presets I see at their default settings.

If viewing a curved screen from below the bottom would appear less curved than the top and vice versa.

So to summarize, the examples and implementations of curvature that I commonly see are exaggerated. They look a bit off in terms of perspective distortion as well.

I just can’t use them without getting a headache or motion sickness, probably because they feel very wrong to my brain.

So I feel as though there might be some room for improvement. Certainly in the geometric distortion correction department because I’m sure manufacturers would have worked to minimize geometric distortion before shipping their products and consumers were given the tools to do so as well at least in terms of monitors.

I do acknowledge that some mainly very old CRT TVs might have featured highly curved, bent, pincushioned, fishbowl like images but those would’ve been way before my time. The size of the TV might have also played a part in determining how bad this distortion due to curvature of the image looked.

Implementing the behaviour of types of controls should probably be the next step towards improving curvature emulation. This must be implemented in conjunction with independent screen and image curvature controls. The curvature of the screen would remain static, while the distortion caused by the curvature of the screen on the image wouldn’t be 1:1 due to the ability to minimize and correct said distortion in the image itself via these controls.

Take this random image that I borrowed from elsewhere in the forum for example. You can see the pincushion effect in all four corners and of course it also affects the center as well as all horizontal (and vertical) lines in the image. This is not the way I remember things in my extensive CRT experience. Those corner distortions could be easily fixed. The end result may not have been an absolutely perfectly straight, parallel, horizontal (or vertical) line but I hope you understand my point and the adjustment would’ve affected the entire image.

Thus screen curvature should not necessarily be equal to image curvature. After accounting for geometric distortion correction, image curvature could be a lot less (or a bit different) than screen curvature.

Once this is implemented correctly, all of the other anomalies created by the current implementations should fall into place.

The curvature of the screen can still be “suggested” by using things like @HyperspaceMadness’s Tube Diffuse Layer because light, shadows and reflections hitting the outside of the curved tube would be completely affected by its curved nature while being completely unaffected by the set’s geometry adjustments.

I think some people might be (incorrectly) using the curvature of the image and pincushion distortion to “suggest” that they’re not playing on a perfectly flat display because a perfectly flat would clearly be an inaccurate representation of a CRT’s image output in their minds.

So in concluding, nothing should be wrong with measuring and modeling the dimensions of the outside curvature of a CRT Screen and implementing it in a shader. What’s wrong is assuming that the final image projection is supposed to conform to the shape and dimensions of that physical screen glass model 1:1.

That’s where things need to be improved.

2 Likes

I just hate the moire that you inevitably get when using curvature. No good way to solve it.

2 Likes

So, with a CRT, you ideally want a 90-degree angle of incidence (I think that’s the term?) of the electron beam hitting the phosphor array for a number of reasons (sharpness, convergence, etc), and the curved surface helps with this as you move further from the center of the screen–which the gun hits perfectly without any steering.

However, nobody wants to see the curve because it looks bad, so you use pincushioning to correct for the barreling. This results in the image looking flat (ideally) at the cost of not using the entire surface. This is most noticeable at the cardinal directions, but it’s mostly covered up by bezel and overscan.

You can see some of it (and still some barreling) in this shot from my arcade cab.

It’s basically the inverse of what VR rendering does to correct for the barrel distortion of the HMD lenses.

So, yeah, the effects we typically make in shaders are what you would see on uncorrected CRTs and/or very small ones where you want to maximize the visible area at the cost of reduced correction.

6 Likes

Maybe after proper geometry distortion correction moire patterns might go away. I remember that being the case on computer monitors as moire patterns were “a thing” that I experienced particularly during adjustment time when switching to new resolutions for the first time.

3 Likes

Just a quick update on the latest version of my shader which one is the PVM? (Hopefully @Nesguy will like the pixel close up?)

Ok I’m sure for you pro’s its easy but its getting close, no? There are many things a bit off but its not bad.

7 Likes

I’m no pro but I’m guessing that the 1st image is your Shader and the second is the real PVM. It’s extremely close in that both look pretty similar in many respects, plus the limitations of photography might conceal some of the differences. It’s great that they both seem to do what we want them to do to the pixels. I have my reasons for my selection.

It definitely wasn’t easy for me to pick which one.

1 Like

Very cool, getting close, I love the side by side :star_struck:

Do you use the same fstop/aperture for the pictures?

3 Likes

Yes, very nice! With some tweaking I think it will be indistinguishable from the real thing. Getting very close.

One characteristic of Trinitron displays is that the individual phosphors will sometimes bleed completely over the scanlines (check out the blues in Link’s shield). I managed to capture this effect in my SoM shot; check out the reds. This is something you see on pretty much all Trinitrons except for BVMs. I think it makes for an even more dynamic and interesting image. This can be very easily achieved with some adjustment to the scanlines.

I like the little bit of deconvergence you added, too.

Sharpness seems a tad high compared to the real thing, but that’s easily fixed with some very slight gaussian blur.

Also, happy to see that no trace of the LCD pixel grid is visible in the shot of the LCD, that kills the illusion.

Excellent work.

Here’s a photo illustrating the phosphor bleed over scanlines, you can see it in the reds.

3 Likes

I didn’t see your picks @HyperspaceMadness & @Nesguy. Which is which? Before @MajorPainTheCactus gives us the answer.

1 Like

1st one is the LCD based on the phosphor dynamics and edge sharpness.

Also if you look very closely there’s a bit of roughness to the phosphors in the first photo, owing to the lcd pixel structure, whereas the real phosphors are completely smooth. It’s very subtle.

It’s very impressive overall.

2 Likes

Here is a shot from my Sony Trinitron, as good as it gets with a cellphone camera. Nintendo Wii driving the Trinitron with an RGB scart. RetroArch and snes9x

4 Likes

I noticed these two qualities as well, however the first one has a more intense glow and saturation. The image is also slightly more smeared and out of focus which can easily be mistaken for analog bleeding and blending.

1 Like