Effetti GLSL in SDLMAME (Linux e Mac)
Inviato: 05/04/2012, 15:54
Usando Mame sul pc con schermo LCD la resa grafica dei giochi e' molto diversa dal feeling originale di un CRT, su windows Mame usa il linguaggio di DirectX hlsl per simulare i difetti di uno schermo a tubo.
visto che da bravo linuxaro uso mame compilato con SDL quindi senza Directx e quindi senza effetti hlsl volevo segnalare che anche con lo shader language fratello in OpenGL che si chiama glsl di ottengono ottimi risultati, potete trovare uno script che simula molto bene un crt qui:
http://www.sendspace.com/file/gctlod
Lo ha fatto cgwg, questo e' il thread di riferimento:
http://forums.bannister.org/ubbthreads. ... 39&page=12
Ovviamente serve una scheda grafica accelerata 3D e discretamente moderna
- Perche' funzioni bene serve mame 0.145
- Io ho creato una cartella in ~/.mame/CRT dentro alla quale ho scompattato CRT-geom-20120130.zip
- poi ho scaricato i sorgenti di mame da http://mamedev.org e ho cpiato la cartella mame/src/osd/sdl/shader sempre in ~/.mame/CRT/
- a questo punto basta lanciare mame con la linea di comando:
in alternativa basta inserire in mame.ini queste righe:
Per qualche arcano motivo mame non sostituisce ~ o $HOME nel file mame.ini quindi dovete sostituire /home/nomeuser/ con il path della vostra home directory
Per personalizzare l'effetto ci sono una serie di variabili in CRT-geom.vsh, io ho ridotto l'overscan perche' secondo me tagliava troppa grafica:
poi ho ridotto la curvatura (aumentandone il raggio)
e infine ho tolto il tilt (va bene in vecchio crt ma non esageriamo!):
Ecco un esempio da wonder boy "normale":
e con gli effetti GLSL attivi:
P.S.
HLSL e GLSL sono moooolto simili e gil sviluppatori stanno discutendo di unificare gli effetti in maniera da avere consistenza fra Windows/Linux/Mac speriamo!
visto che da bravo linuxaro uso mame compilato con SDL quindi senza Directx e quindi senza effetti hlsl volevo segnalare che anche con lo shader language fratello in OpenGL che si chiama glsl di ottengono ottimi risultati, potete trovare uno script che simula molto bene un crt qui:
http://www.sendspace.com/file/gctlod
Lo ha fatto cgwg, questo e' il thread di riferimento:
http://forums.bannister.org/ubbthreads. ... 39&page=12
Ovviamente serve una scheda grafica accelerata 3D e discretamente moderna
- Perche' funzioni bene serve mame 0.145
- Io ho creato una cartella in ~/.mame/CRT dentro alla quale ho scompattato CRT-geom-20120130.zip
- poi ho scaricato i sorgenti di mame da http://mamedev.org e ho cpiato la cartella mame/src/osd/sdl/shader sempre in ~/.mame/CRT/
- a questo punto basta lanciare mame con la linea di comando:
Codice: Seleziona tutto
mame -gl_glsl -glsl_shader_mame0 ~/.mame/CRT/shader/glsl_plain -glsl_shader_mame1 ~/.mame/CRT/CRT-geom nomegioco
Codice: Seleziona tutto
gl_glsl 1
glsl_shader_mame0 /home/nomeuser/.mame/CRT/shader/glsl_plain
glsl_shader_mame1 /home/nomeuser/.mame/CRT/CRT-geom
Per personalizzare l'effetto ci sono una serie di variabili in CRT-geom.vsh, io ho ridotto l'overscan perche' secondo me tagliava troppa grafica:
Codice: Seleziona tutto
overscan = vec2(1.00,1.00);
Codice: Seleziona tutto
R = 3.0;
Codice: Seleziona tutto
const vec2 angle = vec2(0.0,0.0);
HLSL e GLSL sono moooolto simili e gil sviluppatori stanno discutendo di unificare gli effetti in maniera da avere consistenza fra Windows/Linux/Mac speriamo!