New CRT shader from Guest + CRT Guest Advanced updates

@guest.r, your shader is not working properly with the flycast emulator…

In many CRT masks the image stays bluish.

crt-guest-advanced + standard setup + mask 0 = OK

crt-guest-advanced + standard setup + mask 1 = bluish

crt-guest-advanced + standard setup + mask 6 = bluish

1 Like

Do masks 1.0 and 6.0 work normally with other cores? Does this happen with new version only?

Normal with other cores.

Mask 1

Mask 6

I don’t know which version. But the problem was already in the previous one.

You can try crt-lottes with mask 1.0 to see if it happens with other shaders too. Maybe could it help to try another video driver. I don’t use flycast, so i can’t test.

1 Like

crt-lottes masks 1, 2 and 3 OK. Mask 4 bluish.

Mask 1

Mask 4

I changed vulkan to glcore driver and it worked!

crt-guest-advanced + mask 1

crt-guest-advanced + mask 6

Thanks!

3 Likes

Is there anyway we can get this new breakthrough Slot Mask pixel pattern in CRT-Guest-Advanced? @guest.r @MajorPainTheCactus

Sony PVM HDR 4K Shader

1 Like

1x4 slotmask works quite nicely at 1440p, even at 1080p with milder scanline setups, should do much better with 4k. The idea is not to double the slotmask size parameter, but to align the width with actual mask size and to select an appropriate height.

Example:

Slotmask4k

4 Likes

I think the area for improvement might be in the thickness of the black gap between the tiles. Isn’t @MajorPainTheCactus’s mask pattern thinner (and closer to the real thing) at least in that regard?

1 Like

This is a screenshot made in Retroarch, it would look differently when taking a photo and adjusting the brightness settings. Thickness of the ‘gap’ in general cannot be adjusted otherwise as in a pseudo manner by adjusting the slotmask intensity.

1 Like

Thanks for taking the time to respond. I was just trying to wrap my head around these statements made by @Nesguy and wondering if we needed something different or special in order to achieve this type of result. I was under the impression that we did but I’m glad to know that it can already be accomplished using the currently available options at our disposal. Slot Mask is something I have on my to-do list, that’s part of the reason for my interest in this specifically.

1 Like

Yeah, @Nesguy is very fond of authentic mask reproduction and has realistic views about resolution and display brightness needed for this. Good news is that ‘GDV’ also improved in this regard by new (de)convergence and mask fall-off implementation. I’m currently not pursuing ‘realistic’ full strength mask presets i can’t test or recommend with my HDR 400 display though.

3 Likes

Totally understood and appreciated. I’m also not looking to recreate a specific TV or display. I see my CRT shader presets as representing my own unique line of virtual CRT Displays. I’m very excited when my “CyberLab TVs” do things to our beloved pixelated gems that I find visually pleasing or desirable. Real displays mostly serve as inspiration or guides for my purposes.

Be sure to check out my latest Composite - Pure preset running some NES Games with and without Blargg NTSC RGB Filter or my Composite - Sharp preset running some colourful SNES gems like UN Squadron!

I’ve only tested my 4K Optimized versions since my update yesterday though and I’m probably a couple versions behind in the GDV department, only because I wanted to finish what I had started before updating my HSM Mega Bezel Reflection Shader. On my 4K Presets, I’m using Full Strength Mask and Scanline Type 2 (which really enhances contrast). I’m getting ample brightness without the requirement for HDR!

It’s a nice treat to be able to go close to the screen and see the image being composed of those RGB “phosphor” triads as might have taken place during childhood.

I mainly test and play with these things on a 55" 4K TV from at least 6 feet away. I can just imagine how detailed and refined they might look on a smaller 4K screen!

3 Likes

Get an ipad screen @Cyber :joy: jkjk

1 Like

The problem with MajorPainInTheCactus’ mask is just that it’s super-dark. It’s a very straightforward mask representation (just draw the phosphors 3x3 and surround with black) and it looks great if you can push enough brightness, but there’s no way for a non-HDR display/pipeline to brighten it up enough to be usable just with the tricks at our disposal.

6 Likes

Could we use a dark grey and fudge things? I mean I personally don’t care, but we fudge stuff with magenta and green already, so meh lol

Sure, just use a lower mask strength. That turns the black into gray.

1 Like

Lololol, that’s not what I meant but fair enough, wasn’t asking for code btw.

EDIT: To clarify, I was asking if it’d be a good trade-off to turn the black into grey via code to compensate for brightness loss, or would we have to turn the black to too light of grey to actually help with the brightness loss, which would render the “black” moot in the mask?

Tldr; Would turning the black part of the mask grey via code be a good trade-off for brightness loss, or would the change cause more bad then good?

lol no worries, I wasn’t being glib. You can lighten just the black pixels but that ends up looking goofy in my experience because you end up with the crossbars being lighter than the actual pixels sometimes (depending on how dark your gray is). The reason we do the magenta/green thing isn’t so much to lighten it up but to use the subpixel behavior to suggest higher res than we really have, while the rgbx mask is relying on us having high enough resolution to not need any of that (think text: if you use a large enough font, you don’t need the subpixel hinting to make out details and can just draw them normally).

While rgbx is sufficient for a low-TVL aperture grille at 1080p, the staggered slotmask version makes for a very chunky image at that res and is only appropriately sized at 4K+ res. So, MajorPainInTheCactus’ shaders are using HDR to avoid compromising–or using complex compensation/workarounds–for brightness and using high resolution to avoid compromising in mask design.

If we had super-high-res and super-high-brightness displays all along, we never would have had to come up with any of these tricks, just draw the CRT mask the way it looks (or use royale’s photos) and we’re off to the races.

8 Likes

I have been discussing some issues with @TheNamec (shadowmasks…) and got a proper inspiration which resulted a nice mask shift implementation. Works more or less with all masks, although some shift values give much better results. The good about the feature is that it works very nice with increased mask size too…

New Release Version (2022-02-10-r1):

Notable changes:

  • deconvergence reworked, works as intended now (== much better) (general release info)
  • mask shift/stagger option added (works as intended) (general release info)
  • trinitron lut(2) improvement
  • color temperature improvement
  • alternate (negative value) bloom bug fix and small improvement

Download link:

https://mega.nz/file/1xoQyYBL#Tq9X6J9Fup8cEYxqIuHWtKh04nfD6TMuiCf20b_b2AQ

15 Likes

Ohhh thank you @guest.r this tech boost really comes at the right time and takes care of many critical spots of my own Mega Bezel project, can you publish some before/after comparison? I’m just too curious and will not be able to reach my workstation before a couple of days…

The quest to compensate visual clarity and brightness with shadow masks on different levels of distance from the simulated monitor was really draining, I’m eager to test the new configuration :exploding_head: :partying_face:

3 Likes