Page 1 sur 1

Mame et le HLSL

Publié : 12 avr. 2013 - 20:34
par inertia
Je vous copie colle ma config perso du HLSL de mame, a copier coller a la place de l'originale dans votre mame.ini

Pour ceux qui ignore ce que c'est, c'est tout simplement un outil genial pour alterer l'image et essayer de la faire coller au plus pret a un ecran cathodique bien old school.
Ca va largement plus loin que la simple generation de scanline puisqu'on peu gerer le fait que l'ecran soit bombé (et donc deformer les affichage en bordure d'ecran) trafiquer les teintes, la saturation, ajouter un tramage a l'image pour simuler les point RGB d'un vieux tube.

Bref c'est excellent, je l'ai decouvert tres recement vu que je suis en pleines configs des differents emus que je met dans mon mini cab (en fait c'est arrivé assez récemment dans mame, et peu s'utiliser du coup dans mess pour pas mal de support).

je vous joint aussi des screen comparatifs (moche pris avec mon telephone mais c'est parlant)

donc la partie a copier coller dans le mame.ini en ayant evidement pris soins d'effacer l'originale :

#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 1

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 1
hlslpath hlsl
hlsl_ini_read 0
hlsl_ini_write 0
hlslini foo
hlsl_prescale_x 0
hlsl_prescale_y 0
hlsl_preset -1
hlsl_write
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_alpha 0.05
shadow_mask_texture aperture.png
shadow_mask_x_count 320
shadow_mask_y_count 240
shadow_mask_usize 0.093750
shadow_mask_vsize 0.109375
curvature 0.000000
pincushion 0.050000
scanline_alpha 0.600000
scanline_size 1.000000
scanline_height 1.000000
scanline_bright_scale 1.000000
scanline_bright_offset 0.600000
scanline_jitter 0.000000
defocus 1.500000,1.500000
converge_x -0.300000,0.000000,0.000000
converge_y -0.300000,0.000000,0.000000
radial_converge_x 0.000000,0.000000,0.000000
radial_converge_y 0.000000,0.000000,0.000000
red_ratio 1.000000,0.000000,0.000000
grn_ratio 0.000000,1.000000,0.000000
blu_ratio 0.000000,0.000000,1.000000
saturation 1.050000
offset 0.000000,0.000000,0.000000
scale 1.020000,1.020000,1.020000
power 1.300000,1.300000,1.300000
floor 0.020000,0.020000,0.020000
phosphor_life 0.100000,0.100000,0.100000
yiq_enable 0
yiq_cc 3.597545
yiq_a 0.500000
yiq_b 0.500000
yiq_o 0.000000
yiq_p 1.000000
yiq_n 1.000000
yiq_y 6.000000
yiq_i 1.200000
yiq_q 0.600000
yiq_scan_time 52.599998
yiq_phase_count 2



et les shots :
Image

a gauche un binlinear filtering lambda pour que l'image ne soit pas atrocement pixelisées (le truc de base de quasi tout les emulateurs) a gauche mes reglages (ce que vous obtiendrez avec le copier coller dans l'.ini)



Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:08
par Guiguicar
Bonne initiative ! Il serait intéressant que chacun post ses solutions et ses réglages afin d'obtenir une image "arcade accurate". Je n'ai pas encore testé. Je regarde le tien et donne mon avis sur le rendu. :lol:

Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:21
par inertia
il te faudra aussi un aperture different de celui par defaut, a placer dans le rep hlsl

http://www.jammaplus.co.uk/forum/upload ... erture.zip

un petit guide ici :

http://gamingnos.blogspot.fr/2011/10/qu ... de-up.html

Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:31
par Guiguicar
Merci, Sympa ton t-shirt !

Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:35
par inertia
ahahah ouai il est excellent, j'en ai pas mal dans le genre :p
qu'est ce que tu veux, on se refais pas, je suis un vrai sale vieux geekos, pas un geek du moment (tout le monde s'en reclame parce que ses derniers temps c'est hype la geektittude, mais bon, me font rever tous...)

Bref, merci :)

Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:38
par NutsreturN2
Ah mais oui je te connais ... c est toi sur Gamoo ?

Re: Mame et le HLSL

Publié : 12 avr. 2013 - 22:39
par inertia
ahaha c'est la 2eme fois qu'on me le dis ici meme, mais non je n'ai pas de compte la bas :)

mess hlsl

Publié : 28 mai 2013 - 03:36
par chouxbang
est t'il possible d'utiliser ce filtre sous mess?

Re: Mame et le HLSL

Publié : 28 mai 2013 - 15:28
par inertia
a priori mess etant exactement identique a mame j'imagine que oui, a verifier si il ya un rep HLSL deja a la racine de MESS.
si c'est le cas c'est bon :)

Re: Mame et le HLSL

Publié : 28 mai 2013 - 18:20
par foxmulder169
Je viens de tester, c'est genial ce truc!!!
par contre est-ce que cela pompe au niveau micropross?
j'ai testé sur une bécane de bureau et ça rame grave...

Re: Mame et le HLSL

Publié : 28 mai 2013 - 18:32
par chouxbang
Il faut avoir une carte graphique qui gere direct3d

Re: Mame et le HLSL

Publié : 28 mai 2013 - 18:46
par foxmulder169
Ah, ok je comprends mieux pourquoi ça rame sur le pc de mon bureau lol..
En tout cas, effet adopté pour ma prochaine borne!! :-)

Re: Mame et le HLSL

Publié : 16 févr. 2014 - 17:16
par NutsreturN2
Je reviens sur les reglages HLSL , est ce que quelqu un a trouvé le réglage parfait ?

Re: Mame et le HLSL

Publié : 16 févr. 2014 - 21:22
par Nocta
Je vous recommande fortement la lecture de ce topic sur le forum shmups.
C'est en anglais et plutôt difficile d'approche mais à mes yeux c'est le meilleur topic existant concernant les réglages HLSL.
Tellement bon quand même que les devs mame ont demandés leurs conseils pour les réglages de base des futurs build de Mame!

Ce que j'ai retenu de ce fil, c'est deux réglages très bons et plutôt versatiles.

Celui-ci:
Spoiler: #
# CORE SCREEN OPTIONS
#
brightness                1.0
contrast                  1.0
gamma                     0.7
pause_brightness          1.0
effect                    none
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
hlslpath                  hlsl
hlsl_prescale_x           0
hlsl_prescale_y           0
hlsl_preset               -1
hlsl_write                
hlsl_snap_width           2048
hlsl_snap_height          1536
shadow_mask_alpha         0.05
shadow_mask_texture       aperture.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.18750
shadow_mask_vsize         0.21875
curvature                 0.03
pincushion                0.03
scanline_alpha            1.0
scanline_size             1.0
scanline_height           1.0
scanline_bright_scale     1.5
scanline_bright_offset    0.0
scanline_jitter           0.0
defocus                   0.0,0.0
converge_x                -0.3,0.0,0.3
converge_y                -0.3,0.0,0.3
radial_converge_x         0.0,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 1.0,0.0,0.0
grn_ratio                 0.0,1.0,0.0
blu_ratio                 0.0,0.0,1.0
saturation                1.0
offset                    0.0,0.0,0.0
scale                     1.0,1.0,1.0
power                     1.0,1.0,1.0
floor                     0.01,0.01,0.01
phosphor_life             0.0,0.0,0.0

#
# BLOOM POST-PROCESSING OPTIONS
#
vector_bloom_scale        0.3
raster_bloom_scale        0.17
bloom_lvl0_weight         1.0
bloom_lvl1_weight         0.21
bloom_lvl2_weight         0.19
bloom_lvl3_weight         0.17
bloom_lvl4_weight         0.15
bloom_lvl5_weight         0.14
bloom_lvl6_weight         0.13
bloom_lvl7_weight         0.12
bloom_lvl8_weight         0.11
bloom_lvl9_weight         0.10
bloom_lvl10_weight        0.09
et celui-ci:
Spoiler: #
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
hlslpath                  hlsl
hlsl_prescale_x           2
hlsl_prescale_y           2
hlsl_preset               -1
hlsl_write                
hlsl_snap_width           1920
hlsl_snap_height          1440
shadow_mask_alpha         0.250000
shadow_mask_texture       crt_shadow_mask.png
shadow_mask_x_count       -3
shadow_mask_y_count       -2
shadow_mask_usize         0.375000
shadow_mask_vsize         0.250000
curvature                 0.250000
pincushion                0.000000
scanline_alpha            0.250000
scanline_size             1.000000
scanline_height           1.500000
scanline_bright_scale     1.000000
scanline_bright_offset    0.500000
scanline_jitter           0.000000
defocus                   0.000000,0.000000
converge_x                0.000000,0.000000,0.500000
converge_y                0.250000,0.000000,0.000000
radial_converge_x         0.000000,0.000000,0.000000
radial_converge_y         0.000000,0.000000,0.000000
red_ratio                 1.050000,0.000000,0.100000
grn_ratio                 -0.100000,1.000000,0.250000
blu_ratio                 -0.250000,0.250000,1.250000
saturation                1.150000
offset                    0.015000,0.015000,0.015000
scale                     0.900000,0.950000,0.950000
power                     1.300000,1.100000,1.000000
floor                     0.000000,0.000000,0.000000
phosphor_life             0.500000,0.500000,0.500000

#
# NTSC POST-PROCESSING OPTIONS
#
yiq_enable                0
yiq_cc                    3.597545
yiq_a                     0.500000
yiq_b                     0.500000
yiq_o                     0.000000
yiq_p                     1.000000
yiq_n                     1.000000
yiq_y                     6.000000
yiq_i                     1.200000
yiq_q                     0.600000
yiq_scan_time             52.600000
yiq_phase_count           2

#
# VECTOR POST-PROCESSING OPTIONS
#
vector_length_scale       0.800000
vector_length_ratio       500.000000

#
# BLOOM POST-PROCESSING OPTIONS
#
vector_bloom_scale        0.300000
raster_bloom_scale        0.150000
bloom_lvl0_weight         1.000000
bloom_lvl1_weight         0.320000
bloom_lvl2_weight         0.280000
bloom_lvl3_weight         0.240000
bloom_lvl4_weight         0.200000
bloom_lvl5_weight         0.160000
bloom_lvl6_weight         0.120000
bloom_lvl7_weight         0.080000
bloom_lvl8_weight         0.040000
bloom_lvl9_weight         0.020000
bloom_lvl10_weight        0.010000
Et pour ceux qui veulent un truc encore plus précis, le INI Creator V0.3 créé par NUeda (toujours sur ce même topic de shmups) peux créer pour vous un INI avec des réglages spécifiques pour chaque type de PCB afin d'avoir un rendu qui correspond encore mieux aux différents systèmes. Vous pouvez le DL ICI ou ICI.

Et voici le tuto qui va avec (en anglais, désolé):
Spoiler: INI Creator v0.3 (50 systems + 51 ROMs + EXTRA)

If you want to use different HLSL settings, please use a text editor to change the contents of *.ini and *.txt files.
------------------------------------------------------------------------------------------ ---------------------------
How to install: ------------------------------------------------------------------------------------------ ---------------------------
1. Download the zip file and extract the contents into a new folder. The folder can have any name you like, but for the sake of this explanation let's name it _INI_creator_v0.3
2. Place this folder inside your mame folder, on the same level as ini folder.
mame L..... _INI_creator_v0.3 L..... ini L..... mame.exe
3. Go inside the folder and run INI_creator_v0.3.bat, and finish the batch process. You're done now.
------------------------------------------------------------------------------------------ ---------------------------
Notes: ------------------------------------------------------------------------------------------ ---------------------------
1. You were right about games being too dark with my HLSL settings. The most noticeable was Neo-Geo games. Majority of those codes are fixed now.
2. Floor is lowered to 0.0 because most people's monitors already have plenty of backlight bleeding. It's up to you if you want to raise floor.
3. Bilinear filtering was force-enabled since MAME 0.148u5. But with MAME 0.152, it is once again turned off by default.
Because of this, I personally think that MAME 0.152 needs little bit of defocus (already applied in INI Creator v0.3), whereas MAME 0.151 needs defocus turned off. (0.0,0.0)
4. hlsl_prescale_x was set as high as 7 only because of playing vertical games on a non-rotating horizontal monitor, like a TV or a projector.
If your monitor is rotated for vertical games, or if you don't play vertical games, then you don't need 7 for hlsl_prescale_x, it can be 0 and it will look fine. If you want to apply this change to all games at once, change into the following code before running the batch process:
INI_creator_prescale.txt
Code:
224 0 7

240 0 6
0_raster_common.ini
Code:
defocus 0.0,0.0
I just realized I could have used hlsl_prescale_x 0 for all horizontal games and hlsl_prescale_y 0 for all vertical games.
NB: ne pas oublier de récupérer le package du code source de Mame (celui nommé Mame052s.exe ici) et de coller les deux dossiers "hlsl" et "artwork" (que vous trouverez dans le package) dans votre dossier de Mame.

P.S.: Shadow Mask est semble t-il meilleur qu'aperture.

Re: Mame et le HLSL

Publié : 16 févr. 2014 - 21:46
par NutsreturN2
Super merci .
Je viens de tester
Le premier : Très bon rendu visuel , au niveau couleur , contraste et flou . Avec un effet bombé ( genre crt...) pas trop degeu
Le deuxieme : Bon rendu visuel , couleur et contraste un peu moins bon que le premier . Pas d'effet Bombé

Perso j'ai gardé le premier et mis le deuxieme de coté ;)

Répondre en citant Re: Mame et le HLSL

Publié : 16 févr. 2014 - 21:52
par Chopper
merci merci

nikel  :D  

Re: Mame et le HLSL

Publié : 01 mars 2014 - 11:04
par funambule
J'ai essayé sur ma borne mais du coup le jeu rame à fond, alors je me demande si cela vient du fait que ma carte graphique date de l'age de pierre ou si c'est une question de réglage dans l'ini.
Est-ce que quelqu'un a déjà expérimenté cela avec une configuration moderne ?
Le rendu est assez chouette sinon.


Re: Mame et le HLSL

Publié : 01 mars 2014 - 14:39
par Guiguicar
L'ini n'a rien à voir. L'application de filtre nécessite une config récente et relativement costaud.

Re: Mame et le HLSL

Publié : 01 mars 2014 - 18:06
par funambule
Ok je me disais aussi. Tant pis pour moi.
J'ai lu sur le forum officiel que ça pouvait être en relation aussi avec le paramètre yiq_enable 0, que cela pouvait aussi ramer sur les cartes plus récentes. J'essaierai à l'occasion même si je ne me fais pas bcp d'idées.