Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Shaders manquant 7.1.1

    Recalbox Général
    7.1.1 manquant shader
    4
    19
    1549
    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.
    • airdream
      airdream Theme moderator @Delegnia last edited by airdream

      @Delegnia
      Bonne nouvelle j'ai réussi à mettre ton shader préféré (crt-pi) sur mon RPI4 (4GB de Ram)

      Je suis passé par ce menu de retroarch (charger des préréglages de shaders)
      screenshot-2021-03-06T00-26-08-064Z.png

      sur l'image du dessous, en haut de l'ecran est inscrit le chemin exact de la ou j'ai pris le shader, ne suis pas d'autres chemins, uniquement celui ci semble fonctionner.
      screenshot-2021-03-06T00-22-25-103Z.png

      te reste plus qu'a le sauvegarder via retroarch pour tes cores souhaités.

      Je suis un peu comme toi, très a cheval sur le rendu video a l'ecran, mais par contre mon choix s'est porté sur crt-nes-mini.

      crt-pi (avec pixel perfect)
      (cliquer sur les images ci dessous et activer la loupe pour mettre bien voir les scanlines.)
      screenshot-2021-03-06T00-09-36-573Z.png screenshot-2021-03-06T00-19-56-454Z.png

      et crt-nes-mini (avec pixel perfect )
      screenshot-2021-03-06T00-11-51-372Z.png screenshot-2021-03-06T00-16-13-982Z.png

      J'aime pas le rendu trop net des contours justement (comme crt-pi ou zfast-crt-standard), sur les crt d'époque les couleurs bavaient un peu et de ce fait les jeux utilisaient cet inconveniant pour faire des effets en plus (transparence sur MD, couleurs supplementaires...), on appelle ca le dithering.. Celui a besoin de ce "flou" pour être réalisé et de mon avis seul crt-nes-mini s'en approche le plus. (crt-pi et zfast-crt-standard ne le prennent absolument pas en compte)

      text alternatif

      text alternatif

      text alternatif

      text alternatif

      text alternatif

      text alternatif

      text alternatif

      text alternatif

      La PS1 en a abusé aussi, le cliel de Ridgeracer en est plein, les Wipeout aussi ! !

      text alternatif

      text alternatif
      text alternatif

      text alternatif
      text alternatif
      text alternatif

      Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

      Delegnia 1 Reply Last reply Reply Quote 0
      • Delegnia
        Delegnia @airdream last edited by Delegnia

        @airdream hello, merci pour ton retour.
        Malheureusement le crt-pi que tu a mis n'est pas le .glslp (celui don je parle a les bord incurvés et n'a pas tous a fait les mêmes réglages justement)

        Voici également un petit comparatif des mes shaders préférés ici, sur Bare Knuckle II

        -Le CRT NES mini (pas mal en effet mais des scanlines peu marquées et assez grossieres)
        text alternatif

        -Le CRT-PI (Incurvé, scanlines bien marquées, rendu bi-lineaire avec Legé flou)
        text alternatif

        -Le fakelottes (plus incurvées, rendu façon luminophore très CRT, image plus clair)
        text alternatif

        -z fast crt curve (Assez proche du Crt-pi mais avec des scanlines un peu moins marqué et une image moins incurvées)
        text alternatif

        A noter, que les rendu des shaders diffèrent entre les écrans.
        Pour moi, jouer sans ces filtre est inconcevable. ils fonctionnait très bien sous PI3 sans ralentir les jeux.
        je voudrait absolument comprendre pourquoi le crt-pi.glslp ne fonctionne plus ?

        airdream 1 Reply Last reply Reply Quote 1
        • airdream
          airdream Theme moderator @Delegnia last edited by

          @Delegnia
          J'ai l'impression que tu n'avais pas activé le "pixel perfect" pour ton snap crt-nes-mini... sans ca c'est dégeulasse

          Bon cette histoire de crt-pi attise ma curiosité, l'effet est sympa a première vu, faut que je le teste à nouveau. Ce qui m'embete c'est que le nom du shader que j'ai fait fonctionner est bien crt-pi.glslp (on voit bien son nom sur mon screenshot). J'en déduis qu'il y a 2 versions (si ce n'est plus) dont l'un avec cet effet incurvé. J'ai essayé crt-pi-barrel.glslp et crt-pi-mask.glslp mais ils n'ont pas fonctionné. Faudrait voir a l'interieur quel ligne de code peut faire un conflit, ca me dépasse un peu...

          Sinon j'ai réussi à accentuer les scanlines de crt-nes-mini
          avec ces réglages ci dessous (image), on peut bidouiller pour accentuer les scanlines (intensité et épaisseur) mais aussi la luminosité.

          crt-nes-mini (customisé par moi)
          text alternatif

          text alternatif

          Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

          1 Reply Last reply Reply Quote 0
          • airdream
            airdream Theme moderator last edited by

            avec un afinement et d'autres réglages

            crt-nes-mini custom 2

            text alternatif

            text alternatif

            Bon sinon j'ai bien l'impression que pour crt-pi la version ecran bombé c'est bien "barrel"

            je vais essayer de le voir comment est son code, pas normal en effet que ca bloque

            Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

            1 Reply Last reply Reply Quote 0
            • airdream
              airdream Theme moderator last edited by

              voila le code de crt-pi.glsl
              j'ai essayer de le bidouiller un peu, afin de lui remettre l'effet bombé, sans succès...
              Si quelqu'un sait ce qu'il faudrait toucher...

              #pragma parameter BARREL_DISTORTION_X "Curvature - sides" 0.10 0.0 1.0 0.01
              #pragma parameter BARREL_DISTORTION_Y "Curvature - top/bottom" 0.15 0.0 1.0 0.01
              #pragma parameter MASK_BRIGHTNESS "Mask brightness" 0.75 0.0 1.0 0.01
              #pragma parameter SCAN_LINE_WEIGHT "Scanline weight" 6.0 0.0 15.0 0.1
              #pragma parameter BLOOM_FACTOR "Bloom factor" 1.5 0.0 5.0 0.01
              #pragma parameter INPUT_GAMMA "Input gamma" 2.4 0.0 5.0 0.01
              #pragma parameter OUTPUT_GAMMA "Output gamma" 2.2 0.0 5.0 0.01
              
              // Haven't put these as parameters as it would slow the code down.
              #define MULTISAMPLE
              #define CURVATURE
              
              
              #ifdef PARAMETER_UNIFORM
              uniform float BARREL_DISTORTION_X;
              uniform float BARREL_DISTORTION_Y;
              uniform float MASK_BRIGHTNESS;
              uniform float SCAN_LINE_WEIGHT;
              uniform float BLOOM_FACTOR;
              uniform float INPUT_GAMMA;
              uniform float OUTPUT_GAMMA;
              #else
              #define BARREL_DISTORTION_X 0.10
              #define BARREL_DISTORTION_Y 0.15
              #define MASK_BRIGHTNESS 0.75
              #define SCAN_LINE_WEIGHT 6.0
              #define BLOOM_FACTOR 1.5
              #define INPUT_GAMMA 2.4
              #define OUTPUT_GAMMA 2.2
              #endif
              
              /* COMPATIBILITY
                 - GLSL compilers
              */
              
              /*
                  crt-pi
              
                  Copyright (C) 2015 davej
              
                  This program is free software; you can redistribute it and/or modify it
                  under the terms of the GNU General Public License as published by the Free
                  Software Foundation; either version 2 of the License, or (at your option)
                  any later version.
              */
              
              #ifdef GL_ES
              #define COMPAT_PRECISION mediump
              #else
              #define COMPAT_PRECISION
              #endif
              
              
              uniform vec2 TextureSize;
              
              varying COMPAT_PRECISION float pixelWidth;
              varying COMPAT_PRECISION vec2 screenScale;
              varying COMPAT_PRECISION vec2 TEX0;
              varying COMPAT_PRECISION float filterWidth;
              
              #if defined(VERTEX)
              uniform mat4 MVPMatrix;
              attribute vec4 VertexCoord;
              attribute vec2 TexCoord;
              uniform vec2 InputSize;
              uniform vec2 OutputSize;
              
              void main()
              {
              	pixelWidth = 1.0 / TextureSize.x;
              	screenScale = TextureSize / InputSize;
              	filterWidth = InputSize.y / OutputSize.y;
              	TEX0 = TexCoord;
              	gl_Position = MVPMatrix * VertexCoord;
              }
              #elif defined(FRAGMENT)
              
              uniform sampler2D Texture;
              
              vec2 BARREL_DISTORTION = vec2(BARREL_DISTORTION_X, BARREL_DISTORTION_Y);
              // Barrel distortion shrinks the display area a bit, this will allow us to counteract that.
              vec2 barrelScale = 1.0 - (0.23 * BARREL_DISTORTION);
              
              float bloom = BLOOM_FACTOR / 3.0;
              
              vec2 Distort(vec2 coord)
              {
              	coord *= screenScale;
              	coord -= vec2(0.5);
              	float rsq = coord.x * coord.x + coord.y * coord.y;
              	coord += coord * (BARREL_DISTORTION * rsq);
              	coord *= barrelScale;
              	if (abs(coord.x) >= 0.5 || abs(coord.y) >= 0.5)
              		coord = vec2(-1.0);		// If out of bounds, return an invalid value.
              	else
              	{
              		coord += vec2(0.5);
              		coord /= screenScale;
              	}
              
              	return coord;
              }
              
              float CalcScanLineWeight(float dist)
              {
              	float invdist = 1.0 - dist;
              	return max(1.0-dist*dist*SCAN_LINE_WEIGHT, invdist*invdist/1.5);
              }
              
              void main()
              {
              #if defined(CURVATURE)
              	vec2 texcoord = Distort(TEX0);
              	if (texcoord.x < 0.0)
              		gl_FragColor = vec4(0.0);
              	else
              #else
              	vec2 texcoord = TEX0;
              #endif
              	{
              		vec2 texcoordInPixels = texcoord * TextureSize - vec2(0.5);
              		float yCoord = (floor(texcoordInPixels.y) + 0.5) / TextureSize.y;
              		vec2 tc1 = vec2(texcoord.x, yCoord);
              		vec3 colour1 = texture2D(Texture, tc1).rgb;
              		vec2 tc2 = tc1 + vec2(0.0, 1.0/TextureSize.y);
              		vec3 colour2 = texture2D(Texture, tc2).rgb;
              		colour1 = pow(colour1, vec3(INPUT_GAMMA));
              		colour2 = pow(colour2, vec3(INPUT_GAMMA));
              
              		int whichMask = int(floor(mod(gl_FragCoord.x, 2.0)));
              		vec3 mask = vec3(1.0, MASK_BRIGHTNESS, 1.0);
              		if (whichMask == 1)
              			mask = vec3(MASK_BRIGHTNESS, 1.0, MASK_BRIGHTNESS);
              
              		float dist = fract(texcoordInPixels.y);
              		float scanLineWeightsA = CalcScanLineWeight(dist);
              		float scanLineWeightsB = CalcScanLineWeight(1.0-dist);
              #if defined(MULTISAMPLE)
              		dist = dist + 1.0/3.0*filterWidth;
              		scanLineWeightsA += CalcScanLineWeight(dist);
              		scanLineWeightsB += CalcScanLineWeight(abs(1.0-dist));
              		dist = dist - 2.0/3.0*filterWidth;
              		scanLineWeightsA += CalcScanLineWeight(abs(dist));
              		scanLineWeightsB += CalcScanLineWeight(abs(1.0-dist));
              		scanLineWeightsB *= bloom;
              		scanLineWeightsA *= bloom;
              #endif
              		colour1 = colour1 * scanLineWeightsA + colour2 * scanLineWeightsB;
              
              		colour1 = pow(colour1, vec3(1.0 / OUTPUT_GAMMA));
              
              		gl_FragColor = vec4(colour1 * mask, 1.0);
              	}
              }
              #endif
              
              

              ci dessous le code de crt-pi-barrel.glsl

              #pragma parameter BARREL_DISTORTION_X "Curvature - sides" 0.10 0.0 1.0 0.01
              #pragma parameter BARREL_DISTORTION_Y "Curvature - top/bottom" 0.15 0.0 1.0 0.01
              #ifdef PARAMETER_UNIFORM
              uniform float BARREL_DISTORTION_X;
              uniform float BARREL_DISTORTION_Y;
              #else
              #define BARREL_DISTORTION_Y 0.10
              #define BARREL_DISTORTION_Y 0.15
              #endif
              /* COMPATIBILITY
                 - GLSL compilers
              */
              
              /*
                  crt-barrel
              
                  Copyright (C) 2015 davej
              
                  This program is free software; you can redistribute it and/or modify it
                  under the terms of the GNU General Public License as published by the Free
                  Software Foundation; either version 2 of the License, or (at your option)
                  any later version.
              */
              
              #ifdef GL_ES
              #define COMPAT_PRECISION mediump
              #else
              #define COMPAT_PRECISION
              #endif
              
              uniform vec2 InputSize;
              uniform vec2 TextureSize;
              varying COMPAT_PRECISION vec2 screenScale;
              varying COMPAT_PRECISION vec2 TEX0;
              
              #if defined(VERTEX)
              uniform mediump mat4 MVPMatrix;
              attribute mediump vec4 VertexCoord;
              attribute mediump vec2 TexCoord;
              
              void main()
              {
                 screenScale = TextureSize / InputSize;
                 TEX0 = TexCoord;
                 gl_Position = MVPMatrix * VertexCoord;
              }
              #elif defined(FRAGMENT)
              uniform sampler2D Texture;
              
              vec2 BARREL_DISTORTION = vec2(BARREL_DISTORTION_X, BARREL_DISTORTION_Y);
              // Barrel distortion shrinks the display area a bit, this will allow us to counteract that.
              vec2 barrelScale = 1.0 - (0.23 * BARREL_DISTORTION);
              
              vec2 Distort(vec2 coord)
              {
                 coord *= screenScale;
                 coord -= vec2(0.5);
                 float rsq = coord.x * coord.x + coord.y * coord.y;
                 coord += coord * (BARREL_DISTORTION * rsq);
                 coord *= barrelScale;
                 if (abs(coord.x) >= 0.5 || abs(coord.y) >= 0.5)
                    coord = vec2(-1.0);     // If out of bounds, return an invalid value.
                 else
                 {
                    coord += vec2(0.5);
                    coord /= screenScale;
                 }
              
                 return coord;
              }
              
              void main()
              {
                 vec2 texcoord = Distort(TEX0);
                 if (texcoord.x < 0.0)
                    gl_FragColor = vec4(0.0);
                 else
                 {
                    vec3 colour = texture2D(Texture, texcoord).rgb;
              
                    gl_FragColor = vec4(colour,1.0);
                 }
              }
              #endif
              
              

              Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

              1 Reply Last reply Reply Quote 0
              • Delegnia
                Delegnia last edited by

                Normalement il n'y a pas besoin de bidouillé quoi que ce soit.
                Tu sélectionne via le menu "options de jeux" et rien d'autre a faire.

                Sur la 7.1.1 version PC ou version pi P3b+, ca fonctionne directement, il n'y a que sous PI4 que ca déconne.
                Les shaders décorne tellement sous pi4 que je suis revenu sur mon pi3B+, c'est triste…

                J'abandonne, je vais jouer sur les version PC ou sur PI3b+...

                airdream 1 Reply Last reply Reply Quote 0
                • airdream
                  airdream Theme moderator @Delegnia last edited by

                  @Delegnia
                  Faut voir ça comme un soutien aux développeurs, signaler un problème est une chose, trouver comment y remédier apporte un plus c'est tout.
                  Oui la version RPI3 est bien plus fonctionnelle, la version Pi4 est bien plus récente, ça s'améliorera au fil des versions.

                  Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

                  Delegnia 1 Reply Last reply Reply Quote 0
                  • Delegnia
                    Delegnia @airdream last edited by

                    @airdream Tout a fait, si je peux fournir quoi que ce soit, ce sera avec plaisir !
                    Je suis simplement triste car j'ai investit dans un pi 4 et ca ne m'apporte pas satisfaction.

                    Merci aux devs pour leurs formidable travail et je me tiens a disposition pour toute demande de logs ou autres.

                    Tamtam 1 Reply Last reply Reply Quote 0
                    • Tamtam
                      Tamtam @Delegnia last edited by

                      @Delegnia Salut, j'ai investie dans un Odroid XU4 Q, et je n'en suis pas satisfait non plus, résultat, je suis retourné sur mon B+
                      Bref, pour en revenir au Shader, j'ai retéléchargé le crt-pi sur internet, car celui dans Recalbox est l'ancienne version ! Le nouveau est moins flou, et il s'appel "crt-pi-curvature"

                      Delegnia 1 Reply Last reply Reply Quote 0
                      • Delegnia
                        Delegnia @Tamtam last edited by

                        @Tamtam Merci pour ces infos. j'imagine qu'il ne suffi pas d'un copier coller dans le répertoire shader pour les remplacer ? Aurais tu un lien avec une procédure ?

                        airdream 1 Reply Last reply Reply Quote 0
                        • airdream
                          airdream Theme moderator @Delegnia last edited by

                          @Delegnia
                          tu peux utiliser les surcharges pour mettre n'importe quel shader absent de recalbox
                          J'avais ici expliquer comment faire avec le shader crt-nes-mini lorsque recalbox en était a la version 6 ( depuis la 7 il y a bien plus de shaders inclus)

                          https://forum.recalbox.com/topic/20805/tuto-mettre-par-defaut-le-shader-crt-nes-mini-glspl-ou-un-autre

                          Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

                          Delegnia 1 Reply Last reply Reply Quote 0
                          • Delegnia
                            Delegnia @airdream last edited by

                            @airdream Merci pour ton retour.
                            Effectivement, je me souviens avoir vu cette procédure 🙂

                            En espérant que la prochaine version prendra en compte ces problématiques de shaders non fonctionnel, je vais rester sur la version PC et abandonner la version Raspberry PI pour le moment.

                            Encore merci a ceux qui mon fait un retour.

                            airdream 1 Reply Last reply Reply Quote 0
                            • airdream
                              airdream Theme moderator @Delegnia last edited by airdream

                              @Delegnia
                              C'est dommage de mettre le Pi4 de côté pour si peu.
                              Moi ce qui me gène plus avec le Pi4 c'est les reboot intempestifs qui se provoquent chez moi lorsque je sors d'une liste de jeux et reviens au choix des consoles. Ça le fait quand une vidéo du scrap était en lecture et que j'appuie sur le bouton "retour" , sûrement la mémoire RAM mal gérée au niveau du front-end.

                              Si tu veux que je te prépare le dossier tout fait pour ton shader, envoi moi un lien ici même pour que je le télécharge, je te prépare la surcharge et te mettrai le lien pour le prendre ici même. T'auras rien a faire juste a le mettre au bon endroit que je te citerai

                              Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

                              airdream 1 Reply Last reply Reply Quote 0
                              • airdream
                                airdream Theme moderator @airdream last edited by

                                Bon je viens de tenter en prenant le crt-pi de ma version Pi3 (que j'ai testé prealablement sur Pi3, et il est bien incurvé).
                                Je l'ai adapté pour une surcharge afin de le mettre sur le Pi4, mais malheureusement sans resultat.
                                Il y a un truc qui m'échappe et je ne sais pas quoi. Une compatibilité différente quelque part mais ou?
                                Vraiment désolé, je pensais que par les surcharges ca allait enfin passer mais non, au grand désespoir.
                                Il faut chercher si l'auteur "davej" a fait une version Pi4, je vois plus que ça.

                                Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

                                1 Reply Last reply Reply Quote 0
                                • airdream
                                  airdream Theme moderator last edited by airdream

                                  J'ai reussi a trouver un rendu assez proche dit moi ce que t'en pense?
                                  screenshot-2021-03-14T05-02-10-484Z.png

                                  screenshot-2021-03-14T05-05-39-164Z.png

                                  screenshot-2021-03-14T05-09-32-268Z.png

                                  screenshot-2021-03-14T05-07-12-562Z.png

                                  screenshot-2021-03-14T05-08-40-579Z.png

                                  Si ca t'interesse d'essayer ca marche sup Pi4
                                  regarde ces images en zoomant dessus

                                  1. prendre zfast-crt-curve.glslp
                                  2. aller dans "parametre shaders" via retroarch
                                  3. changer la ligne "mask effect amount" pour y mettre la valeur 0.00 (voir image dessous ci après)
                                  4. retour arriere et mettre "enregister"
                                  5. choisir "enregistrer les prereglages de shaders sous"
                                  6. taper le nom que tu veux (exemple zfast-crt-curve-custom)
                                  7. c'est tout, il apparaitra ensuite dans ton menu recalbox comme un autre

                                  screenshot-2021-03-14T05-19-10-311Z.png

                                  Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

                                  1 Reply Last reply Reply Quote 0
                                  • airdream
                                    airdream Theme moderator last edited by airdream

                                    en regardant bien c'est pas vraiment pareil que le crt-pi curve... Rhahhh je rage de pas y arriver
                                    J'espere que je vais finir par trouver, je ferai d'autres tests si j'ai des idées

                                    Thème MUKASHI / RPI 4 (4GB) / 3B+ et 3B / Recalbox dernière version

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

                                    Want to support us ?

                                    66
                                    Online

                                    99.6k
                                    Users

                                    28.1k
                                    Topics

                                    187.1k
                                    Posts

                                    Copyright © 2021 recalbox.com