New sonkun crt guest advanced hd presets thread

And I’m still learning lol. Thank you I appreciate the love, I’ve definitely come a long way especially if you go back to posts from months ago in the “show off” thread. It’s amazing actually how all of us working on shader presets have come a long way and we’re all still growing.

Every time guest adds in a new feature to the shader that opens the door for even more ways to play. I’m looking forward to seeing what comes next in the future and likewise!

5 Likes

I’m different in that I think I’ve managed to mangle and squeeze quite a bit out of the tools available in their current form even if I might go about things in an unorthodox manner.

Right now, with my latest Console Specific “…Composite Slot Mask IV OLED for Blargg…” presets things have pretty much hit nirvana for me.

Whatever I’ve done would cover several workarounds and tweaks to parameters of different shaders contained within the venerable and most versatile HSM Mega Bezel Reflection Shader.

Any changes to the underlying shader code runs the risk of breaking the looks I currently have then I have to find ways to possibly recreate them.

There’s also the possibility of things improving “for free” due to updates but these improvements may not always translate well due to things already being exactly where they need to be at this very moment.

With that said I’m still eternally grateful for the work of all the shader creators whose dedication and hard work made all of this possible.

@guest.r, @HyperspaceMadness, @aliaspider, @Dogway, @Hyllian, HunterK, Sp00kyFox and all others who might have contributed along the way.

3 Likes

Yeah I remember that one time guest pretty much changed the code a bit and rendered my ntsc presets useless lol, I had to reconfigure everything but then I eventually bounced back.

Now that I have more than one preset to deal with I too understand what you mean in having to maintain multiple presets, for you it’s a little different since you don’t just deal with Slot Mask presets you got a bunch of different types.

Me personally I love when a new feature gets introduced, I may or may not take advantage of it depending on what it is but it’s good to know there’s multiple settings there to play with. If I ever decide to do aperture grille style presets one of those new features may come in handy in the future.

Just today guest fixed something with the hd shader I’m now starting to use, I can’t see it yet since I’m not home but depending on what the fix looks like i may have to put out a updated pack myself, that’s just the beauty of tweaking shader presets.

2 Likes

@Cyber is doing very nice presets, but without much mask mitigation. The only re-coded feature which might concern his work is scanline saturation, it’s much better now, but has to be retweaked if not using defaults. Other new features are mostly optional, which is also my intention.

Old NTSC really had problems with doubled horizontal resolution and workarounds made it quite slow. I had to implement a new filter and the sharpness feature to feel comfortable with it. :smiley: But nevertheless, you are doing great work, quite a fan of it. :smiley:

I tested it on my Navi, old Cayman HD and Intel igpu, didn’t notice anything strange. It’s definitelly a driver related issue which affects some cards. Some bells were ringing with a strange @RealNC’s screenie, as he likes to use the HD version, but i didn’t quite know what’s going on.

With my testing i didn’t notice any visual changes between old and fixed versions, but some folks might start to like the HD presets. :grin:

5 Likes

I finally got around to trying out the new shader update, I don’t see any major changes myself so I don’t have to update anything. I’m glad you’re a fan of my presets as well, none of this would be possible without you and Dogway’s shaders and yes more people need to embrace the HD version lol.

I actually tried the HD version out as a test just to try something different, if enough people would have said they liked the ntsc version better I would have brought it back but it seems like everyone likes the new look and so do I so I’ll stick with HD.

3 Likes

Thanks @guest.r. I really appreciate your continued support and our mutual appreciation for each other’s work.

Well you know I might be asking you how to bring it back or recalibrate if necessary whenever it gets integrated into HSM Mega Bezel Reflection Shader.

I know I haven’t touched scanline saturation in a while but most of my presets are built upon one another, sort of Simple Presets on steroids so I’ll be looking out for any changes or regressions.

Thanks for the heads up and keep doing what you do.

2 Likes

I need to disagree with this. It might be true technology-wise I am not sure, but in practise it is a noticable difference and I always prefered the RGB.

I have owned most systems since the Intellivision and RGB has in most cases given more vibrant colors and a slighthly better sharpness. Great reds and no bleed. There is a practical motivation to why we went through all the troubble and money of modding the Gamecube component-cable to RGB when we had the s-video one if we wanted.

The difference was noticable. I did always use the best TV I could get like Philips blackline and then matchline, so on lower end tvs I do not have that much experience apart from the NES/Master system era.

There certainly is a difference, but it’s not huge: https://www.reddit.com/r/crtgaming/comments/7uwaa4/snes_composite_vs_svideo_vs_rgb/ and it’s mostly observable in the color fidelity rather than the sharp/blurry-ness (which is what determines things like pseudo-transparency effects in the Sonic waterfalls).

RGB gives about double the color bandwidth of YPbPr (though the color signals are transmitted as a ‘difference-from-luma’–that’s the Pb and Pr parts–signal, which probably helps some; IIRC, the eye can discern smaller color differences in higher-luminance scenes), which explains the color differences you’ve seen with modded gamecube cables, and some of that Y bandwidth is devoted to sync, which likely explains the slight sharpness difference.

In the case of svideo (aka Y/IQ), the color information is all on one cable, which further reduces the bandwidth and also affects the color fidelity (re: smearing/bleed; however, the NTSC bandwidth allocations take advantage of the fact that the human eye perceives differences in the I–or orange/blue–axis better than in the Q–or purple/green–axis), but the sharpness should still be very close to that of component/YPbPr.

Videophilia, like audiophilia, is a game of diminishing returns. As far as objective, overall quality is concerned, RF < composite < svideo < component/YPbPr < RGB, but the subjective difference covered by each hop is significantly less than the last, and part of that is due to clever engineering on the part of the folks who developed the broadcast standards, based on perceptual dynamics of the human eye.

3 Likes

I am not sure still images from 1 crt is definite proof. I am sure tvs handle the inputs different, and on top of that s-video cable quality is more important than RGB cable quality. It could very much be that most s-video cables we got hold of was subpar. But as commented in the thread, some games was worse and overalll you could still get color bleed with s-video.

I am talking about always getting the s-video and the RGB cable for every system that supports it and IRL the difference is worth it and it is clearly seen.

In europe (Sweden) almost no tvs supported component so it was always a case of composite, S-video or RGB (if supported by the system). Often the S-video cable was released first (or came from 3d party first/became available in Sweden first) and only after a while would I be able to source an RGB scart. Back then we didnt have the internet and e-shopping. It was a hassle, but im telling you it was worth it.

1 Like

New Version Release (11/07/2022)

Changes Made

Swapped out both the “checkerboard dedither” and “sgenpt-mix” shader in all svideo presets and put in @Hyllian’s new “sgenpt-mix multipass” shader since going forward the checkerboard dedither shader will become obsolete.

Removed the noise settings from the composite presets, it’s really not needed plus I gained a tiny bit of brightness back after removing it.

Grab the new pack in the first post.

Be sure to update your slang shaders as well.

4 Likes

Hi there.

Is there a way to edit the composite preset so that there is less/no rainbow effect? I prefer the mame-ntsc over dedither, but I don’t really like the extreme rainbow effect that you see with genesis games that have a lot of dithering.

The shader look really nice otherwise!

1 Like

Easiest way to get rid of the rainbow banding effects while still keeping the dithering effects is to go into the parameters and look for “Scan Time”, press start on that to bring it back to default. Your picture will now look really sharp then head further down to “Internal Resolution” and raise that up to about 1.50 or to where you want it to be and it should now look like this:

Thank you I’m glad you’re liking the shaders. I just finished putting the finishing touches on my next shader pack update, I also see that guest uploaded a new update to his shader as well which I will check out. If things go as planned hopefully I’ll upload my new pack tonight the earliest or tomorrow the latest so be on the look out soon.

2 Likes

New Version Release (11/15/2022)

Changes Made

Uses @guest.r latest shader update version (2022-11-14-r1)

Tweaked contrast, brightness and sharpness settings, basically we’re going from this:

Previous settings:

to this:

You all can grab the new link in the usual post.

7 Likes

This morning trying the Sonkun presets.

For 1080p TV game mode or Monitor settings , back light high, color midle, brightness low, some others in the midle.

Sonkun number 24 preset.

as you can see in the capture the pixels of the players/sprites of the models in this Street Fighter 2 arcade game, they look too much, as if they had neither scan lines nor masking and that the presets have it, tou need to disimulate this touchin halationn or bloom or whatever suits your tastes or presets.

in my screen the presets was lots of brighness, this is not good for 2d games, i told that one time when in write in this forum for the first time.

And the mask, talkint in arcade mode, need to be more noticeable, in a arcade CRT of the 80 years like arcade SFII, more curvature, round corners, vigneting.

The border of the presets as big and heat lot of screen, as vigneting if yoy abuse like as me modifing your preset.

mine from you preset, default curvature not distortion, more dark, vibrance, rounded, old.

Thanks.we keep improving and applying the improvements that the developers make. :+1:

1 Like

Interesting. Why are you using the back light settings on your monitor? That’s why I even tweaked those brightness settings, my shaders aim to just set it and forget it and to tweak settings within the shader itself instead of having to calibrate your tv. Maybe I should make a disclaimer in the future about that even though I know no one monitor is the same. As far as curvature that’s way too much for me and I stopped using vignette a while back since I’m going for a cleaner clear look. As for the scanlines I had to find a balance to reduce moire as much as possible since I do use curvature settings so the scanlines are not “thick” by design.

Also those “alt” presets was just a bonus I added in, I was inspired to make that preset when a user here posted a screenshot of an actual crt that seemed to have this “peach” colored hue all around. It may have just been an effect of the camera used to make the screenshot look that way but I liked it regardless and made a preset like it, nothing to really use seriously unless you like it of course.

My presets constantly go through changes, just like with this pack I cranked the contrast up in the negative values cause I wanted to try something different and I liked how it looked, I also turned the glow sigma down both vertically and horizontally to give me a sharper look in the svideo and rgb presets. Mind posting your settings for your screenshot so I can see it in action? It looks like you also used contrast as well.

1 Like

Here is , not ended only retouch your preset a bit

I use the back light in high because of the look of the mask in movement and visualization that need to fit in good with other values, also for my good one mame hlsl MSDOS mask, need to be high values, 80 % or more.

Yes no one monitor are the same, colors, etc. and when you touch a " thing" of the shader for a correct similutude wirh and crt screen, anotherf “thing” appear that you need to fix etc.

shaders = "10"
shader0 = "shaders_slang/crt/shaders/guest/hd/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/hd/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/hd/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/grade/pre-shaders-afterglow-grade.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/hd/linearize-hd.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "LinearizePass"
float_framebuffer4 = "true"
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/hd/crt-guest-advanced-hd-pass1.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "Pass1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/hd/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 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/hd/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 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
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/hd/deconvergence-hd.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"
bogus_afterglow = "1.000000"
PR = "0.450000"
PG = "0.400000"
PB = "0.400000"
g_gamma_in = "1.800000"
g_signal_type = "0.000000"
g_crtgamut = "-4.000000"
g_vstr = "50.000000"
g_vpower = "0.500000"
g_cntrst = "0.050000"
wp_temperature = "9304.000000"
g_sat = "-0.200000"
g_lift = "-0.030000"
SIGMA_HOR = "0.325000"
S_SHARP = "2.000000"
HARNG = "4.000000"
warpX = "0.130000"
warpY = "0.150000"
csize = "0.065000"
bsize1 = "0.000000"
sborder = "0.250000"
barspeed = "200.000000"
barintensity = "0.020000"
glow = "0.350000"
bloom = "-0.300000"
halation = "0.150000"
gamma_c = "1.080000"
scanline1 = "5.000000"
shadowMask = "8.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"
gamma_out = "1.300000"
deconrry = "0.500000"
deconrgy = "-0.500000"
deconrby = "0.500000"
post_br = "1.250000"
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"

Im working in another warm presets as this one

or this

One of the first and easy that i was made with guest filter, those of abobe are best and more worked, and more warm too.

2 Likes

Nice. I’ll try it out later when I get home. I get a “vintage” vibe from your screenshots and I like that.

2 Likes

Thanks for the quick answer! So I did as you told: press start (I get 52.60) and change resolution to 1.50, but now I have this.

Also I was wondering if you plan to work on the aperture grille preset you uploaded a bit earlier.

Also, do you guys know how to upload a file as png instead of jpeg?

Try changing to 0, not 52.60, it should work.

1 Like

I tried bringing it down to 0 and you get a black screen lol. @SuperieurUltra try this way as well. Load up the composite preset, go into the parameters and the second option “TVOut Composite Enable” turn that off. It won’t completely get rid of the rainbow effect but it will drastically reduce it. If you want to take it a step further and really make it disappear go up to “TVOut Signal Resolution” and bring that down to 192.00, you’ll also get a blurrier image as a trade off.

Another option is to press start on Scan Time and then turn off TVOut Composite Enable.

You can also turn off NTSC Signal Mode and then either put TVOut Signal Resolution to 192.00 or go down to Internal Resolution to 1.30-1.50 or to desired look.

Also for the record in case you want to tweak the mame ntsc settings I’ll list all the settings that work, 90 percent of the rest of the settings are disabled by default even if you try to tweak them:

NTSC Signal Mode, A Value, B Value, CC Value, O Value, P Value, Scan Time, Notch Half Width, Y Freq Response, I Freq Response, Q Freq Response, Signal Offset.

As for the aperture grille preset I still have that in the back of my mind, if I do make presets I’ll bundle them up and include them with the slot mask presets and make one folder for each, the aperture grille presets would also come with cool and warm preset types just like the slot mask ones. Sounds like a fun idea the more I think of it.

I used these settings I believe plus I used some of the settings I used in my latest slot mask pack to make a quick rgb aperture grille preset:

shaders = "10"
shader0 = "shaders_slang/crt/shaders/guest/hd/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/hd/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/hd/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/grade/pre-shaders-afterglow-grade.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/hd/linearize-hd.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "LinearizePass"
float_framebuffer4 = "true"
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/hd/crt-guest-advanced-hd-pass1.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "Pass1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/hd/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 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/hd/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 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
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/hd/deconvergence-hd.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"
g_signal_type = "0.000000"
g_crtgamut = "0.000000"
g_vignette = "0.000000"
g_cntrst = "-0.300000"
wp_temperature = "9304.000000"
g_lift = "-0.030000"
SIGMA_HOR = "0.325000"
S_SHARP = "2.000000"
HARNG = "4.000000"
spike = "1.500000"
SIGMA_HB = "0.250000"
SIGMA_VB = "0.250000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.025000"
bsize1 = "0.200000"
glow = "0.160000"
bloom = "-0.800000"
bloom_dist = "0.400000"
gamma_c = "1.250000"
brightboost = "1.000000"
brightboost1 = "1.200000"
scanline1 = "2.500000"
scanline2 = "14.000000"
beam_min = "1.799999"
beam_max = "0.950000"
beam_size = "0.000000"
scans = "1.600000"
scan_falloff = "0.650000"
shadowMask = "6.000000"
maskstr = "1.000000"
maskboost = "1.200000"
deconrry = "1.000000"
deconrby = "-1.000000"
post_br = "1.150000"
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"

It’ll probably look better if you turn the “Scanline Falloff” setting all the way down.