Please show off what crt shaders can do!

I just pretend all of the shaders in the crt folder are different TV’s. It makes my head feel better about it.

3 Likes

Just some more images with the same setting =) Its funny, a while back I didnt like crt shaders. And I wanted games like FFVII as smooth as possible, like Waifu2x smooth. But now when it exists better options than that even (esrgan) and I have played with it for a while, I realised that it still looks BAD =) And to me now, crt shaders are the only option to fix this. Of course, there are more than a crt shader in these images but its that one that puts it above everything else I think. And again, please watch in full screen

1 Like

I have a question, is it similar to the shader crt-lottes or there are differences ?

https://www.shadertoy.com/view/MtSfRK

That’s the ‘lottes-fast’ shader.

2 Likes

Ok thanks for the information :slight_smile:

I tuned crt-royale to make it look like a 31Khz monitor shader for 480p games, specially those mixing 2D sprites and 3D assets. I output these at native 480p so the graphics blend together, then the shader on top (discussed here). I purposefully added artifacts like aberration and some blurring, lifted blacks and color corrected at whim to give it some arcade vibe. It would be cool to replicate this with crt-guest to get some phosphor trail effect.

4 Likes

@Dogway these look gorgeous!

Mind sharing the settings you are using?

1 Like

Super%20Mario%20World%20I-190521-133046 Super%20Mario%20World%20I-190521-133020 Super%20Mario%20World%20I-190521-132947 Super%20Mario%20World%20I-190521-133007

Here’s some screenies! Not sure if I’m happy with the settings yet, but meh lol.

EDIT: Sorry was trying to figure this out, images should be fine now! These are meant to be 1080p images, the extra at the top and bottom is from integer scaling… too lazy to crop.

5 Likes

Thank you! The script is a bit long but it’s basically crt-royale-ntsc-256px-svideo.glslp replacing the svideo part with the following (video output as 480p in core options). I think you could swap shader1 and 2 since color should come first. Then play with values, smoothness, more bloom, gamma, chroma aberration. The first shader is a custom one, replace with repo’s white.point shader.

shaders = "15"

shader0 = "../misc/d93-d65.glsl"
filter_linear0 = true
scale_type_x0 = absolute
scale_type_y0 = absolute
scale_x0 = 1536
scale_y0 = 1080

# NTSC Shader Passes
shader1 = "../blurs/sharpsmoother.glsl"
shader2 = "../misc/color-mangler2.glsl"

filter_linear1 = false
filter_linear2 = false

scale_type_x1 = source 
scale_type_y1 = source
scale_x1 = 1.0
scale_y1 = 1.0
frame_count_mod1 = 3
float_framebuffer1 = true

scale_type2 = source
scale_x2 = 0.5
scale_y2 = 1.0
2 Likes

Got it. So use crt-royale-ntsc-256px-svideo.glslp and override shaders 0, 1 and 2 with the above, set 480 in core, test swaping 1 and 2.

Which one is the white.point?

Thanks for sharing!

Here. The saved preset is a mess until they fix the formatting but here are some values.

bloom_excess = "0.404999"
crt_gamma = "2.299999"
gamma_boost_g = "-0.100000"
gamma_boost_b = "-0.100000"
lumad = "0.300000"
sat_b = "1.130000"
smoot = "1.269999"
levels_contrast = "1.109375"
blb = "0.010000"
blg = "0.010000"
1 Like

The display being used for emulation is definitely a limiting factor when it comes to CRT emulation. I’ve noticed, though, that a lot of people seem to focus exclusively on static image quality over other aspects of a CRT’s performance. There’s also input latency and motion blur to worry about.

Right now, QLED (Samsung, Vizio) is capable of matching or exceeding a CRT in all performance areas except viewing angle! Black level, contrast ratio and color reproduction are all on par. These TVs have input latency low enough that you can add software BFI @ 120Hz (+4ms input lag) and still be below 16ms input latency at 60fps, allowing for next-frame input response at 60fps with BFI enabled @ 120Hz.

With BFI @ 120Hz you can match the motion clarity of a CRT, and the QLEDs also have hardware-based strobing methods to reduce blur even further. It should also be noted that the frame hold time at 60fps is lower than that for LG OLEDs, so the stutter from hardware-based strobing is much less noticeable.

The contrast ratio and black level of these QLED displays is on par with or better than a CRT’s, and all of these displays are wide color gamut displays that should be more than capable of reproducing the limited color palettes of 8 bit and 16 bit games.

Perhaps most importantly, the QLED TVs have max sustained SDR brightness levels that are sufficient to add BFI and scanline effects and still match the brightness of a CRT. The brightest of these TVs (The Vizio P Series Quantum) is almost 800 cd/m2 sustained SDR, which is almost enough to have BFI + scanlines + RGB mask, with the phosphors displaying realistic RGB and luminance values (equivalent to setting the mask_dark parameter to 0.00 with Lottes CRT).

For those in the market, now is an excellent time to buy a new TV! Current QLED displays are capable of matching a CRT’s objective performance capabilities in all areas except viewing angle. With advances in QD tech (or maybe MicroLED?), displays in 5-10 years will be even brighter, have even better blacks, and will have eliminated the viewing angle problem.

I’ve made a list of all currently available TVs that are capable of matching or exceeding a CRT’s performance in several performance categories. I’ll be updating this list as needed. If there are any TVs that should be added to the list, please let me know!

6 Likes

Is that not fixed? I committed the change awhile back, should have been live in 1.7.7…

1 Like

Ah yes, I recall that I just updated today so will give it a try.

Edit: Yes saves them right. After editing the path in the shader presets (to 1.7.7) I can load them back and re-save!

1 Like

Can anybody recommend a good way to record gameplay with retroarch shaders running?

Using AMD card.

Nvidia ShadowPlay (through GeForce Experience) or OBS Studio (also uses NVEnc)

2 Likes

I think it’s better to capture the raw output because if people don’t use the correct scaling, all the scanlines and shader effects wind up looking terrible.

I think you can record w/shaders by going to settings -> recording -> use GPU recording

Then quick menu -> start recording

This should generate a .mkv file in the same directory as Retroarch.exe.

1 Like

The reason I’m wanting to capture with shaders running is because some of the effects aren’t static in the shader. So pictures are about worthless for capturing these effects in action. My goal is to record and upload at 1080p, but idk. I’ll just wing it, lol.

Thanks for the advice and tips, I appreciate them.

Edit: Fixed, because I sounded like an :peach::ok_hand:.

1 Like

(Little off topic) Here’s some reading on an interesting fact that I’d like to share.

2 Likes

Wow, that’s even sharper than an LCD due to the lack of color fringing from an LCD’s sub-pixels. They could have just said “sharpest display.” Pretty cool!

1 Like