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 48.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.
    • 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.