Screenscaper issue

For information, Screenscraper website is currently down. All the Screenscraper staff is aware of this issue. Until it's solved, you won't be able to scrap from Recalbox or Skraper. We apologize for the inconvenience.

Pour information, le site internet de Screenscraper est actuellement en panne. Toute l'équipe de Screenscraper est consciente de ce problème. Tant qu'il ne sera pas résolu, vous ne pourrez pas scraper depuis Recalbox ou Skraper. Veuillez nous excuser pour le dérangement.

The Recalbox Team.

[Tuto] mettre par defaut le shader crt-nes-mini.glspl (ou un autre)


  • Themer

    Bonjour,

    Souhaitant réduire les effets de pixelisation des modes de base de recalbox, je me suis intéressé aux surcharges et j'ai enfin trouvé un rendu vidéo qui me convient mieux. Sans gros pixel, sans deformation, avec de tres petites lignes de balayage.
    Ayant particulièrement apprécié le rendu CRT de la mini SNES, je suis parti en quête de trouver un similaire sur recalbox. Je me suis rendu compte que retroarch proposait le shader crt-nes-mini et je l'ai donc installé par défaut pour de nombreuses consoles (pas toutes, les portables comme la gameboy par exemple ca ne va pas).
    Je vais donc vous expliquer ici en 5 étapes la manip et les liens des fichiers à télécharger.

    Téléchargement

    1. Télécharger le shader ici (il doit y avoir 2 fichiers, l'un en .glsl et un autre en .glslp, vous pouvez télécharger le dossier qui les contient que j'ai appelé "shaderpresets" (gardez ce nom)
      --->>>> shader crt-nes-mini

    2. télécharger le fichier .recalbox.conf fait par mes soins ici (replacer le . en premier caractère si il a été effacé par windows, il faut qu'il soit absolument nommé ainsi .recalbox.conf
      --->>>> .recalbox.conf

    Placer ensuite dans les bons dossiers

    1. Dans le dossier : /recalbox/system mettre le dossier "shaderpresets" contenant les 2 fichiers

    2. Dans le dossier /recalbox/roms mettre le fichier .recalbox.conf
      (je répète, quand on le télécharge il supprime point . du début, renommer le bien en .recalbox.conf avec le point . au début

    3. (très important ! )bien mettre l'option Pixel perfect de recalbox sur ON (sinon les lignes de balayages seront mal placées)

    C'est tout vous pouvez profiter du shader pour ces machines là
    N’hésitez pas à en rajouter d'autres si il vous plait.

    snes.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    megadrive.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    nes.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    mastersystem.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glsl
    atari7800.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    colecovision.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    fds.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    gx4000.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    msx.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    neogeo.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    neogeocd.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    pcenginecd.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    pcengine.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    psx.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    satellaview.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    sega32x.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    sg1000.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    segacd.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    supergrafx.shaders= /recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    

    Quelques images mais ca rend pas aussi bien qu'en vrai, le résultat obtenu sur ma TV LCD est vraiment propre, sans bouillie de pixels
    MEGA CD (picodrive)
    IMG_20200522_200010.jpg

    Megadrive (genesisplusgx)
    IMG_20200522_194817.jpg

    colecovison
    IMG_20200522_194546.jpg

    SNES (snes9x)
    IMG_20200522_193826.jpg

    NeoGeo (FBN)
    IMG_20200522_193535.jpg



  • @airdream merci ca a l'air propre en effet...



  • @airdream said in [Tuto] mettre par defaut le shader crt-nes-mini.glspl (ou un autre):

    Dans le dossier : /recalbox/system mettre le dossier "shaderpresets" contenant les 2 fichiers

    Bonjour, j'ai utilisé cette méthode et la mise en place du shader n'est pas automatique pour les différents systèmes, je suis obligé de l'activer manuellement pour chaque jeu.
    Mes roms sont situées sur un disque dur externe où se trouve aussi le fichier système (dossier share). Je suis sur Pi3.

    Ai-je loupé un truc ?
    Par ailleurs le shader est très agréable visuellement, bravo.


  • Themer

    @Wang85
    Je l'ai activé en effet que pour les systèmes que j'ai cité dans le premier post, mais en théorie tu ne devrais pas avoir à les activer manuellement... Bizarre car moi mes roms sont sur clé USB ce qui revient au même. (La la différence que mon OS est sur la carte SD, peut être ça?)
    Le fichier .glslp contient le chemin où se trouve le shader (Dans shaderprests donc qui doit être dans system de ton disque dur).
    Tu as bien renommé . recalbox.conf? Je me demande bien pu ça a pu foiré ?!?! Une histoire de chemin à revoir sûrement.

    Est ce que tu peux remplacer share par share_init dans le chemin du fichier.glslp
    Il faut le faire avec notepad++
    Je peux te renvoyer le fichier corrigé si tu sais pas faire.


  • Themer

    @airdream said in [Tuto] mettre par defaut le shader crt-nes-mini.glspl (ou un autre):

    tiens je t'ai corrigé le chemin dans les fichiers précédemment téléchargés qu'il faut que tu remplaces dans ton cas.

    crt-nes-mini version share_init

    @Wang85
    Si cela ne marche toujours pas le mieux est que tu m'envoi la photo du chemin ou se trouve le shader quand tu pointe dessus avec recalbox via retroarch (le chemin est inscrit au dessus au sommet de l’écran)



  • Bingo, j'ai réussi à le faire fonctionner, j'ai du louper un truc la première fois^^.
    J'ai refais la manip de 1 à 5 et cela fonctionne maintenant.

    Merci, j'en ai profité pour rajouté l'Amstrad CPC 😄


  • Themer

    merci @Wang85 pour ton retour 👍



  • @airdream ,
    Merci pour ce travail partagé 👍
    Juste une petite question : le shader que j’utilise est le crt-pi.
    Sur le shader nes mini,il y’a l’effet incurvé ?
    Si non, on ne peut pas " fusionner" 2 shader ?
    Merci encore


  • Themer

    @Eptdqcn41700

    Fusionner ces 2 shaders là ca ne me semble pas possible vu qu'ils ont pas mal de points différents.
    Au mieux je pense possible de pouvoir intégrer l'effet courbé en reprenant le code du fichier crt-pi.glsl et de mettre cette partie là dans le code de crt-nes-mini.glsl

    En fouillant le code du crt-pi.glsl voici les éléments que je trouve qui définissent cet effet courbé.
    Faut essayer de mettre l'ensemble ou les bonnes valeurs seulement dans le fichier crt-nes-mini.glsl avec notepad++
    (Faut y aller par tâtonnement sûrement)
    Peut-être quelqu'un qui a plus l'habitude pourrait apporter une réponse plus efficace que la mienne...

    #pragma parameter CURVATURE_X "Screen curvature - horizontal" 0.10 0.0 1.0 0.01
    #pragma parameter CURVATURE_Y "Screen curvature - vertical" 0.15 0.0 1.0 0.01
    
    //#define CURVATURE
    
    #ifdef PARAMETER_UNIFORM
    uniform COMPAT_PRECISION float CURVATURE_X;
    uniform COMPAT_PRECISION float CURVATURE_Y;
    uniform COMPAT_PRECISION float 
    
    uniform vec2 TextureSize;
    #if defined(CURVATURE)
    varying vec2 screenScale;
    #endif
    
    #if defined(CURVATURE)
    	screenScale = TextureSize / InputSize;
    #endif
    	filterWidth = (InputSize.y / OutputSize.y) / 3.0;
    	TEX0 = TexCoord;
    	gl_Position = MVPMatrix * VertexCoord;
    }
    
    #if defined(CURVATURE)
    vec2 Distort(vec2 coord)
    {
    	vec2 CURVATURE_DISTORTION = vec2(CURVATURE_X, CURVATURE_Y);
    	// Barrel distortion shrinks the display area a bit, this will allow us to counteract that.
    	vec2 barrelScale = 1.0 - (0.23 * CURVATURE_DISTORTION);
    	coord *= screenScale;
    	coord -= vec2(0.5);
    	float rsq = coord.x * coord.x + coord.y * coord.y;
    	coord += coord * (CURVATURE_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;
    }
    #endif
    
    #if defined(CURVATURE)
    	vec2 texcoord = Distort(TEX0);
    	if (texcoord.x < 0.0)
    		gl_FragColor = vec4(0.0);
    	else
    #else
    	vec2 texcoord = TEX0;
    #endif
    	
    

    Avant d'essayer de modifier le code de crt-nes-mini.glsl autant d'abord le testé et voir si le rendu te plaît.
    Personnellement j'ai pas été fan des autres shaders Tel que zfast, caligari, etc... Mais le crt-pi je l'ai toujours trouvé réussi (sans l'effet courbé que je n'aime pas, et que je remettais toujours a plat). Les 2 sont donc assez proche, bien que crt-nes-mini a ma préférence, voilà pourquoi j'ai voulu l'adapter a recalbox.



  • @airdream
    Merci pour cette réponse complète.
    L’effet courbe est intéressant pour moi sur quelques systèmes vu que mon bartop a un lcd 19" , donc avec les overlays je trouve que ça donne pas mal.
    Je tenterai avec notepad ++ ( j’aime essayer les sujets que je ne maîtrise pas 😂) et si ça marche, je ferai un retour.


  • Themer

    @Eptdqcn41700
    Je viens d'essayer de balancer tel quel les données de crt-pi concernant l'effet courbé dans le crt-nes-mini ça n'a rien donné...
    C'est plus subtil que ça faut bien décortiquer le code crt-pi c'est pas si simple que ca (enfin pour moi le gros débutant)



  • Un grand merci pour nous avoir fait partager ce shader. Moi aussi je n'avais jamais été vraiment satisfait par les shaders disponibles, à part crt pi. Là, c'est vraiment la grande classe! Je suis même bluffé ! Le résultat est vraiment proche de mes consoles branchées sur un vrai crt.
    Quand j'ai testé Devil Crash PC engine avec ce shader, j'ai halluciné. Le résultat est quasiment identique à ce qu'affiche la vraie console sur un cathodique en rgb. Du grand art.
    Plus qu'à espérer que ce shader SNES Mini soit intégré à Recalbox pour qu'il soit accessible au plus grand nombre.
    Un énorme merci de ma part 😁


  • Themer

    @falconx62
    merci pour ton commentaire ca fait plaisir a lire ! !
    Oui moi aussi je trouve le rendu très proche d'une vraie console sur un écran cathodique ! ! (et bye bye les gros pixel des mode video de base de recalbox)
    J’espère que quelqu'un de la team sera d'accord pour le mettre a la place du mode "retro" actuel car en plus il ne consomme pas plus de ressources.

    Je l'ai pas activé pour toutes le consoles, si il te plait n'hesites pas à le faire !



  • Déjà fait sur Mame, Fba et la 2600!
    Une pure tuerie !!!😍



  • @falconx62 Je confirme 👍
    Il n'y a que sur l'émulateur Thomson que je n'ai pas réussi à l'activer même en voulant le forcer par le menu retroarch, peut-être que l'émulateur Théodore est en stand alone ?


  • Themer

    J'ai eu un souci avec le ficher .recalbox.conf sur le site de l’hébergeur (MEGA).
    J'ai du refaire le lien de partage qui est celui-ci a présent :
    --->>>> .recalbox.conf

    @acris ou une autre personne en charge de la modération, pouvez vous me corriger le lien du premier post? Malheureusement je ne peut pas le faire moi même


  • Global moderator
    Team

    @airdream fait.


  • Themer

    Merci @acris t'es geniale

    j en profite pour mettre ici quelques exemples de rendu en plein format (faut cliquer dessus pour les mettres a la bonne taille et bien voir les scanlines)

    FBA Libretro
    asterix-200529-021030.png

    NeoGeo FBN
    roboarmy-200529-021531.png

    Megadrive
    Street Fighter II' - Hyper Champion Edition(USA)-200529-023806.png

    SNES
    Chou Makai Mura (Japan)-200529-023035.png

    PCE CD
    Fantastic Night Dreams - Cotton (USA)-200529-022505.png

    MCD
    Sonic The Hedgehog CD (Japan)-200529-030647.png

    32x
    Mortal Kombat II (Japan, USA)-200529-024222.png

    PS1
    R4 - Ridge Racer Type 4 (USA)-200529-022716.png

    NES
    Adventures of Bayou Billy, The (USA)-200529-021950.png

    MASTER SYSTEM
    Land of Illusion Starring Mickey Mouse (Europe)-200529-024024.png



  • Hello et merci @airdream pour ce tuto clair 😉

    Lorsqu'on souhaite appliquer le shader en général sur tous les systèmes, le plus simple est de définir "global.shaders" directement dans le fichier : /recalbox/share/system/recalbox.conf

    ## Set gpslp shader for all emulators (prefer shadersets above). Absolute path (string)
    global.shaders=/recalbox/share/system/shaderpresets/crt-nes-mini.glslp
    

    Et si besoin, ajouter spécifiquement par système un shader différent :

    fba_libretro.shaders=/recalbox/share/system/shaders/zfast_crt_curve_vertical.glslp
    

    Pour ma part je reste sur la série des shaders "zfast" dont je suis particulièrement fan, ils sont plus optimisés que les "crt-pi" et tournent parfaitement sur tous les émulateurs en 1080p (hors systèmes 3D) :

    Disponibles parmi les autres ici :
    https://github.com/ghogan42/common-shaders/tree/zfast_shaders

    Le Raspberry Pi 3 reste limité en puissance et impossible d'accéder à certaines beautés comme "crt-royale-kurozumi"...!

    Mes aperçus sur Arcade,

    zfast_crt_standard :

    zfast_crt_standard.png

    zfast_crt_curve :

    zfast_crt_curve.png

    zfast_curve_vertical :

    zfast_crt_curve_vertical.png



  • @airdream Sympa, il faut que je teste ! C'est quel jeu sur PCE CD ? Merci d'avance.



Want to support us ?

233
Online

79.7k
Users

21.0k
Topics

154.1k
Posts