Please show off what crt shaders can do!

Just to clarify this, the Astro City is a 24 khz monitor capable to run at 15khz?

1 Like

Yes :slightly_smiling_face:

https://wiki.arcadeotaku.com/w/Sega_Astro_City

1 Like

Anyone here such as maybe @nesguy wanna take a crack at trying to match the second image on this post?

I saw a few attempts in the thread but none of them appear to blend the red pixel for the eyes in the right way.

2 Likes

You can obtain something close to the second image with crt-guest-advanced-ntsc preset.

1 Like

Do you want realistic or do you want bright? :wink:

I have to do this in fake 4k.

Working with the NTSC stuff is tricky.

5 Likes

Looks great! It was more that some people in that thread seemed to think it couldn’t be done in shaders and you came to mind straight away as someone I was sure could pull it off!

I also thought you’d enjoy the challenge :slight_smile:

1 Like

Got a new CRT bois! One owner CRT, manufactured in '08 while still being a SD model with component in.

It’s from a brand called sansui, the display is slotmask btw. (From what I can tell anyway.)

8 Likes

Guest-dr-venom-advanced with horizontal sharpness at 1.00. I think this is a good way to blend dithering if you aren’t interested in emulating NTSC artifacts and don’t want to deal with the drawbacks of using smart blurs (mdapt, gdapt etc).

5 Likes

Minus the ntsc effect, but that’s how I’ve been doing dithering transparency effects for a while now.

EDIT: So seems I don’t know how to read today, that’s exactly what I’ve been doing for dithering transparencies ffs. That mask hurts my soul btw :joy:

Good shots tho!

1 Like

I got to mess around with a Samsung QN90a that has Neo QLED, (Marketing Gimmick?) The brightness is crazy high and I can crank masks without dulling the image at all. Motion is good and if you’re willing to deal with additional lag to turn on motion smoothing it’s very CRT like. Here are two iphone snaps with venom mask 2 and 7. Gritty but it gives you an idea of the fidelity and kind of subpixel tightness of a 4k QLED.

6 Likes

Current Astro City-like preset

shaders = "12"
shader0 = "shaders_slang/misc/grade.slang"
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_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "StockPass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/afterglow0.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "AfterglowPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/advanced/pre-shaders-afterglow.slang"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "true"
alias3 = "PrePass"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/advanced/avg-lum.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "true"
alias4 = "AvgLumPass"
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/linearize.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "LinearizePass"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "800"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "GlowPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "absolute"
scale_x7 = "800"
scale_type_y7 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "absolute"
scale_x8 = "800"
scale_type_y8 = "absolute"
scale_y8 = "600"
shader9 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "BloomPass"
float_framebuffer9 = "true"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced.slang"
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"
shader11 = "shaders_slang/crt/shaders/guest/advanced/deconvergence.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "viewport"
scale_y11 = "1.000000"
g_gamma_out = "2.550000"
g_crtgamut = "0.000000"
g_vignette = "0.000000"
PR = "0.000000"
PG = "0.000000"
PB = "0.000000"
AS = "0.000000"
sat = "0.000000"
WP = "-100.000000"
GAMMA_INPUT = "2.550000"
glow = "0.000000"
brightboost = "1.000000"
brightboost1 = "4.500017"
gsl = "2.000000"
scanline1 = "10.000000"
scanline2 = "10.000000"
beam_min = "1.000000"
beam_size = "0.000000"
scans = "1.000000"
spike = "2.000000"
h_sharp = "7.499997"
s_sharp = "0.000000"
maskstr = "0.750000"
mcut = "0.750000"
mask_gamma = "2.550000"
slotmask = "0.750000"
mclip = "0.000000"
gamma_out = "2.550000"
decons = "0.000000"
textures = "SamplerLUT0;SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;SamplerLUT5;SamplerLUT6;SamplerLUT7;SamplerLUT8;SamplerLUT9"
SamplerLUT0 = "shaders_slang/crt/shaders/guest/advanced/lut/modern-to-srgb.png"
SamplerLUT0_linear = "true"
SamplerLUT0_wrap_mode = "clamp_to_border"
SamplerLUT0_mipmap = "false"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/dcip3-to-srgb.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/adobe-to-srgb.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/wide-gamut-to-srgb.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/smpte-c-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
SamplerLUT5 = "shaders_slang/crt/shaders/guest/advanced/lut/pal-lut.png"
SamplerLUT5_linear = "true"
SamplerLUT5_wrap_mode = "clamp_to_border"
SamplerLUT5_mipmap = "false"
SamplerLUT6 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT6_linear = "true"
SamplerLUT6_wrap_mode = "clamp_to_border"
SamplerLUT6_mipmap = "false"
SamplerLUT7 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT7_linear = "true"
SamplerLUT7_wrap_mode = "clamp_to_border"
SamplerLUT7_mipmap = "false"
SamplerLUT8 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT8_linear = "true"
SamplerLUT8_wrap_mode = "clamp_to_border"
SamplerLUT8_mipmap = "false"
SamplerLUT9 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT9_linear = "true"
SamplerLUT9_wrap_mode = "clamp_to_border"
SamplerLUT9_mipmap = "false"
5 Likes

My Royale presets look somewhat like those. Aperture grille though:

6 Likes

Similar, but looks like you’re using xbr or something?

The Astro City monitor is razor-sharp to the point where some might find it unpleasant.

2 Likes

Yes, xbr is (almost) always my first pass for any custom crt-preset. I love sharp picture because that’s how I remembered it :stuck_out_tongue:

1 Like

I meant that the Astro City monitor is quite a bit sharper than the screenshot you posted since XBR smooths things out a lot and isn’t very CRT-like. The only thing that really matters though is if you’re happy with the way it looks. I’ve just developed an unhealthy obsession around this stuff.

Beam dynamics are looking really good, though.

3 Likes

The xBR-enhanced pic is indeed “how I remember it”, even though it is demonstrably not “how it actually looks” :slight_smile: I didn’t even notice it, tbh. Good eye on Nesguy

The royale on top looks good with the proper scanline spacing, etc. Do you have that preset posted somewhere @crtJoe?

5 Likes

EDIT: Fixed fast-sharpen path. Didn’t realized that I put absolute path there but you probably already fixed that yourselves. :wink:

I’ll post the preset below. Not sure if it will look alright on your monitor as it’s a new preset I’ve been using. Long story: :stuck_out_tongue: I recently upgraded my monitor to a 2K 144hz one, and immediately realized my previous Royale presets look worse/off than what they used to be on the 1080P one that I used for 10 years. (by the way, BFI is a huge letdown on my new monitor) With my old presets, the colors looked oversaturated and darker, and the picture appeared softer, which is unacceptable for me. I always thought that I probably only needed to increase the mask size but I was wrong.

You might just need to change the gamma settings if the picture looks over or under-saturated on your monitor. If you’re using a 4K monitor, triad size 4 or 5 should look better. And if you’re using a 1080P monitor, you might want to decrease the sharpness parameters as I put fast-sharpen in the last pass as a quick solution to the softer look of my old presets on my new monitor.

probably something like this for 1080P monitors:

SHARPEN = “0.600000” CONTR = “0.150000” DETAILS = “1.000000”

On a 4K Monitor, probably:

SHARPEN = “3.000000” CONTR = “0.250000” DETAILS = “1.000000”

shaders = "14"
shader0 = "shaders_slang/xbr/shaders/xbr-hybrid/2xbr-hybrid-v5-gamma.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "2.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "ORIG_LINEARIZED"
float_framebuffer1 = "false"
srgb_framebuffer1 = "true"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-vertical-interlacing.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "VERTICAL_SCANLINES"
float_framebuffer2 = "false"
srgb_framebuffer2 = "true"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "viewport"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-approx.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "BLOOM_APPROX"
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "absolute"
scale_x3 = "320"
scale_type_y3 = "absolute"
scale_y3 = "240"
shader4 = "shaders_slang/blurs/blur9fast-vertical.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "true"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/blurs/blur9fast-horizontal.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "HALATION_BLUR"
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-vertical.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "64"
scale_type_y6 = "viewport"
scale_y6 = "0.062500"
shader7 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-horizontal.slang"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "MASK_RESIZE"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "viewport"
scale_x7 = "0.062500"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-horizontal-apply-mask.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "MASKED_SCANLINES"
float_framebuffer8 = "false"
srgb_framebuffer8 = "true"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-brightpass.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "BRIGHTPASS"
float_framebuffer9 = "false"
srgb_framebuffer9 = "true"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-vertical.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "true"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-horizontal-reconstitute.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "true"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "true"
alias12 = ""
float_framebuffer12 = "false"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "viewport"
scale_y12 = "1.000000"

shader13 = "shaders_slang/sharpen/shaders/fast-sharpen.slang"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"

parameters = "crt_gamma;lcd_gamma;levels_contrast;halation_weight;diffusion_weight;bloom_underestimate_levels;bloom_excess;beam_min_sigma;beam_max_sigma;beam_spot_power;beam_min_shape;beam_max_shape;beam_shape_power;beam_horiz_filter;beam_horiz_sigma;beam_horiz_linear_rgb_weight;convergence_offset_x_r;convergence_offset_x_g;convergence_offset_x_b;convergence_offset_y_r;convergence_offset_y_g;convergence_offset_y_b;mask_type;mask_sample_mode_desired;mask_specify_num_triads;mask_triad_size_desired;mask_num_triads_desired;aa_subpixel_r_offset_x_runtime;aa_subpixel_r_offset_y_runtime;aa_cubic_c;aa_gauss_sigma;geom_mode_runtime;geom_radius;geom_view_dist;geom_tilt_angle_x;geom_tilt_angle_y;geom_aspect_ratio_x;geom_aspect_ratio_y;geom_overscan_x;geom_overscan_y;border_size;border_darkness;border_compress;interlace_detect_toggle;interlace_bff;interlace_1080i;SHARPEN;CONTR;DETAILS"
crt_gamma = "2.500000"
lcd_gamma = "2.200000"
levels_contrast = "0.843750"
halation_weight = "0.000000"
diffusion_weight = "0.030000"
bloom_underestimate_levels = "0.650000"
bloom_excess = "0.000000"
beam_min_sigma = "0.030000"
beam_max_sigma = "0.365000"
beam_spot_power = "0.370000"
beam_min_shape = "2.000000"
beam_max_shape = "4.000000"
beam_shape_power = "0.250000"
beam_horiz_filter = "0.000000"
beam_horiz_sigma = "0.555000"
beam_horiz_linear_rgb_weight = "1.000000"
convergence_offset_x_r = "0.050000"
convergence_offset_x_g = "-0.050000"
convergence_offset_x_b = "0.100000"
convergence_offset_y_r = "-0.100000"
convergence_offset_y_g = "0.150000"
convergence_offset_y_b = "-0.150000"
mask_type = "0.000000"
mask_sample_mode_desired = "1.000000"
mask_specify_num_triads = "0.000000"
mask_triad_size_desired = "3.000000"
mask_num_triads_desired = "480.000000"
aa_subpixel_r_offset_x_runtime = "-0.333333"
aa_subpixel_r_offset_y_runtime = "0.000000"
aa_cubic_c = "1.234375"
aa_gauss_sigma = "0.500000"
geom_mode_runtime = "0.000000"
geom_radius = "2.000000"
geom_view_dist = "2.000000"
geom_tilt_angle_x = "0.000000"
geom_tilt_angle_y = "0.000000"
geom_aspect_ratio_x = "432.000000"
geom_aspect_ratio_y = "329.000000"
geom_overscan_x = "1.000000"
geom_overscan_y = "1.000000"
border_size = "0.005000"
border_darkness = "0.000000"
border_compress = "2.500000"
interlace_detect_toggle = "1.000000"
interlace_bff = "0.000000"
interlace_1080i = "0.000000"
SHARPEN = "1.000000"
CONTR = "0.250000"
DETAILS = "1.000000"
textures = "mask_grille_texture_small;mask_grille_texture_large;mask_slot_texture_small;mask_slot_texture_large;mask_shadow_texture_small;mask_shadow_texture_large"
mask_grille_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5SpacingResizeTo64.png"
mask_grille_texture_small_linear = "true"
mask_grille_texture_small_wrap_mode = "repeat"
mask_grille_texture_small_mipmap = "false"
mask_grille_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5Spacing.png"
mask_grille_texture_large_linear = "true"
mask_grille_texture_large_wrap_mode = "repeat"
mask_grille_texture_large_mipmap = "true"
mask_slot_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacingResizeTo64.png"
mask_slot_texture_small_linear = "true"
mask_slot_texture_small_wrap_mode = "repeat"
mask_slot_texture_small_mipmap = "false"
mask_slot_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing.png"
mask_slot_texture_large_linear = "true"
mask_slot_texture_large_wrap_mode = "repeat"
mask_slot_texture_large_mipmap = "true"
mask_shadow_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDPResizeTo64.png"
mask_shadow_texture_small_linear = "true"
mask_shadow_texture_small_wrap_mode = "repeat"
mask_shadow_texture_small_mipmap = "false"
mask_shadow_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDP.png"
mask_shadow_texture_large_linear = "true"
mask_shadow_texture_large_wrap_mode = "repeat"
mask_shadow_texture_large_mipmap = "true"

Feel free to help me improve it :grin: I sometimes feel a bit lonely because there aren’t many Royale users here. And the reason I throw xbr into most of my presets is because, yeah I don’t remember sprites/backgrounds being that blocky (I guess we tend to optimize our memories). It also allows me to use more aggressive sharpness parameters without getting some unwanted artifacts.

@ Nesguy You might like this one better:

shaders = "14"
shader0 = "shaders_slang/xbr/shaders/xbr-hybrid/2xbr-hybrid-v5-gamma.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "2.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "ORIG_LINEARIZED"
float_framebuffer1 = "false"
srgb_framebuffer1 = "true"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-vertical-interlacing.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "VERTICAL_SCANLINES"
float_framebuffer2 = "false"
srgb_framebuffer2 = "true"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "viewport"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-approx.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "BLOOM_APPROX"
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "absolute"
scale_x3 = "320"
scale_type_y3 = "absolute"
scale_y3 = "240"
shader4 = "shaders_slang/blurs/blur9fast-vertical.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "true"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/blurs/blur9fast-horizontal.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "HALATION_BLUR"
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-vertical.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "64"
scale_type_y6 = "viewport"
scale_y6 = "0.062500"
shader7 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-horizontal.slang"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "MASK_RESIZE"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "viewport"
scale_x7 = "0.062500"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-horizontal-apply-mask.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "MASKED_SCANLINES"
float_framebuffer8 = "false"
srgb_framebuffer8 = "true"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-brightpass.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "BRIGHTPASS"
float_framebuffer9 = "false"
srgb_framebuffer9 = "true"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-vertical.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "true"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-horizontal-reconstitute.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "true"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "true"
alias12 = ""
float_framebuffer12 = "false"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "viewport"
scale_y12 = "1.000000"
shader13 = "shaders_slang/sharpen/shaders/fast-sharpen.slang"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
levels_contrast = "0.843750"
diffusion_weight = "0.030000"
bloom_underestimate_levels = "0.650000"
beam_min_sigma = "0.005000"
beam_max_sigma = "0.240000"
beam_spot_power = "0.370000"
beam_horiz_sigma = "0.555000"
convergence_offset_x_r = "0.050000"
convergence_offset_x_g = "-0.050000"
convergence_offset_x_b = "0.100000"
convergence_offset_y_r = "-0.100000"
convergence_offset_y_g = "0.150000"
convergence_offset_y_b = "-0.150000"
mask_type = "0.000000"
mask_sample_mode_desired = "1.000000"
aa_subpixel_r_offset_x_runtime = "-0.333333"
aa_cubic_c = "1.234375"
border_size = "0.005000"
border_darkness = "0.000000"
CONTR = "0.250000"
textures = "mask_grille_texture_small;mask_grille_texture_large;mask_slot_texture_small;mask_slot_texture_large;mask_shadow_texture_small;mask_shadow_texture_large"
mask_grille_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5SpacingResizeTo64.png"
mask_grille_texture_small_linear = "true"
mask_grille_texture_small_wrap_mode = "repeat"
mask_grille_texture_small_mipmap = "false"
mask_grille_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5Spacing.png"
mask_grille_texture_large_linear = "true"
mask_grille_texture_large_wrap_mode = "repeat"
mask_grille_texture_large_mipmap = "true"
mask_slot_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacingResizeTo64.png"
mask_slot_texture_small_linear = "true"
mask_slot_texture_small_wrap_mode = "repeat"
mask_slot_texture_small_mipmap = "false"
mask_slot_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing.png"
mask_slot_texture_large_linear = "true"
mask_slot_texture_large_wrap_mode = "repeat"
mask_slot_texture_large_mipmap = "true"
mask_shadow_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDPResizeTo64.png"
mask_shadow_texture_small_linear = "true"
mask_shadow_texture_small_wrap_mode = "repeat"
mask_shadow_texture_small_mipmap = "false"
mask_shadow_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDP.png"
mask_shadow_texture_large_linear = "true"
mask_shadow_texture_large_wrap_mode = "repeat"
mask_shadow_texture_large_mipmap = "true"
5 Likes

Same for me. I think most users have old hardware :thinking:

1 Like

I feel attacked for supporting this potato to the end of its life cycle :rofl:

1 Like

Mine is pretty old too (i5-2500k from 2011) but my gfx card is somewhat modern (gtx-1050). My royale presets usually run at at around 400fps at 1792x1344 for NES games. I disabled quite a few runtime parameters in user-settings.h and it gave me a nice performance boost.

On a side note, I only use guest-dr-venom (non-advanced) and crt-royale and created about 5-6 presets. I use two of them probably 70% of the time. Still, I feel like I need several presets in place because of aesthetic fatigue. Sometimes I don’t need a better preset. A different look is all I need. :joy:

1 Like