RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)

    Scheduled Pinned Locked Moved Ideas and Development
    crt-pi shadercrt-picrt-pi-verticalshaderslr-mame2003
    385 Posts 42 Posters 264.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AndrewH @Clyde
      last edited by

      @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 folder MAME 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.

      ClydeC 1 Reply Last reply Reply Quote 1
      • ClydeC
        Clyde @AndrewH
        last edited by

        @andrewh

        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. :)

        A 1 Reply Last reply Reply Quote 1
        • A
          AndrewH @Clyde
          last edited by

          @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 :-)

          1 Reply Last reply Reply Quote 1
          • thelostsoulT
            thelostsoul
            last edited by

            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?

            πŸ“œ RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

            caver01C 1 Reply Last reply Reply Quote 0
            • caver01C
              caver01 @thelostsoul
              last edited by caver01

              @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.

              My 4-player cocktail style cabinet built as a custom "roadcase"

              thelostsoulT 1 Reply Last reply Reply Quote 0
              • thelostsoulT
                thelostsoul @caver01
                last edited by

                @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.

                πŸ“œ RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                caver01C dankcushionsD 2 Replies Last reply Reply Quote 0
                • caver01C
                  caver01 @thelostsoul
                  last edited by

                  @thelostsoul That's really interesting. I need to do a CRT build at some point.

                  My 4-player cocktail style cabinet built as a custom "roadcase"

                  1 Reply Last reply Reply Quote 0
                  • dankcushionsD
                    dankcushions Global Moderator @thelostsoul
                    last edited by

                    @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.

                    thelostsoulT 1 Reply Last reply Reply Quote 0
                    • thelostsoulT
                      thelostsoul @dankcushions
                      last edited by thelostsoul

                      @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.

                      0_1523788317670_crtshader_small.jpg

                      If there is an interest, I can give a much bigger version of this comparison image.

                      πŸ“œ RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                      dankcushionsD 1 Reply Last reply Reply Quote 1
                      • dankcushionsD
                        dankcushions Global Moderator @thelostsoul
                        last edited by

                        @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)

                        1 Reply Last reply Reply Quote 0
                        • T
                          tekn0
                          last edited by

                          I just wanted to say thank you for making these!

                          1 Reply Last reply Reply Quote 0
                          • T
                            tekn0
                            last edited by tekn0

                            @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.

                            dankcushionsD 1 Reply Last reply Reply Quote 0
                            • P
                              Pyjamarama
                              last edited by Pyjamarama

                              @dankcushions will this shader pack work with your MAME/FBA scanlines config pack instead of the simple CRT_PI?

                              Thank you

                              dankcushionsD 1 Reply Last reply Reply Quote 0
                              • dankcushionsD
                                dankcushions Global Moderator @tekn0
                                last edited by

                                @tekn0 said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                                @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.

                                trying to cast my mind back - no i'm not sure you can. but it sounds to me like you just want to set integer scaling on, and don't need the script? what kind of display are you using?

                                T 1 Reply Last reply Reply Quote 0
                                • dankcushionsD
                                  dankcushions Global Moderator @Pyjamarama
                                  last edited by

                                  @pyjamarama said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):

                                  @dankcushions will this shader pack work with your MAME/FBA scanlines config pack instead of the simple CRT_PI?

                                  Thank you

                                  hi! what shader pack? i'm not sure i understand :)

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Pyjamarama
                                    last edited by

                                    Here you are :)
                                    https://retropie.org.uk/forum/topic/4046/crt-pi-shader-users-reduce-scaling-artifacts-with-these-configs-in-lr-mame2003-lr-fbalpha-lr-nestopia-and-more-to-come

                                    dankcushionsD 1 Reply Last reply Reply Quote 0
                                    • dankcushionsD
                                      dankcushions Global Moderator @Pyjamarama
                                      last edited by

                                      @pyjamarama ok so:

                                      with your MAME/FBA scanlines config pack

                                      what's my MAME/FBA scanlines config pack?

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        Pyjamarama
                                        last edited by

                                        This post is deleted!
                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tekn0 @dankcushions
                                          last edited by tekn0

                                          @dankcushions I am on a 1080p display. I have all of my emulators integer scaled for that resolution. All of my systems except for neogeo have very minimal/zero offscreen crop. I absolutely LOVE what you have done here for vertical games and it works so well.

                                          I was wondering if there was a way/flag (and this might be a feature request) to have your script do a "horizontal" mode based on the tolerance setting, to set the height to an integer as well just for horizontal games.

                                          So for example at 1080p the integer height of Mortal Kombat overflows the screen to much at 1270 (5x). But at 1016 (4x) there is a very small amount of black bars at the top/bottom which I don't mind. As your script seems to set every cfg's height setting to a static 1080 based on my 1920x1080, it would be cool to have it set the height to either a 5x or 4x integer depending on the tolerance setting.

                                          1 Reply Last reply Reply Quote 0
                                          • robertvb83R
                                            robertvb83 @dankcushions
                                            last edited by

                                            @dankcushions is there a corresponding folder to place these config files for mame2003-plus?

                                            My full size arcade cabinet Robotron vs. Octolyzer

                                            dankcushionsD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.