Questa opzione consente di applicare set di shader (noti anche come filtri video) che possono far apparire il gioco come negli anni '80 e '90. Ecco uno screenshot in cui è possibile vedere gli effetti di rendering forniti da alcuni set di shader su un gioco per SEGA Mega Drive (da sinistra a destra: nessuno / scanlines / migliorato).

Sono disponibili diversi set di shader integrati di default:
Set di shader
Descrizione
Anteprima (clicca per visualizzare l'immagine completa)
Nessuno (con "giochi fluidi")
Niente shader, niente scanline, con sfocatura tramite filtro bilineare (giochi fluidi). Questa è la configurazione predefinita di Batocera. Offre la colorazione Game Boy. È possibile selezionare la colorazione Game Boy tramite un menu dedicato, ma attenzione: la combinazione di colorazione e shader raramente produce buoni risultati. 
Nessuno (senza "giochi fluidi")
Niente shader, niente scanline, niente sfocatura con filtro bilineare. Utilizza l'upscaling del vicino più prossimo per riempire lo schermo. Poiché la maggior parte dei giochi retrò girava a 480p e 480 non è un multiplo di 1080, alcune righe/colonne di pixel saranno "più spesse" di altre. Offre la colorazione Game Boy di default. È possibile selezionare la colorazione Game Boy tramite un menu dedicato, ma attenzione: combinare colorazione e shader raramente produce buoni risultati. 
Curvatura ( Batocera 5.24 + )
Fornisce linee di scansione e una curvatura dello schermo simulata, come i vecchi schermi CRT. Per le console portatili con schermi LCD, non viene applicata alcuna curvatura poiché gli schermi erano piatti. Questo set di shader fornisce un filtro "zfast". 
Migliorato ( Batocera 5.23 + )
Aggiunge sfocatura e upscaling per fornire un output più fluido, più in linea con ciò che ci si aspetta da un videogioco al giorno d'oggi. 
Flatten-glow ( Batocera 5.25 + )
Nei sistemi basati su CRT, fa "brillare" le luci; questo effetto è particolarmente interessante per Vectrex e i vecchi giochi arcade con sfondo nero... ma potrebbe farti sentire un po' alticcio se usato con giochi colorati! Nei sistemi LCD portatili, "appiattisce" lo schermo in modo che il primo piano e lo sfondo si fondano, come quando si giocava con quegli schermi non retroilluminati. 
Retro ( Batocera 5.23 + )
Conosciuta anche come modalità "pixel grandi", che aggiunge un tocco retrò all'immagine. Pensate ai tanti giochi indie che si trovavano su Steam nel 2019, che facevano un uso esagerato dell'effetto 8-bit. Questa anteprima in particolare non mostra la differenza, dato che Super Mario World è già pixelato, ma provate a giocarci su una console moderna come PS2 o GameCube! 
Linee di scansione ( Batocera 5.23 + )
La modalità più realistica, per un look e un'atmosfera anni '80/'90. La maggior parte degli utenti di Batocera ha uno schermo LCD, non un CRT, quindi questa modalità abilita le scanline per simulare gli effetti che si ottengono con un vecchio televisore di grandi dimensioni (ma senza curvatura dell'immagine). Sulle console portatili, con schermi LCD, non sono presenti le "scanline" poiché la tecnologia è fondamentalmente diversa. Pertanto, questa impostazione utilizza un effetto "griglia" per una resa LCD in stile vintage quando si gioca con una console portatile. 
Zfast ( Batocera 5.25 + )
Un'implementazione dell'algoritmo zfast, con una variante per schermi CRT (linee di scansione più leggere, una sorta di effetto a nido d'ape) e una senza linee di scansione per sistemi LCD portatili. Più leggero in termini di risorse rispetto agli altri shader. 
sharp-bilinear-simple ( Batocera v32 + )
Un filtro bilineare più nitido e neutro. Questo è diventato lo shader predefinito a partire dalla versione 32 . 
Mega-Bezel ( Batocera v32 + )
Il famigerato pacchetto MegaBezel! Fai sembrare che tu stia giocando all'interno di un vecchio televisore CRT, con riflessi dinamici sulla cornice e tutto il resto! Un pacchetto opzionale disponibile tramite il downloader di contenuti. Richiede molte risorse, utilizzabile solo su desktop x86_64 ad alte prestazioni . Per utilizzare questo set devi: 1. Scaricare il pacchetto MegaBezel dal downloader di contenuti. 2. Impostare l' API grafica su GLCore o Vulkan nelle IMPOSTAZIONI DI GIOCO . 3. Impostare il PROSPETTO DI GIOCO su "Completo". 4. Impostare CONSENTI ROTAZIONE su "OFF". Ulteriori dettagli sono disponibili nel post del forum di rilascio .
Attualmente è presente un bug che causa il capovolgimento degli shader MegaBezel su alcuni sistemi (Wii, GameCube, GBA, DS, SuperGrafx, PC Engine, PC Engine CD, Game Gear, NgPC, ecc.). Per ovviare a questo problema, accedi alle impostazioni dello shader, attiva l'opzione di capovolgimento verticale e salvala come preset principale.
Cornici immersive Koko-AIO Duimon ( Batocera v38 + )
Shader CRT davvero eccezionale con bordi dello schermo riflettenti e illuminazione immersiva su tutta la cornice. Include anche le famose cornici Duimon. Attualmente il set di shader è compatibile con console fino a PS2/GC, console portatili e arcade. Questo set di shader non è così avido di risorse come si potrebbe pensare e funziona a piena velocità anche su una CPU Intel N100 . Scarica questo set di shader come pacchetto opzionale disponibile dal Content Downloader. Per utilizzare questo set è necessario: 1. Scaricare il pacchetto Koko-AIO dal Content Downloader. 2. Impostare l' API grafica su GLCore o Vulkan nelle IMPOSTAZIONI DI GIOCO . 3. Impostare il RAPPORTO D'ASPETTO DEL GIOCO su "Completo". 4. Impostare SET DI DECORAZIONI su "NESSUNO". Una guida di configurazione dettagliata e molte altre informazioni su questo set di shader sono disponibili QUI . 
È anche possibile selezionare "nessuno" per non utilizzare alcuno shader: è l'opzione più economica in termini di prestazioni.
Questi shader funzionano solo nei core di Libretro e in alcuni ambienti standalone selezionati. La maggior parte degli ambienti standalone (come Cemu, RPCS3, Dolphin, ecc.) non sono compatibili con questi shader. Questa situazione non cambierà in futuro.
E se volessi usare altri shader integrati in RetroArch?
È possibile impostare preset di shader personalizzati per sistema o per gioco, sovrascrivendo la selezione del set di shader di Batocera. Per farlo, è sufficiente modificare il /userdata/system/batocera.conffile e aggiungere il percorso relativo (senza estensione) dello shader desiderato alla <system>-renderer.shaderchiave appropriata. Ad esempio:
snes-renderer.shader=vhs/ntsc-vcr mame-renderer.shader=crt/crt-pi-curvature nes["Xexyz (USA).zip"]-renderer.shader=vhs/ntsc-vcr
Non includere l'estensione del nome del file , solo il nome del preset dello shader, senza l' .glslpestensione .slangp.
Tutti i preset degli shader disponibili sul tuo sistema Batocera sono disponibili nella cartella /usr/share/batocera/shaders/e nelle sue sottocartelle.
Ma voglio usare i miei shader che ho scaricato da internet!
E se voleste aggiungere i vostri shader, che non sono distribuiti con RetroArch? Create la cartella e aggiungeteli al suo interno. Da questo momento in poi /userdata/shaders/saranno accessibili anche in seguito.batocera.conf
Oh, e so che ora vuoi usarlo vhs/ntsc-vcrovunque, vero?
È presente un bug per cui è possibile utilizzare solo i set di shader comuni. L'elenco è disponibile all'indirizzo https://github.com/libretro/common-shaders (Batocera utilizza quelli disponibili nell'ultima versione stabile).
Questo non si applica ai set di shader personalizzati che crei, solo alla .shaderchiave in batocera.conf.
È ancora possibile utilizzare RetroArch per selezionare manualmente lo shader .
E se volessi creare il mio set di shader personalizzato?
Se siete stanchi delle limitazioni di Batocera relative agli shader creati tramite configurazione, o se semplicemente preferite selezionarli dal menu, è possibile aggiungere un set completamente nuovo.
Crea la cartella /userdata/shaders/configsse non esiste già.
È possibile consultare l'elenco aggiornato dei set di shader utilizzati da Batocera all'indirizzo https://github.com/batocera-linux/batocera.linux/tree/master/package/batocera/emulators/retroarch/shaders/batocera-shaders/configs
Questi sono ottimi esempi che mostrano le potenzialità dei set di shader!
Crea una nuova cartella e assegnale il nome che desideri dare al tuo nuovo set.
All'interno di questa cartella, crea un nuovo file di testo denominato rendering-defaults.yml( rendering-defaults-low-gpu.ymlse utilizzi una scheda SBC poco potente come RPi0) e aprilo. Incolla al suo interno il seguente contenuto:
- rendering-defaults.yml
-
## SHARP-BILINEAR-SIMPLE default : # lo shader influenza gli shader di retroarch shader : interpolation/sharp-bilinear-simple # la scanline influenza fba2x scanline : false
Dopodiché, è sufficiente modificare lo interpolation/sharp-bilinear-simpleshader desiderato (un elenco degli shader disponibili si trova nel menu rapido di RetroArch ( [HOTKEY]+
). In Batocera, aggiorna l'elenco dei giochi per aggiornare le opzioni e prova il tuo set di shader.
Ad esempio, la struttura finale delle cartelle potrebbe apparire così:
/userdata/shaders/
├─ configs/
│ ├─ curvatura/
│ │ ├─ rendering-defaults-low-gpu.yml
│ │ └─ rendering-defaults.yml
│ └─ my-own-custom-shader/
│ └─ rendering-defaults.yml
├─ custom-shader-my-preset-relies-on.slang
└─ custom-preset-my-shader-set-relies-on.slangp
Al termine, aggiorna l'elenco dei giochi (o riavvia il computer) per visualizzare i nuovi set di shader personalizzati nel menu.
Se si desidera creare un set di shader che includa shader personalizzati non ancora presenti in Batocera, fare riferimento alla sezione relativa agli shader scaricati riportata sopra . Tutti gli shader trovati /userdata/shadersverranno trattati come se fossero inclusi nel set predefinito.
Opzioni più complesse (ad esempio, shader specifici del sistema, fluidificazione video, colorazione, ecc.) sono disponibili all'interno dei set di shader.
L'elenco attuale dei set di shader utilizzati da Batocera è disponibile all'indirizzo https://github.com/batocera-linux/batocera.linux/tree/master/package/batocera/emulators/retroarch/shaders/batocera-shaders/configs
Questi sono ottimi esempi che mostrano le potenzialità dei set di shader!
Questo può essere utilizzato per sovrascrivere il comportamento predefinito del set di shader se viene utilizzato lo stesso nome.
- Ho aggiornato il mio Raspberry Pi3 o Pi4 a Batocera 32 e le prestazioni sono scarse.
Ulteriori informazioni tecniche sugli shader
Gli shader sono piccoli frammenti di codice che simulano l'effetto sul livello video. Il loro funzionamento dipende dal backend video utilizzato. Fino alla versione 30 di Batocera , solo OpenGL supportava gli shader. A partire dalla versione 31 di Batocera , è possibile utilizzare OpenGL o Vulkan e ottenere gli shader. La differenza è la seguente:
-
I file di preset dello shader OpenGL sono
.glslp, il codice di trasformazione video sono.glslfile -
I file di preset dello shader Vulkan sono
.slangp, il codice di trasformazione video sono.slangfile
Quello che devi caricare nel batocera.conffile qui sopra è un file .glslpo .slangp, che è una sorta di "playlist" di file di trasformazione video unitari, che definiscono cosa deve essere applicato per ottenere l'effetto desiderato.
Come puoi vedere sopra , non è necessario specificare l'estensione. Batocera la applicherà automaticamente in base al backend video che stai utilizzando.
Inoltre, questi shader possono essere applicati solo ai core di Libretro. Gli emulatori standalone devono fornire i propri shader nelle opzioni di sistema avanzate oppure trovare un'altra soluzione.
Aggiungi i tuoi shader
Innanzitutto, raccogli gli shader/filtri ( *.glsle *.slangi file senza l'estensione palla fine) da cui dipende e copiali in una nuova /usr/share/batocera/shaders/shaderssottocartella sulla macchina Batocera stessa . Quindi copia i preset degli shader ( *.glslpi *.slangpfile con l'estensione palla fine) dalla directory in cui si trova (ad esempio, /vhs) a usr/share/batocera/shaders. I percorsi dei file dovrebbero essere simili a questi:
/usr/share/batocera/shaders/
├─ shader/
│ └─ filter-needed-by-preset.slang
└─ shader-preset.slangp
RetroArch ora utilizzerà ciclicamente questi preset di shader, oltre a quelli di base già presenti. Se si desidera personalizzare completamente la rotazione dei preset a proprio piacimento, è possibile rimuovere gli altri preset di shader già presenti. Questa operazione non interferirà con i set di shader disponibili in EmulationStation.
Esegui il comando batocera-save-overlay per salvare le modifiche dopo il riavvio. Tieni presente che dovrai ripetere questa operazione ogni volta che aggiorni Batocera.
Odio i set di shader! Voglio solo usare il menu rapido di RetroArch per configurare tutto!
Puoi comunque utilizzare le impostazioni individuali degli shader di RetroArch impostando il tuo set di shader su "Nessuno". Batocera lascerà quindi le tue impostazioni degli shader invariate.
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!







0 commenti:
Posta un commento