A little guide to preset setting tweaking will be very helpful (noob friendly)
I was trying the various interlaced modes a bit, looks great, and noticed that âScanline Saturationâ (param.scans) doesnât seem to do anything when interlaced mode is active. Is that right?
For consistency when games switch in and out of interlace I would love if the scans parameter would work the same in interlaced modes as in normal mode.
Tested with the âhiresâ shader btw, maybe that makes a difference.
I second this request tbh, consistency is important tbh.
There is some bad news also, namely if i use the same parameter as for scanline saturation, then it will show up only under interlacing options, because this shader is prior in the chain. A separate parameter is an option otoh.
That wouldnât be too much of an issue, imho anyway.
I do think some scanline settings for the interlacing modes could be interesting, but the interlacing code hurts my head so idk the feasibility of that.
A separate parameter wouldnât be a real issue for me either.
New Release Version (14.05.2021-r1):
Notable changes:
- Interlacing saturation option added.
- Deconvergence codepath enable bug fixed, parameter step adjustments
Download link:
https://mega.nz/file/0o5nAC7D#JGMb6KPuiG14dMygXK5hkcuLEBSIeB9LbAiBCXoI1pw
Hi I was trying this out and the Horizontal deconvergence seems to be working, but the vertical doesnât
Hereâs what I mean, hereâs the horizontal convergence
And hereâs the Vertical
Itâs fixed now. Vertical deconvergence worked only in you also added a notch of horizontal deconvergence to trigger the codepath. Stilly a silly bug.
I have been playing a bit with a new fast curvature function, but it looks like more opinions could be helpful. Compared with quadratic curvature in âGDVâ this one does a bit more curving on edges.
Old:
Experimental:
Anyway, here is the experimental warp function:
vec2 Warp(vec2 pos)
{
pos = pos*2.0-1.0;
pos = mix(pos, vec2(pos.x/sqrt(1.0-0.5*pos.y*pos.y), pos.y/sqrt(1.0-0.5*pos.x*pos.x)), vec2(warpX,warpY));
return pos*0.5 + 0.5;
}
Parameter range has to be increased though due slower curving.
I like that new one much better. And just a mix() and a sqrt() is very impressive!
I think it can be optimized a bit further:
vec2 Warp(vec2 pos)
{
pos = pos*2.0-1.0;
pos = vec2(pos.x/sqrt(1.0-pos.y*pos.y*warpX), pos.y/sqrt(1.0-pos.x*pos.x*warpY));
return pos*0.5 + 0.5;
}
It can be quite radial with increased settings:
I prefer the new curvature too.
New Release Version (17.05.2021-r1):
Notable changes:
- New curvature implementation, another parameter added for shape control.
- Vignette parameter range and defaults tweaks.
- Some code cleanup.
Download link:
https://mega.nz/file/8lhUWaJT#crlu9kbcvc6AF0c9v9RD5hMrGyzeNnsEp96bIlEq7L0
This is really nice I like the more rounded results, great stuff!
Is there a way to make the mask (mask 0 and 7) darker over bright pixels and lighter over dark pixels? This might be more accurate/might look good, I think.
A similar approach is used in the shader, itâs got an extra parameter though for âcurve progressionâ. The deficit of many fast implementation can be that when the curve is adjusted it tends to bend the edges, leaving the middle more or less almost linear.
It can be done with masks 5 (can look same as 0), 6 and 7 if you adjust the âlow strengthâ to like 0.30 and increase the mask â0, 5-8 strengthâ to like 0.70.
The parameters guest mentioned above arenât in the Mega bezel, could they be added?
Hi, these are from GDV-Advanced, which isnât integrated yet. So when itâs in, these parameters will be in too.