Les shaders sont des filtres appliqués à l'image produite par l'émulateur. Ils servent le plus souvent à retrouver le rendu d'un téléviseur cathodique de l'époque : lignes de balayage, adoucissement des pixels, légère courbure…
Trois types de fichiers interviennent :
.glsl — le shader lui-même ;.glslp — le préréglage de shader, qui peut combiner plusieurs .glsl ;.cfg — le fichier de configuration d'un pack de shaders, qui associe un préréglage .glslp à chaque système.Le plus simple est d'utiliser un pack : un seul réglage couvre tous vos systèmes. Ces packs sont maintenus par la communauté et affinés à chaque version de Recalbox.
Quatre packs sont fournis :
AUCUN — aucun shader ;CRT CURVED — scanlines légères et image légèrement bombée, pour rappeler la courbure d'un tube cathodique ;SCANLINES — active les lignes de balayage sur tous les émulateurs ;RETRO — sélectionne pour chaque système le shader jugé le plus fidèle par la communauté.Pour en choisir un : START > OPTIONS EN JEU > SHADERS PRÉDÉFINIS. L'entrée SHADERS AVANCÉS juste en dessous permet de choisir un fichier de shader unique à la place — elle reste sans effet tant que SHADERS PRÉDÉFINIS n'est pas sur AUCUN.
En recalbox.conf, cela correspond à l'option :
global.shaderset=retro
Les valeurs acceptées sont none, crtcurved, scanlines et retro. Les préréglages correspondants sont installés dans /recalbox/share_init/system/configs/shadersets/.
Vous pouvez aussi imposer un seul préréglage .glslp à tous les émulateurs, en donnant son chemin absolu :
global.shaders=/recalbox/share/shaders/mon-shader.glslp
Cette option prend le pas sur le pack ; en pratique, préférez les packs, qui s'adaptent à chaque système.
Cette partie s'adresse aux utilisateurs à l'aise avec
recalbox.conf.
Vous pouvez partir d'un pack et n'ajuster que quelques systèmes, avec l'option <système>.shaders. Les shaders livrés avec Recalbox se trouvent dans /recalbox/share_init/shaders/, et vous pouvez déposer les vôtres dans /recalbox/share/shaders/.
Exemple : le pack RETRO partout, aucun shader sur Game Boy, un shader fourni sur Megadrive et un shader personnel sur Super Nintendo.
# Le pack RETRO pour tous les émulateurs
global.shaderset=retro
# Sauf la Game Boy, plus lisible sans shader
gb.shaders=
# Un shader déjà fourni pour la Megadrive
megadrive.shaders=/recalbox/share_init/shaders/4xbr_retro.glslp
# Et un préréglage personnel pour la Super Nintendo
snes.shaders=/recalbox/share/shaders/custom/snes.glslp
Sans quitter la partie, HOTKEY + R2 passe au shader suivant et HOTKEY + L2 au précédent : pratique pour comparer et choisir.
Un shader applique des calculs sur chaque image produite par l'émulateur : l'impact sur les performances peut être important, en particulier sur les machines modestes et sur les systèmes déjà exigeants.