New CRT shader from Guest + CRT Guest Advanced updates

I was just showing the black level issue. Not the noise itself.

2 Likes

the black level (and/or general color quality) is why I prefer the noise to happen in the texture coordinate instead of just adding/multiplying/whatever random values per pixel. This kind of noise more closely mimics the movement/“sparkle” I see in the scanlines of my own CRTs. I think doing luma-only noise (simulated film grain) usually looks better than RGB noise, too, unless you’re trying to imitate actual static/interference.

See the noise I added to crtglow to help with the moire as an example of the texcoord-type noise (enable curvature and then set both x/y values to 0.0 and the noise to 0.5-0.75; the default 1.0 is too heavy for a flat image IMO)

2 Likes

Yeah I think it would be relatively straightforward to apply the noise like that with a middle gray, and have everything under middle applied as darkening and everything above adding white

2 Likes

I really meant illustrating anything involving GDV Noise. The image in the screenshot or paused emulator wouldn’t really be representative of what the user would see, including black levels.

Hello, a few days ago I switched to glsl from slang. Now I stumbled upon the gdv-mini shader. Is the concept behind that shader to be even faster than the gdv-fast preset?

2 Likes

I’m not sure if that was the original concept or just a side effect but you can probably ask @DariusG as he’s the person behind it.

1 Like

Yeah it’s a lot faster, I tweaked it so it works fast enough on some weak devices I had around, without dropping much features (curvature, masks, etc).

3 Likes

Alright. Thanks for the modification/sshader/preset :slight_smile: love it.

3 Likes

New Release Version (2022-05-07-r1):

Notable changes:

  • contrast option added
  • alternate “negative” bloom changed
  • noise is now correctly removed outside the screen with curvature enabled
  • new ‘luma’ multiplicative noise option added

Download link:

https://mega.nz/file/VoQyna4b#GCyjh5xHWeehCzDGqA-MbQ8yJYO4C1lQmqQCsGiYYvw

10 Likes

That alternate bloom and luma noise option looks interesting, gonna look into both of those and see what I can come up with. I already see the alternate bloom gives colors an extra punch and a little more brightness, I like what the luma noise does as well but I see you can’t use too much of it or it’ll be overwhelming. This should be fun to play with

3 Likes

New Release Version (2022-05-13-r1):

Notable changes:

  • ringing option added to be used with substractive sharpness, sharpness ‘feel’ can be very increased
  • ntsc-fast blend mode 1.0 greatly improved, preset also changed
  • edit: small sharpness tweak

Download link:

https://mega.nz/file/cgQHHYLY#EXZ_muEnJG0nhSGtbDQ5jawU7yylXn9MyYJpM84ATv4

13 Likes

As always , thanks for all of your work guest. I been thinking if it would be possible to increase the sharpness without reverting back to the pixelated state on edges , curtsy of r/CRTgaming

a shot of BVM

perhaps because I’m using 4k 65 inch tv so pixel density isn’t om side

Also In the image , mask has no tint effect on colors. From what I can see the colors are almost 1:1 with no shader . I have a sony x950g which according to Rtings has BGR subpixel layout.

image

But enabling the BGR in the shader mask parameters would actually tint the colors more.

2 Likes

You can adjust the “Scanline spike removal” parameter for the scanline edge effect which you wanna have.

I would suggest mask 6.0 where you can decrease the main mask strength value for a pure scanline look. The saturated borders of the scanlines can be achieved with the “scanline saturation” parameter.

For this looks is also important that you play with other scanline shape parameters a bit.

Parameter settings:

gamma_c = "1.200000"
gsl = "2.000000"
scanline2 = "20.000000"
beam_min = "1.999999"
beam_max = "0.950000"
beam_size = "0.250000"
scans = "1.999999"
scan_falloff = "0.500000"
spike = "0.300000"
s_sharp = "0.400000"
shadowMask = "6.000000"
maskstr = "0.100000"
mcut = "1.200000"
mask_layout = "1.000000"
post_br = "1.100000"
3 Likes

Thanks ,will give it a try later.

1 Like

If your screen is BGR you have to use the default RGB Mask layout 0. If it’s RGB you have to use Layout 1.

Switch between the two and see which one looks better. If you use the wrong Mask Layout there will be severe colour tint issues.

If you want those kinds of edges be sure you’re not using any type of upsampling (prescaling) as well. Use 100% prescale (sampling resolution multiplier).

@guest.r, would Mask 13 (RRGGBBX) be a good alternative to Mask 6 (RGB) in this case as @saeedalshaikhpygas is using a 4K screen?

1 Like

BVM displays have a rather high TVL rating, so likely mask 10 would still fit. Masks 11 and 12 have a single mask strength control, so it would take some experience with bloom to wash the mask out on brighter pixels.

1 Like

@saeedalshaikhpygas

Have you seen my Shader Preset Pack yet?

It uses HSM Mega Bezel Reflection Shader, which uses CRT Guest Advanced as its default shader and adds some awesome features like realtime reflections on CRT bezels, adding some more depth, immersion and nostalgia to the whole CRT emulation experience!

You should check them out at least once in your lifetime! There’s a variety of CRT Shader Preset options to choose from which not only try to recreate the looks of particular screens but also the different characteristics of the display outputs of different consoles.

You can even use the CRT-Guest-Advanced shader parameters posted here to come up with your own variations!

These are some recent videos of it in action:

I design these and play on a 55" 4K screen so trust me, I know what you’re talking about and pixelation levels have been addressed in these presets!

1 Like

This update came right on time as I was thinking I wanted my “8/16bit” presets a bit sharper. I did a little tweaking and came up with this, here’s a before and after pic.

Previous settings:

Here’s how it looks after tweaking:

I managed to mostly get it to where I can see the black outlines more around Link, grass, rocks etc but my question to you @guest.r is can I manage to make it even sharper using blend mode 1? I ask because if I start raising the sharpness more I notice details start to go missing on some objects. My ideal sharpness is the look Blend 0 gives but when using that mode I notice it makes certain effects like the transparency in Sonic 1 waterfalls look weird so I stick to Blend Mode 1. Here’s my settings so far, I may end up using these for my next update depending on your opinion.

shaders = "17"
shader0 = "shaders_slang/crt/shaders/guest/advanced/stock.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 = "true"
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/grade/pre-shaders-afterglow-grade.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "PrePass0"
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/ntsc/ntsc-pass1.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
frame_count_mod4 = "2"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = "NtscPass"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/convert-ntsc.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 = "0.500000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
alias8 = "PrePass"
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/avg-lum-ntsc.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "AvgLumPass"
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/linearize-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "LinearizePass"
float_framebuffer10 = "true"
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/gaussian_horizontal.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "absolute"
scale_x11 = "640"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "GlowPass"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "640"
scale_type_y12 = "absolute"
scale_y12 = "480"
shader13 = "shaders_slang/crt/shaders/guest/advanced/bloom_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 = "640"
scale_type_y13 = "absolute"
scale_y13 = "480"
shader14 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "BloomPass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "640"
scale_type_y14 = "absolute"
scale_y14 = "480"
shader15 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "1.000000"
scale_type_y15 = "viewport"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
g_crtgamut = "1.000000"
g_vignette = "0.000000"
g_cntrst = "0.400000"
quality = "-1.000000"
cust_fringing = "1.000000"
cust_artifacting = "2.000000"
SHARPEN = "2.000000"
CONTR = "0.200000"
SIGMA_VB = "0.750000"
bloom = "-0.700000"
halation = "0.100000"
gamma_c = "1.360000"
brightboost = "1.300001"
brightboost1 = "1.250000"
gsl = "-1.000000"
h_sharp = "2.000002"
s_sharp = "1.500000"
ring = "0.700000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.080000"
bsize1 = "0.300000"
shadowMask = "10.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "4.000000"
double_slot = "2.000000"
mclip = "0.350000"
gamma_out = "2.000000"
deconrr = "1.750000"
deconrb = "-1.750000"
deconrry = "1.250000"
deconrby = "-1.250000"
decons = "1.200000"
addnoised = "-0.100000"
noiseresd = "1.000000"
noisetype = "1.000000"
post_br = "1.100000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

Edit: I just noticed that your update says you improved blend mode 1 for ntsc fast only lol

4 Likes

Yeah, previously the shader was missing the option to increase the local contrast caused by sharpening. I’m very glad it proved as a nice and useful addon. In fact, using the new setting with 1.0 honors the original filtering.

As i observed some very late big&flat crt tv’s they also used some sort signal processing like this to produce a sharper appearance. They were available while emulation was already widespread, so this is maybe a lesser nostalgic contribution, but still historically correct. :wink:

TBH your presets look very nice and i would suggest you make a couple more, although Sonic waterfall is a bit overrated imo. Otoh the only de-dithering algorithm that can deal with it is Hyllian’s sgenpt-mix, which was also tested and debugged on the ‘waterfall’. In the perspective, a couple more presets is what i’m cheering for. :grin:

6 Likes

Oh yeah, contrast is definitely a good thing, I started using it previously through grade because of you in fact. I appreciate that you like my presets, I feel like the “arcade” ones are good to go, maybe a little more tweaking here and there but I’ve always somewhat had an issue dealing with sharpness on my 8/16 bit presets and I believe your latest update brought in a solution if I can tweak it right. I did some more tweaking check this out, here’s my previous settings once again:

Here’s how it looks after using Blend Mode 0:

To me that looks way better and sharper but here’s where the problem comes in. When using that same Blend Mode 0 on dithering games like Sonic 2 it looks like this:

Then I went back to Blend Mode 1 and now it looks how I want it to look like this:

So I’m stuck between trying to get that sharpness from the Blend Mode 0 Zelda pic along with the dithering effects you get from Blend Mode 1 in the Sonic 2 pic.

I also tried adding in Hyllian’s sgenpt-mix into the chain to mix it with Blend Mode 0 and pretty much ended up with a image that looks like Blend Mode 0’s pic where I lose the dithering effects, there’s no mixing the two it seems. In the end I’ll just have to find a way to get it sharp enough using Blend Mode 1 while also getting that sharpness from Blend Mode 0, it might take a little while but I’ll come up with something lol.

Here’s the settings I used for the Blend Mode 0 pic:

shaders = "17"
shader0 = "shaders_slang/crt/shaders/guest/advanced/stock.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 = "true"
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/grade/pre-shaders-afterglow-grade.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "PrePass0"
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/ntsc/ntsc-pass1.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
frame_count_mod4 = "2"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = "NtscPass"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/convert-ntsc.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 = "0.500000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
alias8 = "PrePass"
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/avg-lum-ntsc.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "AvgLumPass"
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/linearize-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "LinearizePass"
float_framebuffer10 = "true"
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/gaussian_horizontal.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "absolute"
scale_x11 = "640"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "GlowPass"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "640"
scale_type_y12 = "absolute"
scale_y12 = "480"
shader13 = "shaders_slang/crt/shaders/guest/advanced/bloom_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 = "640"
scale_type_y13 = "absolute"
scale_y13 = "480"
shader14 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "BloomPass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "640"
scale_type_y14 = "absolute"
scale_y14 = "480"
shader15 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "1.000000"
scale_type_y15 = "viewport"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
g_crtgamut = "1.000000"
g_vignette = "0.000000"
g_cntrst = "0.400000"
quality = "-1.000000"
cust_fringing = "1.000000"
cust_artifacting = "2.000000"
SHARPEN = "2.000000"
CONTR = "0.200000"
blendMode = "0.000000"
SIGMA_VB = "0.750000"
bloom = "-0.700000"
halation = "0.100000"
gamma_c = "1.360000"
brightboost = "1.300001"
brightboost1 = "1.250000"
gsl = "-1.000000"
s_sharp = "1.500000"
ring = "1.500000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.080000"
bsize1 = "0.300000"
shadowMask = "10.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "4.000000"
double_slot = "2.000000"
mclip = "0.350000"
gamma_out = "2.000000"
deconrry = "1.250000"
deconrby = "-1.250000"
decons = "1.400000"
addnoised = "-0.100000"
noiseresd = "1.000000"
noisetype = "1.000000"
post_br = "1.100000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
4 Likes