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 278.0k 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.
    • dankcushionsD
      dankcushions Global Moderator @dankcushions
      last edited by dankcushions

      i see, the shader location has changed in 4.1. i will update my .cfgs.

      still, unless someone can give me a good reason for keeping the .zip.cfg versions, i will be cleaning up this thread

      RionR FloobF 2 Replies Last reply Reply Quote 0
      • RionR
        Rion @dankcushions
        last edited by

        @dankcushions

        Sorry about that i should have been more clear about the .zip.cfg files i posted. Do you want me to remove these and add the cfg files only or post both for people to choose?

        I have also posted this

        Mame2003 (0.78u6) Generic Arcade Bezel for every game with crt-pi-curvate (vertical & horizontal)

        And this

        crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-fbalpha 029739 (formerly lr-fba-next)

        Same here with only .zip.cfg files. Do you want me to Change these to and only post the cfg files or both?

        FBNeo rom filtering
        Mame2003 Arcade Bezels
        Fba Arcade Bezels
        Fba NeoGeo Bezels

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

          @Rion thanks! yeah for me the cfg files only should be the ones we use. i don't see the reason for the .zip.cfg ones going forward. i will update my initial post once i've re-run my script with the new shader directory.

          RionR 2 Replies Last reply Reply Quote 0
          • RionR
            Rion @dankcushions
            last edited by

            @dankcushions Ok i will update my posts with the cfg files during the evening.

            FBNeo rom filtering
            Mame2003 Arcade Bezels
            Fba Arcade Bezels
            Fba NeoGeo Bezels

            1 Reply Last reply Reply Quote 0
            • FloobF
              Floob @dankcushions
              last edited by

              @dankcushions said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

              i see, the shader location has changed in 4.1. i will update my .cfgs.

              still, unless someone can give me a good reason for keeping the .zip.cfg versions, i will be cleaning up this thread

              Is there a chance someone not on a new enough version of RetroArch will get confused why the retroarch based location/overrides dont work?
              Although I would hope as more and more people use the current version of RetroPie/RetroArch it shouldnt matter.

              Please read the Docs before asking a new question.
              RetroPie Help Guides: https://goo.gl/3gcNsT

              J dankcushionsD 2 Replies Last reply Reply Quote 0
              • RionR
                Rion @dankcushions
                last edited by

                @dankcushions Sorry about the delay. Here are the fixed ones for RetroPie 4.1 *.cfg Only

                mame2003_Vertical_ crt-pi-vertical

                mame2003_Vertical_crt-pi-curvature-vertical

                These should go into the folder "/opt/retropie/configs/all/retroarch/config/MAME 2003/" or and not the rom folder.

                Please tell me if i misses anything?

                FBNeo rom filtering
                Mame2003 Arcade Bezels
                Fba Arcade Bezels
                Fba NeoGeo Bezels

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

                  @Floob said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                  @dankcushions said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                  i see, the shader location has changed in 4.1. i will update my .cfgs.

                  still, unless someone can give me a good reason for keeping the .zip.cfg versions, i will be cleaning up this thread

                  Is there a chance someone not on a new enough version of RetroArch will get confused why the retroarch based location/overrides dont work?
                  Although I would hope as more and more people use the current version of RetroPie/RetroArch it shouldnt matter.

                  i thought about this but the vertical shader was only included in retropie from 4.0 ish, and RA overrides were late august, so hopefully it shouldn't be a problem for many. hopefully!

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

                    @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                    @dankcushions Sorry about the delay. Here are the fixed ones for RetroPie 4.1 *.cfg Only

                    mame2003_Vertical_ crt-pi-vertical

                    mame2003_Vertical_crt-pi-curvature-vertical

                    These should go into the folder "/opt/retropie/configs/all/retroarch/config/MAME 2003/" or and not the rom folder.

                    Please tell me if i misses anything?

                    looks good to me, thanks! i can test later.

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

                      sorry, got a bit sidetracked :) i have been working on a small improvement to my .cfgs.

                      alt text

                      previous with crt-pi-vertical.glslp:
                      alt text

                      now:
                      0_1480380617366_upload-3c98dd01-0754-4f08-8548-629ca637c1d0

                      this is via my new resizing algorithm that always keeps the horizontal scaling at an integer scale, but still stretches the vertical to fullscreen. this makes things look a lot better when using vertical scanlines, especially when scrolling left to right. i think this sort of algorithm will be goof for horizontal games also, but i need to test.

                      vbsV 1 Reply Last reply Reply Quote 1
                      • vbsV
                        vbs @dankcushions
                        last edited by vbs

                        @dankcushions
                        Should the crt-pi-vertical maybe added to the "official" shader collection here https://github.com/RetroPie/common-shaders?

                        EDIT:
                        Oh also would it make sense to have two additional crt-pi-curvatureand crt-pi-vertical-curvature?

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

                          @vbs said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                          @dankcushions
                          Should the crt-pi-vertical maybe added to the "official" shader collection here https://github.com/RetroPie/common-shaders?

                          EDIT:
                          Oh also would it make sense to have two additional crt-pi-curvatureand crt-pi-vertical-curvature?

                          it is :) see https://github.com/RetroPie/common-shaders/tree/rpi

                          (on the rpi branch)

                          vbsV 1 Reply Last reply Reply Quote 0
                          • vbsV
                            vbs @dankcushions
                            last edited by

                            @dankcushions
                            Oh I see, I didn't know that there is a separate branch for rpi. I am on x86 so probably on x86 the master branch is used and thats the reason I don't have it? Should I make a PR to add those shaders also on master or is it intended to not be there?

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

                              @vbs there's no harm in it but if you're on x86 you will probably want to use a more sophisticated crt shader.

                              1 Reply Last reply Reply Quote 0
                              • W
                                windale
                                last edited by

                                @dankcushions
                                Are your new 'crt-pi-vertical' and 'crt-pi-vertical-curvature' shaders still in progress or have they already been changed ?

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

                                  @windale said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                  @dankcushions
                                  Are your new 'crt-pi-vertical' and 'crt-pi-vertical-curvature' shaders still in progress or have they already been changed ?

                                  i have not/am not doing any changes to the shaders. i have done some changes to per-game mame/fba configs to do better shader scaling, which i will release when i'm happy with them.

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    windale @dankcushions
                                    last edited by

                                    @dankcushions That's OK, i've decided to go with no shader and no filter because i've seen scrolling stuttering in Genesis games with the CRT filter, so MAME games will run even worse. I'm starting to quite like the pixelated look !

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

                                      @dankcushions Are these changes merely adding integer scaling or are there tweaks to brightness or something too? Your second closeup looks like it has more color saturation. Is that true?

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

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

                                        @caver01 said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                        @dankcushions Are these changes merely adding integer scaling or are there tweaks to brightness or something too? Your second closeup looks like it has more color saturation. Is that true?

                                        neither :) it's using smarter scaling without adding borders (like integer can).

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

                                          been a long time coming, but i've finally finished my script! i have now generated cfgs that reduce CRT shader artifacts in vertical AND horizontal games. it's quite striking IMO.

                                          i've updated the original post with the details. you can see the python script if you want here: https://github.com/dankcushions/crt-pi-configs/blob/master/crt-pi-configs.py

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

                                            @dankcushions This is cool. So, I know the script is generating configs, but I want to understand the logic behind the result. Correct me if I have this wrong, but in addition to setting the crt-pi-vertical.glslp, you are using integer scaling on the X-axis to get as close as possible to the best fit of the game within a given display. . . then, you are setting the y resolution to the display's Y resolution? (of course, you are also specifying the properly calculated viewport)

                                            1. Because it's a vertical game going into a horizontal display, if you want it oriented correctly (and not stretched ridiculously wide) you are always going to have borders on the sides.
                                            2. Integer scaling eliminates shader artifacts, but crucially, these artifacts are primarily noticeable across the X-axis, and not as much in the Y.
                                            3. You scale the game to an integer value on the X, then stretch to fit into the screen on the Y.
                                            4. You end up with a slightly imperfect aspect ratio, but it's a tradeoff--by allowing a nearly imperceptible amount of stretch in the vertical dimension, you avoid black bars on the top and bottom, effectively fitting into the display, but without the rainbow artifacts.

                                            Do I have it right? If so, that's clever! I can live with a slightly incorrect AR. Now, I wonder how bad it gets with curvature enabled?

                                            Could we get a set of configs for 1280x1024?

                                            For me, there are only a handful of games that I rotate like this (most vertical games run in TATE mode). But for those where this applies (side-by-side controls, trackball, etc) I am wondering: are you always stretching into Y resolution, or sometimes compressing, if the closest X integer happens to be slightly bigger than the vertical with the correct AR?

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

                                            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.