Please show off what crt shaders can do!

I adjusted the settings based on HyperspaceMadness suggetions above:

GSL = 0 slotmask = 0

This helped reduce the extreme amounts of moire i was seeing on my end. The shader now looks like the stock crt-guest. The scanlines are not as strong but still clearly visible, though they might be a little too subtle if your resolution doesn’t match mine (1600p).

1 Like

My phone is the issue with the scanlines, lol.

I run crt-guest at 1080p, also haven’t been able to run the bezel-reflection ver., so idk…

With curvature I can use masks, and I normally have the gsl = 1. But to do this I have to set scanline dark and bright to about 0.85 both, to get rid of the majority of moire.

Thanks, it does look really good! Although I think I prefer to leave "scanline shape at around 3, otherwise the scanlines are to heavy. And text still looks a bit jaggy, any solution to that? Any recommendations on Mupen64Plus Next core settings?

@hunterk after thinking about this some I think this approach would be best, having a block which sets the scaling and handles the aspect ratio like you had before that could be be put in the crt shader and also in the reflection shader. What happens if both use the same parameter names?

I added a few tweaks to the scaling bit:

  1. Min bezel height parameter which will reduce the integer scaling multiple by 1 so there is space for the bezel at top and bottom of screen when a default integer scale would put the bottom of the screen at the bottom of the monitor

  2. Integer scale multiple offset to allow you to increase or decrease the multiple by an arbitrary value

  3. Crop overscan left and right as a fix for some platforms/games which have garbage on the left or right edge.

Ideally it would be great to have top & bottom crop overscan too, the reason I didn’t do them was because I think they need to affect the integer scale to not break the integer scale

For scaling it seems that it would be good to have the a non integer scaling option where you could specify the screen height as a ratio of the full screen height

It seems that the reflection shader will still need to pull the output of the same pass the crt uses for input, and that perhaps doing the blur within the reflection shader would avoid dependency on other specific blur passes. What would be the best way to get the right input pass, maybe a companion shader to the reflection shader which sits at the right spot in the shader chain?

1 Like

That’s the goal… enjoying bvm 240p goodness on modern displays (ok, and of course to preserve it) And the shot is just a smartphone cam pointing onto a 4K-LCD running Royale :grin: . Your comment kinda tells me, i’m adjusting the royale-kurozumi the right way, thanks!

This is with Guest’s amazing shader using The PVM LUT + Adobe RGB color space. If you have a calibrated wide gamut monitor and have color management enabled on your browser, you’ll be able to appreciate the difference:

Wide gamut: https://ibb.co/6FXfN48

SRGB: https://ibb.co/QKx3dWx


Wide gamut: https://ibb.co/RBv5nHs

SRGB: https://ibb.co/KjSFR4k

If you want to know what it would look like without the color management options, download the Wide gamut pics and open in windows photo viewer (no color management). It will look extremely saturated and unnatural.

3 Likes

Do you run your monitor on a wider gamut than srgb? For TVs it’s usually not a problem, since they should switch between rec709 and rec2020 space accordingly. As for pc-monitors, i never ran one on wider gamut than rec709/srgb, since many contents right now would just look way off…

Yes, my monitor is natively wide gamut lcd2690wuxi2 I’ve been using reshade + displaycal to create color correction LUTs but it is a little tedious. I am a fan of your shader too, btw :wink:

1 Like

Problem solved! :sunglasses:

1 Like

@c9f5fdda06 got me inspired, since i didn’t run through the shaders a long time ago. And i gotta say crt-guest-dr-venom has some potential, at least for the type of scanlines i like. And thanks for the “PVM Like Colors” parameter, that’s awesome, i love that one!

Anyways the screenshot is me being unfaithful to royale for one time :sweat_smile: , tinkering with guests shader for about two minutes flat, and i quite like that, no royale this time. Has guests shader less performance impact than royale? If yes, it could be a nice alternative for people who haven’t the power to run royale.

8 Likes

Guest.r’s shader is amazing!

3 Likes

Can I ask what values you are using for the scanline options in guest/drvenom’s shader? I went through the readme for the shader and tried playing around, but I just can’t get scanlines to look like this.

Is it because I’m using 1080p and not 4K?

2 Likes

Integer Scale doesn’t seem to properly work with this reflection shader for me at 1080p. It actually shrinks the image to a much smaller scale and so the reflection and shader are much smaller than they should be (Which should be 4x) unticking force integer scale (Or setting integer scale offset) fixes the problem with it not fitting the overlay. But now there is no reflection.

Apparently screenshot function doesn’t capture the overlay. But you can fill in the gaps with your mind.

I’ll check it out.

What you have in the first image looks about right for the bezel reflection.

It’s possible the “min bezel height” is set too high, this could cause it to have a lower integer multiple than it should. I may be using a Pixel value here where I should be using a ratio of screen height instead, if this is the case this is likely the cause of the problem.

The image you posted is 1172x896, not 1920x1080 so I’m not sure if I am looking at the right resolution image.

Are your video settings set to integer scaling OFF? (it should be for this shader)

Oh maybe that’s the issue. I have integer scale on in the RA Video settings.And yeah that fixed it. I didn’t realize this would have an impact.

And the images are just from “Quick Menu>Screenshot”

Using the screenshot hotkey seems to have captured the 4:3 area of the image at least. /shrug.

Is it possible to get rid of the moire by some kind of oversampling step or doing the image warping at a different stage during the shader? I’m sure it could probably be partially fixed by downsampling to display resolution. (Like running it at 4k or higher and using a custom DSR resolution)

Also on the border image mask where the TV is supposed to be , you have those little transparent highlights but they have a lot of banding and that is kind of irritating to see during gameplay. I tried editing the image in 16-bit color to see if it could be blurred or blended smoother but it didn’t seem to want to work. Making a new little blur in 16-bit and keeping the PNG 16-bit reduces the banding a lot. (Just in the right hand corner as an example. Because trying to draw it with a track pad is difficult to make it look good)

Thanks for pointing out the bit about the banding in the corners and your 16 bit experiment!

That was Irritating me as well as they are gradients in my drawing program, so I’ll check my settings and see if I can just export 16-bit.

What is happening with the video settings integer scale is that this will set the base dimensions and all shaders see this as the full working area and can only operate inside this AFAIK.

1 Like

I know it is slightly off-topic, but we need much more RGUI-love, since this gui is really predestinated to use with shaders :wink:
(N.B. screenshot loaded in image-viewer and shader applied. No-way to make this in real gui atm)

heavily tweaked crt-hyllian-glow


c64-monitor

5 Likes

There’s a crt-guest-dr-venom-kurozumi.slang in the presets folder since about 10 minutes, but shh, it’s top secret :innocent::sweat_smile:

8 Likes

Nice work! I really like it

Question: some shaders (like Hyllian) come in two variants. Single-pass and multi-pass. What is the difference?

1 Like