crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)
-
Hi folks,
I have a native 1600x1200 TFT. Although I read most of the posts about this resolution here, I don't really understand what I should do for the best results with this resolution or if the latest version is "4:3 ready" by now. Could someone please enlighten me in a few words? Thanks. -
@clyde You would have to generate the configs using the script yourself, since I have not created a set for that resolution in the initial post. However, I am probably going to re-generate all the configs soon using a different shader, and could do you a 1600x1200 pack then. this probably won't be soon, though!
-
@dankcushions Thanks, that would be very kind of you. I can wait, it's not an urgent issue for me, as the rainbow effect is not more than a little nuisance. In addition, I'm testing @ghogan42's curved shader at the moment, which seems to have no rainbow effect in vertical games β or at least none that's noticeable to me.
Which different shader will you be using for the new configs?
-
-
@dankcushions said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
my plan is to use @ghogan42's non-curved shaders :)
I'm looking forward to that. :)
Thanks for the clarification about curved shaders.
edit: Repaired the quote. :*)
-
@clyde : it's pretty simple stuff to use @dankcushions's script to generate the files you need. Definitely worth a try, and the results are really nice (one of the systems I have is 1600 x 1200, as mentioned above somewhere).
You can get the current version here : https://github.com/dankcushions/crt-pi-configs
..and it's got full instructions, so even if you're not a Linux command-line wizard, you should be fine.If you do run into problems, let us know and we'll either lend a hand, or I'll see if I can post some zip files at that resolution somewhere public.
-
@andrewh Thanks very much for your offer. I'm using Linux for more than eleven years now, so that should be no problem. :) I'll look into it in the next few days. Alas, my free time at workdays is very limited.
-
@andrewh Okay, I've used the script with the command
python crt_pi_configs.py mame2003 1600 1200
to create a folderMAME 2003
full of .cfg files for all of MAME 2003's games. I then put this folder into/opt/retropie/configs/all/retroarch/config
so that the full path is/opt/retropie/configs/all/retroarch/config/MAME 2003
. But vertical games in lr-mame2003 still have the shader crt-pi.glsl, not crt-pi-vertical.glsl.Before doing that, I used @ghogan42's shader zfast_crt_curve.glslp. To test @dankcushions' script, I changed it back to crt-pi.glslp and chose "Save Core Preset" in the Shaders menu of retroarch.
What am I missing or doing wrong?
-
@clyde said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
@andrewh Okay, I've used the script with the command
python crt_pi_configs.py mame2003 1600 1200
to create a folderMAME 2003
full of .cfg files for all of MAME 2003's games. I then put this folder into/opt/retropie/configs/all/retroarch/config
so that the full path is/opt/retropie/configs/all/retroarch/config/MAME 2003
. But vertical games in lr-mame2003 still have the shader crt-pi.glsl, not crt-pi-vertical.glsl.Before doing that, I used @ghogan42's shader zfast_crt_curve.glslp. To test @dankcushions' script, I changed it back to crt-pi.glslp and chose "Save Core Preset" in the Shaders menu of retroarch.
What am I missing or doing wrong?
It looks like saving the core preset overrides the game-specific configuration, which isn't what I'd have expected to happen.
Navigate to /opt/retropie/configs/all/retroarch/shaders/presets , and delete the MAME 2003 folder you'll find there.
-
It looks like saving the core preset overrides the game-specific configuration, which isn't what I'd have expected to happen.
Then we both have learned something today. :)
Navigate to /opt/retropie/configs/all/retroarch/shaders/presets , and delete the MAME 2003 folder you'll find there.
Now it works and looks beautiful, thanks! Alas, now I'm having a hard time to choose between this and @ghogan42's also beautiful curved shader β¦ maybe I'll switch between them from time to time. :)
-
@clyde said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
Now it works and looks beautiful, thanks! Alas, now I'm having a hard time to choose between this and @ghogan42's also beautiful curved shader β¦ maybe I'll switch between them from time to time.
It's always good to have options :-)
-
I recently upgraded from LCD 1080p monitor to CRT VGA. And it may sound strange, but even on my crt monitor I would like to use the crt-pi filter, as it looks so good. The problem is, the sweet spot on my system is 640*480 pixel and I can't use these files then. If I would understand these concepts here, I could write my own simple script and convert them probably. Do anyone have an idea?
-
@thelostsoul At that low resolution, you won't be able to see the full effect of the shader. Think about it. If the shader draws a dark line inbetween each bright line to simulate scanlines/shadow mask, that only leaves you with 480/2 = 240 pixels vertically, with every other line used for the scanlines. The reason the shader looks good is because it is able to use a few surrounding lines on a high resolution display to give the appearance of CRT scanlines (that your CRT display already has).
Now, I am pretty sure the best use of CRT-PI comes with a high resolution display (but not so high it slows down) with enough extra lines to render the proper effect.
-
@caver01 Yeah. I was using them on my 1080p monitor. But on CRT without shader, I can just barely see the monitors own scanlines. The effect is very low and with added shader, it looks better to me, at least on systems like snes.
-
@thelostsoul That's really interesting. I need to do a CRT build at some point.
-
@thelostsoul at 640x480, you wonβt see a CRTs natural scanlines. theyβre not part of the monitor, but the way a CRT displays a 240p image.
you need to set your pi up to send 240p to your CRT if you want to see what they look like.
-
@dankcushions I tried it and it looks awful here. Not sure if i messed it up somehow when trying out. Or maybe it does not work good with this monitor. In any case, I really like the output of this shader.
On my snes I like the output, but the arcade games need different settings. Thats why I don't just want use single setting for all games.
I tried to show the differences with smartphone screenshots from the snes emulator. Also this shows why we really need scanlines. It makes the image more natural and gives depth and shadow to it, hiding the edges. LEFT is without shader on CRT monitor and right is with shader. Look how organic the head becomes.
If there is an interest, I can give a much bigger version of this comparison image.
-
@thelostsoul looks like that's a crt pc monitor? that's a slightly different proposition. they have a way higher resolution than a normal TV so i would guess the scanlines don't manifest in the same way at 240p.
according to the specs it runs at 1600 x 1200 so you could use this shader effectively at that resolution, and even build some configs that match that resolution, using this script (although they probably won't help much at 4:3)
-
I just wanted to say thank you for making these!
-
@dankcushions This is great! I cloned your script, but is there a way to have it also create a perfect height integer for all non vertical games (Mortal Kombat etc)? So basically do the opposite of what it does now, and just set the perfect integer on horizontal games to keep the scan-lines even for horizontal games?
I have tried various tolerance settings, but I can only seem to get 1080 in my tests.
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.