Yet, another CRT Shader

I tried using a value different from 2.0 and it introduces artifacts.

I thought the latest one was ready to be released in the repo. I deleted the old v2 that was there. Now, it’ll be only one version in the repo to not cause confusion. If any relevant improvements are achieved, then I’ll replace it there.

Here’s the link: https://github.com/libretro/common-shad … hyllian.cg

Weird. Looks fine here (I tested default 1.0 vs 1.5, 2.0 and 5.5), though I’m testing at just 3x scale, so maybe it’s not visible that low? Or perhaps it’s yet another GPU quirk?

Weird. Looks fine here (I tested default 1.0 vs 1.5, 2.0 and 5.5), though I’m testing at just 3x scale, so maybe it’s not visible that low? Or perhaps it’s yet another GPU quirk?[/quote] Are you testing the geom-shapness or my crt shader? And are you running ATI or Intel gpu?

I just tested at 3x and the artifacts (vertical lines) are very pronounced. I couldn’t get a good image besides using 2.0.

Yours (the one from the repo), ATI.

I’m running with integer scaling on, if that matters.

So, this is a mystery, because I’m running with ATI and the repo shader and I’m getting artifacts. Maybe a driver issue? I’m on Catalyst 13.12 yet, because my notebook refuses to use newer versions properly.

Ok, figured out the bug. It was causing all these vertical line bugs and the one that prevented me to control sharpness. Now I made a clean up in the code and added the option to control sharpness.

Here’s already in the repo: https://github.com/libretro/common-shad … hyllian.cg

Hopefully, no more vertical lines bug!

How do i load this shader in RetroArch, all the other shaders appear in the list but when i save yours and place in the shaders folder it doesnt show up!?

Are you saving with other extension? It must be saved with the name crt-hyllian.cg

I tried many values between 1.0 and 2.0, they all give me irregular pixel width : SHARPNESS 1.5 (notice the text at the bottom) : http://postimg.org/image/itzbbd43h/full/ SHARPNESS 2.0 (how it’s suppose to be) : http://postimg.org/image/si2xtiv7p/full/

Yeah i am left clicking on the file and save link as, which it saves it as crt-hyllian.cg. If i place this file in my shaders folder it doesnt show up at all, is it because its not a .cgp file??

This is a known and expected behavior for this sharpness algorithm. Unfortunately, this algorithm is just a hack of the horizontal texture resolution. Using 2.0, it will repeat a pixel every time and this will be introduced to the horizontal bicubic algorithm, resulting in a sharper picture. When you use a value like 1.5 or other not integer, some times a pixel will be repeated, some times not. And then, the output will be irregular. There’s nothing I can do with this particular sharpness algorithm to fix this. It would be necessary another sharpness algorithm, though I don’t know any other that do not produce ring artifacts.

Are you trying to load it through the preset link in Retroarch shader options? If yes, then it won’t show up, because it isn’t a .cgp file, but a .cg, that is, it’s a shader and not a preset.

You should enable one shader in the Retroarch Shader Screen Options, and load ir directly. Do not try to load a preset (.cgp).

If, even with that explanation you can’t load it. Then save this to a cgp file and put at the same folder of the shader:


shaders = "1"
shader0 = "crt-hyllian.cg"
filter_linear0 = "false"
float_framebuffer0 = "false"

Save it as crt-hyllian.cgp and put at the same folder of the shader you saved before. You can load this .cgp through retroarch now.

That makes sense, I’ll stick to 1.0 or 2.0 then. Also I just wanted to add that your shader really is amazing ! The dynamic width of the beam makes everything look even more spectacular in motion than in screenshots (especially glowing effects and color cycling effects).

Thanks. And you might find better calibration than the default one by tweaking all the options I put there.

[quote=ā€œHyllianā€]

Are you trying to load it through the preset link in Retroarch shader options? If yes, then it won’t show up, because it isn’t a .cgp file, but a .cg, that is, it’s a shader and not a preset.

You should enable one shader in the Retroarch Shader Screen Options, and load ir directly. Do not try to load a preset (.cgp).

If, even with that explanation you can’t load it. Then save this to a cgp file and put at the same folder of the shader:


shaders = "1"
shader0 = "crt-hyllian.cg"
filter_linear0 = "false"
float_framebuffer0 = "false"

Save it as crt-hyllian.cgp and put at the same folder of the shader you saved before. You can load this .cgp through retroarch now.[/quote]

Ah thanks for the explanation. I have tried creating a .cgp file and renaming it the same as the .cp file and placing it into a folder with just those 2 files, i have also just loaded the .cp file on its own (no presets) and when i load a game it doesnt appear to have any shader effects applied no scanlines or anything!. Any ideas??

what about custom aspect ratios? If I use nearest as the ā€œdefault filterā€ in the shader options the AR stretching introduces a moire effect. So I use linear instead or is there a more correct way to deal with it? here is an example with v10:

https://imgur.com/a/YnRL9

I tried to reproduce this moire and couldn’t here using snes9x-next from RA. Is there a snes game where it occurs? I don’t have fba games in my note.

This is a screenshot in 4:3 and nearest filter:

[img=http://s27.postimg.org/9ywthd7r3/Retro_Arch_0420_153146.jpg]

I get the same brightness and color when I put:

gamma in 2.4 gamma out 2.2 in crt-cgwg

gamma in 2.2 gamma out 2.2 in your shader

And with this setting I can lower the color boost to 1.2 to have something more natural. Just mentioning that in case there is an issue with the gamma code.

There is a bit more moire in the scanlines too (on a 1080p screen), easy to catch during street fighter 2 intro travelling.

But, is this using Integer Scale enabled? I think if a not multiple of native resolution is used, the scanlines can’t be equally spaced with nearest filter.