Please show off what crt shaders can do!

Those NES shots look really good, IMO. The chunkier sprites can really handle the grunge without getting muddy.

5 Likes

@sonkun

Nice screenshots. I got inspired, here’s my own interpretation of a low-tvl (250 or so) TV via composite. I really like how the deconvergence plays with these masks.

6 Likes

Nice, I’m glad you guys like the shots. All thanks to guest, the composite filter and a little razzle dazzle lol

5 Likes

New presets. Still tweaking brightness/gamma, but they’re all playable. I maximized the dynamic range by only increasing the brightness of the bright pixels. I also tried to adjust the scanlines to minimize curvature-related moire; increasing the bright beam width a notch or two seems to help.

Still not completely satisfied with the three color mask (360 TVL), it’s a tough one. I think improved scanline deconvergence will help give better definition to the rgb triads and improve the phosphor dynamics. Scanline type 2 is also difficult, maybe I need to crank up the gamma a bit more.

540 TVL

360 TVL

270 TVL

6 Likes

Zoomed in using my iPhone, I’m really liking how the phosphors bleed into each other in a fairly realistic way.

4 Likes

Just playing around. It’s hard to keep the reds bloomy while keeping the rest of the scanlines dark enough, can’t quite capture what the TV is doing.

Also playing around with color palettes and color management. First shot is grade’s white point at 6500K, second is at 9300K, both using Nestopia’s PVM-style D93 FBx palette. Both look weird to me :man_shrugging:

4 Likes

Hi! Long time no see. Great stuff being shared here. I know this might be a bit late but I have a couple alternatives to the original “Death To Pixels.cgp” preset that was posted here that looks great to me and works on AMD graphics cards. They may not be the most accurate so don’t hold that against me as I’m not a purest or perfectionist when it comes to CRT emulation. I just appreciate something that blends the pixels and makes stuff look good.

Death to pixels v3 - Dark (NEC & Capcom CPS1)

shaders = "10"
shader0 = "Analog Shader Pack version 3\shaders_cg\misc\color-mangler.cg"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "true"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "2.000000"
shader1 = "Analog Shader Pack version 3\shaders_cg\ntsc\shaders\ntsc-pass1-composite-2phase.cg"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
shader2 = "Analog Shader Pack version 3\shaders_cg\ntsc\shaders\ntsc-pass2-2phase-gamma.cg"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
shader3 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\crt-easymode-halation.cg"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "Analog Shader Pack version 3\shaders_cg\stock.cg"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
shader5 = "Analog Shader Pack version 3\shaders_cg\crt\shaders\crt-geom.cg"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "2.000000"
scale_type_y5 = "source"
scale_y5 = "2.000000"
shader6 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\image-adjustment.cg"
filter_linear6 = "false"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
shader7 = "Analog Shader Pack version 3\shaders_cg\oldtvshader-no noise3.cg"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
shader8 = "Analog Shader Pack version 3\shaders_cg\blurs\blur5x5.cg"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
shader9 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\crt-easymode.cg"
filter_linear9 = "false"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
parameters = "display_gamma;target_gamma;sat;lum;cntrst;r;g;b;rg;rb;gr;gb;br;bg;blr;blg;blb;NTSC_CRT_GAMMA;NTSC_MONITOR_GAMMA;GAMMA_OUTPUT;SHARPNESS_H;SHARPNESS_V;MASK_TYPE;MASK_STRENGTH_MIN;MASK_STRENGTH_MAX;MASK_SIZE;SCANLINE_STRENGTH_MIN;SCANLINE_STRENGTH_MAX;SCANLINE_BEAM_MIN;SCANLINE_BEAM_MAX;GEOM_CURVATURE;GEOM_WARP;GEOM_CORNER_SIZE;GEOM_CORNER_SMOOTH;INTERLACING_TOGGLE;HALATION;DIFFUSION;BRIGHTNESS;CRTgamma;monitorgamma;d;CURVATURE;R;cornersize;cornersmooth;x_tilt;y_tilt;overscan_x;overscan_y;DOTMASK;SHARPER;scanline_weight;target_gamma;monitor_gamma;overscan_percent_x;overscan_percent_y;saturation;contrast;luminance;bright_boost;R;G;B;ZOOM;XPOS;YPOS;V_OSMASK;H_OSMASK;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
display_gamma = "2.200000"
target_gamma = "2.400000"
sat = "1.000000"
lum = "1.450000"
cntrst = "1.000000"
r = "0.550000"
g = "0.700000"
b = "0.700000"
rg = "0.000000"
rb = "0.000000"
gr = "0.055000"
gb = "0.000000"
br = "0.000000"
bg = "0.000000"
blr = "0.000000"
blg = "0.000000"
blb = "0.000000"
NTSC_CRT_GAMMA = "2.500000"
NTSC_MONITOR_GAMMA = "2.500000"
GAMMA_OUTPUT = "1.800000"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
MASK_TYPE = "3.000000"
MASK_STRENGTH_MIN = "0.000000"
MASK_STRENGTH_MAX = "0.000000"
MASK_SIZE = "1.000000"
SCANLINE_STRENGTH_MIN = "0.000000"
SCANLINE_STRENGTH_MAX = "0.000000"
SCANLINE_BEAM_MIN = "1.000000"
SCANLINE_BEAM_MAX = "1.000000"
GEOM_CURVATURE = "0.090000"
GEOM_WARP = "0.000000"
GEOM_CORNER_SIZE = "0.000000"
GEOM_CORNER_SMOOTH = "50.000000"
INTERLACING_TOGGLE = "0.000000"
HALATION = "0.040000"
DIFFUSION = "0.030000"
BRIGHTNESS = "0.800000"
CRTgamma = "2.400000"
monitorgamma = "2.200000"
d = "2.250000"
CURVATURE = "0.000000"
R = "1.000000"
cornersize = "0.005000"
cornersmooth = "180.000000"
x_tilt = "0.000000"
y_tilt = "0.000000"
overscan_x = "100.000000"
overscan_y = "100.000000"
DOTMASK = "0.000000"
SHARPER = "1.000000"
scanline_weight = "0.435000"
monitor_gamma = "2.400000"
overscan_percent_x = "0.000000"
overscan_percent_y = "0.000000"
saturation = "1.000000"
contrast = "1.500000"
luminance = "0.850000"
bright_boost = "0.000000"
G = "0.930000"
B = "0.950000"
ZOOM = "1.000000"
XPOS = "0.000000"
YPOS = "0.000000"
V_OSMASK = "0.000000"
H_OSMASK = "0.000000"
MASK_STRENGTH = "0.400000"
MASK_DOT_WIDTH = "1.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_STAGGER = "0.000000"
SCANLINE_STRENGTH = "1.000000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"
SCANLINE_BRIGHT_MIN = "0.350000"
SCANLINE_BRIGHT_MAX = "0.650000"
SCANLINE_CUTOFF = "400.000000"
GAMMA_INPUT = "2.600000"
BRIGHT_BOOST = "1.500000"
DILATION = "1.000000"

Death to pixels v3 - Bright (Nintendo & Sega)

shaders = "10"
shader0 = "Analog Shader Pack version 3\shaders_cg\misc\color-mangler.cg"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "true"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "2.000000"
shader1 = "Analog Shader Pack version 3\shaders_cg\ntsc\shaders\ntsc-pass1-composite-2phase.cg"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
shader2 = "Analog Shader Pack version 3\shaders_cg\ntsc\shaders\ntsc-pass2-2phase-gamma.cg"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
shader3 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\crt-easymode-halation.cg"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "Analog Shader Pack version 3\shaders_cg\stock.cg"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
shader5 = "Analog Shader Pack version 3\shaders_cg\crt\shaders\crt-geom.cg"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "2.000000"
scale_type_y5 = "source"
scale_y5 = "2.000000"
shader6 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\image-adjustment.cg"
filter_linear6 = "false"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
shader7 = "Analog Shader Pack version 3\shaders_cg\oldtvshader-no noise3.cg"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
shader8 = "Analog Shader Pack version 3\shaders_cg\blurs\blur5x5.cg"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
shader9 = "Analog Shader Pack version 3\shaders_cg\Analog Shader Pack\480P\crt-easymode.cg"
filter_linear9 = "false"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
parameters = "display_gamma;target_gamma;sat;lum;cntrst;r;g;b;rg;rb;gr;gb;br;bg;blr;blg;blb;NTSC_CRT_GAMMA;NTSC_MONITOR_GAMMA;GAMMA_OUTPUT;SHARPNESS_H;SHARPNESS_V;MASK_TYPE;MASK_STRENGTH_MIN;MASK_STRENGTH_MAX;MASK_SIZE;SCANLINE_STRENGTH_MIN;SCANLINE_STRENGTH_MAX;SCANLINE_BEAM_MIN;SCANLINE_BEAM_MAX;GEOM_CURVATURE;GEOM_WARP;GEOM_CORNER_SIZE;GEOM_CORNER_SMOOTH;INTERLACING_TOGGLE;HALATION;DIFFUSION;BRIGHTNESS;CRTgamma;monitorgamma;d;CURVATURE;R;cornersize;cornersmooth;x_tilt;y_tilt;overscan_x;overscan_y;DOTMASK;SHARPER;scanline_weight;target_gamma;monitor_gamma;overscan_percent_x;overscan_percent_y;saturation;contrast;luminance;bright_boost;R;G;B;ZOOM;XPOS;YPOS;V_OSMASK;H_OSMASK;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
display_gamma = "2.200000"
target_gamma = "2.400000"
sat = "1.000000"
lum = "1.450000"
cntrst = "1.000000"
r = "0.550000"
g = "0.700000"
b = "0.700000"
rg = "0.000000"
rb = "0.000000"
gr = "0.055000"
gb = "0.000000"
br = "0.000000"
bg = "0.000000"
blr = "0.000000"
blg = "0.000000"
blb = "0.000000"
NTSC_CRT_GAMMA = "2.500000"
NTSC_MONITOR_GAMMA = "2.500000"
GAMMA_OUTPUT = "1.800000"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
MASK_TYPE = "3.000000"
MASK_STRENGTH_MIN = "0.000000"
MASK_STRENGTH_MAX = "0.000000"
MASK_SIZE = "1.000000"
SCANLINE_STRENGTH_MIN = "0.000000"
SCANLINE_STRENGTH_MAX = "0.000000"
SCANLINE_BEAM_MIN = "1.000000"
SCANLINE_BEAM_MAX = "1.000000"
GEOM_CURVATURE = "0.090000"
GEOM_WARP = "0.000000"
GEOM_CORNER_SIZE = "0.000000"
GEOM_CORNER_SMOOTH = "50.000000"
INTERLACING_TOGGLE = "0.000000"
HALATION = "0.040000"
DIFFUSION = "0.030000"
BRIGHTNESS = "0.950000"
CRTgamma = "2.400000"
monitorgamma = "2.200000"
d = "2.250000"
CURVATURE = "0.000000"
R = "1.000000"
cornersize = "0.005000"
cornersmooth = "180.000000"
x_tilt = "0.000000"
y_tilt = "0.000000"
overscan_x = "100.000000"
overscan_y = "100.000000"
DOTMASK = "0.000000"
SHARPER = "1.000000"
scanline_weight = "0.435000"
monitor_gamma = "2.400000"
overscan_percent_x = "0.000000"
overscan_percent_y = "0.000000"
saturation = "1.000000"
contrast = "1.500000"
luminance = "0.850000"
bright_boost = "0.000000"
G = "0.930000"
B = "0.950000"
ZOOM = "1.000000"
XPOS = "0.000000"
YPOS = "0.000000"
V_OSMASK = "0.000000"
H_OSMASK = "0.000000"
MASK_STRENGTH = "0.400000"
MASK_DOT_WIDTH = "1.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_STAGGER = "0.000000"
SCANLINE_STRENGTH = "1.000000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"

They are both based on Boob Tube with some slight modifications to remove the curvature and some other stuff. I’m too shy and lazy to post any screenshots at the moment so if anyone wants to try them out and show off what they can do feel free. Thanks very much to all the contributors who made this possible.

3 Likes

Bruh… Don’t be a sloth, post them pics ROFL.

We are friendly and will give nice feedback, we tend tend be lazy as well, sometimes if there’s no pics we won’t try stuff.

3 Likes

Using the raw palette in Nestopia and the nes color decoder shader for “accurate” colors. I altered the mask colors because I have GRB subpixels. Looks great to me.

shaders = "12"
shader0 = "shaders_slang/nes_raw_palette/shaders/nes-color-decoder.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"
nes_saturation = "1.500000"
nes_gamma = "1.800001"
PR = "0.000000"
PG = "0.000000"
PB = "0.000000"
CP = "3.000000"
WP = "-100.000000"
GAMMA_INPUT = "2.200000"
glow = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.999999"
gsl = "2.000000"
beam_min = "1.000000"
beam_size = "0.000000"
vertmask = "1.000000"
scans = "1.000000"
spike = "0.000000"
h_sharp = "4.000001"
s_sharp = "0.000000"
maskstr = "0.700000"
mcut = "0.700000"
deconrr = "1.000000"
deconrb = "-1.000000"
decons = "1.000000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
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"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/lut/custom_lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
5 Likes

5 Likes

3 Likes

If I have some time I’ll post some shots but I use the good old original “Death To Pixels.cgp” as I’m an nVidia user and I tend to not like to mess with my setup too often except for updates. I’m more one who likes to play when I get time rather than tinker with what works and I hardly even get time to play. Pretty soon I might have to go back into tinkering mode if I want to go past RetroArch V1.9.0 though and get some better looking shaders than the “Death To Pixels.cgp”.

I really made and tested these preset tweaks for my fellow AMD users. I already tested them some years ago so I know they look great. Almost as great as the original “Death To Pixels.cgp” but with a slightly different style. So feel free to post as it may be a while before I post screenshots using those presets. I’ll quicker post some using the original “Death To Pixels.cgp” that I actually use but then I’m sure that’s been done already.

1 Like

Looks familiar but I don’t want to assume. What shaders/presets are these? Looks great!

These are awesome! What shaders/presets are these and what cool bezel reflection shader is that? I love how these get the CRT curvature just right. A bit of a subtle curve that’s hardly even noticeable during gameplay like I remember it in the 80s and 90s growing up. Most of the examples of curvature that I’ve seen over the years as well as in presets have been really exaggerated. Nothing like I remembered from back in the day. These truly are some beautiful pixels!

It’s one of guest’s shaders and a preset of his own making, probably doesn’t even have those exact settings anymore because all the fiddling he does.

1 Like

That’s from @HyperspaceMadness’s mega bezel shader pack, dunno which preset tho.

1 Like

Another guest shader update, another shader tweak :slight_smile:

shaders = "10"
shader0 = "shaders_slang/crt/shaders/crtsim/composite.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/misc/grade.slang"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "PrePass"
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/avg-lum.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "true"
alias2 = "AvgLumPass"
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/linearize.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "LinearizePass"
float_framebuffer3 = "true"
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/gaussian_horizontal.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "absolute"
scale_x4 = "800"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "GlowPass"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "absolute"
scale_x5 = "800"
scale_type_y5 = "absolute"
scale_y5 = "600"
shader6 = "shaders_slang/crt/shaders/guest/advanced/bloom_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 = "absolute"
scale_y6 = "600"
shader7 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "BloomPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
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/guest/advanced/deconvergence.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
Tuning_Sharp = "0.500000"
NTSCArtifactScale = "0.000000"
g_space_out = "3.000000"
wp_temperature = "8004.000000"
g_sat = "0.400000"
g_lift = "-0.040000"
interm = "5.000000"
bloom = "0.900000"
halation = "0.500000"
gamma_c = "1.400000"
gsl = "-1.000000"
h_sharp = "2.000000"
s_sharp = "0.000000"
BLOOM = "1.000000"
csize = "0.030000"
barspeed = "200.000000"
barintensity = "0.010000"
warpX = "0.040000"
warpY = "0.050000"
c_shape = "0.600000"
shadowMask = "7.000000"
maskstr = "0.750000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "1.600001"
slotmask = "0.750000"
slotwidth = "1.000000"
slotms = "2.000000"
deconrr = "0.750000"
deconrb = "-0.750000"
deconrry = "1.500000"
deconrby = "-1.500000"
decons = "-2.000002"
addnoised = "-0.300000"
textures = "MaskTexture;NTSCArtifactSampler;shadowMaskSampler;SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
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"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/lut/custom_lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
7 Likes

Here are a couple using “Death To Pixels.cgp” preset for Analog Shader Pack 3. I have more screenshots but all of the others are over 4MB so they won’t upload. I guess I’ll have to crop them or something unless someone else can share some tips to reduce the file size without degrading quality. Not sure about those image sharing sites though. Any good recommendations?

2 Likes

Hi there, the shader with the reflection and generated bezel is this one: https://forums.libretro.com/t/hsm-mega-bezel-reflection-shader-feedback-and-updates

4 Likes

Wow! These are awesome developments! Thanks very much!

3 Likes