New CRT/LCD shaders for RPI3. They run at 60fps at higher resolutions and are configurable.
-
@caver01 cool, thanks for the pics. that looks good to me. in my case it is much more blurry i think. i am not at home but will try do make the comparison next week
could it have something to do with the custom resolution of crt shader still in use?
-
@robertvb83 I am not sure what you mean by the custom resolution. I know CRT-PI and zfast are designed to look best on HDTV resolutions, but I am running 1280x1024 and they look great. The more pixels you have, likely the more convincing the effect will be.
Since I can run vertical games in rotated mode, they still take up the whole screen on my system (1024x1280) where as, if I did not have cocktail controls on the vertical sides of my display, like, say I was using a bartop cabinet with the LCD mounted in landscape orientation, I would have to run 1941 in vertical mode centered in my display and it would only be using a maximum resolution of 768x1024. In other words, I would be losing 40% of my pixels. Yet, even at this resolution we have enough to generate convincing scanlines (and we would need to use the VERTICAL version of the shader).
I would love to see some screenshots of yours for comparison.
-
@caver01 i mean i use these cfg files from.
here
it applies rom specific custom resolution. means integer scaling only for x axis with full height, to optimize picture qiality. not sure if this has a negative effect if curved shaderd are used because cfgs are only required for non curved shaders according to this postingi use a normal 4:3 monitor in my upright cabinet , so only part of the screen is used in vertical games.
-
@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.