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.
I thought the WOLEDs were RWGB but according to this https://www.rtings.com/tv/tests/picture-quality/pixels they kind of look like GRWB, but I’m not sure how to actually tell.
Off-topic but I really want to see you guys mess around with that triangle QD-OLED layout. That seems a lot more fun than finding out where/why/how the white subpixel is screwing things up.
Thanks! Ok so they’re WBGR i.e reversed RGBW which now explains why we’re seeing the reverse patterns look better. I’ll update the above patterns and see where we get to but I’m guessing it’ll be XBBGGRR is best then RRGGBB as that’s the opposite layouts of the results above.
EDIT: I’ll stick with RTings image of starting with Red i.e RWBG but it shouldnt make any difference to the spacing as it’s just starting in the reversed pattern in a different position.
The white subpixel isn’t screwing anything up. Where’s the evidence of that? That’s an assumption based on theory.
I think we’ve moved past that now. It could just be that we need to find a mask that fits the OLED Subpixel colour order because it doesn’t seem to work well with “standard” subpixel layouts i.e. what we’ve seen before in LCD panels which were either RGB or BGR. There are even LCD panels with White subpixels and other “new” non-standard layouts.
Look at these pictures here. Where do you see the white subpixel screwing anything up?
Here is the output of CRT-Guest-Advanced for comparison and reference purposes.
CRT-Guest-Advanced - Slot Mask - BGR Layout
CRT-Guest-Advanced - Aperture Grill - BGR Layout
CRT-Guest-Advanced - Aperture Grill - BGR Layout
This is what I would call progress.
Even if there were two masks that work well enough with OLED Subpixel Layout to produce even “phosphor” triads in Slot Mask and Aperture Grill Presets I would say that’s a step in the right direction.
Samsung’s QD-OLED implementation obviously didn’t consider this use case. Maybe it might make a good Shadow Mask someday but let’s focus on solving 10 year old WOLED first as it has proven and established itself in the market and there have been recent breakthroughs in suitable CRT Shader Preset development which address their particular design.
I’m merely trying to assist in expanding that and continuing this development. Pretty soon this might actually be behind us but don’t be distracted by this white subpixel. Nothing I’ve viewed on an OLED TV looks like those RTINGS subpixel macro pics. I’m not saying that they’re inaccurate, I’m just saying that LG’s algorithm does its thing silently and seamlessly and it does it well.
But this thread is about Sony Megatron Color Video Monitor and I have a feeling it’s going to get even more awesome pretty soon!
Couldn’t it be as simple as just using RRBBGGX or XRRBBGG for Slot Mask and BBGGRRX or XBBGGRR for Aperture Grill?
Can you possibly add those experimental Mask Layouts and some of us OLED users can test them and see if they work better than what is there now and report our findings?
Looking at line 204 in crt-sony-megatron.slang:
#define kBBGGRRX { kBlue, kBlue, kGreen, kGreen, kRed, kRed, kBlack }
BBGGRRX is already present and accounted for as the 300 TVL BGR layout mask. XBBGGRR should be possible by changing that same line to the following:
#define kXBBGGRR { kBlack, kBlue, kBlue, kGreen, kGreen, kRed, kRed }
As well as line 210:
{ kRRGGBBX, kXBBGGRR }, // 300 TVL
This can even be done in real time. Just load the shader as usual, set the mask type, then open up crt-sony-megatron.slang in a text editor, change the line, save the changes, then in RetroArch, go to the Shaders menu and click on Apply Changes, and it’ll, well, apply the change you just made to the shader file.
This is purely for the aperture grille layout, mind you. The slot mask layout is a bit more involved, but the relevant lines are 320, 335 and 342.
Thank you very much. This might very well be the way! It should be possible to at least get Aperture Grill to look like my picture and then Slot Mask can probably be attempted next.
It’s always done this. In fact it was possibly the first to do this if not for aperture grille then definitely for the slot mask. Have a look at the code and see. This mask produces a 300TVL simulation on a 4K monitor just select 300TVL.
If you have any complaints post close up shots of the problems you are seeing - not of other shaders obviously.
It’s even easier than that - in the TVL settings of the shaders parameters just set it to 300TVL from the default 600TVL under the TVL settings. No need to edit any files!
The 300 TVL mask is BBGGRRX. @Cyber was asking if XBBGGRR (that is, with black first rather than last) was possible, and I surmised it was by editing the mask. I don’t know that it would make a difference, but I supposed if he wanted to try it out, that’s how you’d do it.
There’s no difference between the two to all intents and purposes - one is just offset by a pixel to the other. You’d never notice this in reality.