Please show off what crt shaders can do!

Can you show me which passes he’s actually changing to stock passes?

I could give you a pretty immediate answer as to if it’s an issue or not. As you know I’ve dismantled the entire guest-dr-venom preset.

If it’s just like the preset on his dynamic range thread, there’s no issues with removing those passes. Basically the earliest pass that’s needed without having to rework shaders is the grade pass in that chain. As the grade pass is taking the place of the d65-d50 pass, which if nothing is there will cause issues.

Edit: This is entirely from memory, if @Nesguy sends me the current presets I’ll cut the unneeded passes for him.

1 Like

Yes. It’s the dynamic range preset from his thread. I think the only pass that will break (already broken btw) is Afterglow, as it needs atleast six previous textures/passes to work.

1 Like

It doesn’t need earlier passes for the afterglow, its pulling previous frames, and not passes iirc.

I have afterglow running in my preset, and I have literally only two passes before the afterglow in the chain.

I’ll fiddle with his chain after I get some sleep and see if I can figure out what the issue is.

Also guests default chain only has 3 passes before the afterglow pass, I just checked the repo.

1 Like

My bad. Just checked and I probably mistook all the PrevTexture for PassPrevTexture, lol!

1 Like

You’re fine shit be confusing lmao.

1 Like

My custom crt royale shader is beeing used in this let’s play serie on FFVII iam working on currently :slight_smile: Not to trying to get views on my bassicly non existing youtube channel, but rather to show it in motion :slight_smile: I hope it’s alright! Enjoy! (full screen and at least 2k resolution is preferable)

@DevilSingh

Okay I think I found the problem, my bad. Just updated that preset again, see if that fixes the issue.

I won’t be back at my computer until tomorrow, at which point I’ll send you the necessary files @Syh. Thanks for offering to help! I could probably do it myself, but laziness.

1 Like

No problem will take all of like 15 minutes or so, to edit, and test everything lol.

Thanks, it works now. (So, turns out it was all just a little beam_size beam_max mixup!)

2 Likes

Looks much better now, imo.

1 Like

I’m liking the mame_hlsl for high res content. Here are two Dreamcast games and a 4x scaled ps1.

5 Likes

I’m curious as to how mame_hlsl is keeping the scanlines like that a higher resolutions.

Because normally they’d be thinner right?

There is a scale parameter that you can change. I lower the number as the resolution gets higher. scanlinescale = “1.000000”

2 Likes

Yeah, I looked through the code, and mame_hlsl scanlines are kind of similar to scanlines in NewPixie or the Mega Bezel’s fake scanlines in that they don’t quantize the vertical resolution like guest-dr-venom does. The fact that guest-dr-venom does is not a bad thing because it’s how it gets such convincing Beam dynamics, but it’s why the scanlines have to get smaller as the core resolution increases.

Instead the mame-hlsl scanlines are a brightness adjustment on top of the full image from the core. So this means that the full core res image comes through, then a brightness multiplier with the adjustable size is applied on top.

I do really like how they’ve done it, so I may use it as inspiration for improvements of the Mega Bezel’s fake scanlines.

1 Like

@BendBombBoom Could you share that mame_hlsl preset? I was half asleep when you posted those pic lol

Cool, the scanlines look much better now, but did you make some changes to color temp or something? I forgot to remove the glow; I find that it washes out the colors too much. Just fixed that but you can just set “glow” to 0.0000 in the parameters, probably easier than copy-pasting everything again. Here’s what it looks like now, colors are much closer to the original colors.

Just for kicks, here’s the same thing with my new xVM preset:

CRT gamma might need to be tweaked a bit if you want the colors to be closer to GBA colors; this is probably closer to how the colors would appear on a CRT via the Game Boy Player but I don’t have real hardware to make a comparison so I just winged it :wink:

I decided that the “right” way to display GBA games is to just preserve the original aspect ratio and make the image as large as possible without cropping anything, since you had that option with the GB Player connected to a CRT.

2 Likes

Some crt royale :slight_smile:

2 Likes

Those are some chunky scanlines lol.

@Syh Sure.It’s got a useless composite pass and I am also using grade. Here are two more shots of a tweaked mame_hlsl. I’m getting great contrast in Out Run and possibly a bit over bright image in Alien Trilogy. It has no glow options but you can make those scanlines eye ball cutting sharp if you want.

shaders = "13"
shader0 = "shaders_slang/misc/grade.slang"
filter_linear0 = "true"
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/crtsim/composite.slang"
filter_linear1 = "true"
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_slang/crt/shaders/mame_hlsl/shaders/mame_ntsc_encode.slang"
filter_linear2 = "true"
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_slang/crt/shaders/mame_hlsl/shaders/mame_ntsc_decode.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "NTSCPass"
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/mame_hlsl/shaders/mame_color.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "ColorPass"
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/mame_hlsl/shaders/mame_prescale.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "PrescalePass"
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "viewport"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_deconverge.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = "DeconvergePass"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "viewport"
scale_x6 = "1.000000"
scale_type_y6 = "viewport"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_scanline.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "ScanlinePass"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "viewport"
scale_x7 = "2.000000"
scale_type_y7 = "viewport"
scale_y7 = "2.000000"
shader8 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_defocus.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "FocusPass"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_post.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "PostPass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_phosphor.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "PhosphorPass"
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/mame_hlsl/shaders/mame_chroma.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "ChromaPass"
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "viewport"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/mame_hlsl/shaders/mame_distortion.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "DistortionPass"
float_framebuffer12 = "false"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "viewport"
scale_y12 = "1.000000"
parameters = "g_gamma_in;g_signal_type;g_gamma_type;g_crtgamut;g_space_out;g_hue_degrees;g_I_SHIFT;g_Q_SHIFT;g_I_MUL;g_Q_MUL;g_lum_fix;g_vignette;g_vstr;g_vpower;g_lum;g_cntrst;g_mid;wp_temperature;g_sat;g_vibr;g_satr;g_satg;g_satb;g_lift;blr;blg;blb;wlr;wlg;wlb;rg;rb;gr;gb;br;bg;LUT_Size1;LUT1_toggle;LUT_Size2;LUT2_toggle;Tuning_Sharp;Tuning_Persistence_R;Tuning_Persistence_G;Tuning_Persistence_B;Tuning_Bleed;Tuning_Artifacts;NTSCLerp;NTSCArtifactScale;animate_artifacts;ntscsignal;scanlinetoggle;chromatoggle;distortiontoggle;phosphortoggle;screenscale_x;screenscale_y;jitter;scanline_crawl;screenoffset_x;screenoffset_y;swapxy;humbaralpha;humbar_hertz_rate;shadowtilemode;shadowalpha;shadowcount_x;shadowcount_y;shadowuv_x;shadowuv_y;mask_offset_x;mask_offset_y;chromamode;conversiongain_x;conversiongain_y;conversiongain_z;power_r;power_g;power_b;floor_r;floor_g;floor_b;avalue;bvalue;ccvalue;ovalue;pvalue;scantime;notch_width;yfreqresponse;ifreqresponse;qfreqresponse;jitter_offset;col_rr;col_rg;col_rb;col_gr;col_gg;col_gb;col_br;col_bg;col_bb;col_offset_x;col_offset_y;col_offset_z;col_scale_x;col_scale_y;col_scale_z;col_saturation;converge_x_r;converge_x_g;converge_x_b;converge_y_r;converge_y_g;converge_y_b;radial_conv_x_r;radial_conv_x_g;radial_conv_x_b;radial_conv_y_r;radial_conv_y_g;radial_conv_y_b;scanlinealpha;scanlinescale;scanlineheight;scanlinevariation;scanlinebrightscale;scanlinebrightoffset;scanline_jitter_amount;defocus_x;defocus_y;phosphor_r;phosphor_g;phosphor_b;ygain_r;ygain_g;ygain_b;chromaa_x;chromaa_y;chromab_x;chromab_y;chromac_x;chromac_y;distortion_amount;cubic_distortion_amount;distort_corner_amount;round_corner_amount;smooth_border_amount;vignette_amount;reflection_amount;noise_amt;prescale"
g_gamma_in = "2.400000"
g_signal_type = "1.000000"
g_gamma_type = "1.000000"
g_crtgamut = "1.000000"
g_space_out = "-1.000000"
g_hue_degrees = "0.000000"
g_I_SHIFT = "0.000000"
g_Q_SHIFT = "0.000000"
g_I_MUL = "1.000000"
g_Q_MUL = "1.000000"
g_lum_fix = "0.000000"
g_vignette = "0.000000"
g_vstr = "40.000000"
g_vpower = "0.200000"
g_lum = "0.000000"
g_cntrst = "-0.050000"
g_mid = "0.000000"
wp_temperature = "5505.000000"
g_sat = "0.000000"
g_vibr = "0.000000"
g_satr = "0.000000"
g_satg = "0.000000"
g_satb = "0.000000"
g_lift = "0.000000"
blr = "0.000000"
blg = "0.000000"
blb = "0.000000"
wlr = "1.000000"
wlg = "1.000000"
wlb = "1.000000"
rg = "0.000000"
rb = "0.000000"
gr = "0.000000"
gb = "0.000000"
br = "-0.100000"
bg = "0.000000"
LUT_Size1 = "16.000000"
LUT1_toggle = "0.000000"
LUT_Size2 = "64.000000"
LUT2_toggle = "0.000000"
Tuning_Sharp = "0.100000"
Tuning_Persistence_R = "0.000000"
Tuning_Persistence_G = "0.000000"
Tuning_Persistence_B = "0.000000"
Tuning_Bleed = "0.250000"
Tuning_Artifacts = "0.000000"
NTSCLerp = "0.000000"
NTSCArtifactScale = "430.000000"
animate_artifacts = "0.000000"
ntscsignal = "0.000000"
scanlinetoggle = "1.000000"
chromatoggle = "1.000000"
distortiontoggle = "0.000000"
phosphortoggle = "0.000000"
screenscale_x = "0.000000"
screenscale_y = "0.000000"
jitter = "0.000000"
scanline_crawl = "0.000000"
screenoffset_x = "0.000000"
screenoffset_y = "0.000000"
swapxy = "0.000000"
humbaralpha = "0.000000"
humbar_hertz_rate = "0.001000"
shadowtilemode = "0.000000"
shadowalpha = "0.250000"
shadowcount_x = "12.000000"
shadowcount_y = "12.000000"
shadowuv_x = "1.000000"
shadowuv_y = "0.500000"
mask_offset_x = "0.000000"
mask_offset_y = "0.000000"
chromamode = "3.000000"
conversiongain_x = "0.000000"
conversiongain_y = "0.000000"
conversiongain_z = "0.000000"
power_r = "1.000000"
power_g = "1.000000"
power_b = "1.000000"
floor_r = "0.000000"
floor_g = "0.000000"
floor_b = "0.000000"
avalue = "0.500000"
bvalue = "0.500000"
ccvalue = "3.579545"
ovalue = "0.000000"
pvalue = "1.000000"
scantime = "52.599995"
notch_width = "2.000000"
yfreqresponse = "6.000000"
ifreqresponse = "1.200000"
qfreqresponse = "0.600000"
jitter_offset = "0.000000"
col_rr = "1.000000"
col_rg = "0.000000"
col_rb = "0.000000"
col_gr = "0.000000"
col_gg = "1.000000"
col_gb = "0.000000"
col_br = "0.000000"
col_bg = "0.000000"
col_bb = "1.000000"
col_offset_x = "0.000000"
col_offset_y = "0.000000"
col_offset_z = "0.000000"
col_scale_x = "0.950000"
col_scale_y = "0.950000"
col_scale_z = "0.950000"
col_saturation = "1.099999"
converge_x_r = "0.000000"
converge_x_g = "0.000000"
converge_x_b = "0.000000"
converge_y_r = "0.000000"
converge_y_g = "0.000000"
converge_y_b = "0.000000"
radial_conv_x_r = "0.000000"
radial_conv_x_g = "0.000000"
radial_conv_x_b = "0.000000"
radial_conv_y_r = "0.000000"
radial_conv_y_g = "0.000000"
radial_conv_y_b = "0.000000"
scanlinealpha = "0.550000"
scanlinescale = "1.000000"
scanlineheight = "0.250000"
scanlinevariation = "4.000000"
scanlinebrightscale = "2.000000"
scanlinebrightoffset = "0.000000"
scanline_jitter_amount = "0.250000"
defocus_x = "0.000000"
defocus_y = "0.000000"
phosphor_r = "0.450000"
phosphor_g = "0.450000"
phosphor_b = "0.550000"
ygain_r = "0.372599"
ygain_g = "0.950000"
ygain_b = "0.152200"
chromaa_x = "0.630000"
chromaa_y = "0.340000"
chromab_x = "0.310000"
chromab_y = "0.595000"
chromac_x = "0.135000"
chromac_y = "0.080000"
distortion_amount = "0.020000"
cubic_distortion_amount = "-0.000000"
distort_corner_amount = "0.000000"
round_corner_amount = "0.000000"
smooth_border_amount = "0.000000"
vignette_amount = "0.000000"
reflection_amount = "0.000000"
noise_amt = "0.000000"
prescale = "2.000000"
textures = "MaskTexture;NTSCArtifactSampler;shadowMaskSampler;SamplerLUT1;SamplerLUT2;SamplerLUT3"
MaskTexture = "shaders_slang/crt/shaders/mame_hlsl/resources/aperture-grille.png"
MaskTexture_wrap_mode = "clamp_to_border"
MaskTexture_mipmap = "false"
NTSCArtifactSampler = "shaders_slang/crt/shaders/crtsim/artifacts.png"
NTSCArtifactSampler_linear = "true"
NTSCArtifactSampler_wrap_mode = "clamp_to_border"
NTSCArtifactSampler_mipmap = "false"
shadowMaskSampler = "shaders_slang/crt/shaders/crtsim/mask.png"
shadowMaskSampler_linear = "true"
shadowMaskSampler_wrap_mode = "clamp_to_border"
shadowMaskSampler_mipmap = "false"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron1.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron2.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/lut/other1.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
3 Likes

Ohh you went full ham on the preset, my hat off to you.

I’ll check it out when I get some time.