Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

LCD et Mame sans scanline

Démarré par Stealth, Samedi 02 Novembre 2013, 11:41:30 AM

Stealth

Bonjour à tous,

Je m'amuse en ce moment à jouer avec la fichier mame.ini, je voudrais voir si il est possible d'avoir une image "correcte" (bien entendu du coup vraiment rien à voir avec l'image d'origine) sans passer par les scanlines.

Pour l'instant soit l'image est vraiment trop lisse, soit trop pixelisée

A ceux qui utilise mame sur leur bartop vous avez quoi comme conf ?

Voici sur quoi je joue
filter                    0 -> semble sans effet
prescale                  2 -> change pas mal la qualité de l'image 

Semble aussi sans effet

# CORE VECTOR OPTIONS
#
antialias                 0
beam                      1.0
flicker                   0

L'effet scanlines me convient bien, mais je constate que pas mal de gens le désactive et du coup je suis curieux, mais quelque chose doit m'échapper car je trouve l'image affreuse.
Livemamecab is coming ...

Mon petit bartop:
http://www.gamoover.net/Forums/index.php?topic=26469.0

Vous connaissez le C ? Vous pouvez aider https://github.com/fredbcode/cabrio

FPZ

Je te conseile de jeter un oeil au HLSL. Un topic sur le sujet.

Il faut une version de mame pas trop ancienne (au moins 0.146 ou par là) et une carte graphique qui gère les shaders model 3.

Liste des shaders supportés en fonction de la carte graphique :
1.4 : Radeon 9000/9200/9250 - Geforce 4 Ti
2.0 : Radeon 9500/9550/9600/9700/9800 - Geforce FX 5200,5500,5600,5700,5800,5900,5950
2.0b : Radeon X800,X850
3.0 : Radeon X1300/X1550/X1600/X1800/X1900/X1950
Geforce 6200/6500/6600/6800/7100/7200/7300/7500/7600/7800/7900/7950
4.0 : Radeon HD 2400/HD 2600/ HD 2900 - Geforce 8400/8500/8600/8800
4.1 : Radeon HD 3850/HD 3870
etc.

J'ai testé et c'est vraiment sympa. A mon avis, c'est le meilleur moyen d'avoir une bonne image sur LCD. Des fois les configs proposées dans les forums sont un peu trop sombres et il faut modifier le gamma dans mame.ini (ou en tester d'autres).


Vu que ce sujet sent le troll à plein nez, je précis que :

- le crt c'est ce qu'il y a de mieux (et mon ecran hantarex est parfaitement d'accord)

- mais les bartop çà existe, les écrans ne sont pas éternels, se faire un metal slug sur un ecran de 102 cm c'est quand même pas mal, etc, etc.

@+
Wip de ma borne WDK et la liste de mes recherches.

Stealth

Merci, effectivement je ne connaissais pas
Il faut que je download le fichier aperture.png quelque part (je vois ça dans la conf shadow_mask_texture       aperture.png ) ?
Livemamecab is coming ...

Mon petit bartop:
http://www.gamoover.net/Forums/index.php?topic=26469.0

Vous connaissez le C ? Vous pouvez aider https://github.com/fredbcode/cabrio

Stealth

#3
Le nom sous Linux c'est GLSL, un tuto ici http://www.mameau.com/mame-glsl-shaders-setup/ je vais faire un test si ma carte le permet

Je continue à prendre les confs, même celles qui dénaturent l'image (encore plus je sais), donc si vous avez autre chose je suis preneur
Livemamecab is coming ...

Mon petit bartop:
http://www.gamoover.net/Forums/index.php?topic=26469.0

Vous connaissez le C ? Vous pouvez aider https://github.com/fredbcode/cabrio

Defaz

Hello,

Bon ça fait un peu déterrage de topic mais je me suis récemment intéressé aux filtres et notamment le GLSL avec le lien que tu as posté.

Après quelques essais j'ai réussi à le mettre en place (je l'ai également appliqué à MESS) et le résultat est conforme aux screens du site mais je voulais tester différentes variantes comme pour la version windows mais je n'ai absolument rien trouvé d'autre.

Quelqu'un aurait des pistes ? ^^

Defaz

Hello

J'ai trouvé ce site qui donne une alternative.

Et même si on pourrait dire que c'est plus adapté à un CRT qu'a un LCD ça donne au moins l'emplacement des variables à tester ^^

Et donc il faut ouvrir le fichier CRT-geom.vsh

Et modifier cette partie :

//overscan = vec2(1.01,1.01);
overscan = vec2(1.0,1.0);
// aspect ratio
//aspect = vec2(1.0, 0.75);
aspect = vec2(1.0, 1.0);
// radius of curvature
R = 20.0;//1.5; //with 20.0 no curvature of the image
// tilt angle in radians
// (behavior might be a bit wrong if both components are nonzero)
//const vec2 angle = vec2(0.0,-0.15);
const vec2 angle = vec2(0.0,0.0);
// size of curved corners
//cornersize = 0.001; //no curved corners
cornersize = 0.03;


Je n'ai pas encore eu le temps de faire des essais et donc de tester chaque variable.

A suivre ;)

ian57

Yep c'est sur c'est bien adapté à mon crt ;-)
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









Defaz

Je me doutais bien que je l'avais vu sur le forum ^^

Tu confirmes donc qu'il n'y a que cette partie à modifier ?

ian57

Citation de: Defaz le Mercredi 22 Janvier 2014, 17:24:14 PM
Je me doutais bien que je l'avais vu sur le forum ^^

Tu confirmes donc qu'il n'y a que cette partie à modifier ?

Je ne sais pas s'il n'y a que ça à modifier, mais ces variables permettent de contrôler la géométrie de l'écran qui sera affiché par le shader GLSL.

// gamma of simulated CRT
CRTgamma = 2.4;
// gamma of display monitor (typically 2.2 is correct)
monitorgamma = 2.2;

ya même moyen de modifier le gamma du moniteur...

Après j'suis pas un expert en shader... j'ai récupéré et modifié pour avoir un truc qui me convienne sur mon cathodique

Pour un écran lcd... c'est sur les coins ronds c'est pas top... avec quelques réglages on peut avoir l'effet scanline sans la courbure de l écran ni les coins arrondis.


J'ai un autre pc arcade (sans la borne!) et j'ai un 19" plat dessus. j'ai mis les réglages suivants dans CRT-geom.vsh  pour avoir l'effet scanline sans les arrondis :



  // START of parameters

  // gamma of simulated CRT
  CRTgamma = 2.4;
  // gamma of display monitor (typically 2.2 is correct)
  monitorgamma = 2.2;
  // overscan (e.g. 1.02 for 2% overscan)
  //overscan = vec2(1.01,1.01);
  overscan = vec2(1.0,1.0);
  // aspect ratio
  //aspect = vec2(1.0, 0.75);
  aspect = vec2(1.0, 1.0);
  // lengths are measured in units of (approximately) the width of the monitor
  // simulated distance from viewer to monitor
  d = 2.0;
  // radius of curvature
  R = 20.0;//1.5;
  // tilt angle in radians
  // (behavior might be a bit wrong if both components are nonzero)
  //const vec2 angle = vec2(0.0,-0.15);
  const vec2 angle = vec2(0.0,0.0);
  // size of curved corners
  cornersize = 0.001; //0.03;
  // border smoothness parameter
  // decrease if borders are too aliased
  cornersmooth = 1000.0;


voila voila

Hope this helps
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









FPZ

Merci pour les infos complémentaires  8)
Wip de ma borne WDK et la liste de mes recherches.

Defaz

Merci pour les précisions et je vais surement commencer à "bidouiller" les variables pour ajuster à mes envies ;)

Par contre moi j'aime bien les angles rognés et l'asymétrie proposée sur Mame.au ^^



Ce qu'il manque serait un filtre d'image pour imiter un léger reflet arrondi de l'image et surtout une délimitation du cadre. Sur certains jeux dont les côtés sont noirs je trouve que l'effet devient moche.

Et enfin appliquer le même filtre aux autres émulateurs pour avoir une cohérence ^^

MESS ça passe tout seul mais je n'ai pas encore regardé pour Zsnes &co :D

FPZ

Malheureusement je crois pas que ce soit possible pour zsnes mais il doit y avoir l option shaders dans snes9x.
Wip de ma borne WDK et la liste de mes recherches.