I’m lost as to what I’m supposed to be doing to improve things at this point
Let me see if I can break it down.
Up until very recently any mask in Sony Megatron Color Video Monitor and the majority of masks in CRT-Guest-Advanced would not produce results like you have in your top RRGGBBX picture on an OLED TV.
There would always be some uneveness or misalignment in terms of the “phosphors” or black gaps producing some really strange looking triads from up close.
In the past it was thought that OLED TV users just had to accept this and the best option for OLED TVs were B&W Masks.
Purely by accident, I stumbled upon a Mask and Layout combination in CRT-Guest-Advanced that did in fact show even and aligned “phosphor” triads on an OLED TV. Something that was previously thought to be impossible.
I documented and shared my findings with the community.
My thinking is that if a similar mask and layout were available in Sony Megatron Color Video Monitor it should finally provide OLED TV users of Sony Megatron Color Video Monitor with properly aligned “phosphor” triads and spacing at least in Slot Masks and Aperture Grill Masks.
So this is the point where I step away and I leave it to you to attempt to implement this if you so desire. Maybe you can do it on your own if you wanted? Perhaps a short dialog with @guest.r might yield results? Who knows?
I just thought that by bringing this information to your attention it might have resulted in some excitement with respect to the possibility of supporting OLED TV users with something that is improved over what is currently available.
So maybe a new or existing mask and some experimentation with the Layout and “phosphor” ordering might yield a result that would “fit” current OLED TVs?
I really don’t know what will work but it’s up to you to give it a try if you wanted to.
Out of curiosity, I tried the sdr version of 2730q and it looks like this:
The green seems wrong to me.
Yes that’s what I mean, you seem to have an extra column of pixels in there. It’s very odd - is it the white sub pixels kicking in? But then the spacing looks completely out of whack as in green and blue are right next to each other and red is left stranded. This is where we need @Nesguy excellent OLED mask layout maps.
Yes but isn’t the mask you found helps XBBGGRR, is it not? This has been in the Megatron from the start as has the RRGGBBX mask. Is there some other new mask you’ve found?
EDIT: ok possibly not from the start, start but from when it was first added into the slang shaders github
It is supposed to be, however, there is a bit of a mystery surrounding @guest.r’s implementation. I’m not sure if it’s supposed to be some sort of secret sauce or not but his implementation seems a bit different when the mask is flipped (layout reversed).
Yours is probably XBBGGRR but that still doesn’t produce good triads on LG OLED. @guest.r’s implementation when flipped does not produce XBBGGRR. It’s either RRBBGGX or XRRBBGG. This can be clearly seen in Slot Mask Presets. However in Aperture Grill Presets it looks more like XBBGGRR or BBGGRRX (It’s possible that I could be mistaking a larger than normal black gap between the red and blue “phosphors” as an X). The best person to answer those questions about actual mask colour layout and implementation would probably be @guest.r himself. The most I can do is take pictures and describe what I see to the best of my ability.
This has been corroborated by @nfp0 and @guest.r himself. I will post the links to the supporting posts. This seems to be one Mask and Layout Combination that actually works well enough to provide decent looking (and functioning) “phosphor” triads on OLED TVs (at least on my 2016 version). It would be nice to see this in Sony Megatron Color Video Monitor someday.
Just wanna pop in to say I got a new video card at last, and I can now enjoy this shader at 4K without any slowdown. Unfortunately, my DP-to-HDMI cable doesn’t support HDR (the cable I would’ve needed for it was almost twice as expensive), so I still can’t make use of that. Oh well, perhaps someday. In the meantime, I’ve been playing around with masks some more, and while I quite like BBCGYRR for low TVL, in the end I believe I am going to settle with BCYR, since it’s brighter still and doesn’t freak the panel out like some of the other high-TVL masks do. Just had to edit the existing BCYRX 8K mask for this, as the extra black pixel messes up the subpixel spacing a bit and makes it a tad darker to boot. I quite like the results, and it’s bright enough that I can keep the panel at a comfortable 50% brightness.
By the way, @MajorPainTheCactus, have you considered adding interlacing support? I don’t know if it’s within the scope of what you want this shader to do, but it IS still an aspect of CRTs, after all. Just wondering.
Great stuff - it sounds like gfx cards are at last coming back down to more sensible prices! I’m glad you found something that you like and works for you. I assume your monitor needs DP and your gfx card only has hdmi out?
As for interlacing what exactly are you meaning? Is there a particular console outout that doesnt look right for a particular game?
I’ll have a read but RRBBGGX and XRRBBGG are the same mask just shifted by one pixel there’d be no difference other than that. There’s not a lot else you can do other than start turning on sub pixels that shouldnt be on. If we could actually have a side by side close up shot of both the Megatron and Guest Advanced of the same part of the screen with this mask we’d be able to see what’s going on quite easily.
Other way around, actually - My GPU only has DP ports and I’m outputting to a 4K TV that only has HDMI, which requires an active DP-to-HDMI cable or converter, and the one I have can carry enough bandwidth for 4K@60Hz, but not enough to add HDR on top of that, so yeah.
As for interlacing, I mean outputting odd and even lines every other frame just like a CRT TV would when outputting 480i content. Without interlacing emulation, what happens on such content is the fields get merged and you get combing artifacts in motion. Now, admittedly, relatively few games truly output in 480i, as it was mostly a 6th-gen phenomenon, particularly on the PS2, but you do see the odd PS1 or N64 title that uses it, such as Tekken 3 or Star Wars Rogue Squadron.
Right ok I’ll take a look at those two games - thanks for the heads up!
PS1 titles used it extensively on menus. SNES used it a couple of times (notably, R.P.M. Racing uses it 100% of the time, so it’s a good one to test with). PS2 and Gamecube era, it was the norm.
You can check out the interlacing shader in ‘misc’ to see how it works.
You can also use the 240p Test Suite and enable 480i output, along with one of the scrolling tests, to see how it looks like in motion.
Good shout I had forgotten about that! Thanks
Just read both posts and Guests reply and there’s nothing special going on, just the use of either RRGGBBX or XBBGGRR. So I’m not sure there’s anything to improve. Ideally a close up shot of both shaders showing the differences would be good at this point.
I think it’s showing that because that’s what it is. Both @nfp0 and @guest.r confirmed this. I shared the link to both posts here and there’s also a GPU screenshot posted by @nfp0 in his post showing the same.
For whatever reason this looks like XBBGGRR or BBGGRRX in photos taken off the OLED screen when slot mask is disabled and the same preset is switched to Aperture Grill mode in CRT-Guest-Advanced though.
Well if it’s just that that particular layout simply fits and works better with the OLED Subpixel structure then that’s your improvement right there if it can be added as an option to the shader.
I’m almost sure that the 6 or 7 OLED TV users spread out across the globe might smile knowing that they can now have a much more authentic experience using one of the best and most accurate CRT Shaders in the world!
I was actually going to start opening some shader files to see if I can figure out how this layout thing works.
It definitely makes a significant difference with the final appearance, placement and output of the “phosphor” triads as can be seen when the layout it switched from RGB to BGR currently so it isn’t too far fetched that it might be something as simple as that that’s needs to be done in order to achieve this end.
Let’s just put it down, 3 pixels of white on a RGBW display:
XBBGGRR:
xxxxxxBxxxBxxGxxxGxxRxxxRxxxxxxxxxBxxxBxxGxxxGxxRxxxRxxxxxxxxxBxxxBxxGxxxGxxRxxxRxxx
BBGGRR:
xxBxxxBxxGxxxGxxRxxxRxxxxxBxxxBxxGxxxGxxRxxxRxxxxxBxxxBxxGxxxGxxRxxxRxxx
RRGGBBX:
RxxxRxxxxGxxxGxxxxBxxxBxxxxxRxxxRxxxxGxxxGxxxxBxxxBxxxxxRxxxRxxxxGxxxGxxxxBxxxBxxxxx
RRGGBB:
RxxxRxxxxGxxxGxxxxBxxxBxRxxxRxxxxGxxxGxxxxBxxxBxRxxxRxxxxGxxxGxxxxBxxxBx
RRGGBBX looks to be the most evenly spaced to me but I’m sure you can argue that. Certainly I don’t know how the reversed options are giving a better image - unless the OLED display is actually a BGRW?
EDIT: I suppose BBGGRR is reasonably evenly spaced - mathematically not as evenly spaced as RRGGBBX but not sure if you would be able to tell the difference with the naked eye.