Please show off what crt shaders can do!

Thank you! :grin: You’ve been a lot of help! Remember that. :grinning: I just needed a little advice to achieve this, and you have given me a lot of help. With 4K maybe I should set the monitor color to 8 bit instead if 10bit, on my monitor looks good, but once I look onto the mobile phone, it looks darker, inthe ither way round doesn’t happen 1080p looks good on 4K. That’s thebonly thing I will continue to work.

3 Likes

Let’s see how it looks now on 4K:

CRT Guest Advanced Shader:

Mega Bezel STD Super XBR NTSC:

6 Likes

You’re welcome.

Thanks a lot. I appreciate this.

I’ve noticed that Super XBR darkens the image slightly when turned on. Have you observed that as well?

1 Like

Well, I think is darker, yes. which preset do you recommend for mega bezel that doesn’t darken the screen, and have strong masks like guest advanced standalone?

1 Like

This is a tough question because I use Mega Bezel Reflection Shader almost exclusively. I’ve only tried a few of the available base presets. I used to use the Advanced presets followed by the Smooth Advanced. I recently tried the Advanced SuperXBR NTSC preset.

I don’t think it’s the Mega Bezel itself that is darkening the screen. It could be the SuperXBR shader/parameter itself which is causing the darkening.

That being the case, I just increased the Gamma_C setting.

3 Likes

turboxray PCE hires_slideshow_1.pce using CyberLab_Turbo_Duo_S-Video_Slot_Mask_IV_OLED_NTSC_II.slangp (1080p Optimized) + CFRS_Mini_TV.slangp (1080p Optimized @ 4K)

For proper viewing do not use preview. Download before playing. Requires 4K display for full fidelity.

Click on the link below to download:

turboxray PCE hires_slideshow_1.pce using CyberLab_Turbo_Duo_S-Video_Slot_Mask_IV_OLED_NTSC_II.slangp (1080p Optimized) + CFRS_Mini_TV

Credits:

Title theme for Blazing Lazers (also known as Gunhed) for the TurboGrafx-16, composed by Masatomo Miyamoto (Compile).

turboxray PCE

hires_slideshow_1.pce

http://www.turboxraypce.org/

and the exceptionally talented artists who created these original images.

featuring HSM Mega Bezel Reflection Shader by @HyperspaceMadness, powered by CRT-Guest-Advanced-NTSC by @guest.r and many more shader contributors.

CRT Shader Overlay Graphics & Presets by CyberLab.

Powered by HSM Mega Bezel Reflection Shader.

5 Likes

4 Likes

I always see a kind of noise in the screenshots you post.

Just curious, is it intended or just jpg compression artifacts?

It‘s intended. I had a Samsung plasma tv in the past, which always looked restless if you took a closer look. Maybe Samsung added it to prevent burn in. I add dynamic noise to get this restless messy look. It can also be disabled.

2 Likes

Another one from my Xperia Xz1, that doesn’t do really well with precision at above 4x scale but powerful enough to run every shader there is.

2 Likes

turboxray PCE hires_slideshow_1.pce using CyberLab_Turbo_Duo_Composite_Slot_Mask_IV_OLED_NTSC + CFRS_Mega_TV.slangp

For proper viewing do not use preview. Download before playing. Requires 4K display for full fidelity.

Click on the link below to download:

turboxray PCE hires_slideshow_1.pce using CyberLab_Turbo_Duo_Composite_Slot_Mask_IV_OLED_NTSC + CFRS_Mega_TV

Credits:

Title theme for Blazing Lazers (also known as Gunhed) for the TurboGrafx-16, composed by Masatomo Miyamoto (Compile).

turboxray PCE

hires_slideshow_1.pce

http://www.turboxraypce.org/

and the exceptionally talented artists who created these original images.

featuring HSM Mega Bezel Reflection Shader by @HyperspaceMadness, powered by CRT-Guest-Advanced-NTSC by @guest.r and many more shader contributors.

CRT Shader Overlay Graphics & Presets by CyberLab.

Powered by HSM Mega Bezel Reflection Shader.

2 Likes

I think I’ve gotten closer to my goal of obtaining a preset that combines the blending potential of composite with the color vibrancy of RGB while retaining as much sharpness as possible. This is using a preset consisting of NTSC-Colors and CRT-Guest-Advanced-NTSC:

While it’s not razor-sharp, it’s still sharp enough that you don’t feel like it’s murdering all the details of the pixel art just to blend that damn waterfall. The colors are, of course, nice and vivid, courtesy of disabling all the NTSC parameters that tend to mute them, as well as giving them a nice boost through the NTSC-Colors shader. I’ve also begun to experiment with the Mask Boost parameter, which gives a nice brightness boost along with getting back some of the mask detail lost through the Bloom parameters. The image is actually bright enough that I can more than comfortably play with my monitor’s backlight all the way down to the lowest setting, and according to the 240p suite, while I am missing some color bars, that is purely down to the NTSC-Colors shader, which is a tradeoff I am willing to live with given how much it improves the colors of the image IMO.

Here is the preset, if anyone wants to check it out:

shaders = "19"
feedback_pass = "0"
shader0 = "shaders_slang/misc/shaders/ntsc-colors.slang"
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 = ""
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/stock.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "StockPass"
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/afterglow0.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "AfterglowPass"
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/pre-shaders-afterglow.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "PrePass0"
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/ntsc/ntsc-pass1.slang"
filter_linear5 = "false"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "NPass1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "4.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "0.500000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "false"
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/custom-fast-sharpen.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "NtscPass"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "PrePass"
float_framebuffer9 = "false"
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/avg-lum-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "true"
alias10 = "AvgLumPass"
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/guest/advanced/linearize-ntsc.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "LinearizePass"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass1.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "Pass1"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "GlowPass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "800"
scale_type_y15 = "absolute"
scale_y15 = "600"
shader16 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = "BloomPass"
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "absolute"
scale_x16 = "800"
scale_type_y16 = "absolute"
scale_y16 = "600"
shader17 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass2.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "true"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
shader18 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear18 = "true"
wrap_mode18 = "clamp_to_border"
mipmap_input18 = "false"
alias18 = ""
float_framebuffer18 = "false"
srgb_framebuffer18 = "false"
scale_type_x18 = "viewport"
scale_x18 = "1.000000"
scale_type_y18 = "viewport"
scale_y18 = "1.000000"
sega_fix = "1.000000"
quality = "0.000000"
ntsc_phase = "3.000000"
ntsc_scale = "0.750000"
ntsc_cscale = "2.250000"
CCONTR = "0.000000"
GAMMA_INPUT = "2.400000"
gamma_out = "2.400000"
HSHARPNESS = "1.000000"
S_SHARP = "1.200000"
HSHARP = "2.000000"
MAXS = "0.270000"
HARNG = "0.000000"
m_glow = "1.000000"
m_glow_cutoff = "0.400000"
m_glow_mask = "2.000000"
SIZEH = "14.000000"
SIGMA_H = "15.000000"
SIZEV = "14.000000"
SIGMA_V = "15.000000"
bloom = "0.500000"
mask_bloom = "0.500000"
halation = "-0.005000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scans = "0.000000"
scan_falloff = "0.100000"
shadowMask = "9.000000"
maskstr = "1.000000"
mcut = "2.000000"
maskboost = "1.799999"
slotmask = "1.000000"
slotmask1 = "1.000000"
deconrr = "0.500000"
deconrg = "-0.500000"
deconrry = "0.500000"
deconrby = "-0.500000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
8 Likes

4 Likes

New work uploaded as replacement to crt-pocket slang

10 Likes

5 Likes

Trying to bright up 4K, I find it more difficult than 1080p. But I think is getting better. :sweat_smile:

4 Likes

1 Like

Alright, this is my first post (so I can only post 1 image, so here goes!), after watching this thread for awhile, here is my favorite shader settings so far. Works very well with non-integer scaling. The rainbow effect from ntsc is visible too… It’s nes-raw decoder + checkerboard dithering + ntsc 3 phase composite + lanczos3-fast + zfast-crt Tweaked settings: UseGamma = “0.200000”
CD_BLEND_LEVEL = “0.400000” CD_MITIG_LINES = “1.000000” LANCZOS3_ANTI_RINGING = “0.000000” BLURSCALEX = “0.400000” BRIGHTBOOST = “1.400000” MASK_DARK = “0.350000”

EDIT: Forgot the gamma setting (checkboard-dither), thanks for the approved post. I will post later, once I can post more than 1 image :slight_smile:

5 Likes

I hope it’s okay to reply to myself, here are the other screenshots, same settings nes-raw decoder + checkerboard dithering + ntsc 3 phase composite + lanczos3-fast + zfast-crt Tweaked settings: UseGamma = “0.200000” CD_BLEND_LEVEL = “0.400000” CD_MITIG_LINES = “1.000000” LANCZOS3_ANTI_RINGING = “0.000000” BLURSCALEX = “0.400000” BRIGHTBOOST = “1.400000” MASK_DARK = “0.350000”

5 Likes

zfast-crt-composite overhaul to be kind of crt-consumer light version. Here on my old xiaomi note 3 pro, on top of chromaticity and simple color controls, GLSL. That cellphone produces the exact same image as on my PC without any precision issues.

7 Likes