Please show off what crt shaders can do!

Yup, that did the trick right there, temperature works the way it should now. Would it be possible to add in bloom, interlace mode and the interlace trigger resolution from guest as well?

2 Likes

Test this and tell me what you think. Interlacing mode-switch and improved glow.

https://mega.nz/file/DrIGibhC#ebAHnkT5Swjd8BsY5qraUXL6AA4mmGhODenjHAfnhGs

2 Likes

Nice, this is shaping up to be a nice little shader here. One thing I noticed about the interlacing, when it’s toggled on it creates this moire like pattern as you can see here in the white background:

At first I assumed it’s because I’m using curvature but then I toggled it off and the moire like pattern dissapears:

I took it a step further and tested the interlacing with the curvature turned off and the moire like pattern still shows like so:

With curvature still turned off I also tested it with the interlacing turned off and the moire like pattern dissapears again:

That also happens on all masks as well.

Other than that I’m liking how this shader is shaping up:

It’s making me want to play some Saturn on the Yaba Sanshiro core once again lol

3 Likes

Probably happens because I didn’t adjust the warp too for interlacing.

1 Like

Be sure to click on the images and click “Load Full Resolution” if you want to experience what I’m really trying to convey with these screenshots!

3 Likes

I’m trying to make a preset for Amiga games that looks Commodore Monitor… -ish? I’m not sure I’m succeeding. :sweat_smile:

Using crt-guest-advanced-hd (from https://forums.libretro.com/t/new-crt-shader-from-guest-crt-guest-advanced-updates/25444) for this.

#reference "../../shaders/crt-guest-advanced/crt-guest-advanced-hd.slangp"
interm = "0.000000"
glow = "0.250000"
bloom = "0.100000"
halation = "0.050000"
brightboost = "1.350000"
gsl = "1.000000"
shadowMask = "8.000000"
maskstr = "0.700000"
maskLight = "1.200000"
mshift = "4.000000"
deconrr = "0.750000"
deconrg = "0.250000"
deconrb = "-0.500000"
deconrry = "-0.250000"
deconrgy = "-0.500000"
deconrby = "0.750000"

5 Likes

Nice screenie! The HD version is also very simple to use with hires mode. You can just increase the (shader) internal resolution, more tweaks can me made afterwards.

2 Likes

Not even sure what it does. It seems to give a weird blur.

2 Likes

…yeah you don’t increase it if you don’t need to. Otoh you can have nice filtering in the pixel resolution is doubled etc…which can happen to most amiga games if using hires.

2 Likes

Here is an example how to use the ‘internal resolution’ feature with the hd version. One of the benefits it has is also a fully capable vertical resampler.

Castlevania (PSX), 3x res, xbr texture filter:

https://screenshotcomparison.com/comparison/21688

4 Likes

My attempt on a Commodore 1084-S look, using Magenta-Green-Yellow-Blue mask and pushed by Guest.r slot-mask.

6 Likes

looking good! Would you please share this 1084-S preset? :grin:

1 Like

That’s a very strange mask, I’m not sure I understand the rationale behind it.

Do you have a good photo of a 1084-S for reference?

1 Like

Actually that mask was a mistake, but if you use mask 0 and slot mask width 2 height 2 iirc, should be about the same and integer 4 x so scanlines align correctly or height 1 to align always

Photo here

1 Like

Grab one using Guest.r-Dr.Venom that should be almost the same if not better at 4x integer

shaders = "11"
shader0 = "shaders_glsl/crt/shaders/guest/lut/lut.glsl"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_glsl/crt/shaders/guest/color-profiles.glsl"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_glsl/crt/shaders/guest/d65-d50.glsl"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_glsl/crt/shaders/guest/afterglow.glsl"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_glsl/crt/shaders/guest/avg-lum0.glsl"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_glsl/crt/shaders/guest/avg-lum.glsl"
filter_linear5 = "false"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "true"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_glsl/crt/shaders/guest/linearize.glsl"
filter_linear6 = "false"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_glsl/crt/shaders/guest/blur_horiz.glsl"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_glsl/crt/shaders/guest/blur_vert.glsl"
filter_linear8 = "false"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_glsl/crt/shaders/guest/linearize_scanlines.glsl"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "true"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_glsl/crt/shaders/guest/crt-guest-dr-venom.glsl"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "viewport"
scale_x10 = "1.000000"
scale_type_y10 = "viewport"
scale_y10 = "1.000000"
TNTC = "1.000000"
CP = "5.000000"
WP = "-25.000000"
wp_saturation = "1.200000"
SW = "0.000000"
GAMMA_INPUT = "2.500000"
TAPSH = "2.000000"
GLOW_FALLOFF_H = "0.500000"
TAPSV = "2.000000"
GLOW_FALLOFF_V = "0.500000"
gsl = "1.000000"
scanline1 = "8.000000"
scanline2 = "10.000000"
beam_max = "0.950000"
s_sharp = "0.600000"
csize = "0.030000"
bsize = "250.000000"
warpX = "0.030000"
warpY = "0.040000"
shadowMask = "7.000000"
slotmask = "0.700000"
double_slot = "2.000000"
CGWG = "0.700000"
scans = "0.800000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3"
SamplerLUT1 = "shaders_glsl/crt/shaders/guest/lut/sony_trinitron1.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_glsl/crt/shaders/guest/lut/sony_trinitron2.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_glsl/crt/shaders/guest/lut/other1.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
1 Like

I’m using a 1440P monitor with integer scale on. Couldn’t get the preset to look like your pic on my monitor…tried a larger mask size but still looked quite different. :sob:

Download this and load the 1084 preset. Tell me if it’s ok (integer scale so it is 6x vertically no more, no less)

https://mega.nz/file/6qJHVC7R#RwRexo7JgxyzlnGv3jT3WG5FDn6a6-1iKat1vBJrXCs

2 Likes

It looks like this (the one with test.glsl):

There are more details but I think it might look better on lower res/smaller monitors. I like those chunky shields (without detailed slotmask pattern) in your pic. :stuck_out_tongue:

3 Likes

Oh no it looks WAY better and more accurate at 1440p.

1 Like

I’m trying to achieve a slot mask effect on a 4K TV with Royale, but I’m having some problems.

As you can see on the 4K screenshots bellow, Royale is not maintaining an accurate grayscale tint depending on the triad size and sample mode choosen (I’m choosing only integer triad sizes).

The first is a triad size value that maintains good color accuracy, but the second is completely out of whack.

You can see this is true at various zoom levels, including 1:1.

A size I found displays good colors is triad size 5 with mask sample mode set to 1, but this is not the triad size I desired.

I understand some triad sizes might not map correctly to the TV/monitor’s pixels, but how come triad size 3 has good colors, and triad size 6 has bad colors? According to the documentation, triad size represents how many pixels are used for each triad color. Something doesn’t add up.

If, for some reason, this behavior is expected from Royale, if possible, I would like suggestions as how to achieve a similar effect from other CRT shaders. Thank you!

1 Like