New CRT/LCD shaders for RPI3. They run at 60fps at higher resolutions and are configurable.
-
@dankcushions I'm not talking about color palettes, but those are cool too. Some of the lr cores have what it calls "blargs" (or something similar) shaders that add distortion as if you were playing via composite, s-video, or component video. I would assume they are they are just shaders built into the core, but feel free to educate me if I am incorrect.
-
@robertvb83 Of course. I don't use the configs, as they really make the most difference when running vertical games on a horizontal display (I run in rotated mode fullscreen). I know it can still help on all games but since I started using zfast, the rainbow artifacts and moire patterns aren't as bad.
-
I'm not sure if this will be of any use to anyone, I've been looking for a quick nice looking crt/lcd shader for a while for use in a Unity project, I ported a couple of these across to the Unity CG shader setup.
https://www.dropbox.com/s/7s33ewmzdzf1741/zfast_unity.zip?dl=0
Feel free to grab, if these are of any use to anyone else scouring the net looking for the same :) They run fantastically on phone, I avoided anything with branching and may have been a bit OTT with fixed in the fragment shader.
-
I'm really enjoying this shader after some setting tweaks. Thank you for sharing them!
-
@caver01 sorry for the delay... here come my screenshots. there is only too much blur with the curved version of zfast... all others are OK
zfast
zfast curved
crt_pi curved
-
@robertvb83 hmmm. That does look pretty odd.
-
Hey @ghogan42, digging what you did with these shaders. I'm curious what you did with gamma correction - I had the idea to use a Taylor series approximation which should be much faster and is approximately the same (quadratic, cubic). It seems like you did something similar, but when I look at your files I see no FAKEGAMMA anywhere. Where is the gamma correction being done?
-
@battaglia01 said in New CRT/LCD shaders for RPI3. They run at 60fps at higher resolutions and are configurable.:
Hey @ghogan42, digging what you did with these shaders. I'm curious what you did with gamma correction - I had the idea to use a Taylor series approximation which should be much faster and is approximately the same (quadratic, cubic). It seems like you did something similar, but when I look at your files I see no FAKEGAMMA anywhere. Where is the gamma correction being done?
Sorry I haven't been around here in a while. Only 6 months late or so to reply! There are two uses for gamma in a shader like this.
-
You can do gamma/inverse gamma so that you can apply your shader in linear space. This gives better quality.
-
You can use gamma to correct for the difference between CRT gamma of ~2.5 and sRGB gamma of ~2.2
In the end I did neither! Because option (2) makes the image darker and scanlines already make the image darker so it was counter-productive. So I didn't think it was work keeping in even as an option.
And option (1) just costs clock cycles that we don't have. I was using the mali shader compiler to check speed as I was coding this shader and (from memory) we had about 16 clock cycles per pixel to make sure we got 60fps at a full 1920x1080 resolution. So adding a power function is just a no go on this type of hardware.
Like you said, you could use a Taylor Series expansion for most functions. That's actually kind of what I did for the scanline profiles btw. I plotted Gaussian profiles and then fitted a polynomial to it by hand.
But for fake gamma I just skipped it. Too much cost for too little gain.
-
-
@ghogan42 Thank you, sir, for these wonderful shaders. I have NES/SNES CLASSIC MINI & I want to ask what shaders of yours that suits for my console?
-
@KashinMauki I don't have one, but I'd try zfast with no curves. crt-pi might be slower, but you can test them out.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.