For subpixel spacing, it’s also good to keep in mind that most TVs are BGR for some reason.
FYI, my shots are taken on a 4k monitor, not a TV. I wonder whet the sub pixel arrangement is.
I think it winds up working out though:
Magenta, Green
BGR:
BxRxGxBxRxGx etc.
GBR is a different story, though:
xBRGxx
It might not be ideal to have the active subpixels so close together.
RBG, same thing. The active subpixels are all adjacent, with 3 inactive pixels between the triads.
Easy way to tell is to just zoom in on the left side of the screen on a white pixel.
Right, doesn’t matter with magenta/green, but comes into play with the more complex, 4K masks.
EDIT: @Duimon monitors are almost always RGB. It’s just TVs that have settled on BGR (i.e., RGB rotated 180 degrees) and I haven’t been able to find a good justification for why
I would rather use Vulkan over DX11/12 for the Dolphin core, but unfortunately on nVIdia cards on Windows, there are serious stuttering / lags, that are not present with DX11/12.
Yeah it’s a neat trick. I did a few experiments with this a while ago and I think it’s a good compromise for non-standard subpixel layouts. TVL is 360 @ 1080p, just right for a consumer CRT. Looks especially good with a wider beam shape/narrower gaps between picture lines (ie, scanline type 0). I find that having wider gaps between picture lines (ie, scanline type 1 or 2) looks strange with this mask, though, for whatever reason. Combined with the altered mask 7, a very narrow picture line turns the phosphors into tiny horizontal rectangles, which just looks wrong and awkward to me.
Hmm, to be honest, the TVL count is a tad too low with that mask. I switched over to crt-guest-advanced and played around with it, but it’s not quite what I’m looking for.
That said, using the above-mentioned shader, I managed this:
This is actually using Mask 6. I also went ahead and added Brightness boosts to both dark and light colors, and I am surprised at how well it came out. Even after eliminating black lines on bright colors, the deconvergence parameter here adds them back, but in a very subtle, pleasing way. Also added substractive sharpness to reduce the superfluous blur at the edges of white colors. And it appears even the HELP text looks better, with less subpixel errors.
Honestly, I’m digging this look here. The PVM/BVM look is nice in its own way, but I’ll reserve that for when I can get a hold of a CRT monitor again.
Parameters here:
#reference ":/shaders/shaders_slang/crt/crt-guest-advanced.slangp"
PR = "0.250000"
lsmooth = "0.500000"
SIZEH = "1.000000"
SIGMA_H = "0.200000"
SIZEV = "1.000000"
SIGMA_V = "0.200000"
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
glow = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
scanline1 = "0.000000"
scanline2 = "9.000000"
beam_min = "1.500002"
beam_max = "0.950001"
beam_size = "0.300000"
vertmask = "0.300000"
scans = "0.000000"
spike = "0.000000"
h_sharp = "5.200000"
s_sharp = "1.500000"
ei_limit = "12.000000"
sth = "1.000000"
shadowMask = "6.000000"
maskstr = "1.000000"
mcut = "2.000000"
maskDark = "0.000000"
maskLight = "2.000000"
It depends on your monitors dot pitch. If you have a 0.17mm laptop 1080p then mask 0 is nice (if your subpixel is compatible). Close to what a PVM would look like. And even better on my 24" 1080p with 0.27 mm. If you have a cellphone 5" 1080p with 0.07 you can’t even notice mask 0… Mask 2 is better there. Or mask 6. Tried all of them.
Close up of rgb-black on my laptop 1080p
I did some sort of hybrid mask 0 code to mask 1, Looks a bit like a PC CRT monitor mask
Here is the above mask some people maybe like it (mask 8)
https://mega.nz/file/6zB3kYjK#VBIEeFb8UJhNnHLG1WqyJee1nWI3Zs_M_F9jYgVu7Rc
Code please and thank you
It’s inside the glsl file as mask 8.
If you want a PC dotmask you should try the magenta-green checkerboard.
Looks like the image on the left IRL (image borrowed from hunterk’s blog)
I think it looks neat in real life.