Hyllian shaders and presets

This is a collection of shaders and presets fine tuned by me for a plug 'n play experience.

Latest wip can be obtained in this github repo: hspack-24-03-31-r1

  • Added hspack to github repository;
  • Downsampling folder no more exists as it was added to slang shaders repository as mixed-res shaders;
  • Some curvature bugs fixed;
  • LUTs changed again. Now a grade-composite with deeper blacks is available;
  • slotmasks (from crt-hyllian) tweaked for better contrast.

Slotmask better contrast:

megamanx-1-240330-214311


Other than hspack, I’ve been making some contributions to Retroarch’ slang shaders repository. Firstly, I’ve worked on crt-royale sources to optimize it and launched crt-royale-fast shaders and derived presets. My latest updates will be described below:


The new presets/shaders for crt-royale-fast on shaders_slang are:

  • crt/crt-royale-fast: a much faster crt-royale version with new curvature code and aperture grille mask optimized to work with non-integer scaling preventing uneven scanlines most of the time;

  • presets/crt-royale-ntsc-composite-fast: crt-royale-fast combined with ntsc-adaptive composite shaders;

  • presets/crt-royale-pvm: crt-royale-fast with thick scanlines and toned down mask for a pvm visual look and optimized for non-integer scalings;

  • presets/crt-royale-pvm-blend: the same as above with a soft horizontal blending;

  • presets/crt-royale-pvm-shmup: crt-royale-pvm with geometry distorted to project vertical shmups in an inclined vertical ramp;

  • presets/crt-royale-pvm-ntsc-composite: crt-royale-pvm combined with ntsc-adaptive composite shaders;

It’s now available through repo in new folder: https://github.com/libretro/slang-shaders/tree/master/presets/crt-royale-fast

I made a bunch of shaders, for 1080p and 4k. Those ntsc-composite are made to work with @guest.r’s ntsc-adaptive 3-passes shaders. So, I suggest that you update them too, just download the latest from guest’s thread and update them.

I recommend you to update through update online, because LUTs are udpated too.

Genesis has two composite presets, one for rainbow effect and other for regular effects (works with sega master system too). Composite for psx can be used for Saturn games too. Artifacts/Fringing quality decreases in this order: psx > snes > genesis > genesis-rainbow-effect.

Screenshots, mostly using composite-slotmask (my favorite now): 00024-240918-095520 00024-240918-094942 00024-240918-094900 legzelda3-1-240918-092043 demonscrest-1-240918-091718 02-Chrono-Trigger-USA-240918-082544 002-240917-184212 Mega-Man-X5-USA-240916-104338 Castlevania-Symphony-of-the-Night-USA

Sega Master System using genesis preset:

31-Zillion-240921-131931 31-Zillion-240921-131928 31-Zillion-240921-131924 31-Zillion-240921-131911 01-Alex-Kidd-in-Miracle-World-240921-131840 27-Kenseiden-240921-131759 27-Kenseiden-240921-131735 27-Kenseiden-240921-131723 27-Kenseiden-240921-131717

I made a comparison of some of those masks to show more clearly the differences. It’s easier to show with the 4k presets.

But first, I’d like to show two slotmasks screenshots at 1080p that clearly shows that they aren’t aperture (just look at the shark textures):

DKC-1080p-crt-royale-fast-ntsc-composite-slotmask-snes DKC-1080p-crt-royale-fast-ntsc-composite-slotmask-snes-2

Now, as my monitor is just 1080p, I made a trick to see how it looks at 4k. Using custom resolution, I zoomed until 9x integer scaling, which is more or less 4k. So, I took the screenshots (they’re only a 1080p frame inside the whole 4k) to show how the 4k presets will look closely.

4k/crt-royale-fast-ntsc-composite-slotmask-snes.slangp:

DKC-4k-crt-royale-fast-ntsc-composite-slotmask-snes

4k/crt-royale-fast-ntsc-composite-aperture-snes.slangp:

DKC-4k-crt-royale-fast-ntsc-composite-aperture-snes

4k/crt-royale-pvm-ntsc-composite-snes.slangp:

DKC-4k-crt-royale-pvm-ntsc-composite-slotmask-snes

4k/crt-royale-pvm-rgb.slangp:

DKC-4k-crt-royale-pvm-rgb

And, putting all four side-by-side:

DKC-4k-comparison-2 DKC-4k-comparison

19 Likes

I made some progress on my crt-hyllian. Finally I’ve figured out how to untap the power of RGB/BGR mask without using special bloom or halation. There are two presets, one RGB and RGB-sharp.

Release: crt-hyllian-2024-01-06-r1

rgb-sharp:

rgb:

12 Likes

sorry if this is a dumb question, but where in the shaders folder do i install this?

1 Like

Hi, you just need to put “hyllian” inside “shaders_slang” folder.

BTW, here’s a new release: crt-hyllian-24-01-07-r1

What’s new:

  • Added four new presets: crt-hyllian-composite, crt-hyllian-composite-sharp, crt-hyllian-svideo, crt-hyllian-svideo-sharp.

7 Likes

A good composite preset using @guest.r’s ntsc shaders. Chroma scaling really makes a difference. It’s very good with Genesis games plagued by dithering:

#reference "shaders_slang/crt/crt-guest-advanced-ntsc.slangp"
wp_saturation = "1.000000"
contr = "0.000000"
ntsc_cscale = "4.000000"
ntsc_ring = "0.500000"
ntsc_gamma = "2.000000"
cust_fringing = "0.000000"
cust_artifacting = "0.000000"
HSHARPNESS = "1.000000"
HSHARP = "1.200000"
SIGMA_HOR = "0.500000"
S_SHARP = "1.200002"
MAXS = "0.180000"
FINE_BLOOM = "2.000000"
mask_bloom = "0.000000"
glow = "0.000000"
spike = "0.000000"
bloom = "0.000000"
halation = "-0.400000"
hmask1 = "0.500000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scanline1 = "6.000000"
scanline2 = "26.000000"
beam_min = "1.000000"
beam_max = "0.850000"
tds = "0.000000"
beam_size = "1.000000"
scans = "1.000000"
scan_falloff = "0.100000"
scangamma = "2.200000"
shadowMask = "6.000000"
maskstr = "0.500000"
mcut = "1.000000"
maskboost = "3.000000"
mask_layout = "1.000000"
mask_gamma = "2.200000"

BTW, when the ntsc-adaptive in libretro repo will be updated with all these developments?

4 Likes

I’m just imagining all the sexiness that could be had with royale-ntsc with all those new ntsc-adaptive features like chroma scaling.

Edit: I thought that was one of your tweaked royale presets at first that’s why I mentioned that shader, my comment still stands though lol.

1 Like

Forgot to fix gamma:

#reference "shaders_slang/crt/crt-guest-advanced-ntsc.slangp"
wp_saturation = "1.000000"
contr = "0.000000"
ntsc_cscale = "4.000000"
ntsc_ring = "0.500000"
ntsc_gamma = "2.000000"
cust_fringing = "0.000000"
cust_artifacting = "0.000000"
HSHARPNESS = "1.000000"
HSHARP = "1.200000"
SIGMA_HOR = "0.500000"
S_SHARP = "1.200002"
MAXS = "0.180000"
FINE_BLOOM = "2.000000"
mask_bloom = "0.000000"
glow = "0.000000"
spike = "0.000000"
bloom = "0.000000"
halation = "-0.400000"
hmask1 = "0.500000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scanline1 = "6.000000"
scanline2 = "26.000000"
beam_min = "1.000000"
beam_max = "0.850000"
tds = "0.000000"
beam_size = "1.000000"
scans = "1.000000"
scan_falloff = "0.100000"
scangamma = "2.200000"
shadowMask = "6.000000"
maskstr = "0.500000"
mcut = "1.000000"
maskboost = "3.000000"
mask_layout = "1.000000"
mask_gamma = "2.200000"

A bit better now!

2 Likes

New release: crt-hyllian-24-01-12-r2

What’s new:

  • Added two configs: crt-hyllian and crt-hyllian-sharp. I think these are better than the ones (crt-hyllian default) in main repo. Contrast is better;

  • Some small tweaks on other versions to improve IQ.

crt-hyllian-composite:

crt-hyllian-svideo:

crt-hyllian-rgb:

crt-hyllian:

8 Likes

I made a mistake in the last release. The rgb presets are wrong.

Here’s a fix: crt-hyllian-24-01-12-r2

Added a no-scanlines preset and an alternative sharp rgb preset.

TIP: circle through the presets using M and N from keyboard.

3 Likes

These are some presets I’ve been tunning using @guest.r shaders. I’m not taking any credits here, it’s all to @guest.r great work! I’m just releasing my view through presets. With some or other small changes in LUTs. I specially like the composite preset, because it gives the best IQ I’ve ever seen in genesis games.

guest.r-24-01-13-r1

7 Likes

Your noscanline presets are really great for lower resolutions

1 Like

You mean 8bits?

1 Like

That looks good too. I meant for lower display resolutions like 720p where you can’t really use shaders with scanlines

1 Like

Oh, i see! Yeah, it works well at 3x or even 2x.

Why can’t you use scanlines at lower resolutions like 720p?

I remember back in the day we used scanlines with Nesticle, Genecyst, Callus, ZSNES, Magic Engine, SNES9X, EPSXE, NeoRageX, Zinc and Mame at various resolutions, including 1280 x 1024 and 1024 x 768 and 800 x 600. Am I missing something?

I remember loading up one of my presets on a 1366 x 768 LCD I have some time ago and was able to easily get a nice looking result using one of my presets with just one or two adjustments.

1 Like

I don’t know how to describe it but there is a difference between the sharpness of the text between these two images with the first being rgb and the second being svideo. It is most obvious between the grates of the bars below the main character and the capital ‘N’ in the text box.

1 Like

I think he meant about using 720p and getting all crt effects with good quality. In fact you can use scanlines at that res, though most crt behaviors are lost.

1 Like

Yes, and that’s an expected behavior. In terms of shaders, they’re very distinct: svideo uses adv-ntsc while rgb uses just adv.

Do you think rgb and svideo should have identical sharpness?

I believe scanline behavior differs between shaders when the scaling factor is too low, like 2x leads to basically a mask only picture, but you can get that on higher res displays too if the input res is high enough.

But as long as you have at least a scale factor of 2x, scanlines can be fine. In my experience, it’s non-integers that are a problem when the scale factor is too low.

Low res displays will limit the mask selection that will look good (depends also on the size of the display though).

Speaking of masks, will the old phosphor layouts come back? My main gripe with the older versions was that the sharpness could use a bit more differentation in my view, but I like the shots here in this regard. But I thought it was practical to have the additional shadow masks available without needing to attach an additional pass.

1 Like

Back in the day this is probably what might have often caused scanlines to look uneven in ZSNES (or possibly SNES9X) in that case we just enabled Bilinear filtering and the scanlines looked okay (by 90’s, 00’s emulation standards of course).

1 Like