Thanks for pointing to it! I’ll look and see if it can be inserted as an option without slowing down the shader.
I did try with the latest and messed around with different masks but the issue was still there. Again, I’d never see it if I wasn’t zooming into a cropped screenshot.
Nevermind. It was there since the begining. It’s a small halo that the anti-ringing code didn’t catch. I don’t know how to fix this yet.
EDIT: fixed for the cubic-gaussian version. But then I figured there was a second halo bug only in the sinc version. Maybe it’s caused by the sinc negative lobe.
That looks good too! A bit more like a consumer-grade CRT. Maybe a little too bright/washed out for my display. I prefer something between 0.50 and 0.68, 0.58 is looking very good IMO. Bright, but well-saturated. Also, I think it’s reasonable to increase mask strength to 80% with these settings in a dark room.
Is it possible to add a toggle for sinc and cubic-gaussian filters?
Also, for some reason I had mask 4 selected, but it should be mask 1 for displays with a standard RGB subpixel layout. The blue/yellow mask is intended for displays with a BGR subpixel layout.
The problem of unifying versions with different filters is that all param profiles lose meaning, because, for example, a scanline_strength 0.4 will have multiple visual results depending on the filters you choose. And I can’t predict exactly what a filter will do if I choose some param value. I just know the filter behavior if I increase or decrease some param.
Fixed the two bugs!
What’s new:
- Fixed a bug which was preventing anti-ringing to operate over some rare halos (thanks to BendBombBoom for point it);
- Fixed another bug present only in sinc version which was creating some halos as a consequence of negative lobes from sinc filter;
- Scanlines param for sinc version a bit modified so that it’s value will provide results very similar to the cubic-gaussian version.
I’ve tried, but RA doesn’t accept this line:
vec2 Distortion = vec2(params.warpX, params.warpY) * 15.;
And I don’t know why. I don’t have an slang debugger to know what’s wrong.
EDIT: Nevermind, I just found the culprit!
Hey, if you turn logging on and turn off logging to file so you get the log window to come up. You should see an error message in the retroarch log which should help.
Thanks, I did that.
It works now. Though some artifacts appear on screen when curvature is enabled.
Here’s the code: crt-hyllian + curvature code
Artifacts appear at the edges and at the center of screen. I don’t know how to fix.
Dunno about the stuff around the edges, but I think the stuff in the middle is moire lines. Are you warping the mask, too, by chance?
Yes, I’ve swapped the texcoords mask input function by the “pp warped”. Should I revert?
Yeah, leave the mask unwarped. The difference is almost imperceptible, but it avoids a lot of ugly side effects.
It fixed the center artifacts.
The edge ones continue, though:
Looks like the cornersmooth code has some issue.
Looks good. I’m curious about mask 19? It’s makes my laptop with a 1650 slow down immediately.
After some careful side-by-side comparisons, I think I’d have to say that gaussian looks better for the vertical filter. Sinc yields some unnatural and awkward results when a very dark line is next to a very bright line. Example can be seen circled below.
What does sinc horizontal and gaussian vertical look like?
Hey! New to the forums here, but you might know me as V15UAL K3YS in the Retroarch discord.
I came across this thread and have been researching and trying out various CRT shaders, trying to find the best one. I particularly like a lot of Nesguy’s configurations thanks to the level of detail, being able to see the phosphor detail amongst the scanlines. I’ve been trying to find a good configuration for crt-guest-dr-venom, since I find it is the best crt shader for handling interlaced content (such as Tekken 3 in 480i). It also works great for PS1 games that swap back and forth between resolutions, such as Gran Turismo and Jet Moto 2 (both which run at 480i in menus but in-game are 240p).
I took one of Nesguy’s more recent configurations for crt-guest-dr-venom in this thread and applied some tweaks. I changed the color settings for NTSC-U and lowered the gamma so it wasn’t as bright. I find that this looks great on my 40" 1080p flat-panel TV, which I have the backlight maxed out on. I also applied mask #2 and I think it looks great.
If anyone has any suggestions or different configurations, I am open to hearing them. I also have a 1440p 27" monitor I test these on as well. NOTE: I took these images with integer scaling disabled, as I find this shader to handle non-integer scaling quite well compared to other shaders like CRT-Aperture.
I just created an account so it won’t let me post more pictures in my post. I’ll post another in a separate post for how it looks via 240p in Wipeout XL.
Time to update crt-hyllian-glow.
The old crt-hyllian-glow wasn’t very well calibrated. Gamma was totally off. Now it’s fixed and the halation effect is very subtle, as it should be.
I’ve managed to use all files from glow folder, so the hyllian-glow folder is not necessary anymore. It uses default crt-hyllian shader, so no need to duplicate code. The curvature code is reused from resolve.slang inside glow (as all it has inside: masks, noise, etc). Beware that curvature inside resolve.slang is buggy and produce artifacts. So to use crt-hyllian-glow you just need to put the slang preset at the crt folder.
Here’s the preset (included crt-hyllian shader inside zip if you don’t have it):
Tried to make as sharp as possible. I used hylian crt shader. Not sure why it looks so dark, looks better in game… fullscreen view is recomended.
It’s normal for screenshots that are properly bright to look overly dark when scaled down; this is a result of scaling the mask/scanlines.
In fact, if a screenshot looks adequately bright in a thumbnail it’s probably way too bright in-game.