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

    New CRT/LCD shaders for RPI3. They run at 60fps at higher resolutions and are configurable.

    Scheduled Pinned Locked Moved General Discussion and Gaming
    crtpixel shaderslcd
    75 Posts 26 Posters 47.8k 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.
    • robertvb83R
      robertvb83 @caver01
      last edited by

      @caver01 i tried this in 1942 and found it to be terribly blurry with zfast_curvature.

      My full size arcade cabinet Robotron vs. Octolyzer

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

        @robertvb83 Here are two screenshots, paused at about the same place:

        WITH CURVATURE:
        0_1525744163711_IMG_4985.jpg

        WITHOUT CURVATURE:
        0_1525744214479_IMG_4988.jpg

        It definitely gets a little softer with curvature, but for me it is not horrible at all. In fact, it is quite acceptable for what you get I think.

        Now, I run in fullscreen 'tate' mode, so if I ran this game rotated, it being vertical, the effect would probably be worse as there would be few pixels available to create the scanlines.

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

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

          @caver01 Here it is again, CURVE/No CURVE:
          0_1525744519938_IMG_4985.jpg

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

          robertvb83R 2 Replies Last reply Reply Quote 0
          • B
            Beldar
            last edited by

            I just wanted to drop a thank you to everyone making these rather nice shaders for the community. They are appreciated.

            I wish the authors of SNES9x and PSXrearmed would incorporate the Component/SVideo/RGB shaders into the emulators similarly to the NES and Sega emulators. Between those and these scanline shaders I'm like a pig in 8-bit poo.

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

              @beldar said in New CRT/LCD shaders for RPI3. They run at 60fps at higher resolutions and are configurable.:

              I wish the authors of SNES9x and PSXrearmed would incorporate the Component/SVideo/RGB shaders into the emulators similarly to the NES and Sega emulators

              ? shaders can be used any libretro emulator. are you talking about colour palettes?

              thelostsoulT B 2 Replies Last reply Reply Quote 0
              • thelostsoulT
                thelostsoul @dankcushions
                last edited by

                @dankcushions How I undestood him is, that the original developers should integrate shaders like libreto do.

                📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

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

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

                  My full size arcade cabinet Robotron vs. Octolyzer

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

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

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

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

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

                      i use a normal 4:3 monitor in my upright cabinet , so only part of the screen is used in vertical games.

                      My full size arcade cabinet Robotron vs. Octolyzer

                      caver01C 1 Reply Last reply Reply Quote 0
                      • B
                        Beldar @dankcushions
                        last edited by

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

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • R
                            RedToasty
                            last edited by

                            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.

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

                              I'm really enjoying this shader after some setting tweaks. Thank you for sharing them!

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

                                @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
                                0_1527410745618_zfast.jpg

                                zfast curved
                                0_1527410759495_zfast_curve.jpg

                                crt_pi curved
                                0_1527410775607_crt_pi_curvature.jpg

                                My full size arcade cabinet Robotron vs. Octolyzer

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

                                  @robertvb83 hmmm. That does look pretty odd.

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

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    battaglia01
                                    last edited by battaglia01

                                    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?

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      ghogan42 @battaglia01
                                      last edited by

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

                                      1. You can do gamma/inverse gamma so that you can apply your shader in linear space. This gives better quality.

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

                                      1 Reply Last reply Reply Quote 0
                                      • KashinMaukiK
                                        KashinMauki
                                        last edited by KashinMauki

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

                                        DarksaviorD 1 Reply Last reply Reply Quote 0
                                        • DarksaviorD
                                          Darksavior @KashinMauki
                                          last edited by

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

                                          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.